From d45b9540b49b22b0574688139cc52595f0331513 Mon Sep 17 00:00:00 2001 From: tmigone Date: Wed, 31 Jul 2024 17:24:54 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20graphpro?= =?UTF-8?q?tocol/subgraph-oracle@28312fd0a4895827aaa95c0f0ba151c488080e8b?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 6630bd8a5be00a179423.module.wasm | Bin 0 -> 285269 bytes app.bundle.js | 2 +- cc4d90699ab261d33526.module.wasm | Bin 286847 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 6630bd8a5be00a179423.module.wasm delete mode 100644 cc4d90699ab261d33526.module.wasm diff --git a/6630bd8a5be00a179423.module.wasm b/6630bd8a5be00a179423.module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d195e479bd0eb0cae062d06bc76e4997f9b862f4 GIT binary patch literal 285269 zcmce<51b}fRp(uGtDgVQ(_J&uGt-%#ka~(iXCzq$H#@<=3sdt+CK*CV*3E|xudkmE zLE#m<17s#+z}=APK!nka8Z>Cshyk)DvKh^*Q6d|c4n_@#OT?gA4Khg3AQ7WP&AQRN z-`}~n>Zzx@XC^_}?wPKCx9&aX+;h%7_ndQYMX$f=&2bb(@n6RI6+~rP72VMIUf8$ynwCw>WR*(W6e?w)%Gpps=Yp+!k)nD#8y{@--(DN_( zLe~bEuBA{n)aF6CR)!TVTz}6S-}1Vv4j=m7w|vj*-txw`MbUJrtWoOln-0D8ZBd;3QgSRw z<5rwTaVzQ$qcm#uxNfDr*u`laISxshw$s+A6}MYy(vDj^NL-R6aXX56?D%Ux6poV~ zSFLzMvN28Rl}){cRs^el;zBytJI zKA=QVI_R{x=4W#frD?LI-DxLD-$kt!L;+C!q)AIJMs9`|x~hT-65a;e6bPee>pa&n z4J0&?a)(!A{sU&z;Vqu=Kc~OzSH|yj?{uvsjyAM=@O8Poyb=vM z-`8%x`HgRW>!I&=QRlng`sORY_lh@0FFK>q=dXXm8(w$#tuV;zzkBI*SHAUo-*Whk zhoZl68yZF4{Q4`dcHq!T%^XYq`9<;Uk>^L{t?^Qk?1;+lxLv+$d3pKm
V z;@{kzKZ^1=cZ)^8jF--eq9R=>T4i)$x;Jl?uQ=$A&&VL0p!@}!K;jc$lJ#(UgRj(LBNyIx1Gmvukd#S%9U0OR`I_~Najr%<2q+1Nn2gL3;g#gLkdYCS$jy+Guo~L6MI{HVwl_D*TlD$C5v?`LUQ^eC!MW{aY1=gcx-U8SZqTC-{ zFp7uCVBn#OJyhwLKt25=m7DgPt_F8J>V z{mO&*5-^9w_PC)gvjZbhZFxC8p!=K-uP%?rht7?LcGbR`ws?yhqtcCsWdgbF$;PY8 zC)O=DQ&ls0G2z8@2sj-vR;oj^pY}T0M5~rQ+FidB{C84XNYdQ8})uDWMv1sMpr7~G8-PJ`e zZwny)fUyD8rm-FXp$&2h8kEaJoI{L+(O%U-4ukbC5D+4 z^BkU9InOjIM`i0V4MK{-LNQ9B_K#p;@d=F4LUnlzT854KtZjV;T4~-|%=_xIwlEMC za~hPs>==KUN?p#xaH`rkOx;^`+Q>Sa{`LG;CSx?PaY>`lj1__@1GA}uDW*($E3rm- z5;(Q|ZuEvTTaaiA2M7`GcEJCMw2IPSPlA1-F3*XWwXfuunW*RZ&Wxj zS$ZNSL!h4>ll4W9w$bBbM_x5rFzT5;SI>0v-gq!XjrPtTb@DzsG2K6EYedwzoQao; z4da&Yu{;C8q65h%OqGeLW_e;vHCr)N;Jhh*%F4h`v!0(+X7-e<l@a%SlE{k3INW*K?M$pi9*Wbe8U7P*&C=x)F9$A zt0S^-=uqHuK)|+w!J(>-rhlY%@;;EYr%AtU73nb$D@hRl&?oD2wDn-k(O8vm^fb@- z@wbd$H5y7J#O@u>?ubOP8VwjyqPAx)fW$G|cv*bqPJzP%UO!^~?$~Q8d+Krd3cq!tB!3 zbYgV%>ZdDAzfKy_`wUju{nE2Ny5X_^u@YsE$6QGPq14KUb?5i>yt?y1bw~V4i6abz z#_&ZaA08MvZVo-2hn~(uX=2QgI3HG;*m`4HRa*hi*iuc6j$lBiX84ktJ!fJ_tizdU zKE;_YSuBv~RgAe?MAP75{MpuF9sX>a%1=f2-J*LcMw`Vbobab4T!S@+*4Ib>R6N?! zh=%!RfNU>PnQlq>6ih^yYVh%pv}wOcefxBEdzVATuFTtw!6?=E6y*a7`P#1ZV#frs z8p;lb+SbP__gbq+O^zjH)Z;I_WF^aiY6jXmRKvJuptRbT6L-;8d55lQ?n8U|=i)xPex2cclbEVjh8x!v@lC5meB-}R#CNWz@N&;kCgJOl zrXk4r8bPj=9p>afR`k~=%+@Vv7o<_FGmfdwp^1@O>zJB%jUCQfMJ@~uN{Q8GFGWs#L=_PAR#$#Om9MzSr z0K#?QHM~LbxEmTgR+Shyx1;IU@WpxkU7z@enZXj9Em zgqs&Insgc1u?2Wf$~ZnVO5}JLna#mX9z4WrUXQynl{t_GTj0z{UX@p=Y#8}UW{1?f zls$vM%My?~i5|M18B+P42~{FJy)HgCis`yU>TCvToEfE7-$a39{8L}LZhd0+we<`q zuq1jnS@+$#qZz~3)`1xt*<_YyZ9m=W>|yE~m2H7)b`(%i`~5X(jL6)%yLl)32pyjH z&mW7BbT3AbpK3DW?1J=B_1gr0kYq@UeZ}US zM9DulBa4nVBWo?`JA)FflHEvbBo|3FfF5m<)GUjm()Lr9#Z$kx`p!Ld8Cu!py64m# z2uj!m3DfzCIGV$?Jg5GjQhuU2f-x^(yplAj23`44egC(7|F_ita1j20y8lr*LFDpQ zv;QT-&wUKA{y-Fx@-gg(6L8MulPTmH#<^T06S~wh%)3v*FgELmuoxLNY-C8vTVot= zvuirORX$a9;gdV#Gv)t(f`P{2bc6Z2h*!yu8^Up8IGUkg5EOA4A429O zBRXqw_8=3w8T2j?wZjWpIR1+p7IqBO;PrrJp&ajz$EIKOBzI>;-I?!@}pUz)VcEcz>zlf!rE$&LNB6-fKS=-(R z==!+)fbI`9f{uDz{zi2aKEGbSQ~NqUX{Z<>5pdA&C%Gt{qYNoRvkH?8DD6!2rrW3)t3#ew)-14)A;ctgBIF5GtxxGzsG!L(@ zXBU|e&Q{khN58BDrp)7+*5=Kd;YTz9+=%azhVPGy`25i(ojwrLpz$LndOPr=f4;GP z9yoG{K^{a&*40BE!oLB+G8%4u7I@J5bH)Sk%v7p04vb#je;32g&%1FV!VASMTed`+ z3k$`~tMQmygNLUAB8@Bw zO#fzCR^vOn8sC{U_yWf?z5%QKqmdqf?+)-iZAevN>=C~ID16%$zT%Nn$t4=`8-wr6 z%uJ219OqMVIb4G;a7^PHu-ebN9^V&$?>1TeVT={N%kKx@nx7H>Q{sy${*A$RI2_ja zGJZ_s+h2n(a7^PHu-ea<MA=nba_Xgp+Q1vgm?3DQ8uKUK|+wb>leB~LQ z>R*QQpqDGX3mnt<2COvo^!R==_-@w-9c(7yd%N&Gy}}nYaY}s6$@q=XSKV&6#+UJX z8sGLBe1T&c-+n+GbPM#Hd5KJy4b+Qpt=}x(XTFWu0h)HPM?czbwMZ;`#Lw z0tQk9&0H1r#VSpPX&#CNg{ES@NG1G5TSbEWhsO;`At3a^J?>s+6nVbK-J|2CJ??HD zzh#fROUEW&uogC)(xYu$R?QxfJnA_tn<*;>+dliRl4++zI#eaLDLXJc!v`HvN zsU*-TFUp%_$vu7xlZ1zvp68KgD#bP;C3MJNz$@8@D7+x1+lAcyW_QpY_tJFXFM!A^IKzrK^GT)%f=P`KsOQiuKBNpR4 zU1@+!|8pGjm@obb@qJP#0Czi#XHN$Tdyg6L`{CWZMM#1Y3vjZP=;IgRo^k}Nc9rj| z#5P6N)I!hdK(llwb@Wu?G=;}if`lFFKn;(4i4k>lRbn0iw-Q{-eLk0GzC^v|2LRMA=OSAUr(4s+h-1y#+jVnKxC8@6J7la>X33ye{^I5B_?wy%X*No~4 znx!gBT~#0Xx`MK*p66#-U3D*wLtSIl6?9@%mb$9G@^uBZTRqRuw7TlvnhSN!sji@} ztFqKp_1j=tWD<$YYC&1w%Y`V!63tprXlF`L5Lf@S8vl^RC*+YF+`hy0j>OmcT)*y) zNOYe30@2@DUS(AN-ZTH{5)9v{94r=5`F3)o%9W3PJW?!-beOcnp}vG`;D}DjWp`ji zs@EBuKJ&~oq*p}SIBoNG_v-H{qNS_F7YOy?rSj#Ag92CA;qtbRd_0n~8dtqZj%VGm zsyi*mV|4WrRd>oWE?79MpqX?BfjS^jeg)0t94u0N3Fi(4)GiXjNfCM=9!Cm>QGSlX zDoK2&JpJl2J-FySS$eki<2+q9$OZ&moIZO14xQ%0xKWa1P8JDU(t}2$7$s+hT2jMmk$o3kW0$`PJ z4u53joKi)AZ2tlk+VCTHCH-&kK(5v*YeDF>GT3t_%R^8oFOx?49m^}2lD7$Dm2vye?a+xOd zspmWFyia+a7&|1h;$(7KDU@7&xJV9)M|2-VTW}IJs-qxhcOb#>(GKQA>PWEn2eE6# zo7RFNh>-zd;K+-NtnMN517))!1}ftMdQ@F9A7l}CDBYo2=c)(NJpgC9wS>|G1vsSz6WvX2uneQ=)%~5)`f4QGU`n2CgJP@~k8?TF@wgz{D_7N4kOg9b%nrQNs62fQ#9kutwq zv0z6aAJrd0~ zxiQ2ldq~{FIU|LggCHy>mVa2V>yP*z8uRN8s4j_4`C#<`*1C-mXB;JaA(s_KtE#om z;(p??oRVCkF%ApyczDZrFpn=@5NGP9_&*wyk8)Z*!}KL8@1jyK?sw?Sq)-i6$#R7= z(>*HsfG#xb=|ac)$%DGMKRnT~F7~i4J{6wmSQk64i-*D!9qVF`>Ee;_M8~?=6S{ab zJkhZ(_LMFj4^MQgi!J{;7f*&KI@ZOW)9qT6# z>f-+JM8~?=!@BrXc%oxn?6@u-3Qu&bi#?``N5T^w>tavn;?eL#$GX^4x_CT1(XlSJ zEM9yvJkhZ(c2rNE4o`Hfi`}Rv*Yihc>sS}NSr<2iCpy-}Zq>z2;faoQu{(5eOL(GV zUFThOFRc@`G{U+1}NFpP>ivAfY;o`hcw(ugJVEQwR5;SZ{zRu8epOZ)JPti zR^c=u0WK&L=@=A>X_80=S5PCG!!baqZcKI6EsI@sGZNm0lt>S`y#iNiE0qHE>S&R) zSVuy?z1_unjB%f>rHL{vP5*i_^Z=_#1{sVM8G7rGfrdL}z9a(y0-Mfc9KwW8OKD{T zk*racyrkSO?*w8ckwRe7l~`zU3bm*5yr~6OI&NPywaaQcU6ax#>wr}l3}f_#;s>n7 zk+EuLhwRX7K_h$#uUXtXlEG_GXC^X5)Exrq&7hR_mDjiefU4|{wlm(Jn&z3Q6AXT2!yDPAAylba!!i~G@K6nbvV?T6hK1hs zz*s+H0jhUb;Sy9(T&o~yoyz7>2MM>>>mHF}3g>lo4|>HU+0^b-Z2)am2w5YWQ1b{; zv!}-Wo@hdFx~#y!kfdO3P}33<{R-Fuye}qq)zl{EUw7AGKZkh?CL)Hl@g0<9b{Xa| z+@HhXmSPpj$$Ib)++IY$W-;`4;0G}~pe1!Tk-RDUi8~cfC-5|lHl}dRiJL@yor#<0 zY0GWG5N7@YD+r1PPXk)b)0*EQWP+t))Ybk3N*KGy_2pNL4(@rOn?2&>D7q0{MS_}! z0`DY1U_~7*gDm00C0kC4TuYEio>rnRHf^7AgC*TsD%P^a=IyelWnfz`0;}HP^2e8# z(}U+9!Za0<>5_=41%9|Xl0~KQYNkTo?H>0qimbdT1oAY2}|pOEdUm>mSx-+Ydt(Ka70(!6QJ?VrgdB zAs_*M-m{V-WfR(-3}XHH7(U2y=Dl4nar~%o+$coB+ZvtOw!7bs=of&=*jK zzdEU+;@2ibwgUc{?Xgg(Ajd#W3jq*h+%UK&5w7nL!ql@0li2L}?pnAMz#oo_jr)>smr=4S zIUbKUNP_Z>x3e~4#znDl97&6J#QP#;{ySwb0{e!2uQ)2L2J$=IaS3A(P4z5MuYLH4 z{ZI6+kDV9U&l5+!8#k=g#maaBJ)%p#!6#%wvwWkcA&hM|jhg;mP2!=}zl6DXtx`N% z=%nmyf%Ax#2Xh29vXU*#EEv&UDRW?&y@M3bw2ZW@Gq*JqWci~@s88!xC+WhmSwOa| z*+L`OLw?;DshFIyzFAfu>R$d{>_RDLu8?$F8=yeg9SWF}Oaq-JOag)po>;>*!ZCoQ zTu}jfGSK1?!K)gySWC6%wX%hr(0TZt6|9zFYSbzKZ;lG_mWzlF#JRHtRa(5X0-xk8 z$HM+Ak3%6P!=i&3*-X!C$AWP$=vR2e?M>`2FZC8tP>cb+rI{U(_9h~vvFfLJEA^w5 zjRN9ITGh@NN6R};&T;8BtEAUGh+X9$&X-njUj`Y7P zH;3BDQ(x6Aq1&DA3e~1$9nG1H7z;=l`SL`%gv0$< z8Z-ibNW`8(4`X5E1CfS1FM5eu^cYa>W5 zHMp@hKH!a188Yp1_mTvx?AxraBuX!y2|XNo6By|wu&0leEYRp@!mr;rMXWrvZ=fP3 zO$ssvT|>V5JX#M@(1DUXZ|fODjZ--6K@<`@An}BpYPwhUn=CC?Rp^|r^VB3`v<(hph`0EKF5?mkK#yBkE5Dl~h0=$k&(eRKX z*P$WaxgEsLidZ3K%7OwnY2@lEs3vPaBoH8L^-`&}Cp-qXuz^3d+?FbDu5Z{f_q->M z35E@R02EihzGBTc_s|ybw#{|~o@^kfrwo+u6vbceF4tjSe)Q$;4HTEkZP9RD3k!9* zf!Ydh5r#tRUk(vVwSJhlT_hO2)!>nxPchu*FgvZkJXi!^4JoG$Ru|s}3Dx&D;}?cc|LE zOZ0~A_RbCV4$?IlWntr0MQ^sEx2ULsptj71zYr&gv)Me{d0=u!mF81!TttGAS9 z^>~ zx=}G#ZwT0&0d-0!uRXx69EaggGL_@gaeF7f5?%~dFGsx~N8Vx`{42;&MFNuVR*~RB zq3|k65q&u@a~kdA%1Vk*A=5N7oX^t>mQFDxw(Q!Wo(~4T0568#)E-VuZSUM!CG1jp zUI&;2XhL_Ke%0{%h>k22qYvAnxaVj84C_cqJsNxYi-=U*Y`krPRNWDOKg@^&f1@vi z>9nP-A!-^^5+QfG?-Zt{EGmjCiy>t;+|CSA1LW>FidMrds^5w5DnQ5~1=k-*9bjTRXV9&9zc!Zs+IUGCeB#I?cH&Rm@<# z+V#Q>@Js{yOd$5=IDBb3WvAeQ4t^pAC_4qunc{^t%E&midJ*bQzlch}dRX^G6UgdC zfSP`hdABG1nifTX8=WRTw`_HDM`q=@UB;t_Va+5ElP}(t%ohvec{z9BfQ3u35U|qx zldPEE7kxW7mcxy1F@LFeXa4(Pka9(C1}ccYe=y#r>QdEF|C)AFH_unqP%i`EuB2J7 z-KgqKsrmLL6E;-~kJAY582;i>9?*}ieB13f=(P7&THa?V7%b&B*`Jr_7iW0m^SIrz z<-5gJe+xN+8aCxE=IxeXiHdFKBoB&Z8QE=^V*foRsL5e(%a54~ln=VaeZi`IU~;;` zEIRe~(|r5)7u#ldLb8h`@8js;pq_Z z(&R9qTP)bEdS|Q$+HC}aZQu8bca5KCJ8790h8PT6GF-sU6j~G@47Oe>pU1AGJH}7U zjqx_YjFRFaE4GvKx{z;OE}oZfz4jgX*6c?G23nng|I%WCa}*zM@#KGs4$NDCTTl1a zrE@bAc2k$8I*r1J?ly{3IIjxpf*z)%^@y)F68<|8`{$jLXeWT(fuIr9c@mPEdrm@f zWxieW@hG=0im09HqIaB=h^; zM>IKKHH5+nO~MUTgMAdxyrY{qnJN>jXJuO=c1y&fD@EL-KdoO9(6OE;frW$Fj|t! z#5mvBGeDQf566ADw7w(0XXZ7zBZ}VRjO!O9S+hiPjsXiWF|=MSUW5^0v4!y&If@g{ z5fK`&qsk%&i1C8mmWbG7jN71ebi9@67;tj7&GX^&!C4#HDKeH*{X8hYJKuT@C3)f9 z`L=5)N!3D_@h-HXCkxk%*>{gb_eE_ynIqLV(zRldqdFqe%Q_;vPrWNcMe6EMb?No9+{xCh}rm`Sd7C6C3Bh2!yf zoa@Lshp~N;&3n(Z@bQh+Eiu`;H*A9vI`G zVxy?MHQ)9f76TihEVQK!ImKnmv()1;EXB)HSA>Sxc7bTJy4pG%^uP?ivhTOkV4rPX z^n=mA5}T0v=?l*g{?mlVUGY2UALW_m#xvv7WYLwkQmfc@p)Po9{2f$k(@Vj8`fIp4 z{ogMD_xwKUnCFrU;R9@9H>Zbyf zJzPws>U=qdW|cSMn&Px`5~%|295ss&Ku&wjF+fq-EA6?o2+wgbh-aJ6FSq9p`ser% zCeNAIu_T7sz1v&v#H9+?Y+^%Pa=!`K@&CYrIGsHp`C&^@%(Z;;Vz?@Xl;Kac zsbVWS5-CD+G4MzZivlk3!`%+>JN+_4@{p)tMYrZVbgOs`n~)x}9?urXG4F72`3$TB zQ`wfmrH#Hk^L)CAO+H{WZS*0r5u4dC1osHY+$df&fSNQuX2`;OA%#$~@fO0+FWK}Z z%GvIa-;)xj2XXj6A^a2s- zHOK%I5s{1w#2GKRjGH?yJA{^;kV#s7HGS0i>riC^iF&00$E3Y62HwV8qMy5C`{H-m zu;8Ugo(-EAvbJc+`ru}0ya{0xDwyI+Xf4+KETU&v)U=4hk8PN=YR%qk2wb}ozrWO= z#IR322;pR4ke$Pwqjsk&-Ao1{MrzFW>s^>jfSuMK<_C6JSMmGyLU@?TqE%QB%MMdzid&18aa`ws8Zq z-3A%@N;TW00Ug*Vfqjm;oZL`@H`Ab51xL!X(IpTzk#+vhTU_7gRXiBs7~T;%1`7Y1 zM>~nGbPzZi!^{VDB^!~5Up|>!j2+BPORk4<0QNWcMXZ#Gvma;s7sVfNp4-;sR*Ky5 zwETpM@ES!(LSMakf7LAg!Yk~Br$btFmDWK60D)O*5OgO+t1}$N9rOI9<;TgEn0GO& z&sl%Y|8~nx^`||sl>u?qQC6tFEMKo0)W1rev9_* z->n^`*#20qV2n{`{h;D*xAm&g<9reISgoW#-QQt#komtDr6 z^ypYSd`buz*m&VOTSLV+M&k1R_kBFdB!y*MKE!#cjaIqr_fRztb zkb;7eH9~hP*M?4vO$j805Deg63>Q-Hn2RSHD zU-IiC2T+t#NhuyfY#+sZdiiKywD09I0|=#bH6>+hZs}6On#cA%gSsTfIQ$M-87PIS ztJ@V#Bn&L@lsH(es&lk2<|Ssk=4#iFU^~2Ha_V&H7?r{9eX9&LM4cvhsbmfW9IJ;Q zu(_V7gQ96AdQPGz^-BT&zBc?(ZE1O{dXeQXDuTw3RpclNy}ldno)K zrpUd*2ScQ5^m3;i#Vjq=CQGr=IJzL~PzjwRtwa$DF$v>L^(pYlPKH~QXd&W&4>ESP zz#;+Y{LzLf&^K%Aok_75s~AK%e>5{yY>pjG9E8ZbT4^WdcVrWaT`CPQ>0$_$mSTYA z<@-U_K;FhKuA%^1Al(aOra~GHQGpQor7+AMB$vLKd(A;{%E0wWT6QO!!6yL47Yp2 zY30sB#e6}{GMO{Sm_^fg6kJ0o z3}jW&F=_dmj3hCnXGWup76RgX9O+0X&+sl2TbCWBGN+n(AU?({P{X9d_=crycqIN! z%FpW&9vks5n@$NM*se(-%*OLao2~E{RTwvo3U8?~+gt-3ZX!ka=&h;=Us{_;9BqaX z&Dz|oZB`~ljW=OAvQ^d;oii_E;G6c8xI%V(*VC0Z~M^A)zNjX6$dU@^JN>vjHapo4noVDh37LPc{swVTz$w$dgqHoSdYvUNZR1#`p|vyLp%97~CO-*Bx&`hU4tN zI2)S4Y5G?_ch)nQ>%A}!mS!uA-Kg1ARwhg074nsB@m|eC%U-=rpt2^Um+Ko$=Oa=L zevs;N_DwvBrBiLahXaEeZo@LXKWx1h3y{1w)2g=aa`JL0M)YcB#MM_18E`kmTAJS% zoHwf4D&C5bWw-FJaimnWF&!e;L-X`)NJe{+ehdzlBC=H!k)=*3!f>3&J2i#lxJD`9 zxU;^&o2U5;Lz4s`&}5dUWEX>ZT{P2~)@U?}5bg*7bxrL7(C1E;bIYHqfN&@yL?oP_jU2y6Zbt*Yg>WitD!-`Zx-es&D9D zj*ol_{Vz|D4d~;&Y@q*zCi-lp3i^22PmVsBA*>%*jlN}?263-BpWP5F1_=5@ZA0%X zYHH|PYBK^}?Q#VAcoDVPRJs~{#s#bytqkT>a>5o2^&6$D4e_@Zi4f;;&}rA<1Dfu4 zIb5rLC%y`%VxIriAb^ya1)drC>&-@drxyLfG$$Wo6LAz1V34mApBz4x<>wQ~$O%pJ z;Y^Ff;nP#{A6sH@wktJ+DEx;iJQ>v`+dMLv--0GW?Z;ObA{>YkvkGa7Yy495mCHEs4asf#xI ziY^$D%so}n7|q+Kz#J}KOIORep={kvA;FMK<YbtMP((b67QY`gU)4v6d0rAqOR^da%Aut68nZM$EQK@z$o6Z?}<9WI$jDjGQ(F4;;c!llF4 z)0A$=MpRtlj0u;K?|I20B7`i$9oY)#Df0%O=FgAZ7Qd;`UJM3|s+No|b{^0Hw^RAx zAAwviGmY!^>Q_@q&5-4vn9*$JtZ0N2g}dy4VAFWKf8!Zn@N9gO=8Uni%97NQe5U$% zj%l(PGT$-w&cYU3^OZ_IwrCIH6)YeBJ;6A9b8tk+5~)TBS&4LoXAih7ZL-@uO zd&Ap0t2G})g-847NXe@{IH>)Qj_4|8+P963W;o@Wd7QqZyv9nU2k;MQ@oR8+c%vA+ zih4Ciccu6rQE1StW`7Bt79On6&o@STht%>g|!W#Jo_Mm@p z6dh&pkCq*qpPlaJ;7JV;DHjSX`GT>x)!We4nlHZ-5j@2y>tPeL&^tu6Ah{i62cR0 z`Q7+VWlqzm8tNhDL`6eu2)jT_Z{mEDRxc|6tVS96@-4QpeLkl}E}FZjJ+(bEX^oJ4 zKOgY`p-MH$2IBJW&mg-Nv6ZcRTYa^OtLy8lSOVBcJT zw2f~r*o#MO|2oKrapC!oZNG$ey@)}dS0%Ht&TT;PnR`@|23xk!6>o}PSwpQHbP6n$ zT|UvmDw8PMck6He#uxwa7k}m>`L}aNY1RdpxV_>qzaLGU+d6L!s*tHHc-COH1AB4P z5lPM6cx1vEoHf--3jrC!y_DihmFj-{FR=|ye88_#81RLX^W?#o|I&}xzy1cQvqb{!c#GK}l-z5jYH$Rvxrc(|fA8j%JEwmH53`a8hP zIUh2y+PlPfqc3fMLRgDb&iQYx%rHZcg?Pgs1o}L^t%|+jpR4UrCl+L&Vqp_pVIx-G zk6-jmtTQ}E-j_P%*Oxa{4mLes6K=DB0bYLyUtkO1#)G+FDec*$S1iV$;GSA<{z7C6 zJT&jEK4)%^%YEkCdX5QmF;Xbx4o!6NJocg8W4YhN%-*m1b(Q>ZZ zklHurDtbjML9dulDTWsUPVGA2#92g`sS`Y_!+dn|fK%AtOSP(}hYC0i*9kab?lEwM zfRouq3eZ%{kW2-f6t0ys4{;w)d&Wb+$-ghgq~j>k@Zf@QYo%M@aF9~v^505nVs znCpE_FXfzKz+HuOqwGf*TCqATc41jH%BKCl>1(Y^#L$ofk<)HL4DU6Zk95!TmWiZ7 zBYYrzOwpHBk%Z5z z=yZevpZ9u*V20<0SdB||yG9K#nFkYP49$9MFzJ@>O0F{Fk&xMq_a0%`S3{Vj21G&! zIxlLN)lvft6jp@6qWtFUL8nzd+>Oh^X3^TCLB2n8e!p{t)ir*$hDNHyOdQR)$o%*BM7h<}M-rnFVfcLX$M7nis zPp|&6M1p{+L;_|Z_a7CcK{u!%poj`4CDHmFX?D)K9a$kCNMNg03?-As5DHSW#YEbv!PY$)Ys!p4MMtltN~43*NptBZ@rEbstQqTQ3l`f7ALU-L zz$b%r9gWjk9TZZpI)Lc1I`vBI+d+N9DzoGod_;VM!&rQS{-*`wdVMNV%M8^vmPF^Q z$aYX-K$1}%hSbD#n+;dIr}?`LbO9edRo_8|Mi7>WpUQ$Kp=>RkrUe+&i~N`>Is~wo z9ki#^+^J~-rLxSWjs+3&mKwCT{*|^8`WAZS0`k)^H#w_AuU+2>>EHtcW?%8O zexntu`(+fx41bCGRgTt3&c)rHYiBrUFPx!&$b`_=Z8|}{BCI59$fn)(IViH; zLA*8dD%gHS{;TlDD2~xlHN0;IqzaxQJ40sht0He zKGw2jv6YPf{tZ&w_7`j?P95BAFW}@ELvU3|Gbwgm1yWD%^B*Tx01saXi3)Ogtp#sn z;EilQ+8R6(fvpw~-pGSTPIVJJ+h4o^Uhh=k<$a}WYk<^bwR=&~S}64Wa?~YW!3C&- z-wJ#V04JpmjAW&f3=CAcJ_U#_kZW#Jl)zu3I|hv)AhsgmmT4oj<>xPeS&gGE1mBOb{3&Y-12=8M7w6Q32(G zUXZ`A=vrB&)(sXsp^o6i8`9B7Jip+Oq+`T4_+{W5vh3tlrE^4mP+mfRAGyl<^Ae(P zEiSY%^*~>;r~Bk{YjT!f(Q9*Bt!{x0a8X(#zTbMX*ySLw7S(c>KCnILL%(S=mG1tc zC$^F+qsQVDO3RbdWym8Rf_EBF_nJ`8tOqst1gKfAYfL8trU`X};fMwZ>fRL8;58O3 ze`U|~`S_daT42xew)$%NnOdly{piqjd?4ouQVOy6q{&mHS*jiOq=T@b&6;PvWg#W3 zXBqh3;?jpy#GK3~kL^=9^uZBH`FfA|@EiQ=m*<^*`8h=8I#yzZEY?eT0--MC02N;5 zug>J~@bUX-aHqe2HkQ_8B=8A=hs>hy2|zZgPH5VoXlz4oPC%U*0|IdE9PHtVk_Gr9{2kOUEx^rTc0-llVT#{ug@Wi39*F89AP* zR@7lRcVMdX)RBtZ8dJdq!buFkA@I$1uE2N5!IMtp;s$H?0zWC4OMInPb~5dpx3iox zI0dM(ZQr`Bb@E4J;Y5wws z$~!*K!&u8Au*4)NmJWgyugnkPG}2zadlhvtPNXw}3^joJ*WtwV`h#9S0VhtQ`OYtZ z2?_U8Xqxb(D%jP`qkIUyb95;5QB(m?+mGRb0)K;i9G z8XKy0VDDpaVPLUWapNWcu!{E4Q> zrR%zJ^I;vx4d+!KL3qy&zQ>`0v3#X&wxQxJScG~nHMW#wH4)i=W|+<}AjI#8ufYeP z6-!|!*tPceiSCq}ZS-LJEb6`eszMubZN3B>Y-xs1Cf8qU9*$;avke@9)23 z#5-k;a;Ydpe#(OK#O)3+GI>2QjB=)ZYk={j1vM)@JHU9-g34;HU_5C-g@e9@8ri8( zI#n=k_;25~9w9YVeIaOTgU(QLn8M}rMvh&aIl4z!xyHM84>Gx*`{W6GRYV` zJ#=nF^;`|FW{o>n(3q?C)%D{IWg=~CY{Bp@e|Gb2(D3C~?CsL;>C&j4lq;?_Ud_Vr z^{TI1ufW+*rkHHvE7Cbd9mm*ZnL(==jg&>Rm~1lK#a5&tWXxWcWk@nnsAJWe%8O>2 zg=pAbOU&^J#CSdoZDNGz?NuV+{VJ)P15$G9Hb@dCK(BgJ4Prr74azxCHR#JDO6xVq z?8E89?rUpQFjQ*AC{SoslOje5QY<#)jDB4IP3{vJ_%Sg<=JQz<{L+W$*J(u^f2vkU ztX})(+E%>hj86c1;?cgWT~j+g84QK4EHI1(Wr1;^)?Dcw>0$bxJTZuxUE|$+dYAdJ zx`9-e)?vSmta1ih1s(w$BV?D7y3HD1SH8?|p~{B?6jf(5U@Gc}WotIXB#ug0@>af2 z3KOR#^WBKu?!u@=Poc|$rQ}!_$wUreVV}=%k4d8qWwc5s6nMDR7aH6c@;J?B>hX`j zSoLI-&sKG6W}yP z_27QrCq*lJivs2dw`kl#hl}| zX=$cc9{u=ARQ|j2j^6~R4`bK*;f;PYUywXQ%t5K4j4mWd`{iHzI71eBUJOgzvu%NK zZ(AXyy8x;-1BV7OQLI4<;$e_osx(!4g!vWk+N>QgN({2>9(YZ$GpdmD6akY%i8-P+ z7~Tf(<~->L6+Mvn;{=0YWJ#&VAcio-(;~bHf|AJQo018ys7U$nCszczmbGF5Dt*l1 z+o2?+kavcxBWi~OXx7mz%R6YNL$yT*O3B^?Y`-5X{IJUn#b>sm67Vg-Npc3s5zD}3 zl+cn_I(|Ec2cWX-?NnR3RcwV}%o_uba81wBboEN*3zB*K)-Y4(%JHaZ(Q z85Wzw4JNxZix6VXj>QZnMI-~6L@ImBCrMcuJ}3+S!Sc$ZQmyEK(Kt%j^)Qdl#5I`M zcF#~myE~X4d(o;qD~cJ0=#YdALgjMtwokLdARVB3_3WRDOmdq#Rl?p~^ z(mv#ds!Xh4tK4{)G4P4#psb#xe&-Nc#Ag+1uu8pXF+9pLH^zb3+y-zb@uW~b@E(mB z_6!&+YKwq54i_(IfeU@ho(6;w^yx9)8}b65PQmZ70Sd5-|9p9Giw#X?aJ($z?L;dn z+Y8RI3=3Xr(&E4eeXXDvNF94$ET`6PG*K23Y%VY`bIuh<9AV zcN9U0$_mTrBqxb$ScJdI{LOB6cI z3bpgoZl_JKf?^C6`g_rW1jXaTB@`xRTkcpKW72yKAkSHbZBHnpB8`cP7h=>h(+clh zg;CWzxHI3vmk)};MHu3%(*h3Bm0R}nu>`l5(n$RkI5ZJdpmpMayo-+&f|{2#%{Lf% z)XgRY(&k*yOS}rHS-B)m;Wh3t)NahTBHi-RqB^u!uVeIzAh3oN{?wy~uQ3cITF*y~ zFd>>5hjCB_%6`Sw?!}6shq~nOVlaXpz}q%SM0pCARzAmAkaymav*vWf2sCCwCZDgE4GPc)JFY07eui&!CgnG22bSdETO<_NY~pM(cg5-? z4=j#1mJa^zkQAZpIR~6-&7|Ma8u>^zF5W=WXnBLBN00y?p$i$d1&6YLi=ogoSHN;y zKK@taDwxAfSeH-hQhqyz0S2}5hOcVs?Pu4sG(~D=KC8=^hdwLDu9WMD(E5ULi05!6 zsp^$CrV3(3gAexOzE-YNBTl zXN)#OhjCyMtmvjPIbfk96vz*8Mc|UIO@S5}V^?o{HiRh@Z_{X86()n@5LYU!ghyKd zZl7AR!UkYi?oCB0o1d`_%?jftErrw+FPClhGa_GzBkx> z-^)I#3iD|wLqs+MuxaKrllOp$4y)+ZX1JGzWa&@^Q42``FxKBpQ7f51q!`lbMl9c; z20v0^v;YjI!cm}B1%9Ab3y3f=WS|-ciwvy8}04paM@>Sk!0Htip22hpW z21wT00QQbA!`Khrt^MhdGG?R_Xepo}XqO*2#NR6q9734=W(&0~A!d**!BKXIVB=JP ztL;Pj9yKc#luzu9j0lyjxk?U^CFbc~5hpv{tR7B25_{X8WrR`FxsR5H+F9jG-;PsE zM!!_1_txH}TbegP@K@=+EtDyb|Fzs@^SRrXoI|8UZ|sI=a*o)5%jBb)4H$Yw-Rh?V zF%jT9q*r&A4|1?H=kmDDzKY5CWn}({ldmdAbp3Q8Xh;m+O!|q8#-bzixIy&Kv}a3~ z;NHQ^G!q?}BmrL5c^NC8oJA2DK}hzJ;CIWu+@Wa8bE7c_LnKzI?ZgX(pIwms$b~+s z(NaPKjyNl>S-?EX<%LS?X~pOzHHOtiOHiBQ_+zN_+$dL+Oz;wIm32ZXvdNiNP#4aE z8d#p$g3VzAPz|#+peF-OfEh#`%cW4>sbR!KMHB%8eNuuFL?^KXR280c2vY6Cicm%3 z6|ZpvSCT$&`E->A3ZH-|N;0jiHV4%um;cG)cB*WTa46&NVc(2D=n2PrZ6l0PKdgC_0 zw!yjy#Hqn(o2S5TgcIZ$lcPc%Cl~p>^>PxK-~6XnVMK)5tN#NC70^sv$8>QhWYUI1{TvX zvqz<^;x||fDKUp1FN`HK1Y||Y>Njs$Z4Ftc3sBLLb>K2u6HI5EYVeVnQ=KgHec*3Px=_iM=y;lo_foH2z*{|-md8J$ z88cC0&6qPI5ue!&GiI@cR0vj`eX!h%r3k4UTUD2Qbj+w1_9H*SLO&>i@h+Wz#`mFY z<)P1|Us7UkW%SCc77Pf&Zpj>Hph>XL*$5lmn90!PzsB0RkRZwFW(Mqs{~A2tE>Rp~q{~>O z`Gy7(mwgn_xWYrk3M9E=WM%mbSiD-ndaik#PrllwCTUriW)O2jeK~;f*hpxsF13OQ zL>!CHeQ2h{!d1SgWPoBEvDZ27{0eRlaldM#dDNrLC11L`EDl_2hopINs&i)rQvS9= z(Kg3U)a}s$m_rlDfY!uS@DaBW60jDB)uc)n%fgdNQ(9y~o6wxJ_#@`!Vipj}%UV2H z^)H&PULP1ZS#gGUbzD_DqxeaS52uUM7bh)_t>Gny{$H;6bfCGnUyYbX9- zd=zIt1V_Cn?waR;lRlih{1mPRzQS{tt=#A29#R2hfG*$lu_LTzuyqV_jiIRUdX~(y zal~-UG~bp7q6(~Rwksk#7O9ydQUjdL0$c2=3Iy5bz?y-e%>;rB)H%6Z;_Mxsi>U*S zmAW`LnhUa$l&ry?(|iW1)eJ@-NdQj#GM_aR%%^g+|~@P^yxnIFCP2=gtPHmO|&w-?;?g$B+@N*1nHqTa+;@hLW` zl#iBqn)F;`Bu9g2VfpF`q&|SoXo6?gy~ipQAbl5N*O16 zr|zt}$}Kzrn~{>8JDKk=0PBUpP*EOlzN3zV4T1yJj5A)CM=t?!Up7cm8LQl9V*#0> zIm0Bzw<#~pDi{C}&M7+%9H|5kmlh^CF|O=6r>}~M`y>xUv&|@V5Y#0oOzR~LWi%u%1p7{%LKJRucr(a*lJ80^u!9$^o!gk#@G#0-pNC_v^*VcJse2Zf(y9(Zig6XQ zK?}&*mV5xq56cFWUSKqZ;m(S7C@Mt$0F!iallF*g09VMZ5ohnAXei8@upLNmoSmuN zYx&Hi2iS0wGDQL~YqKB61*)b18UCTr5Lb$0Jw4)FRW;qNP1H0i7Ujo7WcN7E3f7=% z8l^M=l%x!|wkWtgZ(FD7>y@Z|VylY1YDw^JZJ;%t^$WsqNzRPmBEhC z5LUL=3LM5`7qmhm0b5TK5NQKT1?(E~kF6^CN4g~c=(`~Q_=3XZj2BG)xt9DpFaPL9 z$-lPqBVK0Fz*_#9n^BSEACp6Lp)xQ32}&L5xBh}xp5?bUTPT#&q)7`AIFm$A03_c| zjA9XFfMR4160I5TPXw+}kPtpn1&Mv83&XaD`w#n*7oYw6X#DO(EYRCl3A)+f12-Da z$h$W8NTS&)HxLhI9jI-XRD%QG69|)PBe*%gnL`Ca8-<#r_U;_Rn;?kFZMVLeCcK{y zO_QB@1fDE?0%_nsfiyT=zLz0h-?s)64|JX&y*0!dqcmHz=0s*V!p4D)SDep|%&-6y zU|q(fyB(7P$l*Nop*kDeJlkFqM|t%VKsG3V4)vpN{@C^poM=xMr&hF1Xw0rBe#`?w zuRfp=T@=1kt8fdW6`jHKZIm=)<+^7o38|oM^_h=s%iVv2SZcs~gu5ly##!1}9}gl^ zR;3q2@>WeTpPtESLCs#hb@X}FXN$i9s^F6{;HoKeM-(9?)Xxe#^{lYtXN4lsWL8)i z26-FDGotquR{M4qXIvT~2;4i{qEAG7EZG9PWJc4qS^l6NG|UlO*aPh-I^@HBe6m8y zq%G$sy|795FZFVvTurVnlNliOMskK$s8mBqP9Q{dqR4i|1$8oS^5L?dh+z*hZtTb! zP0bAz`8T_Xa<)E;pgwO&DUIZbifSlQVxdm1RhNPZ03kuPN_hG#)4fDr!5I!SV$EJQ9*^#ME0A2i96KMpjN znlh(6gQ3XRu9IT~;_(OruO33`(dc_lI2y4Eq&XT$7q#eFXmnRyQlG=+S zg+q8koVC`%v3)v%br63&)`1fDY;0EtHmn22O$<^SQ#~`bYG!PCW>l*aW^BAmg{GH5 zPWX6-oDYPu0DOHs;_3GpTfJV#BCdySdK6;KVc2rWaFyFY4ofD!2sz?34WWh{%mM5H z;Y!^tQ6+qn{e6rXGr^Rn)*AIZC+L8NUZXxfzm4VZ%>ipr29Bzv5z{NQt-5V4@U>pt zmM2HnM2vG%{u=_RjKRz#{CTxPw;)wfJnC2GepXwYmN?s}90~G!N}&1l3n2C_hpO!F z`qif-1)&E0CMn^iYQ-wbudNm3NPzrA?CMPIRtuBDpT)jRDA zah#l4v|&t6&Sn6FiOdEev=vvY7j2neTiL!gYUltZaJw=}sk8;$Sa1;Q7 zm&QACJl2X1VR_n2NCpocdv*!Y)YKlznaCAE5T8wrnWYZ*Wg?CcEY6hSBa)$3=_F8n z0Ys*abE6md>m8ngx#9xoFv~^I86SAH8-<)5fTj6pqD%uk9ZL!|-vHo#^6cLO4o-Fp zTzEkxxjd7?14hifxuYE!SB9u6R2m?E>va<`N}cO^*+i^wSTt5mXnR(!>qQeZX9;{e zJs!qNwy}zuwJ3+u-$jOs2$yMWfdm(ucNP*{>|cGAC&7gTlX>?%&#j!X7pUDR*z<|L zHFQ7>e>#3&@r5t#5&uqYtEUONC**4>; zbdO*1?lli?DLpi;gYvex$r|K8AmkyQ>Ww9yna#6pd>s5ky%!P=5GFm9;j;SZ;g$hm zprBQaIN*b6U~bn+9TEjlCYHsaae$q6QTefd_}b}t>uTBKq%P@Ac1lu|$ItovweJQ^ z0;hH}NVNLj$F#{4hLNVV_2@*5tcO0*^hi9z&LX;D&#=~`~p+oV(g zH@Ew+J)7t*cu_9V`^=4Q=;2@~pHxK}G2s!lhdJI4nAsLPbJeyWeog#b4X|DoZ9eX4 zV->(&vW87|{g=}#T1D%Lm$ae=x^=~imF+>iBxsd*`E3G#QU(kHAOX_`H2BR-R_GWh z2YKzx5YPbN4NC#5=}LD*3YhVV%u-JWZB(=}jYsuhQ?*fs$A6PNPBrm_|KIz)Sq%R< zMcy>L$5;~?qA)F1o^z!4siFSfPK(qeVDw}D@6gS%CU9sF6_Z&O=lXUW2fwR&*cFSr zdcr0ay+jY!FT?h9EmyxwSeKljZWV@9Bgm^=uKg^5jC?k*uqC(tvjkdcV3hW7v4*$W zIg9V6hEKKV3#tV(wXlH&hWgabS+H-b5^}Nb*kYZ&R^d9(&RLQRb2|$_vwYabuHI5> zN;0P{5QbnVFY9AsglJH*?owD-k0*QxnQJv~A2F}_Fht%|95xdHYhDC{sQgEDxgS(? ziRmgcHp*UXB4HPB+TVcohI#`Drh-Ui!5#k$MNz>roZ7mArVatzZ%ic~9xw+T&j}dHZ*p z$Pj#G+*H`|lyo~4)yy`{Ud#x#mQEUu3F=pH@)0KdTqV;`o;t|1sifKukkyuV zw!1{Nm7Tmle#<+;0AfV|w(SApe5zcW_bb7*`(AK;8sI6vClUnLZ(U(K&&afYmV(*u}EW2rP=b!l1pl^QCZ(hQ9%LZhl5p1Cq3g}0_tRXIAA7d zBjZVi13z@0d^lKDrXCLL{=e>U05PlKfQ`~XTh+^l4-YD`*MgMxRSE5wH#l;@r<2q z_TRk`8O#W5SA?|+h9>)R7EIbo)YkN_M*a(J@;aHxDw*UfKem}ss5n@VP2gn8YcB4; z;TD=lg&;Qu@0GJsLh5gfFcA+4Te*-**B5wwfZG_rfiZI z+kSk;5Jn0Aav+*f12!{lfFYj1{l^k+}TdlbUd1!WE3n@>eGESK|99Z~R@QukFke zt&%^R68d)dF^klNy+U-$Z)u?EEzXM9>k~}%0z2m50VoAnsl0(6R|4YC{`5D#*akCA zDeL#Js2lIe=LW9?WVi~*+yZznidapc>zldoG?K^&DyT1v(D0--D6c>$-CCiPryh~J zHj(iR&P^1x__4yrGP1M+vahqDIG$bied@~^g56cs-mL9Z1XE6oAT`IjC_Du?FjvXh zM)QoqP0)$ADAXt1?yXyQRd-GIjip%#7hY1lEZ`z%`P$CEzOL;#bUs3Du9~_hCv2&4 z{X}f}Fm0VxvE@Ttgr4k}L9YQfWl8{wILt8`vKenJ46nfHm6jj=?1w)ak%xj7akdvZ zz0UHph%u&yBgMtc2Yba;csY41L?7j5B>$LB-NFg`M``&j4ehQ%JdkRa+bIhpEV6Xi zNQI^e1`boZG@Hp=-a<4x96%*&oXeiFPc(#A5eIBiy{avuQhQW$<|AwA&8`wAY!#2v z;yhuMb(oVtRD(I&sJXJ^H`wOm-qlH3o%jWyl<|+SqQa8U1TQA}Ht!p0>+MNmKKP(A z@@a)9j>!t`!a~x_;1Xf2pp~Vy4>i-Riyz4cda9gwTLzh+)Oh$P7H~_rM8e}?6F{Zr53{*)iA!FZ1*Xc`bfu_B@REP50X+rrm zGkg~o2GA4QfEnbvQhq+`1+ZsvP$+Srql{HmK^egcqlH;%2mJzgtn%e0?JyNcz(Ov4 zMuDOvw^NZJoQAw1!rQ=sb>&;N40qNS$*W=LZD&$puJQ)1qJhw2W&M~QV4%%~BN{nti=uwvhv@UD}ibyz2cb2bj^SkprAjm>T%rLY{qSJS$6NI^CDRuuu1uCPJ+% zJ&>{=EM}Wo!ff(Cl_b38EvPh8wk|@4ljN?v_fMVn?T5I!xw?AIK^&T%hXKh_$CG`1 zKKS8hP}m-Aby~&B2&j+t)4_i4KBfeIHYw()Q_iRg1P5A1+u(M{3xT!tTm;YX!js|> zR)ugwneFT^AohTz0((?TH+XJoB`k?J3z;Bj+29bZ(pr;NW=mC=N;Noy0g_5s9|B#p z_OJ3G;e--rx1~F44r#PJR0N^o94fID8*Nr|mD(8D=aWzKQqOp4)%z7Mu}|C-FIf#WFIl3-)XD>Nn5B+ayaZ*|@)Bcb#Y=v@!s@sD z{M&@7hcFR1NktMx!Qs$T=JW?HLv%%ES-7+LY{*~-Fls{i`}wKrUgxpAQ+zj31D|PD zQgO7**%S+#9aW0O1f;uEnktibg2IodB%p-o)4fVg)BHXqr zkcz?TQPKN@j%e%vJW6vR+ha?Nf%xY}Fdg^cUUIe})EY9jd?91@_DQmY zF%qd~AsIqRR;l(~k^j>$v7VIjI9WFuN%UGp0ZEd)1^k)h?x+)#yF;{HJ;=PKJXfx@{JcSc?nx~Ry%TtKjrNCy{P!pa?DxT6L^SSU;dwrf_5naVo8qA(MiKKg{ zXv98p(loDxvEtC($Cb}Ccu!bvgwg5U2CEhYNort9oDa1tv16Mlz+}XdY?@>abCO!k zx2W|zE^hp!jq_8UB8dF7_}{j(IPP%l#=X7>p?UcZV+{cmVF$IdmvX%W$-scopE<4X z!LUTjSy^mf*5@@!A+cykmBNIBKf8tLmDQ_&SUvIoQ};GdmtE&U-nr-8zwiIfkED@i zWSx7NknfA7deWt66xqO>!PXC!BQ?0K>g7e%E|<77T0xRkEp;u`8aqm?5GPR*hX`uQ z7(}HKdsP%Kq7oO69VIBl5T&@mES#c%p$aiXreQ?^2lsj2z0bM#e&07E$uXhP*xxyK zpL6!lyWjo(?|0AA-WBK=d`n+AQpzPiX!illzfj4%R1t<*fIZ4k2zHVjmlJ{tlOGH#9$zeM8yYLp2ci^{e*$$O{G5-$gzX3^CR_)? z?QWx9a5ZS-KW7C-utmasg>j8L``0m02%^$&YSP9YoNN*wDuE4xUz017W5Z3l3$?t{ zT|He#?BSbwe-H+@yvYalKi|#+fj+me;fF2l=iKqLcZ&}(KyL9_gi1(^^DeM)Y4K?Y zd9L$rq`O`K5dc`Ny1577F@FMiF;rT1gYSJ4=Q7)5RMKykUkuD$k+RK>zBBJ6qD>$9@yz0YJMJiQ*q%H>2veI=<6D>U>j4&~zlItSL{^trZZ z&(Nc09>H>nS3{nIg7XZK&Rreo{FogC9Eb5lE(-Ejn~Or@u!$brp8a1E0CtrxL>elS zQ{0cJp|(Q)2cF+cJ`s;t?=nX4YRVYltM|Jtt0Wdd6!2)v9`Hef1IVFQ*Pu+}M7g<- zyk{(;z!`3#{_#~DbxFs;Hp3XW^xbe7=JvEFD-?xI3W3To>^=g^*fL-!yijWbX7S)H z$Z3cc979P{24V8bjaVQeD+1B!SVJ%r#jBGU2Q(h?g(HaMq(z&c>r@0YD7<>uJ5P?| z{(9tQ!d8cxTk`p17Ik0x03J1*y{tf<_P-Wvba-5sx zigs$xG-L0bp_KlsPEnaL(9jo-A~?#|8z~OEj{H}tX1Met%2%N$9bW_3w5N$W<#-7- zPw0iEuwF?qBP2Q46c~oOY{}GX%objeOI=j#F2V{#mpykQj^U7P0TDk!_^S_|;owid zwPNCStm3lvdk)q`m53qpZ5&8OYt4m!_L-cV+~`HRpk~8d^XP@{5pM40neJClFVOM2 zbRS=wB+3+mH8H;$z6K>k*);*sD&g-G0}L*jqWUQhfm711kHX3%aP~V)r-Cfof-}g1 z7HG5+>j$@SUf?kx2*rU$EZwAV(GI=UPk7EsF|M)s(o2l@mst4!h%E{({A|SJ{J=2X z09qz(!Iqh}V`&$O_(hOy0%icnTg=SF+gfa}t|q;kX0qN*b5NZi8DX)3YNWgsu@#W0 zRlj5}3NP)p*|1C@fEe-8@iZsG#It|92`N(_9pgnBhva|<@T-)2q6rgf!p>|yZ8s%F zx3ag?83_#59-GIL>HCsB3F%x7W^PDgEdkBCJY7uwbGgSjB?}45IiqGdW$OUhVk!}i z$sH#K_pQkqwIago`HXMdO^3U_1j~5X+0p{veA{&Z%Fws44BkX1a<^1tNTt!ws%$wsa>R&8*xxT&~xhvYiE`0;XIC|)Y&;By9=f%$IdF& zW}dr8S{}GzI>jY#I>=!;wd?<`z%^-p4I43RCW`?^{#uZnr?x(3x_P>au~~8@z9H90H>F zf*%X|uBCLZDVMF+$&`DsufPD&WoUx-$raL{`OgCqI%~x^J2aOIP031H(`00!7nMmY z_r_}C3&m;kBU=q+P?_NPL8pRfCfIj`6zUcXZcY@XSNqUK$!9i(A}>1Is0vQrxZ5r? zPTPg7YQA0QCq_#N2AONV+Goi!tD^JfsF%VI7$Qq9CAa><^ZNHm_ochqB*61TU@siN zEv^Z%#6p(RX|omgMLvj3UldPNkc1icsF^(uw%#cs6sv479rT(5XY}IwT*zUzLZT~T zgKyY9FhL@W%lwMTUzermtFL0OSufd|ih^3$R#pNatx)khtYXQ27r((516h5DNWwyr z*GQk4B8crZ_Odo37iQZBlW;#qk~AYMI$>S+j!u)YE*6Y3+m~h~qtD z7hU{dtRAkKo-ojrZlIcpL_kKMUPvF3V>#*8jGadSU~-phC-n#HnY=gk)&30a?xHLFQuk;Qh@9KKSUEB#ICp-8K6>izn`f-t$#F(GsxtN$3nvJD4+j z{IHelw`Cv+HUMq>VDq&Pe05|}+qj+~+iU-xX7V7?5BMnP%+~1g{wjwwm+YpM^g(`7 zW4(FjX(U0EFod9p`@LjW5{NTxDRM=gyU;?RM;=PtLU!%gePH>Xo`JWKhC=lT27O;l zGl47Ep%X*n=&k{9)>1>J<6eh!7y>%f;>!i3qnhps16MK!?WzPdf*eIWcHudD=u2&d z5@iuj5)2tjSlVCv#bN1bCY|fO=}oZ*`cDJVVU8A`d2?h&g8a#B{XkK~;&Dv&pQUyN zi$mzEl^+deE40WAhfxOmgsMX%T}UV05rq=g84Iz_$N?f#=vX7oz^vdaj5SiW8L<+E z8Z(KfCk)FEbJ}pu)Uw=ujF)USo|?hjX|oAGrN$c7Z#U-2O0aB=#Gc6?jDaE*YqW7O zal7T8&7?s^8H)pc!`MO}XZ`9a=Aw-XJG{Ua$fs`I7;8$6!_!!6>8;@{gm(s@=9Vm9 zU)Dy_M)2A^V;mMq_F`V3PPeq&ooyB-^uIGtw)MTb*EhTjP zD)eeDN418?=+kl3=wNriGIf~ITLhI5RvW{AHj;FKd+jiqNngfGmXlSekdys378TuZ zR#V*yDywAnR$s7{nexUMKJYjIG&l#*cH^a5jbKdHSBj4f;@TVGBW4R0&ya&V8JN-{Oe4h3%A1)WUr6 zeLG*De&lxT<#`r(ZE+Svd&fVe?i5H+ud#wbcVyjO^U_bylm?JoLOSKPL@EJ zP6t90J){~KMD#i)7r(Dc9l~eCw1gz-6sCXa98i|q1i&JvhIIr<2jqYtld-NRxU+$R z8OY&Iu1^;lzX2=;(THbZuI9Fp_%TnDq_~m-xtJ@pH!4FYZeZ-lHf?uur&2%{A+~2X zj~7K*^1t2xEf)2`_A+!rolgDcSG1Id*kHz!Ln-|BkQxa6BlYlHU~fL8pHEp9kRfKr z>T13(7e;t9E0tB6sxLt~L6tSnWF8Y#EDG998Bg3`f@vZYVj+fQKjeO!4VY2OcoAwT z;|VROBwQ4RF6sRs$gGj^q@OaL^p`T8q)ykY*;f6`_5*!+HaBq==%8xJq0noTGqHdW zuPuecz6~(7{vC=09xC4pAEwZ^L)!AjyzyG#OSQf@JqY=K2ByHCR|sS6_VH2k)$dnr z@wB(l)js>2TcrSLM52T+8%p#47AHxNg_`qwc>-?`1MfAVB`Wg_J(4&(Y?i=5c!O_NN>; zf;PQV;&OjXc25*w?q`g$dF6+ZH=pk@TGBD}-BHlh`uFCwdN$dmYCXrHy_c%iEQ)Ps zf7xoyywxYE)TOH}E?p~Ic5|(x28X#nCPz!AWv9A(c6G|kb%_R?kNWDT5EeGeq6e<= z-Fv53( zWqhJO7b)7PIWLyNMwz@w)$^ok3k{s_K_U^IqqV1dNJQhn)=N#H^oYSqB|U-=yVIrS zlg?ZMuvGJ!YQwxnFaRVd=Nkj;$HDZ-H?}ZLiXR1aHPM|Dg;|_an9H=6WIE4?k+UKp z%7x(Cav?5L0=E+v8n;VtffEHt5DM7hAql!gy$a4Fc}2O96ZLBV7p8KZ0*P$#Jg6!u zZ?1zAkqul`905R1lwxn=$D9+%B5H;(m0~+@P{72AJbk_GSh}XcGkLFr6ZHcdS8=r2-{b&@i!};Svi< zokj>#im75&lL?z4@@(EgySI{95QLOBg9QcdWfruOSWt-5`NI|o5a3;huMSu~PA^UV zsFF*_H-nlab6EY*Yhn_xtSF{3SZ2Yuh`?}y=usgAUbPip(ejsGrmIIN2oYeVGySb3 z)1P(CO@E1xVLlEv#^el@xl?|=elSDG^vjZuQ5y^>g`nz)%SiMGa^s@BjwMPy!1n7z zh0-tO_EGZ_!IPfuX@Q$vt>I*3;8(hn@}BRVEPmLgzE$Q0v&rTl8cg(Yv;)^YS?pN% z2}mgOw$v|*pNzhRzjHsDVys&xo!cC~2Kn&B;{o&|rh+(gX^i>ffg&3MV$(#*B{%@Y zW)M8UL(Da}NwC02iSmOo7p8(Kd>Rro-D-v@KE7Su6>6gvw)HvHGJ~NfkImvVQr4VA zi_4s7t(2$c zd465=!#~;7z25vpD>>sURdQyMSK3^Ih_})^K78%pBN?uD2@J!-l_c-fKgLGm#1yDK z-ZBe6BL#`MY!HfK~eOquy! z+xq~*7lYAHP;po?F&YECVjXMn;2sI6LIQ%Wa^i1VAsX&Bnn+hDxt(GLKm=k!@X%mK z0>E2r<^D4jx0z_6m1*RLD-3T3=PS+|b>=0m!aAikGQca) z?<+lc>k>GCZNxRwDq(CfRAqrvX9-jLqcy==rxfJ5HZZ`D7);d#onERXl4OD^)bgHv zA5tY}n3_A1SB}kAtdntuIlXU&$Ot@-D_je!iw0E;{)#97$bH6iOUSVIFK3Ee9$vs* zh|Tva44Pj=M{_Gd;{U>)e2&E}pg|me05})0KsQRqcAp3PRD98)C`Q zpamV@91d1Ij@%rQOJicR=}7EOM~TFeXd;vE(#V2b zgD8SABxELMH5&sw>VCv|uLuM7DirYRPgZyO{x(_<+;8Lz{75G-g*4+sXaFRF9!I`L zI^D+0D0vg^v9Fn-)!spbIK&${ha8mlZ>PHV>(qoFdL5cDctK0)i`S+JBaZ`%hrnX{ z{6@Zg?V7OA+b%z>xne{%IRyjt-j=K=qsDXPRCemOFQ63Ybsw4eGV8WW_PKueII}X^ zP4u;CqF?_UM^npl4DN~mbx%xTg1f#=WAQ{sjjb5z_#R0_77&O%8%SuOpdVS32ASog zwqV8>gmWHqkw%M7M?MFl_m3CtM{KhJ2DtImmNBdgzxRcW(ajNuF^2TC`(mnVzDA(^ zCw~wF(O)DKhQ$!?#yU$v7-OUsv+;0Qr!tO6)^x5cj1sLYC=zR;_!P1JQfQFP=E16G zz6GkV=nQ}bo>1{~cN6IXVuPKB$<9_Mw}w#hJU|wLre*cVT=p(QqLre8t-GKlhWnI`sfn`mdc3PgjB_>h#)1h4KoC2 z(%$dbcJ+5{BK#(>)iikM#r-k`n_hmOQ17L#tV^}W$N(Ik>85dMsnZA8V#dNaYrf5Z zmkF=|n<0A;v289fWrB3UK(=~C zQ5NaHsy`UUT0PKgooPOwmnwGqWZ%Jvrmm!^80`j4hV7)N1n$5(U3@1$5O@Ov2$gcp zPMRL;mfQ8P1%N7_`#zS!5J5RU&dNXm7P$+mo_M_UI`UfNvWWaP@j1RuGgVvXt{SAk zds<}fQ=3ZW>nNwqui*uV+g|f8+uIUeoJ%Wra-({ENa|LD#VM{67;bjl6BM-=FHyVs`@5+fzHA9^)loYzk7#uyvp&o*i|av|D5&QJ5D=x`?geCTJ=RHV zMcjupgfev^Qs!O#)U1TLxu*hJ$KUyG*C3xkN_O1z`ksbw1?{YyeD_R_$VWowPQ!}t z4hu72_}qtJx3ZlegeMm14wEb0DHnNHa1R0`x%>R@_F z;3BZbch@TZ9Gv@XL*z!-(uhlH0gf;rRD}O;WshUpw;5v4oWd{O?Jth?;QPD8v8wrB zduN&_J8_Hy!(9^ghrUVY^@l;bS#3dLnInn1JMcnvM_S3IDm8d?40(B2Ae7tiiP|lo z43bdF8t}E`*-vOFSFU!6Yf@hxln(4B8PkQC|d8ZHm*5rTUM#JtDkuE%28K+dz8QVH8wL$ZNpbhg9-eef@1!}Y( z9yUsYE8egJwy^K$c!SX)3NMJG?fB*cvl{JtFm2-ngG-uXa} zz!_0xx{_Ray;dxu6d7uZxTu&N&a~24jFslxSa%k;J)?>@ z=lTV)+NcUKf9~aAZ>pEgP&P;^PkS*F6KorLY(Of;oxL(F@YXBi!U!)8vOZ;1C~K^vEq=B+owhQ$(_%D1uFsP^+sgA*ZzXaksxmy})I=V8D2I?R z@?NKN>9Ho-2;yuO>(N*uwa^lzStikFdpUEYv}hi9B@Y|wnHlSInU$}sOSrtpyEh9Qa#*l&l58ciui zRpQ*|5OAnL0Yez=+n6J+xjyk67rP0lM^L%4%*t zjD_F5IF9BhSJaH@v8KYu)1O|E#xvc_*UZAEt5VpC|GV0bCCU`K4n4}c&Te{plqbhp zsImoYuIp6E0;;l;bPu4cZ+te1W9J0sk@~7EE*^0mZPZtB$t8K^R_BBc-D$NQZWpv2 zM;=m#bD4D$rxP?ofs5jt1M=;W+ZjwgaC;7O40XFUs_?r1DJKwJj{#e=xyH zy(o+l325&N^tzPJGg0UH2-0&hPmqaApEe#ac_BIvjYdH;2=yoG8{7f9Mk1m!K z(9N!{uRc9^*U`7|G-*ZR%|_r6fRnFIz6iq0R%jv?qc6rIL_MI!bJd%$US};`KoIp5 zT4ezYP?>@yx8qJ%3$dLL;8SS98N`2m6*YAs6(AZgtn^pg+p_r=?QO*t99{^$u2r3Y zy|4Ra+$Pm2ZjuTAMfjO$g>rQKwwx~ks9978CvxF-ADq=2Cwya3SJZ@W5p|nL6Zd+90 zc8)4h=K`wmuxJvhaND8^w=Jr0+oB4$Evj(aq6)WjREg>rP=$v@AX<^SoKS_*GEX$O zEvj(aq6)Vys&Lz)3b!q)aND8^w=Jr0+oB4$Evj(aq6)WjREfSWpbDoebf|I}sKPo5 z%fbY5ydNQzF`o}F1UDb+Z4P3$7N0@Z5u!_I&@d94LUF*$1>V=$2c{79Fl#}(JVddx zGJq6`{X?i#@F1~Sz(tL;;^s+B8T|>SjFjf(;*Hd=+6aO*-Lt7qe@J}uTyL&H$YvPX zYttY?DnGvEXSAN7(x=6uIiV_Y`Y!Z+)xwgX=Ica0pT^TV|2IMiAU$! zQLFAk^J8S#QA<1>aDyyOr0%RYk19xy0@yLDgl=AHcYf54uN6B>Xdm*~~iucKG3KCuDXhR(1qTe+g?x6S^T&2FV;u>xMA z*<-JxS!6u57&W74HFkhfw^J5ykNB+?Z^rhCr^zbT>VM121It+1p&3iFMYGv(ZVmLE z3}mOCfP*DD9BKBh79ZS_P}P@5?kimyAXH68!&}owZ{>pUeu@hpy@kt_xhzn%-y zzA|}PUm++J=Ks_9x$cDe^PT*B1=ChFx0;2}OF?HfOQL9q`^m2!;xKP4*v-@c3_`f8 zwVP>;%7Qd+{$}Uw3Nmvpq|%-8o|6E&0rsJ2_pqELb6YI?humh(o0!T}+B(x2-;yhC zZaPb3MB7mKo={|6V+d4@Q7{X|YxI}`9nWR#L0wbqRk`VYqaUi=q~B^9OUjF~ zXJ{#8{RkP6#;_@ln*yOAD5@MGpnt8hWxOkWfQ5hFABvDBGp?e zvm{djafa3;nKl>3zJ%fcubqTzCz?zcy*Mc=WVO^BZgh6=O5=<0*wgexPGK>}o!9gj*Xif+Y zN*D}b%}_na%<%g}OBfIzA|@YuaevWX9HAcz_F`hirW)FLNg&suid>#+>uFX3exp>uZ9v_!Gj@SGkb&j+8rTL*|-Ejq8+ zm&ZDexZKrw`dLyq$24@W&yBvhgk^33SOnTee>sY~?JqViJXnM#*lkRR3t>s~j%U*f zkpijjvjdaw^t-P2Ejy=qipRwGdTJ=q-~z;ussyJRcy@5It!w8%8eqK(jIj}z^$AUt zPNZE&?v9!J@Q1^u0gZ0T=BvuoZ7@Pg6dUmdaa8#x05J$s1L0;~K`Ts(2E`TZMkykK z@Qk;fpT)C8CZp)w;XgJFTa zbTxMRrOu(h*hfx@*Vb2a$^K9fxR(4z5Cg}?Gf)kDzR1NB)68K+6RkZU%+x(c-^T~=S7>CRSpMCnno|>9EMRZ z!f?Ab>dSI#Kw+l})}k#7n;sN5nhnsh$d%T@%hgXdy?Gczo1nD4cEk+g71(4|E$NaS zUfjUPdeFf4Tt~*1H?4%@2Qd%@9dNT{JX!Yif1XaVW|;J zsGa@Bmcqn0EC%IZ&_kwQZYg3hqNV;)OMP9-(Gn^Ralu_na83=LVawF?N{2dPtW}oa zsj7gv0LF!W#HcCAeW`j?Rl@(VK_u%@w&G}L%vKx?jd7c-M`6p0*R>u2_||$9x5>~L zx5;`Gx7k3`cxDdoCqrXc?V=(ZgU_@T#cdfjrMRua<`=hpY-su2L1V|FbU1%^lni(* z&}eClnMa`(dm)2Nduj;yGAp!DVL3{BBrnPy&h_G)wHWdr2v*?1?-8t`r3F|aU9z`c z+zP0X0>V9tMd%FL)KR1|EGz9mzRnW4=t~@##XPl8&OtG00S1U+HV^1$m_CYV1;yIE$UH*f&jn?zVrJM9=&vTYJ2 znQpDo&&;^#^M)pt7N*EB3?$q7d^_|brCS9aL{tSH+^8oUGsK1V4JsPK<#WtX2n!U1 z@gs3>__@5cd*Resen*fIvGDSDIWC;O3o1&+kq|$4a~@O_m>rxwf{NbV@U7!#v%q(A zxRDl>z_U9|{(YBv)h^2jpjiki3Ro@}M$nD#^Ne*wEJYTkSK$fZ7z%fnbH0*tZ^Np8n01Af&??2iJ&lpg17cly|6tjnMJPYS_ zYXexU)V`Xce<3Q`+Wr&LFf z>{|H zOPJM(EHIk_&=4qF=*J|&2K>-ZbgD#KtC}Rf>--AZnx=+dgygs>4ubZ%Mg3oUh*A7< z9q~VC%hD?bfG*87z-5N(b=L&58*5_Bn&?730TF68yn&%dAD3m&Ql!CmXjpM!d~xeOS37$-uN2Y9GtTUbLD& zw+ov8ATKo&am$lDYe61OQd#LST_cw-)nBpS)0;u978Vfw^KqPR^8e%vMn zKW>wP4@pWDB?W(IfWRCC(a!|peoy~J+bbww+pD-uy^7n^qsT%ZuiGOs!nc-!xJ^BZ z+tj1DO+5mNOg8VQ9;G;>&|n1|h@y^LVr88&TNo8XwT)t25=lnk8J*2#AQi8~`HpU) zXi0GU7!m~@=JGX=xQ)?p$L_tT6$#<|bsrRWlT2e^j>{7oyg;Ekvo%U>in(J!64f_X za9QcWXXUL)1JArsB`j+?Dqv2*CF(!)s`abd%sKcwnO~~AbC&(rx}Jm7+@(GnG=dz5 z_U&H2db#7^52Wwz?KrsKso}FnEY#XoDz^LcFpJRTqWenVo#nQZKMr2J`$-H5%`Cbf z47?L0T3rvmMfG;Xas2$%DD*Af;kk*AZxtJbhdRb`SQ^` z3>?&=9&8(wn!l$Y6Pum++bNN;>DxTMS!WE+Al2@Eqf-tRbx0;6o^7`d_T(uKPR5(_ z^Sxq%f=BF>9P{-~h-Zjfu`wm-kTI#Z&X8j6R2Yyab>8)uy6rR_3Kaq0*q8!_C$UE9 zh8ZBJJ86y)zTjSi&>XXL0}QGJV?}5p5*1VwELtcb`tu8?b}Lwf<6xJ5xO<~emWgjB z)8Nu>kyf894WC|;cu*+lE%VX(-I?!Q4TtA4H{9v2%#Es{+?o~KS!~b&ml~eGzfZ%( zV#A8Ffk>_IIaIcUF}q+TA1niTvvU&!ZPORbBI`xFt7l2nTiDgJAoB6;kqE1xGYh+V zDDG4?Fa$ayn!ZN;=+*S0?@A;2U33VQ3L*%o$T2ta1(dv zVGzL$T~ECQM=Rb}Ffih#NP3s*`T5sW4>&j9-?LE7!RCA0PJ_A!n@8JU;L9a8l>;@v z8rk*y>ihCnRO}@BX?UWQr3XZ^tBVj zArk&|DD5#il+uG7>e7Q8O6ft&!Z=S4@{wV0r0X=&7q56h4ZT0|vt(m2xm3sLh4ooF z12_5wHRwYP`nY4pFdvUeLNJTu(=+6l??@3vrONo-rdQ>0<&Sjk(I_%Zc4r^qI!b3B z8TrXMQy!wEXu&OMckg!$+Y+EGRrDx}Ho>wM{4OuE z0`KCFg^bP24TOS>%>x`X+M?eEgsdv&j&QWLLYy>KiEuE7C|x5V8C@gQL3K7v$dS@V zWVo(CrHN#XjGALg=xd1NRPtc1%e!DKR9gv@2@#51jxcRp4o?dQ=KRI}P%W?W_M8Z~ z>1`Q#-RP*Y%faeQTWoGFclA{zPF^@79S`lFnxdWMYN7#pcw1!Dbq!gSy?&RR>0vo|q5W(dm4+HA=F8H_w0gv&ETjLx_aK zGP34t{8#ZkeM@=J32|sDKS$0?!p2v5WkgB55F!rx7Bp>+jo-ofI7hJN)9-K&b#5PiG&CT_{r76PArq*|}aS`=n)?xvWfOU$*QhWm~%@ z^NYjY$|Kk$>NcSt9Iu%CH?D5-lLT5pf>`RTi}ic(7nR_ua+?yTTB00QfjvhSaQdJT2*z;foMnU0bxu_*c@jIDP;f<6qit&O$!hj1maq@x_LpKgH}$ z^}%yEJi?uRto>vX#Ga~A@9>$)r}e~ONwh1be{zY({OJ+mW<2c)r^&~9bn=MNN73u# z_2D_uCMpcR=?nJ+)N&>93}Tv|g{CK`l4zsG02UFzkq4wG0!Lz_e7?2eWoRt4&A$4t z2NaH$dg;?+h6<+1?&Zl&t>p;RunErBOoAgqB?l3IWmJwHsXRo1gzpvGTy@KZ98t)y zmj8*ahhYROS@maBfq-3_f=vM zDo?1Zxjj%Cs}-ftFtpNwiJjsC+c(DUT-T@^D2@tmiN$e5T zC|@UCR+djxe98V9Bs!-|H{@$QmM;c|xpI2ITYkTAU zD1qO|d0>E11?+z`j*L9r8?eCK zyupqm1W$RUUj#ZRU+EH`txYi$z&n`1PfRBaeyd&y^a42P5Ta)L4tR2(!~n{z>|R%T zoxK0y*_I;hmO`jWsc3-aY`_H^&2a<(hXYvmxZZk--~i}|x=+t4*(Ag3^f%J1)SNp) zxCr8dBOTv%6tSDGtru%WFj$A-K_pZkq)u8%8^QHRyCU0x4yO;}Bc5jwIF9yM{*^&0 zKt-tpN31aczRf)FRamg#90JbKR5VvZ*}T~kQf%9^_UH}@m8>|ycs2max^~eYTX1>? z$C{#ul%2Ye^qkK*K!=wAD4fcPBYxHfR|M!v2hd>vbd4}dt8}5l+X1LV6;W@JxHpq3qJTpd{1Rh-;)LCu;~*f&{Hwq2$yvB&!Vz* zn0w$hidNnc6nPM`XQVJ3z|Ko3ZUios%~<)*{f$)3g%Ka%fX%3$`&EYSyLI)6bgIZF z&;n;GES0CAUUo$W!3w#XJzyENyY8rEt_90&fa#Ed)ov%(eB^~{4Q^^OS>CId9hyPt7h$v zPzS&14pK{yp`YQl&Ge!f*Pm`MngN_pJjjMqf(I|68S`D}el37l4lOi*p+uqWiN=6? zTueh<#5SU3G~u%Q>Bb0k8f|S(r!(Lga8Ht8T{LX zX3<;270Aj{RKvC~Or|*W8SxmK@{fwZu-Ju6y-!mXIQnmfy`Fm0Bxrn#r~6&&-sUzh zr~k@+uUEA{7O!J}q!UZNi17@#0+##U#<xlyXe{QVq;7?@o4=LW3whysOkCH@*A6 zt0^Bu`GEefi9}U1M4Cj3XukTBpDo^06mO>A(Bw1CzvFlG5*h$2?G4Rr&*oQnMYDP4 zO}%)tF!8t3$CRxq5f;t4{+oNNkd)$N4>6$m;!8c#)hJ}_dGw`tgsidm(HG+pPOH6- zo{dLX*Y`ep5qO8^xNOdqWHRsV^UmLmcjR+eLHqZaw7NHWqSrs=D3aCqTsWXZxcPlE zl`{Nq;8Y3~&gJ?tNHF>5s=~{^_JaO7!K#R*XL#+ELCF!1^P}l9$;aY{FCpXS$!TiD7f~*>q^#P%<|a30+mGpOE+!G`2rH z`3FcAglLe6QlSmk3)_v9H-3||RC_hTIE|nu&9Hg0JZD78#Lk+`?O|=ohnFT22r!fYxRRc(nO`kp( zI2bi)JBTU$d7>L^$SHNayfZ=IMfBv;k{TMGT6UD*VM}nZVNYqE`*m9Du|{nT{uOTs zg@Wg>SwNGx5_(w7JdX&14b&2`T0B9iY5`eSsUP&OJS6~W-S*lBnqP8+V5H+_48`P+ z3uuLufIlrG6tpeVBQ@d3k=0xK;y?!w$J>Xlg{q3<;X1WPnzWy94Bw0G;njqH%s5^b zAsmr>Evybi(J1yX5!tH3iV_p;&DCk_`G~ww@hZ=yTwxSd>-EURcs$}v4p}uHBipRC z&I!Xf<_->^zxZRp+kxJKc#VKEQpF5!3{yx|aYQ&OOIzWTd#XeXUr|s{IA-GOA>wk9 z#+1R53V8P;J)lS<@7+*EuE z6QY3crTO^(^O<~3XBoCVIdH;!tgy#HUyCQ7Q;Mhc7bLCWcKj6IHE)ck%}d_D@K34e zSCklv=9}Y1Xd{4#=(PZAf~AzCXoL;VB*j8fw&Tk!f09m96udJ(2g1wGWmI&P$`HIe zE=7;@@&~4)u`s*rd3l+x{SwIj#IRgR=j)Y!pl>O|3s_yGx&A-5D8=$c1q6ae0y-L?sJ_g9{+=;3^j<4OA!xtVUuZj@HO8d z^3R)9+*p18Y%OcM!+PzhnS>nAE%i~46uqwCF~T%Bwih6?w}8pay>6Rz;Q_OGb9t1! z7o4V#>dj+RIwPZK60C9@RD;Iqg$M^{dQZ!?kQXW9cmHjE{*DMYU|DB2b$h5@{KOc; ziqylj63kXB29#4H2NRqE%@Hmldu=_EcUwt1JRp(Ox|A0700V;zLLeia^@VK=5~~>^ z)pX$0yYN?A-?b27kX+a*>etLt%SJ&p$Y#}m7|qKqGJ#wX1_m{98FMyPoC^y+X+Va5 zKJvagA6dLA@`TwD?ViOf1;M(uID8MrX55y_JLb;wqMgQAg2~)ti^3&B)aVrLO8}RE z??9E@gW}_pp!?^bQ|X{welfm&^I|)gr~W{>mBjlOQ1(|dCqU?t2SjF3!?mYG&Or8| z4AGvxBaxW3gTc=wl#Ov?U6xoG#=7Mo#q0NwZ}^evrV9sTkI5ZOH-)kpnBn$e``ch& zB*WiC=vY6?s&lgjQ5BCMwQRU5M-k#Z(=5Jr+flYKlkAY&v-QT&8CY=(Vo-6bw}RcU z?Kqv$xl3yfX>SN?+|-=cI{VULb{KhYDBlXNC5j7^?@o1UdMJje#A-%%P{}O}ba*u- zEW$YM7YQmxr@xg*d;znD=BV6lRS%M>AMr`lX$Zlti>nCRcDiAN{@91+V8{0e~y})9XtEo%O>nb~J zNK3G4;sLBC81Pp0N*+MGI0sAaXRKnV-M?gU?Cg$wK=i#}oK=B4V+~|;pd?(wx+mtX zbs%Dru)k}Y5gr*-Yt2B~#Dy@Ns?XGs2o+O!`Wh_3wJv`XZNW?s1H_^6q>7SUC3LC0 zJ*owS0Mbpvw?Laur1b0eOn$uL^m<|I0ecx{(3e~Zi%r)&i;kpCT-k3KpU|aL0;rjX z93tz)LACM}My(6Mw3vzMrXx-JvjR?xaYhnhMsLD+_*o>i$~D9R4OpfOa&C*nkh>8X zsBHZXlUwhU7fNs*tNW))8J?ixljr%%EB9cYW`GpD!sL(bz6Gc#(GkcQ&z!Jkw5KCa z#5sx%s_O^_?!}Hg-s^gTQEaFDLhi}u7kl#J?w)Wy<6=*SdHA2FgCt3f$?Ll_CY^W1 zvIxx`QSf$PJ~|r=B6oVYr_+RvwmoDykcB1E)wV@K@1d^G%;HY@x!mXH7yJDA-F^04 z;ud-&*AyiO0YUZZZ%AiWzrN129bt}M0|1+1jn!8`sYBTxvk)hb>yLX)U!yev&oz`~ zaV)JvIVKz{*8F78}0Jj^&ZdL8eG{C8KdvHWN$*d`sNRo zS06%4JJmFVElpHk~ zvx9F_(}p|9G$&wVi!dN89DIW;Bimvr6K{izl>XJDn3r%?Xh91lbCAd@7dMAg2zR3( zukKcqvJ$MAUaY)q*`X94I+X7rmMgu;)7dyc)DrvDGqH5DIlyWIfN2l1>S2KCx$|#Q zV<|8)SqO;P;uLvk%9uf3ooWUkPGuTS0sD z{btD`@nPvD45z%q6Ho1E7zYSvl5bgmCkg~S{c+wkBnWm7fz?ro^dYNS zncHH>apXCwHi#74JlR%);Iw}|r5ca72nxNW8hyX)ci680_i;CyBEOkiL~ zLI&nMkO9HshVrA}K7eveNQK(QqcZL2_t#Wa%fFM%hChoqF-MZbdh zg*o(KkVuW0kby-i<{ZCnDz*jkBq|1lBF$rqqPwe3RBYbFR*S2zor)PXxi1wXFG!|h zQkf;{Rn-T@WQMFUIMK17*K<0ianOFXbZmeU;8q-uB?(L;ej_j~qe!M>z%oU!X!C=P z6;zTMmySgxnT~<_c?q=jBswM$&UB20(l!xvEa-EhSKXtuFvz>Lt6cm?i>I=dj)@xI zXrz4z(k<>9uEOa^|ePGd{{CxuTKcgy5ixAq+IgTFU+ z>&a{@6r7mLvhI;wJX1=Ep*~sNno>*!4^mm~v``x$HrPvj7RhEwjeOHKu?P zSvo%bJZb!tiGe;Eg|XGtI3BdQ9y(b;)p2A6RWGw93ouysC#fPR)JJWB$q2C}ll{pu6$9&z|OEcnERC?V1^{x0GS zj9iW%^P|{dy+u8^sh9$!rg!ghA0`!bw$+tL9gdGr4R?I=$aZ$!1C2O=PP|?O4SGVGM8rCCR-N!-BXRgJaqP ziWn`Okia(0tT0y636Hk zNFDDi4BD-TOx7M4(+sD)_tUxSWX1Rq10vpbKWnZh^~s}i8$dTWNrz61BCP%yWQ>?h ztsTUmsRERaAkL_M&4CGx<&kAMqNhy5DN{sG*=?>XQ$$b6G|e~H{nDTuVsY5 z`2f^p{gWaQKufZlhwlTT)7b4*ol4jYd?Hq0Hn@OLU3>@q#V~yq5ev9NZ*UaBihK!R zq?Dsj-hyp%ANb&-59t_kp|K8(*w>#CHnel~bTt{%bind&Pq;W8Wq0zQOW{5Q-9!!s zB4M1}8H5d6{ON*93U-RGta-cZ(F$0(Z?S$WR$O+#ZbU+YT#zzA((sES7DF908?3?g za)5LlwC(Qun)BF|!_?nz{=y@FEFEJqY_2)uQp3c{cR0cm7@Ga4)pFfKTHSI(iuBqgT8|RNLY#H zLljcRcREKkIubbA0pRwHL7I^lJt{Cyj?y<}UI}7nrqj*@_0|-uD-f>u0gn4JoaVm;i!6(PT^oEB;pz#~0j&3aZopyMtv}V=w zwXc#e6N22hy@N|Xgp#Ux=)M_AT1p}7KdZb?!KX=4O<`wefu5PV_A8^gKKD013xSEy z8Eur{cB5;ed5-ehrszmKc>jGi-=neK{oWDLkcLP_lRp)noOp2-jm6S_A=j-7r)$XA zRyssa%gLXzJ_Co_O6eBl)mFQnEp-Nn`tk0*be~DX&ZVfxx|qDbDRAa}iC)AXhN(yx z)$3&a__HzeS)oHz$}0N-7-L+p06u;AwQJ}j$4OuFj-xT$#z8q1Mf1EB`-h5wX{wkS z5`fwP*SgQvgm=zIuVmY%} zfgQ|g7|?*_8mJa>R>okQ9OAPVCSuH{H8C&&G=SuveE~|{89CPe+PPkJ42s@+7^DBo zxRN#zQZ|L^og~1ZdJYY+%3CSK@w38PFY=b*%|lIDn@KU_877f zd@^=RV0OjKTk}kp#IRwX%n@mpNS3dII%hC_xrs>$s>XED~mV@ zZN>9nkM&jQnR;BNO2L4)QjqW9G+0G$E;)r8@qPz`mC3pO?O(b84z6=2N*?FRPqvS@ zC}|yL;xgUT1tCMNp-m1ZZ%xCBzn!ydq3jg*k0@Y=tCefGNW*Z(k??AWsMYi(OSYv_ zG;gf}qJLPN-JFhByZ;9Hu8M0v{aS&6SIvx5+lDLMe*;2kkc!ro3|CWfI#(RrlIco^ zl`3>Is;@BerkcE+%_gVzf0dnrHx;?7ea{dK zBdyJ-niXLcvv1$GH3o9Ac|yExF+ELJ9xE=G!Gz2pDnVh`7$b_8vEPlJNIA6NvhI`B z7o^hai(a@NjFG>@#@GBZx*ZzKb;WT>5JNi-dWW}POMM_!!1n>FL>0T2hMC;=dhx{2 zzAOB$bh$khzLiV3?M;msBkV^~sB8G)qBgZT8u;{TuB0cL9!moct!kdXV1x= z-iL{J*bMJDDrOCOcwh!akOjy#{fV(eE!*X(Shq~nTc&RNT2qu6GB;~kHA3-pH#xsk znjlEQ2{fFcTy7syhd}Bnw zaDK^jS_3M*snqMipSo6=oPzgw{UgZtzW=yad}AN>Iz3r_oNMz*gpOD;li%pYDx<}> z&ej9#=qb-W)oaBFt!CvX@iPSG!a0$A=_X7BHWOXNcC5Sy`Y1BArwuW;USOpE5mUEl)fbpjQbZar4s!Z5dY zm@A{7{MU>);tl|1^Km@qqB1iGN1XxH=E<(;P(F;+hgibsV)K#iVbuTOm?MI6Syaa6 zs{g=GF?Ut4Qwx|5mXFii6cF6!5NYtDY&4M-;epxZ0BF6woLyNS3)X+f(b?tA_C3>U z`0>eq_PHx>19sDOR-x1hnP5Xia4X>UJ?Xeznm}q}Xq7-zJ^?A$>ub0{zWkdAKlE*b zQwyYfI59oVOmPdtjl!Q+kmxx0N}aBAnSmJXL(Z*8=pFl@ujqaN|3lpm8l2=GY;t6@ zh#5LQASQXGT)AhZ#0p{3Tp|0ej5~jqE90HNZ&$|EzsDdThi`8Cj^n* z=#)Dbg!fg^>D|9ebh`WZEjnHGdyG!BH%F(H-MAyk{YI0}D}sbxu|PtvK&6AptvA2? zSN^YWxhM%ea%mDuJj)^pW&31HLa(?u3DudhNJ1AdJ1BEYPv?XZo*c5@e;X`bDf_*N zPf?7ma)Lx>yUUUrwk*PzeUAp(G{vop`Y?qHJdNimTU|Wg_WhL2E`Fcz_jbF|`zZyo zVu#{aG#bLs{?aRfN3HaV!h0j#*{v2JRkWWH%6}ZDJeYjf48ng8w^_!{^8bzQna2jf ziO**yzZ!w~Rk!~_i*UbLP15cz{Ssjuw@4QAd;kAZX%PH>_bLsen`=p}!W%K!M=k=8 zectc4()NO^&2)L5C3AhFQWj#4LU1(~f{#s3)>luyy}oL4V^Y)B43x^6Oibuta;@rA z4v$F=Kv+g-AN);8R-+&}cR{@@Fl#{JjqQ2COHpuQj*Q@m5;%Awx+LZS9w@xrs7#dl zq|rrxV3f=ii9EPSk%zo9A5>^W3@rM{;6h`X+^7bt!JtJz#3C?@<+++$9s^aDiw^3{ zdkp{OcQ=GpMJ5?&9;5NZ{O*9T>T+$JWdRk~0fpm?cVGLAh9r0~J=g_tA$-V* z2jkL1%?J{=17d^e@4Me% zi}37zgG~YPt^jn4N$Cm#w5+Ud#t_&r{wl!PIr&yZjv?EdzLpy?O@bKD2vf%*`EHKBy`Wkr1PFi1KnYo7&Y?XI& zdGV*TQPK^)t?!|L-pt*t=sW$C$At!B7}zZ5!*CEpD7QvfI?1LMjKg!39ycQcnBS}k zTr2aKZ36tkFd`~4CFAC}1zOwNf@>{+G_?gp`4->)=7OwF^>~LkSRln6bW&p~|E?=; zbUzpVT%`gEcFI%k-y1j2ifJ9jy5WZKR){Qjlj$mY`AEwO1l2vRMA;CwiuR5!eve9c zr@gOfA*k@sx){{nHRCXA1G)n1ZsW(;;S$ zzaJwJ#h0GJH2gmsD4&lLH{~&V=B3p5gWYc#JxGQMZZGI^XpI%rL|Eszd9EX?fg_*7 zaPSPdinQzZu^7BSN(|jfT5wlh8WvE;57dM0= zuS(SLTSR&D8HP@L#hIO=FmndpmnZ-@xd7W$(K}iE?|5cBEa+LBA&drO8;ZL8{Y3`< zTpm1ub%1>(+%iQE2*pc;Wlz3CD%bt`JheF;GlaSD(Etpzz3gEDg?W0xJ&NfqoD=*P zn~xH=jb_+J9AnrnpX+%n8RKAA1LzWCJObg)WBgxYNYideCVb{)7;-yCX!m&sST$Fs z!jE+m@49Q}d)S=shWz<<$c!p_cLVk|tGI!2@ewl)1KBR0%%&-BpI)4CV8M(JH7$YB zQUy$(JG>q<-U63tp2R+2Cgx(VUjTx6E-vu8a1K-t1OWdbAOXD%x~FI|6yMPrVz*0l z7*C`D%y{EGSN1p;(6;7+nc1yf>yCxdKp0{3erIq^ulW@2kmk!D1@XTSF*IaM)>j7M z)&|F-ISmJ*PPrL+OhSdnkAr1YH)Vo3qKw4@?!<>cSUpDE)nOXu+9W^UMDfPftTvS@Tc zTAbjE=`C*XtY(D0p?p5}+ebZ`_}HGnvlpP}p2ogxC5My-8nFGRzW$vDtC@@R{7?rswxPTn^@LZfwBe||g2TAOEz=d8*0X)sWq<`pTwKnl5XPBSA_r3Sl9LkIPh=}u3P|FHTFT{Z=cUe!GM zai(|V`K(!vyQ=vCi{i-Eq7g_g1ie7^v;EGL(oHt z1TJ%eo}dPv21tNT>x6+^03)`UVK+gF16MM!+7CXzAbf@aA9@F$f&z44k~X9mfdJDY z0{9L)Q}c9(KW1V2kL;O#xm+-^z~hxU`Hz)KJA!0R{=2mfEWw={z>Z*%S74Pbo&}5lX=>}^f{U2X&|~! z+w~1oOdMdy0*0iuKk~{JB2BTz?98F1IV*PNw-{Zo#K!#e?ZQDM^HD908hpbXw`)B6 zll_pj7smr+md2CGem5TH=;bPWKgg@b&2YKCUAzQct|cc{ANHwXZ8n_za&Io;*Mug7 zh!11L+>tg@R?Wx%oZ1|oBWLUw7o;B4EY(ir*f^y%X;~Up`Hd)=erqzJrK1TnR&g{* z5Ri>fv3?re`=qyTLR@`w@onC+1(4NNJoIyQx4nSN(ianzW}zP>#2ik~4lI zaqG2^J8{F2NpRlewsU1A^(G@Z1|j4H52j(mzoK0WFVfQ{kF%Z($`{^0p4_Xg$Jw^0 zL=J!&(J&6sxn1gNRAzSDoyLK$iIpffDyE~ zp#aP@3QSHG|A76jL>Cjrw)o^lp1kCfukmDc@yW|P`7NLP5cJmYg|4=9)yd-f6jlE` zPhy8`+s@-W`Ej3ooF{7S-8biX@}y6GnkNSrpFG2pzvh!);0b5W%)hz7lb`X)&)|E$ ztUkQ>>;<0vwE9Xg)p7Gj&eR;95#L7Hb{hDLympc`Jl-jO8726(~BRQzxc8*z7j9~)WVBjNiRM# zfAI)d#bSnt5wtf#`q(S?kU>Y8#P%wpo*b=%V!&)|cibe0(JrQ~ z$8k*$G{~|5>>Sw_Mlh>Ua40U??&tB*Z3my>zIg{XDp&QiM_wztRK{g~V-`3s(g# zPL~Ae_yyRv%R0CDd|peHznLf$DO(RQbL#UgM0fds+da|4RJ^~bYO^q587T67_b9=FI_i=L07CoJ;T zBBT!fp0~(be|#Z|p0>zai(ZVPXDss8qL-rRS&O{2=;bK7V3D^Ly%I&wTjZ@p=Oh=^ z3l@3nkH@0u3l@26(c@9{qD9_X^h6ZBWRbTPosXiIE#j62w#%3L&R{%!wmMnem~Ig{ zsuStPak=iJtQ#D)Nt6qd)lG!HOW#HshwgtmemLujRR5RL;HyL3>21)6>^rwyhHMk zoTZE+2cI8K-a(I{uWRCK)=3~lJLNev42f|hkkB*{K5Bh_b-kL5)cm*N#92yky zyxu;FVfzL$b;PIlda;zbiIcq_<}=KuNW6Dr*5q>6>~NgF#BHHo!*v@CgUj(5iS`P{ z#(>@JINM0RtjItL_tg+urLz?n{*|qp4yeQ?7B5od%meMm*4gG^cC!hrpvxSfI=vF0 z44F(U-3H%S(QJ##u_j6&Dym`9B4J_rjexa9uIlbNoOugRVg3!Z=i}M%Oz=+XG|O^y zmTdue%+t``GuyzDMXLZ`5ofijHM7&hPC5pmw!o_HH+I%7b>3Eb#@kD7g!cCq3uU^M zhXS*s*Ba~*Gr*nPwG5bmET=;Q=R{cRt++x~ai-c?W|x7p6iDs3l~1+|47UTbNL!Kd zI=V2svPF9OLkSUpS9K+@`YkYjmbNcBn>2iFp6EM?_v7a~nP!?jL7=%H$-S2Y4(nrk zd*6O#uXA^=<*U@w6I4V9LEFhyIZE5Vl+CT}TWm6iA0;Eg>gf-l)00^4t~zh0JXzk& zS)il(Fj5PiznX0~eJ)49W8q`C^Wns_r*9VNGi_2jy z&?0t9Uz_gMT`=3+b2;wC#}g*-1e6KtaE!78V3od?LxJ~9v>R`jA1D_Tm^iX@Q!2Hr_K0E9mY}9v zCYt6~62pQ(Yy%OH`xuvxTu@+yROqO$DLBHG8Oq|I1I9unQ?}qSD4y}AR1t$8R8f#b zmyhA0rI$zCn?PqJlMDu;&1IZ6DD<erX7XA_@P*Ih5zy&%L=5H{u?AWMtnS~uh8zntKdSe!*CTP`*sZ-X&_#n z586Gi{2jZ?LmCpfOaR6{&VxY|Kwx^YRv!~!hq1IKEkXD(reS>`jY%+eV?x|@OiAjs zkFP!^Dq0+qge;8-rWO(f6gBtR;RJ=~elsRin|4eNhu^!$Bvq~tER6|-71gd1wKs4^ zg$bUHr*cDv;o)qtD{ycHd+!oUu0g9r_P2m zvLOjeEERxAFoIzx;l#NN)%w&~I3W}P90*I)jRYKMa^Yk+AZhVYc8j3c(p6t5zAeOQ zZc&+ME5RT>t-F;+pAK_@Zy|A?49n-M**G=$VdJ=WhWcaL_Wy9wRC>(~* zPN!7wZ*|IK-DeH6-ZgxxmO8f9JC!*oDkZ4HtPgS9oM>Kc4)p z9+4I_xs4g0%kk8qx=RBOeJ%3YNRrxF`0}~K%h|0M=ncz`#TC?ehA*L*VKV}P-XX9T z2P$+e;pmC&YUTX!R7+h6@VL0^H;3a+#AZ{gB4%`)41w){$CSLz0ejk<1IEvz)CseJ zahmsczznz#R*pwGojcH@gfeX9$#!vW;xSSoB{Nu!IfLe-e^bz&Am}Xo2fV*iv3cv( z_!2<}x%oy`b=upFFW~SDW03(j=Gr=OX7V4$u6hhr*A>S+ECHYyNU+?CVb}h&*412x-|zJ=E(U!E|{zD@ckg9^Q`e$SlL{H(_SU=);a+mz4ONs5D{PZfLUx z@hv>~OW(WmhsMVkUBXIuEf)orWw<=O8!m)NC7=LKU_$+5phT8WP+;5$Z{h1>9!3f6 z-AD-zy2X;qn0B2pIDkmV|G*+LFMvTkGC2e%QrfBCKnbBK+GDDe4BH*WbPo%utOD$E zWN}}wOn#O$!^9gvB9nqx#Ct1~VoKrk4dE+nzf&k#0Zv?c{QnJPHmKjANK&}5f6OJ^ zi$zKXwQ0<~S*V*&vH+WtV8L(TUi`8@p8sB?1yjcV>wa&;LkPq{vKn>Dm>HK?EGA&f z8Ce)xmy2q^;3EDJV^jqDk!zYmv|N#F)_WgpGBWX%pxBJn71=4JyyRRXG_Ug}m#~*e zB&{+HO9{rA_0t-hAF)zYhP}^Z4KOd;NS4 zGn)%RbRyYm4%5Mq9Eom1kc;KyN}ENBBJMb&*<>E3;{XsLWr5_9dVVtlu?Q4-OR9^i z6l?j~wM71wU;hkkaqL4n;s71QisMl}r6x}2aeIN?p=AkTMaRA+sB%&}B#(j;RSiUd zUdP=eeZj%exk_Gw_LY+@{PR?mAN=KiMHk4f=4m)XRFWwJnq0Oqs8V}=-S_qRNc&48 z<>AsuXFX_3?!3qP1f?xQP+Rzrz%~H6QEUl4(5nQF)gSR z{V?`-)3R^|(ndOfu$`5~Gn0^gz-Ho;T`pj>OVtRCG|j4oZR=@9eY5YhG30!km47It|nH8y=E}<2MNw2ERoV4s0qlx zzR(A5T=2MvQ-rXf_D6`UmOt|1Bv7>>=mC_y^$<{MJzR1keDl;4dJ`=( znmwQ;g^-}do&r>{91T>_G@Jk~h)zJI4%oretRkk2KZ~;l4lsyd(_);;+1hghP899s zld;VnC?wnAB>2q#HkYLVhIaEl_(;`UmXZx@6~q7$2jqVxX$KaMMDcVmWT(x3k0(kd z`V@}9sH#tB(Kg)_hK?scbfIWI&Y#K8gWY7TN^VIYRqBc8rAq`O#-pwP!(kamU$$>B zNu|rCdt=arLe}J9WcTdp>MoFK_>?nM(J9fh?bPtq`veVJ?o)JuL3J%g7d(!$?UNLJ zsZVJE!DAUe(~ZL5WqtAjQyKDUT_uT(7vl}6EwAxh8I9Y$pZ-a|j3ByBmRtPtPx9I1 zM;$6_gWkXcBI>A3Mro!^g^4lP#4A14aoKz`ECp40md=Ir>^IjhpGJY7XlT8rra~NW zMlcja!}B2=I!v(kmR?Xoj=wMcAk+I7vFAIzx&4-rx2;PU{tO8AP?8(P?+|?$eDmX$ zYX!BoG?s+L|Eix(tRf`<@%`l~|0S?O0H|R$hA~?Rb>nw|?1$$uVwj^02fGx5OqO5x zjSF#ZCqQ5(>OQXIVBXwv=kYphQn`)AS9``UljA#D=A%jX)mYz90E2>k+xaAiq*Z{~*eqjYDy5TU(lCk%KXo z`x%71-$YS=cowO55OI z{|0@KMjk^MGp&rsf%%o~u}DN|$Vi$ZPUZlhLUhzT%QQ^>g$4$HJ-ztLpVb4?-2Pmu-=Adv6`tHr@QPaX4D6Y$#$!142&0{wEWfYVj zG^t;*E=xBhxJd{c&)AG}&zaCIRGCu%fuI6~RN+CDYGv(BSS1W7}3E!M;=gt zV-A@tmXODar9U|HM@Waw@{{7Q{|*0q9dFWQPuA@nAeH z=mZ5=*kRDzSIy|YSv;<$5dzA^r9&NpXPZpFQ=rbzoa+m@lSRQR@yzEJ`#;~oZ%Jkt z46Hm&?4tO|$n35t0$yR+njt?-zPD$$j(gy4G5I#{>-bRdss&FFPG>(9Sg=x_Y$SR6 zLZX}jV#3f+a$)5!|5awugum7aJYYhiV&SDv6TPdvL&IjWB&)xtKtUpG3R3Y2alQPE z=y|hs*9FE+2H;qc1zHd$68KYnPHPHAuEv~X$AxpgaRC(97386^y8pcb89oIsMKS>(U->G8 z`l{+wgYPF%S2ltQS6mW7NyErIR2W+$rWuJ$Vkz;l6NBSJGgt$uI8~I-J3KNV=4x?u>fk7m!`F1X#^sV*($KKmOTXt1- zzWd{R-Fr?|ok~@pNL9=}#}X=KLu^%_t9Vd*$@DqCNWN$RsY$lo10Z%0pu~z5wm6pnU$sUG@fEA5D24d(N~DtRZW+V` zSuRocYB`jd;Tkzqs)*zeC*q0aNFjF}iw0`xL^;F{^qJ%k6nBdPkQqx7g<77V(L_1q zcY43k|M_k`IYdwA4PoRs10 zTvF9&qg5W4!JOcxu~7}enED%k0WYc=ialQgC^#oJB7)rEGbmsZg&Sb6(sD-&C>PUI zO|gB~CYv}zqKQGe@oL!){lQlClqYS2!V>XC67dd#jD;lZzt)sjMqyuytTj|QZY84Y zs&cpc2BpBr<-DwaSMTdAivUWh!`~ariliJ%w=T=dHhWT*l~0c${OYi56H;sWus+Mi zd9`L1&BtaIF4Qx;ZP9`BkBnJv{8}&zrlj&8==|0@v-xcmv-CAPX?`0Z$dq?LxyU?k zNe9py&Dx&dxY_BP^<0eOd@fRzlRTNzP}3MPBUN41WmDjWK8hBH;y;k3 zlga{ya1fMnMzi{(Eh1$o@heM*QA&C*@xWWXGQ$JIN}G78<$W00dMjtpgCt5FG`=8mtJ9d?{hkO*xXuy%kV0gw(yYy94tRc&QP>YIVK{*x&#Yz|?XU zw6d6G(I)cHV*5&t@9EM}MVDCUh4M%2@(0VQ;0O9?iNH+ruU2I4lEMdSLo~ZHhflgFM zIY7OWtgjG_guYaIezeVph9t6Wpz<|GtZO;x>y8e`QH~6$z_J?B+J#w#0l;&_qVD#D zflhK+ggKq2hc`R*dKaeDKs*C0e?J0&eoSlfROK)U3-T)L=R;yawZ!g3(;4v^n6p46 zCZr(T_r7O0QQ>64>N}HyM2sR1YinIqJTs>3vUY?QIF^>I2cfs z-trsSmAhpWVO#@Yli4`|Hvre4=Q&?6y%ANR}YEA-|AxGK(BCBHkgKU*R zrw{~XmMb+xX*!4jsUbh22n_~ISF(eMxG)weAO`yx=<;N%@8!*9DK2r!9E|VIbY5f7 zNbQV+It3kL^9@Qofs^zo6eo`b5$Cdy#RgVYqsPmDcI8lwE9p(e&mwp?A|`;X>}=Q` zis56OqTBX9#g4ZBZs2knEjR9@oCcqHFg$)U+<8Ya$r)t(ry|KhOHLxj@N!tW45pT$ z$rVT$8GE2QA5*RiR*2XeLLPaoBx%!@ZWDaMV~vz!d08l8Y}C#sO*(K7{2_w2#7=h( zk}V{(Q-h*^Iv#;3xncny7o^D0@rA`wl@&MW!7dp+6f+@OyvO9F!`7ph7AkWW*^oz> zV$bk-ZnsbOYyeZhrR+64z$ok{grZNq8x;L2o5ki)8AJc$uo9O(Q1S=b7`z z7YZ=v(&l$;;lu^oQT{#=CPvbnSBcDQPD;JmOg9+HmRrbjD#cneYz|}k_x-#tYgbf+ z+LQ+FEqzcKF~7*1IiB{#gK(x9l)k5+GNul@i+bs}vQ8)CAdOZ3wIB6hEl(48kYw#6 zz9(8VkOqpEEATM59Ub9OXon|=1q0Z=YmdaM<@;*UG~Sb5_?vi=8Ir#v6Luh2UX?*_ z-F8iAIRL*=O)$WWWkf%&PSRe|zX2Fj!2Rv6LxxYiD&$o@OUj3>a{jBjo5*)Twr>?= z`vlnq8$l*xn4G^r*b7tHhSg=;hyxo1R3Qr9TvzdnFn%Yg&}W$GOBiqNOBjX-!i~NZ zS!#!B2ijqt>mt684dQpYOp9Pj18XH!1OvGd28lR{zCm5$0}q9O=Xx~Bp*QD@&m;Hr zU^-;1CWqC#IQ7gTr>DI~+{Nt!&4&&m@rPHiy|>8`Cq}P7l%-gzE8lwCC!8K9Uo*e& zEUV@+M-jPYg`;UvL6ef(><~)=h~99Y_8lkfwBC^{q2t}2cwkv`XC`$*?ir6QEgMzRX5Sc-& z8B^?Gt@3oycNQ1$R}FHNC#P%QwLd)9=-m$Xn$PqO>>Bx za)}YAAqAND5qgc2B8I;(XM!xu)p9?r0S{RXh8plx46uN*{-_ji@~OuDP*rE*5lgEi z;tQpc@ErpUZ7OJy>E8x*^corS>yIf300=~B@l--XV7PXfpxI5ciXaIW+a{Cfh&E9W z*uQbhTkppNt$0M~Ry+&2H>7B~8;G>YB$FT{U`7v@C(OKvOJ=T-f}~jBpob}P1)U&P zLvvlc5`do#|EPo{B8xSS{KA4+XD=e3N7DjYKt1wQJ-o`-g|vAd5I0Ti9Ze~ihBYaI zY}b^ygM67DpiH9hdzGSdb)px`?sz;;=s5q@PI!0*ba$^TB^!|rq73-0d`$X8#dNoF0OFuH4P z0_B0>@c1M5#nmSDAoe+M#wrmbZ}Bnw>vC?nfLl=`*Ok&GJOF+i-l)E_ftg1m8;rP+ z0Y4tbY+D05O_PGU?}F9l_k07U8~34$C_F3wO903P1Vd(DHHG(kfvfZB{w~ zPoSyDvbX?&-394(`rdS31aA~$xM)Ft6j)&wj9(+tq*ek>feyUjU=GkQYeoPAjQ3T$iPbp@E3n=vmq5aT1Uj@L4nyaW zRS02+a?Cc)YA{iR6RZ0D#5WS$xOgRG`PnSq^sa;hMW>%(BCw}#IR<}1A+#hyF{2ea zy`HP9$U_EC`4G;fE4C=eJw8^_arIv>0k%K>erK@03l;(JG5$yK|WHVjYskpt>ECDBA+MOg8?r0(#Z+ zxLWRrTXS_BJuNOA&$&AM(qDb~+^RUjNs}A_oAbUn9KM2+H4h*7i~F3ch-W7rPnUv% zb~L4^Pq`OHMM%-F3hR{z+D%$dgIi>4llb{CU5XJF9f!|U1?o8SGrcRqiN|>Pn}lDy zZIt&U?;}B&l$e!}+d9FRpUI?5Cm1vEbJS9R1j&5Dm#L65dC?J~@MCII1aFlyP$l*X z%)>O=ML%OkU}YszVPr)kvW}=4J!hpv5za5x%`7=Jedlu}r-rMwmZe%ubb(=0#8j!| z)J4>TLFHRk;^DefB7{^LKd$D1@EL9rUs@N^mZ7Q@Puj>JZLeEXymuLOUzMM9K~~xl z5z%2}HMmf$0J!K`;2}1}GwvX$NvO~c?lvm8UyF*~dZjl6qyyz zxLf}#;mcIO&ri(0lJt)U*RB7VLzqN7eD;(2%tzE&Sot)%^}mXQrmqU<1c^k`VC5jG(j? zjjRuFTOTagr)&hVEZJJL?>VJBRwi&w1Tl-n3%sZVz*b47{J!8>DUxT5F@N@MY z1A|eTSYL^HJOa8>Y~=Y_cHob{@WG$>m3RN%`@fWZFTyE4y8k_&d&k|Mde0ZL?*p0G z#8uw)|AcBBQa_Pyp-6`Q2Gj_bu^X|#PJG4 zwI6T`vm^ez^em8))QsJjsw-r-KA{&9pOlntV+PT?dAYRqGq(-aITK6_kFwt!^WBNZ zd}|n54Bu3VI8}c&jqoFY6>d3veW!`(?X&3A$g^_bXAhb@KRRulpK(I)UZZCyKxfh&Q6FI?=hLyz_QH%LRC%bCyE~L&1jln z1tW^yB!@D<20Dm>#kn(4p`WD?+6abL+y)xGO`YpEw9=2X!h*a-D>sQ0G}vAy=)%sA z0+r2^xkD2%JZWh*9UPycasN}4>eY-L??Kb*)7nSuMEsBUBb%r~%yso{DhkKZ9amV+ zNrDvz(Fa!-x*(HvmSm7p%|%c>4q^8(>+6;5QPQWUcgQc=g>3r4XSBay%RoHW_ZjVd ziH?Q2Gujv88SNC%0qZWHOOAs_YAm!)VDGs=SA*Tt4ofS)oWO2j((?)I=!fp8mab&7 z#GSdOx5cakMuc@s@Nws$IQCR^!3r2=hSL%q4Ym_=vt*LMLh8ttDPK(?ml9V(ezb2! zwQZ!be#W`eq9a}o-yw%&V}kR5%3A_ORMT1`q*@nNlrt~1lrZTO3i;y7(S35XPTw&NM^~Hq#I?$*4FDM}3ZkU7 z5xXC|Fdz09k4ilWU~_J|S=i&oq1UScgMDKRl|>d~AZA2=vJq1bL&aa)aEW(-^_Ygs z=yN2LoDj;ON^F!u-sQt*WRsWWRv$>|VU70tW+N>+Kh(#vFm3>Wm|H>FEIK4i zN{xmipoS(Ac#+cCzDjg^77~>Nzq`vYwst8l5c^6DcCB)ui;C08ambObc zU}6;WPe95sZ~|a#XaC=olr$J$3sO31JO8*y>3@E6XD{yV{8jlYnZrm+#i{d=U$Stk zn90TnE!)i<%Ish!$x$7c{=7|8>Jt0KM9cocA%|Iob;Mz2&oKqr!|@bqe;B)u^kyuw zoVY7iL!zhLoZJ#3b6LgjXv&;;xq`)KjQG*d<(wjsFNe+%Y=XVO{na|TXz#UC@@t7d zrR^jg4&^OEgMlB;l2ApvhCk1_T(<7MoMul`OPpYQaI%{REY>)XV_HFdn0J;q2w8hh zr&IAI-Bse7w9zl;-EQ@&YP|Oo3OBOPEt3F^1uLg9ad0pH-^KrxAaFbXKbQZ11GrGG zLc-ooHVv$ON92KFjZyk38PD}oX~SvL>)Fi&u{a!U*}84K{j423&qk_XxB}hq7YnMF zAfeHOzn?oLWiHst5$^qYTOTOWZM@eX#VZ_ z8GpWm&%Xm&Im6b^;&TiRXZrbeKHs1E&N}*Z`#$FLi&Edu;B&Oh{NmL2Gx&UKtM6y< zIm?Xvn`!+Sj5O8+_5B(DZvplDX5a5SjnB2Nvyk9(M9rWg*vGs~s7W5( zCo5x=U)T>5C+VL>)`7kIP6@l{yU`JrLii;3n0LJ+&Fh6=Gm{yCMXFXP?XMT=^2hyk zkQrdEK)gHa2JlKF+MFfM}KnVB8A>XlcXx@FujyCv&14I_wPpu^jpv*PA_g#sOuU#YePU zp8_I++SaXaQxM4*v)&wU#`_`BS|l|31EFbhrLC%&<6laDFl8Gtr=CwJ%(OH9U(s5_ zYB;JEo}N^772Dere|AwE?%&6cr(g>L=5maWQZM$#+9u>aok%}d9$@JivnAG12QO+6 zrli&yYlT~e*T;22I@pi=tK6@=VzM>;DlQO12Jxw9QFsZp;&BhGzxGt;r6n%`syb%lJP~nR1Yq@of)i?32mVITlLninVQ2E0Vp#MZh ziJjA(5i?RGOJ%AZ%Z6h6VTDL!fh5BzQM5D0S+w54XyzdkJG#V<)%uVglZb73>q2Iy zN+9c<7*(JuRo^<@sLT3e%wRjhC-m{6KJHYBu!P+8a8Q@6Kh|)tA$p-Ec`^>xq@e?! z&PwA#0z-zNK|kAmg?`8Ff&MFnpuJ$0pNb6*2Hy}UXCN`k>`fMO*XvAT2T2~oGH$~% zu3=f+7#1>1v|%wRG_WL8Hn5xvEF;+tPXfzWQ?y|bXC_gQF{DW`U)UHHsH_bO)Y-yI zqKO8UEx?ktQP0t8BQhi!5|eK@oX1;)Bu>(BZfk?RtpP>43UE|XO|A%zdsRLu%O4qA>##R}vW9}GDpZ+`qb1C+&_<8z) z>Za!*!OLow_n%A1KcBl*^!hJJ5CI^Issi~!j`8YTiAGMVl+akLpeYW+Qx-qvp(NT; zM`(j3!j~e^?@PQOQd-kfa|S!NQ1-AB|6v><4)9u6^58Wf=)UIpbZD1`d&D!NiLoK! zXOanre1vYbivqn#&H~cnJVh>E&f?QspJl&<5}3N`tz>blbXq6|>)tQ~jRg0%HACXpUsG<&2W?Lm@qZd2LU=yXG}sVka%wnN4dkdi4A|CaFb=no^b zE(lND#B%UwWsZ__bdu9ste!84B3gK`gOk5cWQ6r434}$|%SjCV(~d+`nNebCnLm&4 zh_hhQBmCX?-g&gWeuN{k;LNH0bf#c3iw0O!z=DBIH`}?XO|uMxbg?PRP@0g>cECX! z1TtmS)9+HAkxao;oM_Hpjwr9;)3ma}B3P|mdkOjODPOQ$U=|y{Ocn%vrjEWs&Mr!# zgQ5q9hd>GkqRN$IELh}3EJ%~lWXVo%IS$S**|&v3PxNRMrKX)I)c8?vTmpSg$Z75| ze9502@5RYfN7{K&c}u6{k*F*mKTf0EG#Q8hO+)==YgMfe;u>B>_oK`v0?Q*o^6+B1 z7m2{ojep%;eC}LPXoZqA+LYvUFYGvM)Yy+bh@T5E#k`ujZ7q6AY(;$e6tOxXqcZCB z0Go@!SDimvP6*m#U%fm9YMBlsKGD3^m(sMI4AChWn+!u0?xlDrY9v(-kx^uTk3~&S zVorLT4DOWs){$z{hq=c;$Dp{S4lPMHa`$ryuncj*i5ujp7aR<}lU(UBZHRD87E%Xw z3Xv5m)<9OzMr4q-p=wHv=P0&w2xd7m$eTx=!m!hNZGlq99ix&0qTXSOuE^8UdDeTNa1#KWe562}G>@nAn z>{OMK1GdC(DsVZ$X>;N?+d%xTEg!}2th~i<3pO&cFvKJ_smV%$0JO2O<bGCv1ixS65h|7nan{PB_H}U7#u4R`;Steox984wp$75&YiDOAJEc5<3cH@& zYaw?2l`-+U@Jw6{5;*KrdQ}8!A}1Uf%do5V+sT)xS%d_%k(}~y-gOFP2$c*g8FH~p z^*UGyL<82e38YtlrN-S8HX-B=?fDyzRlpet&fC8j_))pvXf{1g|+7KZw z8i*X_M{uy3*aSqWeZw_D1BgI@jf&(#Xf$?*)1?&0NR+H17zdh5JF+31MjQ~OjY9$3 zj*YDAtV4pT!SD+guJWKPp2CCTjRLZEV6%w&EzBUr7Boq*wKtF-8crURMd@I*2W5eo zSI5%KJSb6MoQ4NQl=D%0Q2K~2XrlITLRAE+2pSTP3mO9Xk*p@bmIq~FwFhP4)E<;> zz2Z5Q2gNO40~{DxkRcQNOxR^uKk@&a{9oRbzpEF;@J266%1`w7<3)MryOH`2=8SD} z&PYTcRlwn9yeKF8d=p-jlYPDkFUrY2--H+CWS?)si*mBhH{nG&+2@<^qMYpWO?XjG z_W5SKC@1@V6JC^)eg2Qmi*hn#)Ls;e;7xi_PEwzyU3pPZI5z1;IZ0&-+d;7)K1Dwp z0JqwUa+3N4oV+LrxJ`IbPEwgeaMyS}PWAzoMXlG}rOkR#>iSR`W~&Gs7*g&Ft!{74 zne|WRMX768PXMzxIVD7^y(o2kn}P^EgOO_@C7O92jpGN?>}L^IrE=z+47%sY!d1;{u4+0yD@4%iT~uRXz^|QC)T@Ine4%C?)z zheC84nzR(O#)rbWmi*^E`OqS4!+1Io2$k%boTd6^|Fq^w{u6IhDM**DGn2BG|HOC6 zf5MrdaV(<$1ncc8D8g@{{zf&C}F+LjvqC+mEi%GNHBv%-V=*!~kvx{e)_ z&0xL$*JbOEH5{xEI*}fvgpF#_kpIMHM;>yFC}d4pulZ!cpn6$8M6;{>Cv6C1aNkzt zL=xg$UKgIo1|u0n3=0WfX0XipPd0$%wEZW$qAzD1#70=`KQSyaD>eR;evKFTPd0!B z3TxwK-hYy4!XqQRYy~fa=*wxrQZsQ&WM~PSn0>=x{XmPLC~ok#w87s}gD*eI2H@ky zX@fuSM`=S)`%!jk*iJI6Xmsl`TD9XcOr>Yx`m;q9-owBwRP2Cko5$)!?M!K5sOIDZ z5X)Jhu8}*H;iYCT`z+P~Aau^WFFsCCi_6;kB6l?zm9baKn6H15r^S+DjU#Ve&k;gf zg943vWU|T1ERV!X3SDuN?8?gFYiiP_t5W=O1wTwS^5*a(=Ir8C!1np9;)R?TWl4># z&$-$W*44K0yW+En!KG%bi1G{}tmHA0q_opWZUeF6_|-OOH|=KCHjvr1#ZYj~8LDM@ z(5%CAdKJyu+KH-seFV|!`8wsJm2XxaD_=*hk$8-{^DfJd(OCI(&LA$TopMnPql;=N z&z26ow2NvOT~xz(@F-L+@iL5ZrS|DV7PZh?e>^>2%o3O`XtQdKaH6Q3AaOOq z*Ore6pOrr~!t04==F$Q&kW*ro+NmXIYs@f4GduVxyjrGd38A)Ei+u&27f#{T!VJIK ztA(jNK9ZlwUM*ZX8+f%8Gt+pr`dcB9 zv^vh+TN>$miKC5#^78JU&aUK%hs;x?8 z+39tAOgE5^Rw?vDmQYq1^#d=MwYRW)L~pc1DHUzKF&W|hiu!h4Al9YbN+vm?=7kQ4H#R1VlEvWCzK&4lHh@SH<&HJ zlWuUSaZyCZL+=sqr&KAgO*^p0|58jG1M zgcZ~o9u1~7jf=OXj;bgalmZA&oZyMy*`~x|hP^e%pD22TG0X5wsg4PQ4pB>icQP|~nf z5M*RU+`E94({~(*?Hcis$~i26>V~`Fp|}0qA7?Ls!~0hq0-|5n?RQ@X7jv_CZKXUY zs*p|aaQP4!86Ce>rtsr{ce5(5*{$M?Ho3<2Lo!F5ljq@I01On678o@U?!A#p1M=33 z&^v*pBS{-2mxOEeS$s;bSry>`g`{wP($TnH$ey32|LTjCs@VOVr4|E`!?hV+p3+`$ zTh`p>P>J6;RyxVWVJ%bw4@gBQmN2#s@RijW)(PkR>$J4wJ#YQDXU~08z^u6l}+H`_ET2Lcr;Z$_RE{7 z^4?QbsS2%CJb@TsMyMoe;-GrIAo&C{3t0g;YCD&F%Cv1>aR@vWc|G)@`}I`O1ITlw z;SOZJJbG+)0W~~ zfaw(^Js$rnRY{5_REJovx)2*~fSZFy0W*BO8l2`ck=jZjX~v`R4f0#k5(!G~XM+K| zpTdVDNC27hsyu?$A`#^0fKobmCGJ&13OHV|G82HasEr^JMyegoV2iQ3s5gjxuKY(b z6RB78cipoZ0d;@m(uke(6?JJeVqL<&2VsM{YAg+h51rqcZf^IfwYLGfKD?>e2?Un} zAi9P+guoN4`-fEn(uH8B*6!0COfgE6sx(!7;wQWVb*F1W3A0_?yC;YN)$eG^2GCVI zP=EE#Lfb-@wF4E?f8d@Ss5(@Fa5}4MXU*?G#h6bLI04o%QByUc4`~M~u?@S_l6Rn< z#YAHt$@CkLIg|643N(YV0ksmf(qm-My3d9iG zGCR`oCSqbQAMl+%-+M`U&1OHZBPP!9^EzVU3_q_UCeHBlI$}bfvvu=y`(8&(oZ;tn z#KakXUPnxv;pcV4#5d7*_MNKl-^9MtO%Hq>G4b@-_fJ2K&sRlEFpHedzEdU(vEz}r z?^ILJ+`dz!w(JaM1mqdr(nQ3T*5L)TmNYr>G-UI`n0Z9MX}mV)u$9!9JzwVe>(+N_a3FfoQ8dZ4CiOy-x?&=L zK_o^`ATj;W&}>qF5x8KxsffS8?sBp@gaS}{d#|Y#326|n7d2mvX?eiUnBqWC@zXd+ zd7(9tlnG)fR9ifxndx-xUel#wNgC(+n@qQA-Gf<2=bF|*5l`W&Qtk=wC)M`Sb9sVx z@HBq3y>!B_wwF#Zf1MMDX;S-pwkEIYVwu`iXavnWGy=G(SzYs_-T0idYQme^4OLCK zS#N8peW|6?Z|uz9*lbC7T6JzRe95ZJ_K9=(Nl#{5OBt70Xatw7&tknO>{OiJ68-0M+ZA=X$)GM*f2g4l<HLLA9$@UVrb#`Oa?R&RVgyVAzjbvBzCWA5T) ztLJ6Gve<@YvBuV5V_2xA4asW*k?VW+ zqz;r=OWSn_hITU6%tytE&+GwTuYI;X0E5n3hX02mxe+zFefI~){%E>4ZeL|6E4sM1 z*}i)ACbq9)=R059R~14}4)yDF?9GBw1}T^x)d`=Q_Qh(ugN0eMXBAM^0BoWje@p;l zg=j(A%miuhH|Q^Y6^`X~Xk-i#XkfWFi=bFcd|fThJM(_lhm0KTgOipiMf-7RTRCgg^Q^>LCSQcU5 zse2tlIqga8A)I85;t#X!Y^$m~_*Za@HqRf)^tRcKii(AMHOaLRH_U@k$f03yHD#$v zopEPhd4>0;?!BwooB9>k_WAj}sV{f=;-6na+HS$4jkMaCssn)2&eR{8qIbVsx{wUN z^BYsIh%6s_EVXBDW9q)R?bIIoB^@$nZ819R>uslKf{1=0LVdv{3QrKbu&;Qb2)Css z@@NcVn{B9RhF5T3(d+x(`DS`zZI; zI~6s-rw~Zhx5HKyl^{PQue9ZI<~i*NuoMLp^V`UdHg{@g%O%9O^IJsId7KgreTExP z%`T9X@Rc@%?$T&Ss_9p|e3dqYdOPfFL+E?xm!Lz1)aj#yAqkP2*$`Sc$d}QJeipx^ zBdMt5sd3ZZj%E+&4h`G<9#F_Q?&$7Rqt+f!Y*F&iuiXQRN z)dqV&{f;KvdqA<#ft0uh6m-a_HtC@i&k4Tjqg$o0=b!}d_^02Hv=pjo=sGi9H~Tr?UKZ@H6jRgz32& ze?Nt-@z|yFCxE92^$8T`$mCpv`?7c-#W^JC<@Q{5i^e6(Co?YX{rf4f7cl$_Iu+KIHZJ4W-U+ z=xWoc_C8{>w{1{i&hRc|6ErClnJ6;ntVR%)t0q4}AR|jYs~+@k|#SEBhoFnIRLf zh0HLEv+@Ygy}~b51=#A0pTjfF_`2uM%qjVtT(E0dqVK^x@jpS|ko0+qz9Qkr0V0tY zg#x))Wm@)$Z=nHX03a&c1rU(C5Q=!$e5vHg`Vv3ld>6Xu%cB00!xVuihAyn>u#WDK zpa;tlbgb!z(ZL3XImUps>|yNt&&hp62WSir{u!L}XpU>H4Cp`L#KMaH^;$UbTCF(` zE}!8JYmIYjlm(W?*HU7SEl^_;yX`lyWy30O-mmTgZZ3u zVqOkjIcx?V;CQ$bALT%iXJ*-RGJ48(UxvzsuGOySC!fTZq@qj|tBdxQL12%!9Czb# zYf2QcvW-ee8_UoHeBO?GkXg(@?oIed?An^}4|PdA!?*QpK;RHhrG9i0PDWF`R6heJ;J9zBnJmiUq_$z- zh*pUw(w%1C3YG}jq#!++MAc0qzI8)DL_O-Wb6LN?EIM(fLz;HtkZM?G{}cySY2>I> zQFBN%&Vad+BwReu88BVF6DKj=xZSb5u6qUy!4;BXxjx&2(i?+_xS1V?!^}iQbH^Q^ zmh6%Yq-%4v`I^Y_1HxaNxCft(HY&?TJUC8}r!O&g{xnN*(Y z=!%$mTp<>oYz~xY`m%w{72TeSGQ^I?Xcg@Y4-kfZfN9`W(}e@sKkFpGE1;WR8Tb(VNmkr@YK?L;B^qv-vW;x1hP@FW620I1Y=1o>wubQk_^i`FPv~_Zv|2Q5^qP+5WYDr*M7gnJ)kTKpn% znLsx57JmFo_aSM<>SrfBz;dxO=9G?o#q$vh@S>1N)C5@5dXMKNQ!;a2f8ZfQ=^y$PU8#JA?{E^nV|#>itClTc`_z`3NF6~O6a`q7!<-- z>$nTd2;nyH7f<`jICZ#T1(4~b(eUS@J~0zn?W-oPXkp;MqTWIuCd$JTzs#sz@4$>> z57d`%Pk0S1`-;o;LU&HG@4IkIQ!Ko_xl|das`tr^&AMO|&wtx@tuPKDPI8ebhcQ3{ z#bpo^f=QU&=L9aSmVN+~5qMfc53*>wZP)wVAVJEg8v0>@_5#qWDpld=>Ke}1#aC`- z6i(W%eJ$&?%K)g(*4I{g2M~jS&%#kpU3CX?(1=Qd_u0 zQl~Q6QYax0XgKy;ppMUB0al3F_-E31s^1D6tFqzW7V}H)D#ZtCSesK;;_4VeVTl)) z(qE2CY3X&P_s1d^MU?c~OK(vV81sjCy4%Zd%_01s^B)K0x@BNH5+(Ta>0P#$-W*4$rMFZ3l#+Q9`J(A^f{*C|rD1;Q4ec=panx)-Exi}2#UBuj zNC%=mFPr0y>d_c1XdS-5I$Zp##Wq~267_S0cvK-I<(mTRHOn}ZPGo3B@bMx?5d>TH zKP^jN%(wi!sv5jxOAaDY?W*3ZUZlSV^4Ia0zdzv6S&U9EMp0%(4|#G}qE8*7{NPp7 z-m9wKi*=lxU#J(TVH2i3u+CvuQr%b^lKH*B-tR%uct6gzwyAMhG-pdLMNX>MIQ?3XH)AG~kMvgffA>O4As3&hsC(zdSSL=gq zp?g(T9w1y=5!4So?fVXKcUyh;;_DbkDgQJfBE>pzVDW}(Yb0Z2>Iij;ZuJgoP@AUc z1wBxM(vJmFFA`wH1PYWotz&F;HA*`MTo%#7@EU08A)|S<{m2R#;|olzuTXn z#WIPl^NBvNHRMkUTSLOfp8R(~nW_+^-?Mv~Emye@*5+9rh6jlr)i1hI=b$X$96hYH zXQ5e2oQZ#jM^{t3!3H`CR^G&IHe;zRIaoh z;kTv+W^7=`^K~c`j<$t}l|)fCuM|yc2}%o1A*xXv?OY+AjK5a^F@o77r;jx+P!uFe z1NKx;NEH#nRN<&xOQv|ZIAqYYASUv19g`IEXHclDp3y4v`3yAZVf?+~T+QgP>hMh^ z(dRT(2t$%D`#GSUQ7AA`MVjMfd7skVeYdE)gdpEG%6?h5z(T_iL);3ja3Gpbf$|ED^XGYj8-h25vY46g1g#2{+1& zDCy*YOmQG!9wb~i@rL`eFbR)K625^!4#xm4oEPro#}EFdSbqze z$Rv@s2}Zg5N>(r$y3k=w60&G5?1Me%wFs{yP__vINfZ9B?J0Id1zf9Da?!y9-p!S< ziqkrS-f7<{9Mt4hU4Tk0IlMDHKDQ_8E2DdsOb(0Eo^{qtLTvlm@Nbsk3}+*9qm z3mMfQz#DO~T;0Oh3JHic4JmfxH%VvL{0qgh$#l;p#Z6+0s91s*#GqEou>{BP90ZiT zwRF1F_sZ6 zKlos2S+52Dtp;C>vZI8*@d+q%tC;(M!mW~Wb5*OKns4>QtW~mBo?l!OTYcfIRU-Y? zYxdKvW_zh)qQXSJOqb`Emnu48G4z*3q%}xP2&+JPXda{oW*~v{^NZ(4kd|g35sSDU zNGEELLKjP19=gT`Gv%2yO$BGtbloiSbv0rOzH(T$4LDnQ~#>Mt!nzF{i5fL(iTuk(5l4M4)28t~_@V8!z<;L#OTZ&&+Q|ovEc+ z)in+WmRV+5MMLJ&zckR*U3g@3A-vcrIEtJD-vS$tr})(;C7cz>WVA-#&^ zG}{Cv+?e<{xLcyZR(N$Oc1RthBGnACwe&$_-KN{KJVskI2AwM2Y_d+ky9LEj`ekwW zpeO=WQkSfD$eQe-Bw>s>7Au$w@j;xF)e~u*S8rL2z(|szs!V%yN(NU|$swiD-$N&+ zVEQ?rmC{m@D1oApQ?1d`3SU60y^>1Ro*c1nuj>dS=`nyCs{y;Q8ml{cOigZ}dDE#s z0MfZPsUB>)bC01%AkyN1VUsg{$l1iu6?)!&R9j?)tPnK2-(C)1L8wei7x2ULeZ0OD zt(eJf{A{UXFPUa09qoP$Ub&k1dQKXSbqKq0MOfp6VlX_o`C1U8+ zOr~%p0Vi^-WlAlkHjpV=i_z=`G6h=3tz65uH8KS#O>wxp+A>AJCz;Z`i896Aio&CQ zBcj&hBvb0gYh}urklag{IYfEG2@;6oG?=#1v=|*ul>|W(-sibflV8Q$mL@-Vh8aXa zYF(*V%wnc}YtadZAD>%>2p6|_8R8kBi0U`;(X=L|9ATc8Xi;)_eP0di{+WrmB1#)? zwbIHZt!~6P$fBqtw1^3myJib37=870uN*f*;lqv$L@M9@qj1=lw8-wzgLu~P8{T{z z6G!+kKau(Rfi<{T@r(M}X@fG^T{InQ#mSS4_2;?p!aj#O16k?#I)jY8sGOaF-AYZTHf*s%q^WEX%c6y}60121iIt%? z33~<5nfC9}=4OOcveY0F`b2o&MM@l2FmV&m-j|_XMgLVwUI&Y?Mt)cBu1kC(zW_kq z7gwZ&ds@!M04HXkGVE0Hy4fN=(NjZx)M(<-5228n{3n^_2vb?=OnnrPCN-W*g>sTL zt*({T4uRxJVfE2LnhEF2@0AXP5U*oeblMGF?A4ioL>aOyR>kmL@{F=X)e4_sQ3vU} z)1RX|~82J(f<>~t|d@8tX?PXltaJy#`w z_#Q96AKQY%>Iy$%Vg0P)Qr_)VeftlN|Am-%-_*Q(!T48X2I0ZpsjYKj5n)FZq<;c; zOlF9ZOhlr5?HH;zu~Zy^BagG(Y+yzE5m`UQA{a~NUgW99^cuWwEwWteXN?@DhulM% znim2v6rzkNC@~h%kmAaSgXkFa?N~W5LqLuoQw|btbd0?0ui8(pD|Tk3t1S57I>`?P z4QZj#if-)R@5Vz!q=eI$f~u&ID~-0)0EZ&o=c|rFjePW0CtAq( zfet~Y-MtQ@;@cVNpkbrHQv`I~cGCab&L*?5G(zFUwR$rV07f`x>3z!Bh57g{A184# zz*^Qd1D2gGV1R`m5Q)I3OAymjOG-}x(kkd8CKiC>V!$}^lSw^&b7{+niwzbBRQ0jeoRZz5?$vZ7RjNRSph}XfB1EEPs&N5g?UMP*e{4PV=twVQzqmf8nB<5 zRD=-_C8iW5Dh3QGE>Kawr_^N+mFOxw;a|CNdIn zTpUJm!h)w=1qK(af5Tt$1hh}t@0UsEoE$+X59T+ICuLCndQ2`G?b_T!TEt>!0# zJi-%F_e3xyAa)9NN{y#rWWEEk6VQ@+k21yQtzNL$YL3s|$Ymu(|iP-JzbRJ{>I6C;qNO(bG>Wm@qHIOTS=xYYcNvVczmZAL$%@aXG~ zqqvOk&QYe(PK7^kDgnW3_Jc$vr{3lzLRK-)eSOpcazEW&5?=sWq9BsAL{V8)2X})) zIFT2)l+f$TB@tUYFBFqIC_}8VyMT@md759jrLPA{&M$`va4?b%Jyokp3^mew&Q_Eq zqoeUI>w}4SzK1Am>3V?B4n2izs7Rrw?q0P7{iq9) zkwu*Mg@bI4-FFCWf;V;VJ7EYU&PV_9C#6ah=MM0N^#)Q*HNB; z(Hjr!d)+Zzu6(6`PTN$r zD?MA$vrGNxQW*CKc_kl9*Yx@uXbsJ}bKP7>flcC|q+WeWh@?bE+wv?cviM)w=_s4tErj96oMo>x_f*n&#h@>1Y=?$_J%aT`h;q&;I&0)%}@aP;0V!q}Eh9lc)O>D*+>}5(zg~*E$&CTQ-^2;%fNY3JC~#ig+RJ=Fg|!1(OD5Gr3!X`~$QX`*)OL4$8@}>W1Ty@0*;4S< z$2(hAnzr--#EcH5<+&mb0GnVEHzT{=Bm<1DU@eYg_H+O@F#=*g22&1rUNUinCo_lY z0}+;NOrn$skE(gud@4|+5Nih_EQI`eBI(e(V(Z*rH@u@HEno1q8})p%|2F2GvtuZA zf3UDP9BtXUZRgJM_Oo^X3fN-7Ob8-fWeRkpTP223bS8PYc>nFWZ^){}&3EW1(!q!v zS={*S-@%BCSKRE6-^81X;x`J!tMZHEH>9STeM6!tZoawbkX;G^tz=WF?Qbaus~^Eb z(p*qzno?@okJx>ZKD0upQmsdIDd>E4srpgqr*}d6nnMSb;f58|P}(6{Q~g+4l;7*g z@HbY+zrvxo8sb<*b~o2zXV6-8O)M*(`>L;4)?!IST&*cZ<7=W>yIv(YhHg>D;cl3V zX6?>Lvvw8D>K$%fN3-H9&c&TpM-{QMuwgVS!N%T5I*Vovl92IpO>Ap|RpB(}*D@VB zIxu5x&)_!Sm`zf=t0KItzoAt|ee<`9d{mphtZ+*5c>#^XvsjYaMZAiBM)lSApt3OYco`DMk|;|%{)*i( zrv>AMNC%<704lLIVD{r3x2ip_D@O3JfQV}s%}w+dMIXybxbyua+_br0qg8U^n4MWb zcKPn)dy%~N3@Lbk9x#t9?WO)mb3hHIvVTM3QLoz#JH=EVKd}q6tt6aE>RD&@yodf#m zLY{n$RT3zP9PY$$Z0ZX?{#L-bl|R+O?!dZ(pNdkuAo=Y@#+=6uQ8P5T=4tpmx?EWG zg3wUum!s_&W-5)CGX$%W@HREY`&G5?nGg`pO!w?;x28ZJwL&mrc*2_E#XReV-Dq_L z+v+Vcc&~mlW_uiSG8pq5l*zly)rDF0?CiN*Eh>&oAH!P|+YiCgjq!JZl0gF9H%xVtsWtW+eL0uk<_C*QxVTZvs&J(BB@7p5s0f@%LmsMp+FS$CklKV z05v>}+j%l6`G3cApk?C`#RZoV1)skMQ6PpM9-ekB4G_9G?G#dNDN2jnUbQ<$L8IZK z7TTz55sNcIhWR2?ar<0x7?rE3^OIehm3iwedf^c@<`glWGQ!!Mj6T#~$W(Gr0;dR* zaPPZN;?jmGV0^fS@yRDq`A`@{YyvYJz5bx|NW=nW;P6QVBM(2>{hr;(ei@8yJ1!*M zwM!72EUzDVH$Xs@%+K@-e$RNwY)z5_scM=YxW5kR#O@SapEWF>Df04Ya@^GmCs}zp zQ3_O&cTHHFcjtl6fHG6_M!6JZ6(m4_7x5uC#q!ocmUBW~(d`ZJ9s+t1iWh9@vsonF z0lSW3OLwHbNN0)@quYrPVQgC4d<_;e`r4P;MIzu(fYl(r*@B4(%?=Gfed&y^_dwSV zmD+>Hlmo}SX3SJ{0`4`}3dvj`4=&S86z7|Kd_A}%Ae6HD(NyX=t+HjmVpK$XmqP_r zXUN{&)3k-P>|g*TI~dM)<}tghFtD9k&};bjpn!}$ zrxu}7aCi0{P(On(J|bBMuvx=cJ>!JD;_&W=)&K0(#-h>C3?8aa4GBM=g6LIP@pcD;~C*ysh)HD1P za#oudcz>bMRPa1VQ+bB>|7HisfT0v0sNJ*!^K`=kJt6D|&krKW1y-g5mAm0pcPXz; zowK8_^b@}W$aQ)T`MOX-`e81cMY{yP4eepc4k%Z~i&^(arFL)^&3!J5HhWgfQVbRj z5{1ljdeF3}^c>gDvVpW}7VUT9UMfklrUr!X9E`#x6Gpp$Q)*~JL)wDz)c^1d*mb;* zTUpzOA1PR)Lx4%qSn_Oxe(jMg#4noKSH>~ma%DvuAzWphADCQ=6sXe`Td@wkBTYWy zEls-O=Fv8P(JIqaQP;V}CCE|Szb-tMA9{9%Lt9f9R6n0>;6wD9hlqSuJR)=!V^(|y zp6LK=zDgQ(USwjT6wd=!LH?;)dsg@!7W;r-Ah&0=OWEL!W4ifHdsn0(Sr@>G@V@~X zYs}3d^lOa9UyxE&&*osaJjf;+Sf!A9!w*7|0YZACF3DBxxijV-fN32eDH((EQE3uK zSC_|p+Og(=yH7so9)`KdE$m_IQG=|bwne=9HOB_mrp?#5^5oJKd33I4eWQ2FX!%F4 zzfQgD{%+AO4ecFe_+TvDZ75n zk#|>7EVk1sI9sJgX3Bwa?1JVJGnjdS%f<0&(yoQwqU$$A$){llzJKSc{N=`r8_ zTG7_QL5Nm&7_WEAdnUENb~v*P1RDB_HOdZWpkU{zEXbJPV1HqO_oLV`oAc54BsOwA z=fG%+$kfA4inWxyabKUE;h&P_L3WtriQx{XMqDB4T2P%mLFr(C_z+;E4YXPh>J_S{ z=Uw*j6&Gf9n-_A-$z54Utyb%XbM7=L6~_Kdl}-jwFz`-nQ>cy2x{V(YF44KLUt(D^ z$;mQ^MfsedBTZP%_OFV2@Ud=&!IA%GS}q@9>8bHNyd0i)aH!}ArR}I~c8D4z@L`nb zWQVf~&Z14&wy@RUayN=UgE^yJJU=I{M}=5XD{&Vc_7!Vf$`~D&ho{kEeqe@&1^hhm>HB!TuPP3ZL*`-{MiL}<`iZCEPM1WMOo(9s59<-E&ZAvO zs{Nvhm{f-+?Bcm-0u`IWy)_p}2M^oPEVUe2qxT9gQPYqAPTe%oz_IDtlYg(;0ZMub zV`t&cKO%1VdYm9^4<~o;)!pv;?&G>Ur@s4B-94?od(9`f(@}D+aP-8Hp*dhXp9=I)-*UDLuFew(`nvY*l2^Xe8pr@Ni?-CybM;`;7g zzr)=H_1!0Rx3|9gU%G4HeElc6YubCe?)KCrKcG9|Z1@Ldz9=SO(Jwcf$f^?QIyi*; zW+%ABmgJenM)Gs&A3}s>i{&X%YuaNl$*BV+q+2YNOBzBv8{ySh8@(Z&dvfCGu`&gk;z~~U)0iTag zhQid>p($85w*E1pMMwW$_`hPkQ^y6VOn zF4eNy^nrb4YndT6wXPCrjQ5!7Bbo4EG=7Z}xae}qARnfl7#y-rK11|b2xY)Rke^KR zf6R_3>H%~PgqfD8E}7OaJtaR>l0c?!J)nQ-6=NN*WWb3VW+H6(on9lwRj8nsGT`8v z8xDu>o8`BFGeWND?_x=P*oiUf8M?p~M@mfu6su}a518(X@zW`VT9#q_5wrzOvp!xi zQhCK7JG6x&i_jQ9L#KIW^pqrNkzY-Bw$2 zxJ8pq)kk^)a9FuJc|txcvXZTBJxifxIa+Nt(G@`~-sTDcr& zI~Cs6-QI8kvdoWcme98{1w@8iRW3YqE6W2%(=>tlDIcwE6u9S^w7k8N7AHkepgwg& z#o!H!SRJSjV7C-ldRu||G8@)``hKk<8~vY8TY>sED@c<^ZlEb>rJ!+P9~dgVMpc7| zrYS4z$*>pqIbca>u*W`!gg)6+AN7ER<>IIN?y`=TUtNHf~Vou za`@0B8G;x=OcK@9&!Zg!w6q>30^+Kb?G;7&#QNU?na$rZOU7*(IPt zJ2rB8&b@l2pmCNECx+*3)ASH-3r>d83t_Dy;>U3=bMP*Ww;0?{i%Fp-*-hI<`h`g=0 zg426Z5-ku*xq19jZ5)X44n>X(BCe%2_E0Ga3@nr3OPRcsMwm>}e8Wr7ECD?mGJs+J z5O3FYo?>uSOm-Pz5^fOg&_QC~AAbLF9zZ2Ao?kG|;`z-eSTHIK=Uz=knhhkR*{;wi=)I$rkQS7rK(fIJ%dQ0T0Yy+= zB75g%@12m7*_$aj?KujWmtjGgWUf@zM1B*wxSI)|sB+TaVfsHj5oJT|$FnO*&&3=M zXWM##ukWxJ7D`21Ac`mqBr76m!84d6Aq6(?{vr~BA){yfuzH0P;vN{?O0CsQN)O}o znj6>diSW$n!ze=}pu)PPX%_a#s216{NN;o_Ez+AxJfhq?&Pgl!TWcnjf{ui%59^aA zWGm#46z%XLE2t9;XabQ&fcX$W7aDTF=3;a(O-5OojQF)nklz&_bb%V#OedO*XgQr= ziZzG3^(G^@rkRXpUu!aQ`Px$_@@rSG$tY`1FkMr9(|R+zh0btXsTO*+6B^`48ZZiB zJ;4kK+jM9|Tu!EhWZu&X%Va4CKoU>3NzmdgVWNNEF&o8cjsl4DI4Nl|?^#}p4aEcHac)fp6mg;~MH=ZT$EOG*=;pMakAFH>omx}C8#t}Z zd37~eUCpj*eJ-f*H`fW5PHVWImNT!tMBhVqXdyZHq~7n*0)*CdeeU=@*n*y!?-I29 zo}-1Hiq8rv7;{!|oC=;L3;BFOxUf}lkP0rs#PbE)rC5o$T}gjNoPCW#uQ?IC>ui#q z&L$!CL<}a?NL5jkkv73X5=K$hIpajQ6<%j~J5!B(BD9$gf3c{uQDe+w+hoX{ZxHKN z6K07)!u%}^oMq&^-+qZ(Jl zMS?g5bAoP&x`~VAx{izVRs>F2Z|Rbf2x)mefH>UtDb>h#+WCZZG6*NOK>C`|?!g$jkNR~t@?GWD_SaU? z9dlMulTd9H9bY7b?4RZm&dQn**;&-|SZ4o8xaGw0EL_3^ObHL_`p(~EfvFUYcc2j- zEnYcOe9I3pdI=qZ(rdT}rI~Xc$Z_ra*aipRrlvY8Pg>a*!Wq<&wTDj1K zfW1zE{PNIMy$P%!Lt;u8ym%$psJA-wt~>;Oc<>o-wuToaZ*u}B3x-!iOkU^s<0StT zsaUD`=QS6mjI5+qm?RSW+sqSXVLV&~^?JBti|=;a=iWtGg4A-ItAj zlNsZUT7K4a5P#W(BUYLgQh`=paXq?7t}Sd^&-T{%^d~2qey7*z$)KY-0;PtZ!88Nz zGEFF`axzj$rOQF{B(GrQI_h6h@Peie`xiZ^BF$MofS|sqXEOy;@(lCa+9s&Fm}!gt zQsyP|TJ5eCIxLwzlg2x2!g3MAo^ew9IyyM`@$2Z2gC!Et_(#8vjz4Xo7zI$L9bOPOremsOtsg$| z8~33@v2<6qF)i^6)XjUW+TZfjq|z7ogKY$ol>v28rULYyi?q#{D&sa|o~0@u+qlZx zPgy1VlTWY8drw)VW;=E*Pj<{eyyfF-dc808`nc-D{88=rPOoQ#k99lGerX^@rHj^* z)cL#D)?DNB#3>6orB$M4k)DRYlE*PE%0DFf(kCkXvO$Vcl^S17#$&GM0qm1 zv331@=*&t7KgnR4+Z9dCirM8c((1qdjhvM?^ofFS>4il0VHsGIx4}u8#Y?=tm|TZX zveTrvtlDx-+M`ljS#9AA-$SV9Tj~}E$4F;g>;|0Tb(0Yv<~Ncpy9n; z)%tKB5{hI6a%-d?f{C$sfuEoa6Re6=H0UCgC z%j2x#h0e3;QP>i}#r(jy-d4XJ^E$nGm^WZNcEljQJR;=@*8~h(H3*#Fv&=Yr{2jlR zX&erQzgasD)xpZ`G7OMGYalQSs>L`gw6@PMx-rffSD$tzoVl$u0PHT0^~EkMExVG0 z|NVlRgfHr>D_V*bVfl&JZ`E{uxj!O5i@5(mP~Qtr!9^RO)w`CV*Y3();on`0V*>j@ ziQNEGn*vxy2R@dLHG1I<)6s!+rqSEJ{UtICU|1u*LLy=NHQG5a_vM!Mms<|JH=d33 zwr_utzKq}A!`SL;p{g3aax$8);bd(`E6E~`lW^OwI-6OO%j`dJk4-}{zrzFHg&-*D zhzJL83B0v$8I!qAmK+}Ve6|ATjs3grB{2GUvaK2-VzvT}Ev8%Vf`wFUbXR!$QEcAd zcGZL#Qqlff4lL^HZTcC$xO23Hw&_+LB2iM2A>`mf>O3`4*Ac4fTt(EZk}hxi-a|-8 z**HTsob(Oe65#R82H<30JQ72>Z`qK3l;m#R@bd#Sca1kjnDepZe(~@0=jNw z1ovjNyX5wM zwH2sV!x&Wz)7bo~lKATFR94&rCmeY4$s7On9e?=Q?eypzQX=TV+ureo|NOb!4;W+~ zJaXfE{_rWj->Umx`n4|~`%i`MHOD;pQ@8%i8_)IaNVgyV{a=1Oz6A*fp8V*4zWtm0 za#440`QoQb-*H%5++wG8Nx5_2$-Dok<2QY7e(Bgh@iiW}13&dfPJg3Nm+K$-jm+01 z`#dP_+3oJaSPfa=T=SO3uWseI}ZMBxnxnV_z0ui`2WzHqj?X*BknvMCRgetIhE+S z;)CJc5Bp$octQMyilLWeAUG&PW2rhK2#h6DMUNEXa!-6K066`dYYF#$T9pLikF+_l z7bja)NrGmX-O5nDkQ5C*m~PgBHc6@lpQUFdAQ?5mQ*Rk0v7_<3K?)lRUq~mk86x(4 z5Y8jIUYjhVNYER0DW3S~?4WcP(WU_vNk~zzz`Q#)->)f7oQPic40t29Ww4cRtU+-O zieYs%s6*GK6=^8A2S46gIR^*D1uB~c4Trwmpr7jC$@`g_ovUBzAgI6YCv1IYkZJ0= zy}&YE$;2BT`SS5Be33tpYxez9V$J?6-bCdM?d=+}o=i|Y<=NiN5Er{~OLGiTbU!X= z=|Q@jaNF-j7sY~BGb3IvV3(ykkdt@!3yuw@uIQ_>Wv|O^<5L z6(Lfy@YRS}ON+MHGETKT&d7Yo)79>`Ty!cG7FHMg3Z_1E!qx4o}MbJG906 zI~LgU@4(VryFkzssN2=pwP6#N)s3ezl<)!+OfbC`Qiz6soX1WGwgMpX3UX1;Ye|L!Ml89M-JxVd6a$>oI6zJ+v7CdJqPEmJS#&ml0zaWAYh9 z2sFimP;94*5icx8#Kg8d!O5C-6`E2sVm`~TJb?kGXQUik zE`NO%oqNEp_t!eyS#*tBf_CKWf5Q{%C?*C)+ee=~>Er5ncn6w5sdVVnIptD-G0}72h_DaGD{1Ic%iiFft1x;#H-)$#J%;tW z&u}I5&L8oLZ#pR}4O}ZE5VvXNLt9W0MM4}c5_60it*|cju*f9#7 zzJ%gTSVH%=UM>eZ@9=aBGkN`_sGk(|ld^tN)=xV1lTQ7lTR-X6PkQx}9#2v-J{fO2 zM4OT}B94o}{Fwaf9?Cz@=R&=f3jfnrSrbAPg|ocSTBo^RirLa=Fa{M^=rEDNc&fQaVqpCcE$|vii|sndi&IBv+1o9?Y=vhz z&ghATd}Dx{$X0rprfq80d<-oY@H-j=eaavxy(Mx+ecsDH=Kp#hd^o=79BwhhFy;hI zyP%G-+&hJ26(DoB9$nfs`P-V4ua$31^IXKoRW5rOnn$mYYejfrm8PuVCv zd%CNBN|5L5>E8P3zV_1?jzhh(a2#%)TbBj7vl_0bpT4mD^hNd4m$aY$VEy!^?Wfn) zPhVa?9YW9E4w^z2=_6_%%kT7GcH=KK;WGbH(}CrRX!nWV6vA3QjV#Kg$4+G}Pn@oB z5=kr24gZ^dxIC?z3(1jtafFyGkVjmgntIj>E59Y-iJ2Qg9I(bnENM*12>I%wQ7uVU z9d3WWv~>Pxm=%Bn0f?Pds1JAV-H7ku~7#p9d1p{Ap_KeZiQMk?VE60EI`Px_C!JIP^hk(c^4g>69kI0Dqx4<}NlGxG$(W9rz%?m~?4ShEwd9TDHfOW5_t}ArIG|`= ziS!ZW@oSZptn9{>1>uo=OXl#_SC9&rXtV{bi9wn6HFu5RI4=@D5GBw7z(kUMSrxU%WSc zA$FrkR7sT2iz0MZMIK5;=yAK2PpgP#5sEyVibx}%mKwCjR7C4eiaZgEP$16BXWrqD z{T#Kb9%}s**G-2X@r!jj{AImJ9sWxCVpWH4elJB*hi~Otm9FaWohp(#{LWNlRfj*I zBB{g2W09uAAL$gms8gaRTfNfAN*pQ6D?|TqR5dmBelBGsuX0_F^+#K+Ig2T(ClSfE z*X)rj7BxY4{~vkp0^nD5)&HKyZ=S!I_E9eBMO>NpjMeX&XrOH)WQK_XZ zS5fZgyY@N1*UW@x|N6f-@SAhaKKty)+H0-7_F8MNZ4>X z#4J%r{My7N!n7}kbAbd)|!W6k;XTNsaC)Whx<@o=;Q%2EF)K_G(_W}cu1N)y(!!(0RNjQnV` zQ0Vf?CvzZBJ7btyq(i4sX*r-nAcKb0013eQ)4>YnBeX{3h2v)@!@vdJWH~TA9QrGo z0Fxk>Zv-__Ei(!mp+fqsXz&WL2+c?}NmVRI^4%{+CawvVE}T2^3|&)zy+6w2Sy*PQ zbqW7z2Nf~r(g61UI9Z5m8Kzzs*1?XW<$~Z#q)~#7Qj~VQAYW~wp;7vqfBN75lpQb8 zDAoXUpTfByF~3=DxbD~_85YF>T?fC62+oBM8L6LJW-S-~#@&3QrBv-g%;sKL0z?U}Ea@{ut7+<*5CjPJip- zLm2|qHp%^^&sY}-BqgfAAo;ub_k^lo=b+~L^SSW)Z2R==j8L9YX{#*h)hdv-*0iDj zTsa;hTL7b@fm$^%y2%0|OL*c1y_1&u!gGU8;LBqH$_EAkFklyu-@K%eF|8`n5yx*K zgadzx&kGTEY)60?19kYV0G}Xsp=(y~WhTT0dQl0!JYSQPAuAsE;v9AgQ}*#EeVE4j z{HjG8r;6B?SfHD%+EW%-gRe<0Qk`QL5qYTzxEC2;sRbc@F-vlzL6p|oX zs~KKu0P=Pkb^8@NG8`EN!g~b;yRSmcmT7a-$9}QlRYgJY)r<-m@oXCcn;gX@s{g6< zLVoa{ZQp>AB~%4@G5Khhj#!XbOsQ9Vf&4*Pe_$l~mVhmq0ib0*)7a6|OW=Fo`CSul z>8X~BEH`Y?Bxi7gC=t&RLp`rtfUE>NVVbY5q=`^VV>k=n8>N1$eo>JLn!ZIbft4OZ zSq_Uz|6KutSx7!kU~>s1Q7GxtR=i?fYPHs6HbrRudGV{7PpDrZVk8!+zkW)3!qY8D z{&{~3l;AD)iQ82t-Otce8*Xz&iKYfC)DC=78SVQ7qXT_1M;hM?)WY zmGOdWf;vJNpxc&2>AkRN6~WYKG9K**cS_5V7;=7wrhP${Q)#gO1?qNKdXz!;U<&>E z+VtGw?t+DIPfA#gowO8o!Xq#6nAccq^h{rBD`TDTNG}TICe1N02_F0jj}T0zcZX;NX$)^E03f-D!23Y84fKUI@mlstg0I^-rE!&a9_8pr5 zd~a+5VD1%@wZ*t5fY-G1u`&U`b_Eoh03Hhcez8~U#Pl6#vOrmayIZF{n+!;0&t_A$ zXH&yK!yEQ&BA>sBmcKRNU*y66?Drm8I4$@W{rJHD_*;TQQ%VtyNaUr69}5zFxuWUH zg=$d)$GCyVkR2>CO8@wKa0M_!!WtxYB^dt4FI19jhqR^%g$$g#5=_RPNu zwq27IISuTUflcBE1^!dS*AWLJs|NObn>YyhzzJ>hjV?@BqJKWTFa5TTrLaS8TC@WUlf*&-yL#<+ zY@n9RTF|bhKfLWd^1TXei&ORx)jq_PhXmeZ6G)k8?pmlzOA6$?;e_$a%OfKLE_pg; zlFIh9hD8{T1>ZiFQ8j@-bv(N#L(hRz@Zb=oa&~ zcz4b!|KnT!FeJo`1kCeUG27m*M}gcz!!)$~H><0aW6e~G$~9@0s)M$xuy#S2+A_Xg zkIDk`Yn+iXFgMIdxelh)Ppe27=^WLS$rE(bqCa%vxQck(!NueoI{`CFX(OSiwjjvk z@#9)bTM~&Ht&&m^;x5*mWKhYdp=4CUGb96+{ zD#=4SUpv{#Q(}!EZSb{KfWbGD@!vxDX7<33hne=($*LgW;^2}4H8P68lq)DnjuiOd z_a1yYubEpL_A2}k9lsHw+Mu*RbW?RFuo**o+&o$E)TjiuS~O&^JEib0DE_tv-{X?e z1=3|Do`9{3R0}sI3d+(Ot@Z!WF4>OIe=e^vhB5LMPe9C^j}$f%bd}IceSGfI{fnIoQh={DwV{s%=)e`6}NCVN@9$gdi z4TH!eIhg>KB0)v}5(4-+fu*b{Ne66d4OhC8-MHlT=k0zfTgdr2PHj~A5C`w`;FVOW zr6G$<;hmNg{9%Q4p)l9ZjbcE#&5lZ5ND1^%HCPFRl?gSZj>*wL{1IjGeZU&O{0HeRi zVN6S))E`R`@ig_Z6jlRSQ)<@H2>H?JODMYy@FIn7}j?T{5J2-Xx*! zJo1b8NZwL(BfN43^{(_df6Vm-%FmD9nEpesbjlAwmmtpN~GZBi~y3zSU=u_%Md3<*4&tVY7PlTQ*P+>_C!YE3v zteBHAH%f<$x;J%R)6Dy`dD{0|6WpEYKUm~1XrQ?%AtSE>4d4SPhrl@y_+E0Gs`qK# zJR}vqsd*zm8_bhKl!$`wyQ7l1!0N%`ou9KI#d)Ad#iAh8W$C>$$KJAo>JmYV2;Rr`(o)aq1g1PZ>n7o zt=FgE(wo_ERcRNc#Hc%b(wICuov7R#1o1iMrPr(&wSNYt<@J|utSK-4IGXZ*#xC?nHGfUVjoJ-XruWACwmL9R4&FPCle)rFn zyML_QJzcpg=h>F}o3J!2#a&oBAa$egR0Aj8gH>;4(a#T_6fkyY?#zUjk+S{Yc=WOL zW^PUY2<4)@l+F!&G{3^lFua;nAEmFgAr-9}JtNpsU0zd0rKN_{cFQ}rA(fN0(s1~O zG{R#U{ZU%HLj0ZBn9u(vu`%ropD0CMgO|qX%cOC-{ds|q5=ZiX=h@m!&lQ)=W+fk( zGwKeT72Z^MOJ8RUtPC@sb`w!QR?A&ctr-czr1_VHo8aItj6>v2B zcfb6bI@r!X{qP$f{r#4UJ7MRt%b0~f5O-12#AHD1F#U@=C$yvWmoYcmx{ad)mC{0r zSe0gCA6UhO)cL&L6-p0e49xQ{a_OK3u}T$Nyhp-EMb(_QSt45r+M9uB6p0&ZB_apv zdq1lQs(=R=PA};2Nm|H!j;RzmIo%`I?2pJ~5R`s3%veB0Sst-!F`$`PQk#LcBj(WL zoVF>>6eGKhspJN8GXTYFqqP~!u&=y7Xl(wVU$oFW#x`h__K=X*7zgDe`NBfdC#B1S z$0B&>5s@#YrK~90vAxp-WKUbL1m)0+w#DKvRFsg2-D3S(ad^&F=Wa(pw1VU#$ra*z zxZ7b9!Gc=nZihJD;BJRjQc6ef0H@DUgsm|sPWFN`urQ;0A&0<5Adr9u_{BY|1K7Bl z3jAt{y!6b*BwH*owz&;MtEoH#V^YbGFOf)USOFGq@#s^vlOcC8K~M`zy{rTnITXN* zQ@S5%o(9JzV8iQyv{|wAmeC(bpF0c&-K7E1wq`)mRS7Xpp3;3@fJ7tm8&l$Kv^L#` z>lHJYH_X|SIfx12C3}H;>4$xmB(ghu4agx2VnKDPZYX1}F68%Fj8rnD6eSA#(H-^N z&L~gF{fl>>`^&?8pkZvGtH7XifH7pzQF|a;o#o9y{aVa#f}$y%Qw+lnBIPXM+M=Rd}`D6_KH|v5l@K>D`7{mO>IWWU1Wa_LN(8l?hMAJMLR|?Lb}c?%Yu>NcNZZrTMBujtzMnkL;SR zI>bB6xqHVBa4O!l19~d{;xRz~9|ZNcu1OQ0U_}3fKQ2h0(*3i#H$-@zy9y$_tanvJ z82==Xb%=0Jhz>Jn8@f^mvsFhRXS62!SCEjcDeE5}{T-$(&QJ}!2ilA9`?OiJ4}zN9 zWC)y~B%6?;)CWN54uYP)`K!-={7auX@Ov)?KZ(i3AC#Tm{y)e%)8;OY6@xCD*s|)3 z`ZUHiP3@?lX%l=GJBG+0R~5?3LxJW%(-Jya!`7zsIXe}an5!OJb-r_stuLHx*s7%5 z`(x}Bl2%cOc0J0usR?XF@u694EJGlcl_3hD+dOadHdvU4*?r&}@}xpVppWfIN@boj zJBl+a`f-`p?yQP+S`08JkyH3ScUpkz#)kd?4 z7;_COsM`pNeByZSd>Vk`Cie1GZXnmXiA3V^MuD0 z1=#E&^_FGHq=Cu{Ng})`J!>M#GLsLAKPRg~UQf1^&p5hrOT#TbEt#Qa_NuqQn^q8p zM*mcT6s5AjOHb-I<-kOE@D_MhT)t+|Z?3=FI%$g4{HjWsKQ-z4g0lu_dV$MjD;LX? z2?zp)G;H#eCA}uUb_79exiYml?6qc@j3IoZ51G?0ZPqf5(Gto>42B6I^dT;tCt_*z zUqwiRBn4ET(F7y}KX%k0_L1KNiJkRu&b(RvXMuR+HR4(X^j;0y; z>D!@g|EwY+6lFSI59Exb+0g=QaVeCC`f=H$3Hy?uOROMLy-a7jYr*T9d9Lc&$i$CI zRewmstuY7ju_}C46_y$+-2EqSs=~fTo{@!d3=G?9#4xaVlKl0;v$!Fe{Pik~Vl0dm zs?}mWdEu|h89;Nb9iq@=SOp;x99f)zcdkH~P8%P#eIO!&|2{ot$~Jt>)8YThuXL~e zxOYEH>`2HbCczA5*b`{n5rhZRNQ!vjcJ;hSQ>&Ap<$&_h5S^$~Ju3kS@Kh7d8oolp z*fa6gO33S=xY;zvDgfg5gguobkhBl=T*$tlj*JV5DOLP{%xoi>E9XKLKcM13jYiYU zXH0yui5VuEU?z3p=RWc%2~~BWiDbm4CFdcgH7N|arEWbrlhUdhLh1V%pldxrFow7& zLJ(qR zk7p~2QmFwNRROyNdRMqJa~<({?o48e^%Isa)+ql2*)&`=BZ}}?zY}5r;}AToaz-SYuC`ApY7A-)V)A^%Y)JnU<@LEuTID&f9B)S zir`?j7f>o&u@---LRlaRpb^ao^L@945Y$q0q!=O4vYq}Qub)Z$F&!0|1W1YXVU}61 z#*>YK5M-I31ba$10*I?<-b(Yl|7Zxzy*Gr=IiT(XHnXAJ77n9flAV$L@%s_zo<1&| zovDR7tD>&}AfE#lCT*UmF_apF35~0-i&;f*suG$D4L4H9ZcD|qvZja7^l5Kdr~R|nHmwlbf9uCfJ&ruVr(VSN0d zDedXE%pO}vn@3&CFtD~Yubp89^09@id6ZPw&Pn9jbOauz9ZFHYLOOdC?*2ls6-axP z5}z6OrGXwFWQ<#1f&i!z7P(^#1!vqD2f zwTWHvBJ_exLhMT8uveU_(}({K3FCCi6UY2}?)N=U#b#TRnbd%o*NZ_Szm+hhcbqoH zjpb8JtP9;tMvJpmTpM2Ga%$mLC*Y*d0T`C+xMJH7)#?I5cL zRz=2^vAsIFlrCQ8zZs?t=JMRByoCX6;%e2965qQub;GGbeEaa;K8y!Vc5!+jA42Zw zowiH+zETJQM1;HjN}&6#Be`M| z;f2b|E%`uM(Ste@kQr>y4qI+X0$)V^Urygroe{XE0b4XUqZozxKPiNvK+I_lFFTL1 zqA}9=9RYC+S(U=^OR4GhG@eegWLR!-L~P-JD?g$IKcWR2QCp!I_`wq!QDhR0s9J6# zD)Qo_U1+)m3zWv5oHnAdji~b5h%#x|h$^EW(XcwAd}AYO-*6CBHlm&6Wkky%Q%1`m zqeNlW^&tNT4Z`2md4eK@)$Vhfb^qmjAO%n{S^afQ>rA}R9ia<4*gF#-Tjt|3hgdpF zK(=QdOhZPNFqe%m8 zcFb67NYYFkQpN%$69mYlVO-JXG?4_wizIM4();8fFJ#yQcvL)Kq#kJj!S8PykU-&`vY3PAV%+ z)Zi;HR+QnX=m+XZze&**_F)X=`8=hua;@EUs3S0x6#8JEkHS4hNIWoaIRm8Nt?_4q zNwgl~p?&m_8_%fafLPh6MZK&nrxI38A=HowznU*qJd5QEkNzVu@=X&H14wEaPcSp3O1; zaW;koREv|#_>0ifd#aLDG*?9^uIIl`@4j6p%h$lR{)SD(1uc^ThNe&87cH z5gL+CalwT|r-cj7BLt(_COh$r@iB!vCH;gY5UbOxy?Vih)Fq+keUej%Bdx`K;5U=8% zq(xkKa{i6vjA()1Zx`W%rhV*PdPOgb@3k7txywZFvOmpL3nO{WF*jEhMzpb}aq30w zf+#;qqxdOlUA=#cbPm302AYctx1|Ag8Q_>`KO@S5P@@d;T1-DSKKUGe+mQOl_B=+C zJLFXbN}x1_DC5#9EkE9rQfQ!#(NaVQiclUti5<)qT*w1l&F$FtmzS2uy6sz#``}nZ z^~a90w;CiOg`f;ay`UXMqmlWqQ?RXk1VO2!Opo+ImT4XlqO~R)**1I&yC6g`I#OU2 z(`wTy3ZcQ7r>xH*;jJd!hnz#Nj{5Pk$|BJ8IGTSo8tss>v@I}(R?`k!=V?{uWvv%& zQrG%GZCU59VazK{l~XUgHg^=1-Ympam*0&8QjZhH&k-SqJS93iV4WV_e0_(mt_J85pcn85Qu% z-fewMeUnj9kgD{|P+Aj_fh=v!7xFNpe3h=&2$R8dD=a-)7c}SCo%=lPpn0#>xwSTW z%4)|aaf+63M)0zIxzJecv9CICl{JLXh)KW2V$T%N5wu0IMy;<-qGt!uS{L@Sx@7u- z7GZKOV3wjCKqFV_(X4#0tWZ+=jI3_&EzRfybFjj;Ft}JpU9uz>j@TY}%^fmiD^7tQ zf9XfxIYskrOlZCs8zXrv?sCrL&jmY!r@@Kd8)|zzLE)40rE};s93rx5+yph@jj9$E z5G@TfXK4`_x1r$%OvNQD{!3HTyer>O)Gk(@6ndDo;G00AC}ouXb1_@xTy&-W=kxb( z#qrSiK51d9LB!Ze16r;+ zqHDrc0x+A>AXwVAh8rOHv)MA+{u&Mv)j)CV_e8h>TV<{ zD`~78@j1;=*2o%4el@vOkdhFp*@=pn_LNgAf19tAV&C?Ji5(Y94-I;>Ew(;zx!}&E z#Tq7b9lK4_G2LPJeg#TR9!i1@%|MLWowT{8D=DNY0ekBp6scH1>>(sIgSCv~MAdLQ z;hSg;_nLt80vB&Dhxajv<)-@val9Z?(|Z?`JL<+#!);E;ek@t0SvzY-v%Z~HWu={s zBMFwE9DZ%>jEb70BKk_RG4Qmz!kW0m1y`s5)eS~?c4Bg;KqkUD*(+VU@Gf-9kU3AI zaLh7#(e96NEk*JY&oo+Dh{B|lS+Jd5NiIE)k8m0!0TeNY)K-u%W1oP_(szONa!8uF zwH&9b2ydLO5mB_STcEip&^m(;h$YP*30snqNoLPMIeMep6JBS7{+tH>m|IkQG_1f9 zAS*frefBU+JuHLO$RHsAz1cjYb69F#PXb^GVR%^L=%E9xfn_9EA^>?<#)4(+kbwnA z1FG%yhz*!Q226o=>b)LT0dP+P)L+%T9$t1RJr)+%)bn4%4DV<0hX*Et^eBI54W4ID za94T+{^F&=2O{P@&oKR@&Y_^%zaZJ03loXVJTGttr-#$V^DHZ~^jIAc|j=7c$>u_Ia`WFo{556ZB%{L1C}H zkgeBavS|%ec!w~Pe|F3_Zl|eAc$M^LR_W7b?C^F1O7&93)35r;*l2v} zZS%1P8=4UR2IAxNk|4PtTB{^>l`@sVF!j)p%*kl)h1S6`rv$kR9!ZuW`9$slcfobi zXe`YG-nHCO?#>x0=Z`Gy3GeJ7NQL(o<1s(GBv?>hLOA@Si!^nXe>yBBSuFUuZtV$= z-Qt>8@9jj0TYROIb9N}hVpwl6fA1WH-N_$c(pc+z%i)4#Nl(Ny$j##PE4S#xlW>6x zwDRk^(tw@*b}M|LCrlQTq6G}6FrO_3Q7!>NNy0O=-fCjKpu65m>q5Yil?M3ci3 z;pX%>v`irME=YdPpqs;Obj5;fEnk5EUpzrX%2~`8Wk#8zDuX}fuAzl3SWnV}x4BuI zP)vOefilZdx~dE|!3GAQ^Tm=6SgI{3=ig5R+51-izSQu3Y%I(&6nuu(Ng47QBA=l! zDTA+r%A?Aw-~&ukgNF&^x+#6|KEmsNt#lLZelobie8%lOmj_=VGQWDfBzLG>O4}E6 zU;?P)l5$J$EO+$~d!hRdMukCXN!!`E z!zCI`AK%A*nJzFUAW75d{;vhnHG>Sh-?2`XiFEAIKVK=;RjWJ@(y_ZaMq-^Jw=~%s zpFrpq>06sqELZ8+p}#I;UU6kI>#V0($t29X;$`kndNf_?lOvlEuO`SOS;pVI| zI;bZFn@I{4Mvr(o$kP3=qBR~aNACdy&4lP7?7|G@({S*x(<#m1j-7C?`4jb*DSVJz zhLR#!+j5bRf{`h1GD(FK8IYj-AqtV}RCIkaTWGBzB>_r3Y+d{rO0X)@wHMTdU!{{W zqcJ?puFOryW#d$NnQIxzZ0S{d_EZb=-l|(5t>{$ayQUhSDZV5HRnuIiCAI>1_TbX4F ztbvPn)U;HRCi(YQ^INl6Bpy!YGCyF=+;3`_wsZm&*NMPW8@(oUaB{v{%Eu?ax*FcX zZEJangm>;r<)v4$8lihT++r#u?^2&s5+CA!@z{5S@Xv z$n-wu7RePd)ub5eL!BqW)8{1Vr1#{H2ptdVBd$*{;U0R7kHekYclJE`F%Ep%)id^q zuO9qdBvQSvOjk>E6*e1r+kyg>x}fwP3pm)UW3i|_8azyj6#OM`Zntozfh#eUfP$q& zGo58-Qt>G~cTqjq*__^^Qj*p0*oI9x(BqK-gim1g47*us$L2$keXbRj;(*8lX%RFU@)x zX7YA8in#c0ad2^rvGS64lEzBkUV+t?oUIS*Gck1eTWUsoBw-cHEWB8_DRq(&!B!Mj zg~7V&vdXAR*2OkLr^8D4NKbIPZ@vV_gxkp^MlgvgELhk|iDH0o;h|&+;(@%?4H|;E zpl)L2BxppnU~r(?fB`$69wKhZSb1qZG~oAsrA*(mm)t3JS_mWzgJK>Uvu*$bg%}8| zhiLYT0Eznt!ZOU&g_ka166?CObC$DUXh9PAZJbDu9q>vs(*^9Sw+Z2$Ta#IkCg2hZ zBsv0zU4jJ-w$!I~EF2e*1{jB12g)-|kt0OFzgrnjVDQWzSSfHq7I1FnrNexooK5Zo zC2({JbtnW7D{~DoHO+#5V!tekCBe<|$zcD#BiP@i$>4LE9ZpIQRuZ1|)5U|8gd_h( zj!wn7^kbr{gXC?3ujbaQ@X26T|3i)a!0*!L?lzt3}5oJb=tUv@{rb^)< zqbsn(EDU)?Mm8As6kW{s5#KY3$O>FcF&p3!hVeK~M8*yeM0)$aX4MKI{11yovasx?8cZGt%%eYHpQ}`+?1CHf+NYO36uZ$KG z3SyKzN^{R3X;h4`V3!&s#_R#4{~+nCOhKi?<-pB_qhC@!Nz_+zb4@%DA2;!!iA9Yl z#&hkbWP$gi2i4Vb=ogt?F=@OfIXPqI%J!1jFWszUqy+~c8~jz?lblkM5n`N_5qxS+ z9{?zh>l0Xp6Rt1D14)_d0jT#>3W_NR9|o}lp+i26bVV=5$q9Ns(1byk>%+~-0{St_ zaB)`B;UPeqyUo={z@KGMO9HZivic8<00S`nQX|9?OJRbIM4ZADHlbVK_!$dg5;~5q zGW*owyF1k*b`|qGJmMEF7OhQ*>NH@cP@R^gVPXSD$!47kQdrnbYYwR3xmXSRI?jlj z_){7tQ7;TfIFMtpIGEy}8V9p%=p)>5*lk@=Ow6b{a`TiB!NfquIwm#~`zI*SDJCWf zINS<Z+u>8@pK&TqJ+4=#T zNRvD25`(Jk$f9U!v|Fdc4mrbR zqL#(b-B89GbR$A|JasAq5cvU!Gyum{2LKeWoj(9>-sxb{0EE(A1m*d40}z5@z?<9} z08g=Qz7oPI2H?250iaEl0q~qm<8GCx*i$M4K#K2 zJ3+r3vCSo-5wQ~+0W`;xM?eESH4o1L95GD;VAxg#z_l1&17KLrGyt9!!|MSoR5XOH z#c%*THHOy%_*F3cM@v^cp3mt#^8*)8v#5CgCmc@Q?ZbG088r2SxAn-6&B)G z2`1zk8>z)&*vJ%EY%?4{rb__1#o3`^B6-sMI?=$5?v%+6Hk-x4f31=OtH$U*ndE>O zUJKb5BqTl`!trqUf#aoPk_rD_ONTckPDtuAc|uYj;G15aptf0>4xr;sFpibAW==Q5 zPpmUMoM%Wvvo-#)Bs5{7Nn(>kw91>RjK&t=sbn-IPc5T0zNyM+^>2UWylg!g zuno0SjP#s~Kn=>mGypHPGdMAa4swedC^agP>6nlGbPV>~ zmabOxesuWl>1wQHnyuATOR(H(rqmhfs$vpkg0nkGD+aKP=BE=mHK^I@4Be64jSo2= zM0`;s@`Q5PNLuGeJ<*lU3tPFEYtf0WT_Q^}S{y8g(m?5}XDVM2gP@8H+-FasLeWmm zy9q7J=GQFCaEU~_&AFSE%^RGr*^LTmO+0}qbFOP!5gx(2McWnHkiev0nm_~I6+JF< z3ps)vPdX^a9$_zayZTvr8nW1M%)zBj~ zT`_;}Fri@RS(-m%=m{1iOU=;3&63Q}6D&YLNQ#-Er)Y*Ad`lAa=NNhr&|UGo@K!F^ zb+))zW}X{)TDm5_mJ7)HGbnL_)NDMc7E>RL4CYEFFzS$!*?Jbs)&me3nOZxKB^Q$g zRSQo_v8bWUz5{($?K`n1jac@bE-v1@vxqyaJC0Jdm~e(Wl|0_GGdT~!xALM2iPM<_ z|5y>*E3%9M(heE>Ai~@XVMwehY$aSMjr5mjb zn2a-WX$Z_LBXTZ~f9cLLu%w^#)D3d+`Au)iBEu{-*e$Twp*O{X;Rjz<6dohAc8J4E zda%^gy*EpZWiU(4k{&EI4H@zpB40vbQU+fKg=49)ZIP7n)OlLQ&*StTyRGjGYJ~EJ?eBx-6yMTRg^iE{ig+} zVE^F|UZe)I|9JE1OpGj)hn?qbyUM5OdLEe0rQ4BkK1LqiYDOpHl3kD$uimjES>aBr z8h@5}<4;~-jqxWrqlcM9yt&5uW452u@1(YHXR?x}cd1Y-+*f2tS)E@L^63#*V% ztgYZoAlkhvdAk*ooMmlK)=*!?s1(wLWiC1dxKz*CyUOQK0T=7bs>U8#V^;5=ph{!1 z{#B|kpKHkD&09U;j`DJMI?D4#V-yT=YGV}VHMiFqqoM^JER>s5jgdD-S&oV^iuZ_o zlZ{c9%NwICOVt?FzCf$q%osKHUvgHS=^yu35;Fbc!Ae4=f1J20|0L5tK3GYZAaA-n zeWCKnkA8%P@}%@3bk$xVIlV#48k`%nIHww;(h7HmuxYtlc?X=b9rV=%-bTXP-I^Wl ztR3#m9XreK6qLJ^XDNb7m@||78n1=iqoD-f?sS&an4v>)Cr!qxf$|K*g2*zs&P~WZ zha9-KOzZ{ByGE-er{kmfl!`+bwhRM{nLCyy-74=2s8i)Z2N$xtZ1g3p;d+}mZG?NV=+?brc9^#txb_l_OF z6}*Iim-zG*t_Ew%XSh{vHF0px*^$WnyIfT8Hh1<;EWN9Cy45?~89S41!GVvT%xxZWbQ%s3;eYrc$tgXeol*DQcdI}JcEvEl9pQ03K(U=q-k z(=`iqyVHOa_(C~uwFaH#Q96tN_N%d(q&O=*m_LDvi`{A0xJaI*7TxVsH+JFx zDJfQ3BAGB3yLa})JFf=CqHD}}Qhmh+OU(;S1}*%9w4_>+EM{@WSIe$(fofQ$+L%eN z)}3ltR#yX`i2q)_3qvH8a65NbT|K5<%j=;MNyze#m)cOfI66Yz(b{=T{5UoR2yjeN z=2658#c@TPMZQfR|Hz}fVx{Tt3V83ON5nMx<;*GDjFYev>loT(4y7GzXNIh`tUA1{ za+258byQ^tZZqpDcQw{kxJIpgwPRT@A2*o}Z)U|R}Zi<8A2MjVZ#(lQE zqQEnqsF+zXbiXsY*SH4XRzwYb`#AiEZ#CQaZ|_$&)ZDdSV^BMye5%GP`1;aHMceP?*9uR1xyn|#YbDXEm8J70hqg6(@J6Rk|c z&~_Klh1$dPWteK1TMk0$C+~sUl;OFU1*X@4HOcaaHz~LQNt%(5HQv^QBrO>glL=*) zI6uWD8cgc8J+7?l%#)9apcSR;K)HRO%)yL8LJU3~u7kw#T!+uRv~WskcQe=VQTsa7 zw6-wpaC6s5pNyKenT%B6k(qk5X%sy<;TR$Ls^`bOSoG?QeNR;qvdMPr61{?RQ_C3}~tx!3L*XoYfR_;7NmR6`@uyuAl_6=&AcV^cM@s|s{QLiai z&Cy(+s%Dw}UVJ~-7TEyPkGE%rK4>Yk^@$VF;3?mrEt>L8rY(ZK3BTIa{dNsHoX@Ls z)CZgwr)>&fWo6(xH(2H{H|9K9^fWwCHay%^v_t>|hZ_wIG;uJD)@pDbk65M1l$G)k zHWD9)@>p;aMNbX8>YHgBJvA)eTKFOMzJ9>5HuRtq0L&cfSyu!6Fp7y0qZ_@Ad8h%w z%y8TaTyqpNrs2_yVXbI@L9^&uLKY4M53Y1f2l@%_))% zI2%#MW6wCSJ?1(|pfez+3+0pOwcjkYM$xQkGQ%#;koXaq(-rnu4qp+sFfRT%SdZ95 zB_lZd6z*|m0Y0fF<2PF-XM9P=D9OTmvM~orJ*Y?lTwiL1H@CRCa1uD!l(!>iSemasso3%%+8e?E;f{nDeGBS*|@dGu~A(*iPnM zl!l@U4Gko$#x$Act(j!)W;UyfO+?ro02*DbpMu(K3i9UI+F2-b)!-pa%1@0j2_MQ$7(($?4fSdQeQTZLk^C(ENZ)L31snIvG#R zzzZ*~gJ+B8*p^p;XT*La3FkG43Z)C41xZXEp3wTV@I<wfR*-8;B2Q_DlrZh>*TbNMH6PCJg%IWx}c1GGX>W zc~NDVfQOQ>Iz@&J|VxHD}L(!XYrKHG_IB7JMl zNiex+CWn9xI$(b;(o?(*7$jjL{Y;0=i8W1Sc!Eg`CMO6jE{qIB5Eb%hy%>hyIxSHk z%Cjy7oC3KvO;|Dyu@C01Cw)5g$*O zEBxw{DJJ7RI5IFyljRQZjzBT3sB=4JnFv>7bCj0p39Tkg%LGzX-@SgZx~VEw+lsN7 z>B?4%-o=m+BtjB0pe;u_v~uZa9Ms8Db#(#KC{t(R>9 z!vq9@wTpfdR&PR`^fq}WAVM1G1$r=p*l?P)ozy*ZLdOnatBk{swXSP226;B{r@~aCh&H z+?x1GOtjLjvID&i%TF;-ig3rH#?Jn@aXUS|SEn<(?J_b8C**ICp%jLK(4 zKTVmuznTl{MoM+4E~!DvTP*#yGuI9mkMcgKe`hxCv$Z|0>9IH2PV>=$Pfi5sr}@Kp zpi_Q;yPBQ3XVuq)*2jgVmlK!l5gs?zOq0ZfuOo<1c15-L()45HTyvOdJFf>@+sB5ucLrEQQqv*q0MagMl3 zO{<%opUMknK@G^Z1Q{=Sl^P%Z*mN~^S73*q!sQ^{B-o`{toYZEGlOnd1-dc42iHrR z_zPGSR5~dA67ce;#Z zP7|hge{2F!14S2EWEyn1S&SOgFY?$EI@%lZq;vILsy;6gC#<{|@oF@S9^W)FHjFk# zcKQH9yOyVn4cN}>Rvik;m>0hu`c3W_cW8gwk`$t~wf|*~UxPE60yYlo7zm)YJYd(d zU?rz4YbJI^N#t^TF#RIEQ zpp@bn8fio233l@HlKcE9U>JkCNC`TMLNJ6*g5s$ea!@E4PT5wDMqD&_hsgh4&FZbRvVGBSj5R7@K@*ET!vc7nzKI@*(vaGS$Om>}*oCNdv-y4d|6-wMnZj^I>cB^tuA!xKPCD6`;o(n!yj>lcR zliT0}2FO#bo96EL-1n%Sc9jXlAR%3$5idRuZ@q<6wZ&S}e5{xAkM$CEIeoDUkM;88 zpm>UJ^oolN3yG36Z0G|X(x)e)V$NRZis#zH{-UKU$SHe{qKg#?)T803jKxy~PnQG$ z3@5VNk}EFN^FmqiqMnaE_vuHz_oF-hrRTlumVuAo`Q6+1|LTt(e|*Dx7ierN`R@PZ z4?gi{pZfh@I2vRbzw&FJ{PqvNGXCY2WSmdNhOsqh7JSdrvBG&_JIETW$;P2|l#>{T zH54KVnycw2O#kY?LQze`eAZh3Z}d>0xeLf*6zP?sw8@+(fy~JU@~Pi_BreWtY?d_& zCU6ox^Z5Q5Y^Q5CDO96^R(GQ zWjBY-x7Av&DF6kj=_s4iTNSL6Z8$ihvTd`49Y+J&1J|PQNtX_k+tB?iAUfsRXe~^> zP4A$l(t1ou%+IV1;RZ)v`B{Y7w8U+3fD(0GXCV&=W55TX5ehWnO<{Q5uxS`~h{DIHsm((w~% z8vUeeE^W4Y$}nEVo`&{KD~l3jIE{w0xlQ|7;Ojg}^~Lw52t++-DZDGaS7CA0U<#Uf zDIsMEi7QpEpjT6teQex0`&eF8kNehE+7$u9yeQM-)9`SsE94EDR0w(uW--6jLLE@{ zJafp>-dgY5nzi1-tYw|pwUura4Q4hoSbHoGoA=_MraTV~bQJ)&4iI>C9jWV)g+Yi* zh>vK`XkL)+NN@GJZv@J%pc3O^jpSv#ZUGyv5o13=Q7+zy{j^Wm_osQntL8Aom;_g#sUe5Y z2@$N@9)!ZiOjOaDg&F#Ih}41_=2M%F8w`B%3kM`c+01OG5C+BL$gPeV8|4qeEPO>} zG^WB)O27!}5u_sHw>A0f3mVBOfyFsID5NMCaR93H^;?jB@S3u7fnu(GrxMkIEM8$_ zV#h4FmQN%mYxcQCHvCd+*d)Q>g#i8m_s8{CqB(mmnfpE6rnlQ3TK34x1$bF7rWnKT z!Mz?ioX1yu>~6g6dH8pGD5n3$0=c;onp(t)@?QsM(Unq)9Vq>sUwssvsutqVLCw36 zM2!O|BUNa@hw+60C}f@$Gf&O(|IwFdoh*DHqb)&TWbmyBj&`BmU7oE=e3Wb-G&t5W z!TRTbWLUP{zF?;K0hr*3TLZ#ITHLlhMlRNVN8v(j zCQjRmDmhrK_6@P{_`Jt<>n9N3qmZ}dAoIjQ+{UXG3l_qrg;h$|d(8%MiJON}Rv7?o zO9=5}aV_T=!O%h!H(Q8eeQF_!W#Uyxe7`%g8l9NzF?GQI?4W}PafHCZ3f*rbL!o>) z2In^{;}(|BEj!zkKE?!AOfqEc;uG~xac`SaRQhLfnfNs=^VkT|!?Bj3 zT3z}FI1a?8aK}K`GxiEC5}!W+-e=RCRr$$vCn|bh}Lu9Z}%Pf zmoMM@-H+d<6V_$sosXymP5@mVp_x4Zx z#&>@1u64>WE8}pyU?n9%UOY1GGG?4UeYY)ceN`X&(qI4ZGtYnakNz?%=jU(Vf8S@n z_RD|%A*)IPW6u|VH1StI{Ih?4`0H7gqvKyZc>j}M_~=od17Gq3zf$4!;=Wefb5o>c zEqLB6UwP!C|M*8={Jg<}>8Q3TC;M@@|A~M4{(rms-ox+r zE&0VC{Qdv^@EtGy?uV=3`}$Wt^`(#8^R-XEl9l?@-|m0%zKKWvcDH3QP&I^w)x=k= z3!z*I`H?eV%Ne$Sjn+nM8B{w4CzBj%<%UdFOk_# zQduIi-q(yoc{)Xju)XQS2Si@z26U98jwglX)Dk;7OisG8m9kNdvn-R2xOz=>J^j|y zrKt(aRT_d#H@~)C?*Emyq?a>;^stl|r!xq0IaEtnS!XSIB#I)=YqMb|)xvm>N$g$( ztFWO41L}iiGMq@L>IWJa+A*EnI z$1I{YC?stjgmfE902jwBFv#tpt&(_}IwqvGk*r{5KukzueQ)ejExss-L(Gblb!x!f zsUEQDJ-a6$8c1aZm-L(C6I$y+==S)3p<_uqE053Vu~>P$2aQYGuE!2a7552C`$GTa zk>Ab>((t8^Ka|yCPtSg#w$6thuFLxTA7n49h5kWp4WA8*zZT|;;Uq%Jd;%%c`*a(* zslI$#nmCTxwTlFV!A1VU(QN4hf2;*Dp(2&8i1w)LF5|*%cnMt7t%=t1L}_RH%POZr z{kf{T^XHw_uo|?Qr89VeX#pTV6i3C|*orHdBtSZS0t799pvH;1<9T=m*fuia)JSJU zya~C6mv-;oZNbJ0sY=42gYfiqJk1eB(wDfxRur+uWT@wOZUK>7Tqn$&7tesZGyJWr zEa)srbu%Sg#7O--NgY>i&F`@|wfTD@&1kzHN;1&0oh!X4GeIN1<8fR<>~hU&<}8&J zsYU!)<0708CTmt6`wY{WwhLl)(ssc>Ex4LXZ40u>>+5ZI1V>XX-SPdQhs?pSY@pd6 zde|HYtH6mwRFeFpj?sVWCe|@ED@21?>S9xbWJjq=KgK|l%6+a4l?{nl8&BYx&O2|G zE-*k+J>xLTACJgiViS4g;qw_iJpPS|j64jFU;O@rr=4m}BDHn|>E|dqJ)?vs$?`q; zwZlH2Jv}Ysj41AVp($KEnh24_$3PP`x4>F}3yT?D7M7b5ut)NmMM7#yTZa=yh4TE_ z-3QUQB2$G7T7jkL!U~I;A_Va3i?}OmqM-bgl+G;8&{Bw%2T6@)*mJ!Z3$Q=m=6t$s1HF;At4yiB&bQ_Ad{)0V9q-$o^z+AEv|_gYza z3Iz$HN~*L>ouqs8m|~*Nk%p*R=I=IqR7cAMAlfu^;eP z!^HT3TC9uH(0kJ=rVZ9H6`+%MOAkXqv;h#v3aLM(>@Z0gCAB2tYXO_$^ocAs66IN@ zdbPg9M;#k~t{FM%0O>o;38fRh$5Al>!FUJ5Kqh=ocRyyoF3GG9% ziD`19|Dr+E!wQUwS$okqsQ{ChPw8vcM+ltPc^_ln$Dnw3Q`jn*%0o}{KxjiG;Fn`V z2OJ9o=Vob7&E0wJb$Q+3{B)a1_7@74^X1cAKY8fbbZ9e5)~H5o<~3|2K5RhwIY0;6ba zhEdHry%B184JaiJC#O2E2L|H@K_QTEun08derMGK7NJNDYI>-nf)nKh90n2_LZXvm zkYuN!E6Q$Xaxw#g%c7ker76ujZ31HyTVmG5&xRDjz%((2Q9gzi&7h7efIBvZAr&#x zi5;liG7$7M0u03mB8?hcL?jmHxhTOGpfGe7lM-Q%-*G!=(^`|Q{AZ|^=gTFQbd z6F+ngYBTb!3yd+t&Y49)O&HZO1(!V2-*?G@d=;!A`_Cb$ak9C@6Z1PhkwOryujO(N z^1PgJnq?KfQJ*77XG*gY(m6y#(%QkZqK!g4e_kvpPvfO?h8b-f6I2&!H~yT7AZHC? zCuUi2BW)32pDAJQL261nbe{=(_`Nmj00yur|1LedT6fZ|&*x#-G)Wp-uFI;n@V*4| zMhH6#wHUL2mIPMW!>Y_G&MU*1Bs=?MWJ6Q;ZZ2q-)jOhhUc$TS;6WUPE6GK4L8-qs zarx>x$ak*qL&16>_!bzXB=*uz=vPfSp6N=y zx$s2@UX{dA6Jj<5XS<)}Bqkb!dnrWUhY<+Lm&A7GPiTim&kcZRXO?J_JbV@6)`~(B zjd!Z0kXomrZyzSX!rR>aS1cS%hshB!(&u;?e1dz)lApuZO3I!vl^}$8RXSj@xms0I z;5~nB*{HMXrj$DE$#M z48;B&hZPWBAJGFL*A7wWfFII%1!6qNkg&p&x0IzVBaPN}@dU;%F&=k|guIO6$Ed(r&Rit%!;9C^kWt-S&MID92r9m=3)`U$P&#Y7fe{%EL?Ncr> zszAqg9Ko85s$Rgc>dJHRqO>@X<%BzPPb`;9%hM$S-OT`oyZ(&bDXO_SNayvsQ82(mnt%=1{x!^@CU%QUPj zdUv@KnFa8Y+FFhWlSQsW_oedUL3kZ^3z57y5-Cvdf!b!fZWp)(1FM5z521?`_uiu0 zVbWqrA!wq-gxNABu3O+{v&DsiZR-V_@mlyWS>l?KfNrvVhGC!y5!rYd=czI@$5HXAzeoxX}GVaY(Ul*>s>f?~VkAZ}@1K#P;t8oC!#1M2%&zFt(BPW)}I zP|&6i12;MmK+%~#QF%o>(+4Y0G+y*&47!CNt#qT)3kUdM3joYc^pY_L&m}(*tEwxy z8ZclWlO~ewa9Vtj$WW$in6VAJh$&Jna#3tG1!f^&T5hVtlOk07G}f8A1V*dC4ftSe z!Q3kQx^25>L%cr$1uz&V$!vISOeWay5Z?URqD?wmv<-V40P|;y0y8t*wVB~g`OR>r z4e@5UBcnfCw5e*n;~TTy**6^j3c1R97m`bL&jJO5n3D2gkCcnL2#3xLi0*%zFio9;@O zm}w3k7*IjF6CkPxs!=29O8YXvBGWiRyk7D9CJpcwY+m}ac`2E%DU5!lJ1DbY)isII z3)Wi|RIq|*GKC;Brw>&N;z>0hsiX)wprlZ1Jr<7;4kfakHd-5lS;8*JjwD%<84?IZ zSd&TGoJtY^wA);h&?)ffBn3tSfeEXGPE6ru5^f_YHwl}+i`><WZw+aCEo{$iT)JcNF31wMfnS`--`Ob$Qi?tR8`R-;t-T|c*=d? zl)B@(*{$w6rQgtLgxK)^({#=N;5+5JX)&KQ)DZq)GD~h(V6L>$MqKd3s0@O`uG4S8 zJ=hbGvi{cSip`q@WaRg)dli#kM4^}kI^LRH8$!GmsHn*Z&zAwzSbrsyxhx1Rs}^|e z0&5FES-nAJs)kFvB!uTOgQEZ@@O!?3; zP!Dbgt;kD~Y!Mf9LDbM@J;IP^<}LBMg#NeG0w-%ld}khD`YEx!j!rZIX9kA^P9t)y zD+BFHJVDcMS{fZrTSr~faG98!zy`*mbRTC_uqEOHE>f7KzeQ z@kRP_WmIPQ8R-Oa%mNze3Ya=Hiw_!$H6;oW1SZa7umiu7AQrQXCcLiK zz{TTHP%d!vABqIQREr&!#)z?o?z*GuU>3mR%IUvG83l zYoW+tWssI6q5dH`^mrBeKoe3;zwOmKnHuUDvUs%|9$y=+U@MU(n9@nh>_~@4twsC; zZL#o(&X^-aXQr$w+s?cuYZ$k!43Y6CE^rW$n3Bw ze3NR;ia*;Izlt?li)k6ogjwRk4Yrk0>LbUhF2EoSKO#=HM@NHed_p5iI&w^B;8*7X zEf3UW){g2x2bZTZHO^bdN%7_2pKi{?JY!eGJdVLP))Vqz9k z)GC{Njti)cmTnQSd(H;Bi@WdG-7;lDG!RTE&+gdCDxF$u&+Vv&PznY#&gS%X&FMCo zTXdMYiU0<- z%0$VeXOlMkbFAk$f1g>|STYehLJWvfwXQ&LFtJC|KEQ2Nlj-?fVTNux;4cOV1{BNVzdFQ-^hNR!7^X;XNatfREjw30pO5grAs4Xiv zZ@CmYczMtpdqoErb#;I;D;+SBfXW&=kd3BLSsgUkQia4SiU=6PIHE7=!VDxIOR3p& zh>*mjX-A>ANjj7CRc4vIRTzRP$KwObU5?W-z_yv&ig2NnH4VuDR~Y_Op23Au6&EN? z&lOzI;X9bdd{c#03FyFlkriL*vO1K6lSc@kN=T(ws7Lv}W?%xN62sNnfq@60v}qU^ zs=l8WWdjm$i@I-(ijkL-QemcPGIa!{4kS+ zNnreyTbKj5E?ncfNG3bmOXGw~!gs_M`VV@eBLJot@CLB9gI6Mx{1dFHGSuXs*i<^j zCqf9pAtSQN0|jAhkcUAtGKK6gOlcgF>G4L>UAZM!c(K+Agq$p$L=ixw98O?-x8U^! zyg4Lar($1~S8EmIFGRvN`617OIj@?Y<`Tm3A|=gXOpjqLoyEPm=up*SXJVnH!y!iEW2u0?z{xR6n4 zxgy)^&{SClv5H2`ip;1{foWaKWeOV~#w>5-+uvy9lliPs)SxVO|7$FfcN78uw3T4T zE`$69rmLD4rgEKWUMjPKAURR`vjf=7(s}7Vrn%C8XVy&b{(TbG(7v+~?R9_u!@QDc zpFYA}x+;A^33n+kWvD}A<_LCTaiHSXEB_l1N3sLw!{WOo)*N|9Uf4K@ne}s?xf+sG z^Xve0gxoLD3E?C&Zbp2ByI_P|19G%(!<`Bf=?G-4nqeib!8L zLI#U&mx+Jg-g`h9+bZ9ELXWML$A3S{M>8vr4?V_X)mD5&k7gXsE7>R8@(NX$SCYT^ zg5K0s|43`Ne3#+-JRuHyky0UhJUWsTl`t~^(19RL@#(Une7b%IbQ{z2z_c9N( z0HL0Rd&_OUgxPeNBA4$)hC_?%6Ir|i_MUieS!}A{6D3&`t?YQ5fn-v)hqiG>jK$=5 z&vB}#Nh1}z6+JU3(SL~C%Aoa}z8B9{teHNssb|?{YU+w1Lz1kE!9!e ze5Zrh1=ht3Ht35Jn>`l52oRTHwMWLI1^gvWxjilc4M5}5T!%fLJ`OTFx4<4w9S4Uy zh?K5UmyLtLOWY!R=o$xMPj!hsl*d8P)7&!Gt;ccjQ>Nr{DESl{(i$+B>%2Abtz2-t zy^_m`=IiW^TLTU7SXcuMa6R5T;-0W3Ud2<;Ub(6Ny5Zj8?JIjXZQ8tH z<;d`cl^Zs1+SIpUw14x^$ja+Rhx__g-qgEgW#7=~@b(qMBSBCKt_^}br@t?lrg%_l<5F9_riZdWT%!@bKngw{58J)-7O1-^NYb4OSFkFDR_N}-%@`4LtD0uj%?XB z+;?+--z`I%hqm-?@4aqQUv>$8GAq(y zJO3T7-<|Ky+{gQQyjPx9ei{#5-v`+HF5foVdtLvg{?YA*!+NKm$`wxM&qeMp@7dpB+Ca~mLKhU~h&>o*VgIeRhKw|(V}n{Vm^enUfj!z)*8=pDXc z^UC4A8~TCxb|ZUhi+9w5-+IEw>VoM*rf{(nb+JImm-w9_g%388{+o%TH+Q^uVGz>+shx~$l z{@vM4zTOMCs(lx8oyqk=^@wX@{$JvIji2H16z?mIyeI?2PkKOX+q7wTTVL;{kv>nm zd}{R8$yKzhf1>MGdln7B$K5Ucqc^%T@6l=?j}n!Es#G{#tzW)aW34zU19y zrwt}*u6-&T`7_+Xa**tnDxk|Ulk=k2xSe3Eibq24TK4chw5 ztMkm{IZEDytHw@aAskhkYoAZzxfYL3=2`!QH>wBTGRAjfjQ!Y;gT>a$4{KZh^U4no z(zZ7uKjh!#@L ziPfY_4!fl9*1GZ*k#@!CjeWyh9lyMu#oRBcdDdKB``pE|(puU3+|Bhgey8(W#&0>l z75u{Nx3b|`a+K2E&9{>2&fxbpe!4%CpW~PF(6=`{OI}vm7~ihpdNx1Rt9#X(!G>&D*UUZkwy4UY7@U*~Xd(=^xG^mBQ>V&lfk`i5>8y)i4~eI`lyqziA_GP*qneE$vo zqgQSox#H%&;p;bTzU3$SZpd%1=^NghgWfpeAeGhDa~}1a&oAdQ?`U{_C(lZ|wxbkW zz;!J@^)Kb8{`K$^jMblaH9WsNOS^|}FXa9rei!r8{U!X?@pJt0Z)>0PZ@-y+`yTSu zetRj;m+`xt-%s$ng5Q<=-plVN`Mrif zlj{>C9ekPTv)^O6+bD>->o;!$Sp7rUOXQC0_-J(VX157htB*T(J=w@Gs^?KBfu$zb z$W6@q$INxh=53oK*14ZyoTzWuAy_T92bD#;oA_xiEM`B!YA!H2k>6r|tN5MAPqd&p zLD&5E?#@y$!0$u+4)OaFe%JTiLLc(^P;KuW9`4;9TsET=XdZq)zZ}H?H5GFWeN*SFeB6683)D<%Uw>2Y zP%j9h29Jt}vl5JOvmT54`To|58^N#5ESc;KX^y~SDFC>~_nEt`j+tC6}2_3mdYHHo0#Ri*FpGFNV>r>6MHpI+rz!Rz@9w(&mW z8n5Rg&sAQ}7sidQG{*FLKC3V;6O)W>T`I2iddkQ+-1{;H_wK$e8G~E5@%0pAys$^C z@CxIEZ??RgXQnkQ^K#EI!2n~JucvvQxvrCfWvb6A=;_=Cs|Z?ytLmGoW#&|o>rZ^^cD8@8 zy|xW?^T+?^CQlFNnwfM;dFK3CrQkY#xAFTlzpwB^?a{Y&8xjP<(nk2b{)PM`J9&MT z*B@O4kE`-6$qV)QXOTbGHF>=#s%hz-&^T=y8t&`eaHG_OZUcJka}k?tHRP_KUZg`- zOE;cSGCBHC^_Rt{}mKYAmTZyYh*FLh`>)tX~Azw7zw zpZa?PKlQiTM-xu^Hu|mxH!36llvjPNeeQ2~9^lzeC>g#tVDcO7Bhv7+_J|slZLoh{ zz0TH;qf~j)w|jY5vcpz>!~94F58jx*TY5eH6I{0Od-Hwsv#7>v(}`2)yE9?vCm5@n zsV|p-67I8Cb?fNbJZ19aGEZ&#sibQiU7NOuw0s?1o4%OzOjKv_(#PuK+H0?z@AaJP zxe5+Bc4Jjx@#&Vi+&3cFSc#AaY>j%($m^yv+8LN$)MY}?U;JO7~NA{`M%icHjZ*=c;K$!MD#k)4HZxr`( z-qF8#rHnnsE1siFt&zXaZvnsU`~)-M+t2X(S$=}|8?AE#h6vBF82-MM#%$ElpI%t9 zwfN!4>rV3LBRp$OF@^n37QcQLgXl-rU#BHEw#%-e?l;=9DwnBJVi5e0b_pJLwD@&$ z{(M*Vyn}Z+e0Flbi{EYhey%3{4(@kn>2H+ZjPt$z30Lpr_g41u>6515H?JAseYdO! z9lL2$Ud~vPw?TY}v|K;5hx@(!{tG|Zb|l@&KD7m_B0Rv1x^JGEdWW{(xcL^Nq_fX5 zG&6$|2=?H~C0n=tCUhkGM^5wSI_$Wol*|U&-u|v$RF^1Lwx8SH-p=f`VbE0?d+z%h zp4+eBJMpXc@w2pFHor9$k02bamo{vDKO)cip}r9`EXKDMQjhcj=kb%w@z&JmJGzgu z)z2;nuaoOOe&SF1eYoNI=XvfO9hI_98nuDVXs+Prn-R!z*9NbB0f%9%+eZ3-rtjQy zFHf(oVYKf^-W;E;<19euO3J&0cKsH=krV*fz9vFujhsoX=MmHRhOc73A=x&6ympN&Cym66^5%iWv6Q`P-_ z!^b?vIfr97rjsaSo+(9CW-=yZo-)t#kW`9LDHRn8C5oa!gOWm2nve!1MI|(-l;QcU zy`6G(UH|)jp67b+_w#w*Q$K5c*R=Oud+jxT*Kb9I2Kt03VSlmWAR`G~aJUgv4WQ}O z*)9tWHL>XPC<1@CnBps{?1i;!s0?t3cK4cV>a23L$DMXXm*;q6;3p0rH-Z$X| z_zQwRbZxMC+qr&(1w;ZL_!)S6N5En^As_6JFPQ8Bb5%f`kN1jrSobFU#cwb8Va{;T zxp4}>-5$!*iqO!Yx$gVG-4>e~{%bn>>DMs8W>5cejRW9^IoqMZCO%MrY^9-(40=gH zKK~Oh3PwOMGKoMh=^o?_`eYY_sDRjq_w@P9vZfgk8&P$pJ37$-M1Nr-Y5V|4516 z8T|cu{QGRdrgs%QqkVmSA{3MrRg@KRQUeg8AY+E$dEMdpPJ-}*$jiw7s?MFH@viT> zS*)IPApf^r&vJ;1eyAK)fc*QW9Diz5=d6|aYuEGtHtpZTil_*sFx22jgrM~6 zAbqsNM`gvo-MM%^xYIGuAN~jmS@hXrZ1PpyvDsuh|90fAYcB*M5zF-F4l6+vVL6jmO>f?@r0Tov`ZlSDZgm zlXRyK^??Q8fd;^yqIBRjerPuN(wFZ3u(f`c+_Z%?Uf3*#vKJ=bht^ zWh}}F>}A885%^_57$TVYV4~}Vz_Qi9Zyqp8;@>Ay=;J@QP8D3w1I%x5(fM=mPr#_Y zr28{MV?5U%h}BrVPWR^pEKe|a(+gegJ(MxTZh)VZK4uV{a8o}QH#4u}=7#T>nUx(hJV=k{%6(%gy}SAaPbW2}YD(tK(#nEJ1aluN8S;|=598SP}0k(bM&t<+#rJ@=*BZY5*J^g#IIZ7VmDC6opi zU0pf9`^}FRDqmK<%P!V&S|+ev`>VxFi@t14XEQEyx&BesOV4;v zn5y-|HNx1V_(gNvc)4+WtI*f3(@%}flkYm+93`0?axok`7r4sgrkdSw8EcY>OL5(q zMH#gwk*y`gDz9Igno^`*9b)FfY#lX5{-pyu??gu|wBu|(HpJxs!d8%Y? z^towZ;H{TArRKBP`hk7sB1K_k(PDSacY6444TxZ}7@t`FmdQ%nBI0}Qt7gv-i`74M zcrH$rS_mh!-jluDZE<*??y9J&d6wRX2TrtRt+3Q$C(;G>)^0z?){IVWw-!05xtsF*soNNe=kPNVCagycW4Lock)^ow< zZRrCWDNC8gBU$XW)gGTtW}jSU%bo1_K~N#m*2<-N$n|@Lt=E|z&*-nuY{kP`Tsa!Z zcGBiL^;!O_?Gz7hEj_s+*)I8dzI3(8X*-uM6CpxR-`GWlpWiONThxAN)fs`$PuAF% z3b{WWwb^2SOFZtuiNTBZ%lQ_2w}*YS=jqYVo9>WyAX{$g(9?HzXeZu3ypVmT!*u@5 z)yk$f9Q1V0J6$UJ;ovL9cYeG?*)i>d;KImT-i|MZ4vz9p?RU(sZ5o$d*6BFvsuo#i z!Mrw5gOE4hLuc)c6@)JV7ed!wlugs_e{f{2oO#SOZ$1Acd)~SjqPZ-ChuS=0i z(h{MZTX#sonZ>hrcwPGBTEk>^N#`R=l=6$VJ2+=^F1cW+knLRXrrFlC=$f-0?d*^X z(^qGUW3MFDGZwojo7~w`tm@&C^u*wzaq1oyXB+Z6YTqrF_(-$+VeJH0N9*UT7Srmk z!2^4YU+8UcZ9eI$P~}_f8cnU&c1(NdO7`ey4KC(betv|KbT2W&MpPTcgf%x<=W4DO+u0lt$Q`{Dv(H(s)c*gCc8%JQ@ zvq85H=h{~~J`!{PVskjlq0Gj;cF|VFD$A|#b;#&CN?vwnEO5$*(fH(keKJ(~Vbem7 zFF)HAw?(>m#3e7ktkJsDqst{%-ca|Z2eSjCM=~*`PPV1N|i`U)K*DGyOb-k`_J{7n-H_S`buW(h|nWJ9Q`YYBt zym;(&*kAUWhCI>xX4B^=LoFlkxHHN&{43+V9bR1Wb=rH%Ta#P!#kb3^ybW^=d!nm_ zeE1{nEFbh(`V6;xA!e-Jspu?)R<-lD^z`PM___bo9;L z=r%C3VTbQT&Bc*E&n92(gB#uz{QT;>#far~a)Z3zL(>JPa=v)@Z4(<_cRGBp-+QTw zkK#NXetfa)jt?>!{JZmS$+N%L@SmqUrFF|E(BIf-+VhY^iT}Dsmw#^dd*okhTAko` zjWghsWmVOS^ZEhnJiEJv2BQK#>fWB$N2?6zGAj1ZvU?H0?a;d7WB~t$+`xnf!WkwT zB3Ye`X|Gc^upiY@P#-eTZMR|4g{L)W)6eh$>o-JJ1(Aii4)axm-&?I{J8|4M_|2C{RvUWMydnCf0g(&xBAt zvQ+rWd?M>?>4SJ5#=@0 zq*}}UGHPjKWa=|3N;KCg>%NCaOr!mRcX9cYr$t|7kF}h>TNnND7JvT~)4S-dY4hro z6||V_WyNd7ZS7)|EL%rj`)!N4=#j9Y?^xz`JV(!YshHd((V8`SZ zyHNFV5x?i|*qW5#>-%+EV_gmns_UCf$4)d6=eK@PjXVF@PFDB0UtF1T<(bUg2jl$K zn}%s5-H&7V>e8`7ge^W@Eh?3-e`&l*@i8Uyc@gn?t-F>S&MS|%NQmWZQGXgAR<+%C zvY3>R?WmBpgkx1gXtlQc_N>GNpP&Uvnp(99sjKBhm^Z&pSnu?0{>nGh#3u#18t?B~ zC*IfF#`uP5bK6c}W5FYTz!fWKO;LHLS7wlFhSaU0U<+B-eb~ zuQMgelu{H;$Xq(0mBO@}P-*roIHliN-_)wIG^ID9Q}mTxcS>F^^MHulywrxr=^<-$ zSES13Ex7f%H6~Rps%oi3VpVE!>-){0J6@*#kM%8Q7wOow@VSvv2IzM~r;Uy)0HZkv zI=&7V%{|g_D`2%bxC8LAIru(cL}jCgU&4sbzcBnaKQt;Zs2hXcDFaw~K7!=}BRvuN zI^xX#;g7(8&V6QOW9OKS$jQY$kB9d^r}E$V|L2(hulT@74vpquXh$F%gG{DRm>dUt zB?y`@K|jdB!(Si=@5#{)?ElM8m~wLU%LM-4f1XRRZro#-6*Tzs_{aMep2WQmIs7Gq z;u6Z_4MpGgYf?`bhHMcToAAgO^M93D|D9h_bFH??=axFn9Utn8zuhEmSg_+Nk4^bj zN8?kM4t(mSW?FUomKmHs+^3VR+@BLqVJjy~tYJ`ib2`6k;SiT1=_tpV_Kp50yUsOS z?ta{tB=SzTqE!9E$LDT)yyIV{PEjtlZXWtNwkTDY^iE;p{sPkXd0qNf>bQNHHpZCv zH%W``4u7t;FE8vJL*e3*Erl5ZhSySLUzC5IUr2EnJameQtfisCd%Jscz~W2WdJ0b8 z7oEskx4gSgYyP&q4_B=k=Mnr7Y22~$joV=H3B&vMTqDS?TjnJ!)$=V=ueyKMs%?{4 z?V;{`uLAKkt_xP|;w~u?yk-{vEWIzKH`%I?hqLY#*}ux!^WHvhxxKH~3leEM;} z_j6@?sLKQ!bQ4N0Ij@UQRM?$iL}_37Q?ZqL>(t4dtnDifGLcqt?5ZvQ_Vl#rKwRa) zpV}hKB?i~t?@AsI*`#1!tJFeas`K;P7VX`B9V7A{fu`F`;*R4QcP{b;ztR;uae{%1 zNvKM0agS2Wb}LUohi&Sij4v)-wCDTW9Ku~s-gfLmZD&Wzu2J#x4^0zB#Ml}fbM!eM zJo#j{n;81@qabT*UpV2>v83@(-rlv7i}<>@ec!5GtoU)!{IqP2d$~BNJ7cTtq|KhT zBRO_l)XhRXRh{=6+KyGSZR&{$J$aDtRTWiy{nOrOW%sT+p04qfu-a~HW>#aIvc}** zRnAor;m0Kp9zAjjZtuPQ(xFUEfIo5L(^yiX`XUS1S2R8L1FLR&W+sJ)SW$&ad zb!E`kA!_76g}PqF7o#a&${~mEw*4|t{Vy-6FnVwTwr?Q@m}$h^&Vp5ICW^{ z(U!Z$mY3E#_dYB4*-4=VZVGz*Al$3E|D~XWxB=-l>2S5o7SY4T%uJuXy$VIRo(NsB z4Xk<1dQc-*>@7v0l(M>=ciZQ8fu=hn252WpT9?A(%%7Y$T2(2M5zMes)XnSK%`Qp{ z6N|kG)0G1U1%%(;4qW+MTT?5REnxbjAo-esz^YQOYYuDIM(`BWeiFUocjDegQHH*F zzVUE!j*MX0u)V<@0rgamr+L?SdbW^5Ry$}UOVNB7TL%3HvX6>M>%@Ii7E61_5Ojei z)_qnmwH@+V{7T+W~c2>`Bb$|Tv7hPg=ntiR6}=LBj@eL zLTeX1ZTa>{dH-GED{E zC7dF@CZvVart$UN_59S$8}D(a^?qat<=LO{*o-*-&_A7@&}`K;@ajwPIGMUQ_5(xZ z{(#4%bE4nQe0#!w>Be@3O#YGTs9iNTTqaHt z%2>rRmMYJ0{%-Y&Q#T1OiCQf8viC0_u70+BrTJ06JA+b>>Q?987iO*PIN0^prbpu3 zv+IW=j`3?R;xt=1@+4kZJ|#f7X$#S*=QyeKm78qtDrMeW&2VZ0-^GfJqGuY)0zdck ztY1V?I=*N4z$+QgHQRElUziOO1*1n_eADJRIK*Rq>Od8rNW7dAb+oH`3fngdg}i4a?vKy;dARGy}U(xwtKHoRjXkT9CM@8*Pn%tb5mhX zlM_Rg)0<~`&5OxLm~`9(nZMqtYC1AWeMlDDRHR^D6|g?ya-rxgW5X4KMX$DZZL<>^ zpXwK2XA3AK-()#)nb&T|h*IE3?w+U{VsP5cbVN+|m2AmtVXNfs2{K=@Y?rw~p6Rmm z+Yxwi9$)c9a$MAsHSJOMk<=~q zj*J8^b*FEsjvat9mEuhx>72v>Mkmfs=a6t?}Yh2w-!%a_Z^Yo2wbCVVbgzO3p8 zAJ>Rd+mPawnd|3^RHx#ZV9BKJ%+Q{prK;QPe~ zH{U5fS2I#0Q=HmF?CI31vyxgux%EzuXTh_#e zTa47TKaPl#B@H>g?Hal=lvra|m7B36T7_w0fO1 z4G9~0yNl$zp=Xiyym_pGBvY!Op}6S#`PIYnNA&{9Q6Y)sq7(rKOUKJ&qSKjAT-Ht+ zyqYF0FqQVK%in9@=CQ+Flcins?L)C4*~$}sse^hJ-#gg_w>}f3U7YW5LG^-n_e5kc zxol6i@8W<3P4BMherg&{6cc;iCBCg8{mw;oPiIEQy@EnQeP(Q)8fBAT>-rh0o|BzE zd&l<_WiHA8xK&G&PeuIY_@*RkH*xnhwJbukm`;SfhVKy~;RtQHZc+%hfg&vj;a?PNpBUZR5LLcjWep zw0A8n~zBx%@bY5IR8l$+xb3y-9xs**7Ho;8R{tCSlosEeh#eQui#|oD3pEv zUF%GO&EzHxV)rxdV>?$U=Qy30JGWbBRG80} zQz=N=ae^DKob7N$4_(t&7tA zNQJvxMfDrg?edzlt9)j-R|`CJwGPSc%Dq*wo@Gr(*nN_1 z+nHBpj>1Ndr$Q{N2RDfx*ZrE#5x<)0Wr1|r_Tjq%4L_UxAG!zKO^eTX7c#b-EH}Z% zvsFFe^?~sRL^G( zFR#e{HKXmuH)28D{8m}(%zFi%i`_kT;Jx7XBge~16OWvXOQ|iR^-J;{XE|QF!R>zX zqJsL;1Dc1#?e5XiGgF@wNK}2Zr0hx&imgby!|Iz9Z@%DW&$Fm~d>^?O1~|hMa;pQ6 zEZS?gPGVgb!MfB*iu=lFy+j<5B1~C%;PFO&v9Re+-%d|FCi2H_NaQax6udg^d{ag- zaUSuL;jRzOET1}V$#e1~FFqyQRK#p`h50Bc^1XwXFZWlz->T;9E9pEMg$Kt3^cyg@prs^IA%KJlP(65oxrl8ZT# z6B-q!&$q?viN<^5}4EcQ45=5V$dNnahbfJ;=ewF=+9OOxCTPT}`*38rn$Sl6~~%JHf+s-Lk8; z9jqu43kicl2w&rxQQ-%Pwk3MbF5s$7dH?rLQKgERk8CD_7%+&pvmQQ>niau?#rfKt;&g+ngGQAP%v-=%yo!V9LB}X~7el6MH zl))<*`L$`k(B89bLEi^Qsx=?ijqlVr$>-q6{o?cT6cefO2FXp5$r3B8y3D`Mct3ob zw`a(INLl#awm7}-Gn))YB8@)S(iZVYmFzCK*->=&V=mK2UJD7L4dVsrqpLkqMbEGd zrJigT=GAC9_x8R;hk(ny;hB%6{EzeQyUpk2(j(XOE>Lq$Cte%0-tTXA!o&KE9P8%A z8>oI4^!Xb~B`x(`>;pGknoqIKCp^m^vgEpLVsvSwZIHO;1EFy|?1#?T*j5 zmY^`CcmI~410_@;e1%8nf!6I?RF1LpNlFTxvfSWrv9q^Q&q_Z^e5fw|)3Qw4qrE3H zy_XYQg|@nS$jk&ieS30kuyx1&WWJ+&{O9?cbU!|@!9+Y#5zlPjpNC;HkF*}>r?%n zB}^%E_(q#9DH{BA+PrBZl)qApJaI-v#PotpZdhTy6Y<%ev)6{}*Bg${d!2UUgACR5 z`FaM&^{+LWkBa#*XMNy*R4c?#m2$2*KrF?kll=-&^6a|8_yXw?UM1yoXDZsL8`o1z zJgUxFJYM_xdy_;6rO?cXZR3KQ-PJF~cWb75F}f<0<{%kMcJJn(=f zbf;WODt^`1V?GsCrj!^9zT~62#W{MHqe9CPVly53#l5ZfyjiB=?V5e==M7eJz0kSx z%J=O%&YFhF@4Xku)6D01w35sxAVs3C9vdPH7EAQK9pQOuw5gXr=(FvLK6Bx;`HekE z2O0Yf7swj=r|R*mZB$K|O7^$Z6oqcIstWP^9qYV3ZThB{Z(cByT{9$nldGaU_MsZP z%Ketmt-Tlc138ApZ^piQRvF}Nh_Yubx1QWsYGh!)Qslu-oysPhHxLr(k z-(RbuLpfP5nz_^bPMAgXo9ab5KZyPI`Q`Q1uc)UkhM90D%ZUud8g6cOe4F^ma|fGV z!9~i}2@U2A@mt$+>N#1x`#eeEO_x}Sxn#>5N+ zB$`VuiHqNK8{y@3*in0%dC2;>O@Jra zBs}sJE%!97Cx(T82{}oTH+?fpVamJPP9K-pE*86WrHtW_)~WW9?$uwEp4tnR?8{I$ zn^?=ySQT_VTi^s4&U`s^4JN6H1cThe$ifeEt(ZlaU~m#y81*Fx23Ig!CLh7z4rbdR zL@;=UY)okx;sk>an6;A({!^GWqg#+*u%j3S@VPAp$5bOLGcYUQf>oFu*cA}u5@rX6 z1%zowb{0glfIv?$fVdU{1cUb&K!giXg24|2STWiKiD0n31R;!k0RazS2%}(#5DY3Y zgb^_y!F%73{Q0X{752J1T3V%Tz zqi-OBD*EXUGGH_gw7&`cGL>;U2R(dc5>D%w4WIV#$y>ZM1x>y!^+pw&OHC!zpTh zIDJLB0$ z+&9JPFJ#Y$1xKE_R&Eu;X)uC`ZOPpBPXF?x((Q-CWV_XsosK3rU54CxPB1bkI=Wh9mNwH+_AIyM z{{4NPIDJMmf9tyom#%L*?26N9Nb#~hLnrFI+3G16okpNLGNr%krJji-POA~|WzV%( zSbZ~id>=-yA*J2=^dfYvcAF|rv!T$El^$n>Y)PD1kI`+Y>L)Mz39_hHyWzAO;x*xF z16S6K`?PTS4Mo*mXxEq3B`G%&Fd7b3VyV@W?;TR17lSZ54sj9J0 z51i*_=MUKP!VIVHNaTEG+g#=08k8%F(RlbG#!Siu8=_X9S%A@bgmQzP<{lhcBV1gC z(R#!mUw<3#sq%n#fD5Dd@ZDAS7P>gq!uQM)qxlFjtw??@J9S}gz9&Za5nExxvsiao z)VU%toc6Qp$-Vkki#4yAaQcs6tj(%dx+P`Ljc^)}*!Is{cbYR6alKE%=s@J)u^fi4 zJ|AyOeoEpSvLZn-JH|y=XEcSk~1fvTHBu~ES z_$vQeItix@iQI7|>Qk4VD%i0MqYsf*MDusjxC*C~aT*b2*Dhh^x3?MeE|V}ikx1ds z+|pXw{8a)tt%#KVLyhaX|MBi8Qy9I7vS5OcL%F{Dwhc}*qMj|h8u!5|>8dSGHzFQs z8td{8E36qx#b`(T=AWy$H<>p*?eD|rN5Z^9!-MxiC)z$_VKgKnpZK81&Gy)(Z$~gX z692x}?my05*^_l-14c^{o)(|@?xUC(Vvf_3B;3vvUYwcazF~#al=!rY(<_%RwLZH5 zrz;5=886slWj1i6N*$vui7%d~d6{%7 z?+e4}OyW;lZ`ynlV0ZJyX-#Cl#JENEqPM=L&eEH@_dA65A4&S+hSQwH7Sg)51i!ic zy-)?CJCT)-Weu^rGkjyjX-|Sncb$~vI)ANh(?N{>BCq_S6$dA*mgg@?DStuuKvdrvglGBFw$+xiqCe}-)Xqw^e~EkAz4{2 z%4bvE1B@mn!d}9){(!&4eQTU9Ml{`)Gk$eN1*;EE8>1Xt{7E&OZ;kPlI~aY8y281; zabcC}2ThztMkK4=4pnwcJ(i(@(aHD=Qm$rA${)V}dJ3bJ35#2;?G{Tqa^%z@oL=_E zQ_(`&IXl}Kr;Sr>Tj1YwoRc*)|+Gv=pPOk*BU-e0k=?V4fsSTN9kBlj|+sJ6~fl zPG1ufuU(fZHLcE&h|}1}KCa=F)q3gI9&2HAHi5>vc@*K>{VJWCF+6@rK<`O zr4KNA8%d)+V&4+wiSq547|l%}-7`1EH0hjm^*fC2Cc5*WaPGj7N#OZGoHP(HN?n)2z6>u7y$P1>%*rKUT#!GQJ9I2=IMA!l4 zXKT4%%x`7G=yiPat|jq@@~)L@;J|2hLe?J(ADi-x)XB`!?e51gwDNTDhwoRyXm@;D z9x^15XPj=Q;`BSAV#f6X0u948O#c6wD zc18@w$LjnnN*K zA89D-bthYW#>sjvjNT{kYDD~oNxwApNDfBx6S1&Y6A7ty9FxZBexwpPLTTH+;Gj^P z_D3<%NaLKG&RlJV)Bi*)=jUy4JzUS7yBMbdmdL6Psk6Ph8-ddSDV*vCl8kLnHu2)L zK=im|3jj(R4Es&XcrHu|G)PI)u>)CE7a0s>rXe z*V^Hd%kcWAs9yC3{EYKTw+N`Ei<|_-irB(mIR%^~3!b-H>m+57lgb z$xMI66O48!cy{{5!GLXzPj=d1^g}U~!&Qv^^^UTI4=@@cdHSZ~rgcZEKX1&$=!k-s z&nrl&aPJQ*t;A@FVllgm&K|08+fv4f(G$sb=MBBL?EE%piPIDX0?O^C2BXJIO4Bg9 zqA0_V-E>WWPMHr*TO=_`zS9$H-pZ4T(-#HOE4_C})yv*Lv>Br@itK#1zDJX^&TtbS zMrR~xmc`^`>`~_T#%Ya|O_uzpUpFijPR8ktBIH{0+`C_HDDmJlN0P%ciAbi1a~JO| z!Rd}w4+pI>EX(9>a$>Yc>idDQTJoBT-iy8%{gJp(Jb1mM^qPAca2h0kjSstKbx7If z&0`oHlA5#phJn1#)<|2N7D)`x)wGFS7GOP;h0!DVE!CPAQgSwV_bXyFNnuI-=&%Ff zN2d-nV01|dim}NSLd%xt#rzm;l8<`eNyXJT8G$w@j6Nw;l6L>z*xu95OK=*cgm>P8 zO%8{wgr#vhC0|O^@PgsZN8C=H!f2I32X_w2`}t*m+wY9gE5#Wv5|fIrp3~LGX_n;c zZ}|&bYkW-d&S7**K{ct~Yd=IAouhEtrC70p%mvX1#|!>A{gP}P6ft-N){|D?G)%#D zY*sJLOZS!R-iXmLMfZ8%;|}wgF`87yXqn_ImsyA%%a%JV!ReU-iVAG}sXTWVZ#Tzi znxcA189}@O9?o5%I9=1cuxz#Mb)8S`Sr~0oK!Pz>SVp~dNJ8knRM5Ah!cI7SRGe>= zTyTWSR&(wYMkD3xsq9WNf5~1{R*2C_1#|YyD>^L9#gxm4(MrYQlQXX|jlJ>M{}Q8@ zlDmuE)iPJPH_SZ7Xr_YmjC`K6bbmjViqlQSGEHYHy|xs#S>d!(vYc4so=HE(ORr=w z`l&$Ffa1lU3`{3PaT=;1L z55u6gfU~T~ScK zwN$lL;Q$LY6*W~gH8piL4K++Lma3MTmb#XPmZp}LmbR9T zHk^#1t*Wi2t*))1t*Nc0t*x!21GlIHm)C)$bs(A!astf<|5~qpSOnVf2RiQ+(B`{H zv=?1fQ5DmufbT{34u}ar`anTN38wp%K$!N%chf1yDH968?gbNI3qgQ9j0qS7ub@!a zsEGC`#=sVSZ`$k*!x$gXjt?6fJ$%tNeNWh>=|}U92n`GK@%|k*Jq@J*id)h!BaMLm z5eR8nI7ZjNY#V3YIdJ#1?GOn4kj4k}1NSs!!cIfXg!s6L9Kmf{8g4SpnvAn1ZV=Kq zXDzew)9BYrn+-?54|Y7=w159H0)4!^JOa@>P}G?73JhowNZAnRbd3hJ)P6t$N4W!rN?nTC@%3OVhUJC2>3w`CbRoze{X_C zdp*NKBcUuHmDmpx3DT#qnp430wTBcgq*FrDJKJ;Wy#eFtb`FB}y?SJ(%Ngps!7 z*(lht8uWm(+u?D&5wie~3<+W(VKXZzo`Q>odB9%ee_u%c@g$5{eLMsUe)4&bA7xYt9CJ=6dNq?s;U~dJP>(&PN*TDd2 zXEHtOekoL*>-aluy#QRZ%3tC_cK;W3kPKD1?UKoBw)gSzPuH>3{9A2x8qc0gR=@iDjo4!F*LiVky8^ynUOzoY+( ze-h%OXQLmWL|3eaDP#=tNQiesN>h4`0Y9Xn80=_q6*#9S3Y32b4?~(Vkd_n(%3JqQV$509v~!*2MDg&%batZ)&bs<|&#KQrB^WM1M<~dw>TRg{ zaE;zHZ_pm-8G*Fc(82=3d}eRoBM5EWiHCjdpm1SM9?vRON3RM?4JuZou_iPk9hQYFQ(Z#&6L09_-^C5FI?nFDNuL34SuU^nnfn?0ye z!juxzJfkDyed0iO0i0O`cZh{TZr+eLC{Mj2LL(y;yy5&LFVLTW9uA%#bhsleL7*BR zRHesb&Y(93*Cv5dK)#?OKN@Lc2VW>V*o8ww{CF;r8mAyhe z@g2gVZ+H)gD#+4V&6&$a8!zLJO2aBmye@$j1-g%*^+i%#u=ei|Vg!lV1jf=UT3^vovE%Y@wi{)2v+E@2n=qkH*XCL^Pa7`bJsvRawwe;7y!VB3)KVk0DtR13x;FaP}KxFOrYvT zH9r*AIpuBu;%h^ElwU|OA?kA=I}+5^AdKEG4+tU_ptctE&yXDn(%gakP}qeaC@n+? zK#TAwEPChYy`uDx8}dWpQJScnqIW3*g4|FTv>1=lMb|)f6b{)@`bp46WrG|9IR(-P zau=i@Kx5NHwskpfW$Sps4W;sX)|k`A&5WxG4*U`R*UyJ*z=0y1LOJv2fsqj4bqn;XDx-i>!=@aL2p;gh2?8e(1Xz0s*hk zh<|f>4Wu#mUA~>gs9d9W`wrwi$S?>!k5+?+)EwLhH=_mEZJp(uE-7}(CNyl&g26dz z*mzM@4IeQ2_<4BYCuI`0MiH^Yg!CXj`UdD2?eLw8HUGdU?@%2|4<8ElMRRZ%*ipZY z?jHem^d9LLUIPJw4zu<6KcPPh!POM@uRaoalU_5n;(9*~TH(9=NAYz*S& zX7j)GUSgE7;z^K*!RuR9h>PkZI!54g<#e@#jKPsiC$5VlLsE(#%b-=6t57N;^qjX(eOc`u+ zl&>~ASCvMKh4${3{wUDC>)u5RM&99^V;K(Out8e|*l zJfcw#^m&)iyyHV?FnWdlt%t7<~q5#*Hr1^%(&=i)@AnUO+C1Bpf zCy|y&qb2Lol;eKg>n+Gw6kahXC?;6(f9sQhE*AdH*u)bt4WXV8AGP~}Fo%|JF{ zzeH@rjE`yPk39E#!4J`Lw}p3PjwU^QyjKNB8F+(2Xdh?;P`QD@s+R{G3+Mfp?_>;8 zr(e?+E{6J*zYe$Xsp zf-v15*^!`UrQ7L#C=NY7-3^5kiG#Tk5PpzVAVMI9AjnM#L=I%xET(~}4zdtL7sM0< zg+n3+q5={G?Yh~l+X67PKukce+6b=q5rp2heFFPukS`$rq!d~|5&yR6{b;PekF{VC z9B}=qf(gKQKqN!OA91S4=Q;F#JgdWm3X=3Pr~P2%ppAv z5IVM;#pu1E{!uGPCmUQBJoM)=5fI6kpa8XF(|ayLzD6v8a4q!HmIV-sK-f51wb|Jq zSYZT?;4Yp37B3%z#D+f!lLUiijbMpBH%wK8BCVN!&uec*=-fnser#pJ+GHrN@a)kbSULFH$=nb)AS5~x z3k`>l&4!QpFT#ff;lb%)A(Q_@+MuI%_Rwy4@1UjI&DLbKn~}+C6FXaoLyw;@8=sD^ z0Y>kfj(>n1wV!m%00k2DyZ+OID?)|s1q&zW=r@_!$CE{84@AO2$}mWvrxOop{Kq_j z4E&W2%vwP@=&|P}^DCXW*>vdXa>D(gbm^Gu56t}s4hJkXCp;SCI?lnH0Hf!nr{@EB zZhn{nmYn0y19!+tdRw=l11+lCz)r^^@45V^mm$coZLIfjbX<-XI_C41ov^Ok7`UU z#c zFq~25nJg7l^`v3S8^d3F-R7dl?>3j@dPLU0hik;|-nl8d{ z?)lf}4`1#p&z(Ms;r!&N%)4&KzaO8j!tmX~W4XJ-j4m`!*I_u2!rSL*6%1&M274?5lj{=WI6k>B zBw;vK=vjQpfL&cILk5PMZWKE2+Ty%r7eh9N^<4M1-mukZtzyW>@R{O*A1-xrds-NZ zF#O7`c>m?YtDe7PIErEEY@H|SO@(EX3{@C*IlS*k#DSY%1sLlveCNtrJKM&m=TsOk zVYuHw@{{1_$xL&`W(=3bxjZPmL+kKm?7(oJ?fk^g>jd^~WPFHWU1f=ar}f4Cg^W)z zy!Xs27u$P}kDX;4!0=L|ildK{3V(Jo4r7>TbhN_UJm%ti#xEGA7U`cI%{h_9$~1{# z`3%Q$;;2L?jfolRAJFZsvh(fhqr}1`OsM`N5Dsz|mHaFu4%##Eh=0Fu$>kNgl(wGe+x`iu`h}GNG{#=;A-0U35@T?O`v| zQVbs#c~!UTiSVIuCL;_#j_qp*Y25psm)RV{|JV!pTPy1q5fB-TbxE#f;4=cra4iZ5 z9Ulifs%`1G@(+CC4}5YK|EJaq#tnE|Lt9FdQK2neO4C%4os<5lKhi_34I0VNua9bb z)Oymf{vWvdkNBuG{c|fgA2r|5Y+`FBXmagWnol9ke~vTT^_X+(^!s==8;6dc&tfpJ zSxRp(hoB2iTtpxgZ($(luiz!5?cE1c#^Wr6TL+fV__zcvaDgV99{H2E#>=6fRFc6QPMk+iT>M8tx@_1BiZUVZy zZV{loJI)PeNOW=S;XwhI{%%+f!qt`2+?`eBX=<9T?yw4gpXLnD?2(Bd)%Ume3WJu} zMFm+!MP(ILHFXV5Eo~hSPcLsD->6VG>{Mu7NE)t+=pbkb%Rj)+pC$wO8xR~F43~nB zp$pPSvr2zUA5Cv4!77=5D0ZG7`!;+vDHRGjdKaj?qn|T#T-WuYPpxeggYY@f*f(rp?JNUg6gGq)ora+iy z1$Ei<^ycfqAQAe{b4C^Ju(${_KM{}xQSP&gP;j6oa@D1A;_kXMLLa1wRuM+Q6a;_m8Fm_@9%qBubHe1x_g%bCHc?Vh~Iz0}RQz)D0tU>l{y!=tY{GA3; zt&bO0b8tuHf$opT$NjJ?!3sYVNi-t~kuX3Af;a*YCml@moy{I21q&E3kvSU`yA4#Y z%#!HnA2c@42yu!buF8KEH#!WZ_Lpc+A&&fih!Yh-`-d3N#_hmovi}>^p#S6E1cNO_ z&@oqI{4ak@fBcxy59Ucw)NMk4`@;TM(K5;*Vl%Zi&|soEXD&wdCmpY3#rsus9Qg;1 zn#BZXmWY$JEYwJ*X9AU6--oLbbyJ<)l)E0 zJ&ZBh@UlTC{&`?i+<1iwCloHBp_#HsC_s^L#s-ZhgD=I)qQdM>Amrlg0xmGo3XBSv z>|pAE3Ag*}Iw*y|)YP-l>GAy`JSw~N`})T`o$Z6{gRtm(WPt}jYFp5X34xV?fr){ck%f(ok)54`k&}gsk%yVcKw>1b z@R9f#D2#%P!t+E~#MmVmq!>0Z2Qr>ws%5;yc$e`W<3sL899@jvjJ*smSY9#?G7mA1 z(8id*GyY)u$-up6$udi;+(U;BCuZ&5TY9=-OD!uKho;^#htHk&nE8b?wHzE%D^H%f ztnq@pbz9CM=6O6MvaE`_?#fjrrj}OTJ}zg^iHNeXb8_(uYU=17JKpn{Lo09RF*eR6 z%X|ZJcacKf8b?Ogd48Fkv9&u;sHn6^#{OV&$&sTK$Eq7HHM4SYQ^a(auUu1J(Q&(& zO_(Yvy=?j5@aW8qo6NKY(hFtOv~`V5&8=HoMkbK5i^fmS|zI#vlO!oyE>Pp;YKYE z0Zw+IB`bB9yx2LE1z6@YiLfx}Ycrd%C^2)gaj@yr7BO>kXfo-tP}!Kd*{n^p)aI$N zDYA2JTxesqm|aeQx=@r~ki!x#U^Gvdjg!@webN7_>sWxRDz5kJ?%lojzWaWGynJ8s zl0wMuy}W!T$x8wRG`|`{05J^-|MRzws2l1FI5e` zn1kw~sw2Z(rByXW z)S($XB#dxjoG7J<_k%OfKJZ*uzs-8@$=V0(gF%;P+e?wEk+&itk;$5Qno((_t1}|6 zG(M3U_B z(Jbn>1t7?BNgljN4v?4FLG54UhI*6SqLcbBfA;X^q344QKia%yd*YuQ&UgciK zXU|Q1J@DA(efy6cKXG#G{O8rXe)Id$(_=Mtiy9hNwmh+Q+pBN9dHlDdC(pS(F-^_a zzqvJOt@+6p^eb{_xeUNjw`RH8Rd3cWViZyTgYZ)A9ktMxb5$IXptUno@xDBvp!Uf*ivfn zVy#j$d7mwbE@zFpH4vL!~M!8;_Mxe@+Odvt9N`hc$Q!39BdwVrZ^zkOJ2$+v#* z_)??bd(7C|zJ0i0@x2sGJ7_CAuzsog3{JH%QX0?vWu(!kTxpzujmz;obD{Y0agN|0s%^n&7j&Xn69Vi9kd)A5E75g` zWuT)9R|IMWcsAn`y*2z50hI9wo!P_W6giU2T^cur(TkT|8fFC17gzw2Ql=MRQM@n zL(6on2! zt54w%5`}@`BlQI5d!#*%sIZg7N7*4wi?ao25Zgw`9JmWPPl$=_%7J{uN{EW>&LkRK zk!%ALE|*K1n{W}HRuzh^Wa;=G^997Oka}8a%Vis&(3yelG-xj36fl?0QbC&sCMnQS zi9rjMtVE{3ZlGH96lVcE;1E=OSCfs2kzB>Tl5jx&inMXOCXi*Cyt7L319LkmcB-oA zK(1lWqeQ@VtdD`uNas^M#R&}{!xe!Hfh8U!1+hHBu>#~dN}H?-6ztssRh2Q|P6cN+ z1?IEGcwY&S7&M^qxByKfB8fdkl_Hj>fdf1$I1#IR3ZvQqd$G)1h8z%UgwkqFDBoEP zD1?Z3!T4)v5xC^Qls|bem%Jzo_Pmbwk-`Ps>vTA@$)$XZ z;VOn`v_VTTY|z)O@9F4&01w$E+G=#*>PL5NU`x=6Krt~3y`#~I-QWH&Rj1s%yt#p* zP#}o!QS(Aw`R$=lp$|8v75IaN{@h>&e+Yfc`+GU=O$Y|^O`NmV_}kGM={var e,t,n,i,o,s,r={7965:(e,t,n)=>{"use strict";var i=n(6426),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,s,r,l,a,d,u=!1;t||(t={}),n=t.debug||!1;try{if(r=i(),l=document.createRange(),a=document.getSelection(),(d=document.createElement("span")).textContent=e,d.ariaHidden="true",d.style.all="unset",d.style.position="fixed",d.style.top=0,d.style.clip="rect(0, 0, 0, 0)",d.style.whiteSpace="pre",d.style.webkitUserSelect="text",d.style.MozUserSelect="text",d.style.msUserSelect="text",d.style.userSelect="text",d.addEventListener("copy",(function(i){if(i.stopPropagation(),t.format)if(i.preventDefault(),void 0===i.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var s=o[t.format]||o.default;window.clipboardData.setData(s,e)}else i.clipboardData.clearData(),i.clipboardData.setData(t.format,e);t.onCopy&&(i.preventDefault(),t.onCopy(i.clipboardData))})),document.body.appendChild(d),l.selectNodeContents(d),a.addRange(l),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(i){n&&console.error("unable to copy using execCommand: ",i),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(i){n&&console.error("unable to copy using clipboardData: ",i),n&&console.error("falling back to prompt"),s=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(s,e)}}finally{a&&("function"==typeof a.removeRange?a.removeRange(l):a.removeAllRanges()),d&&document.body.removeChild(d),r()}return u}},4566:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-action-bar {\n\twhite-space: nowrap;\n\theight: 100%;\n}\n\n.monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\theight: 100%;\n\twidth: 100%;\n\talign-items: center;\n}\n\n.monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-action-bar .action-item {\n\tdisplay: block;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item .icon,\n.monaco-action-bar .action-item .codicon {\n\tdisplay: block;\n}\n\n.monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 16px;\n\theight: 16px;\n}\n\n.monaco-action-bar .action-label {\n\tdisplay: flex;\n\tfont-size: 11px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n}\n\n.monaco-action-bar .action-item.disabled .action-label,\n.monaco-action-bar .action-item.disabled .action-label::before,\n.monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid #bbb;\n\tpadding-top: 1px;\n\tmargin-left: .8em;\n\tmargin-right: .8em;\n}\n\n.monaco-action-bar .action-item .action-label.separator {\n\twidth: 1px;\n\theight: 16px;\n\tmargin: 5px 4px !important;\n\tcursor: default;\n\tmin-width: 1px;\n\tpadding: 0;\n\tbackground-color: #bbb;\n}\n\n.secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item {\n\tdisplay: flex;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator {\n\tdisplay: flex;\n\talign-items: center;\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator > div {\n\twidth: 1px;\n}\n",""]);const l=r},5038:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-aria-container {\n\tposition: absolute; /* try to hide from window but not from screen readers */\n\tleft:-999em;\n}",""]);const l=r},8880:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-text-button {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\twidth: 100%;\n\tpadding: 4px;\n\tborder-radius: 2px;\n\ttext-align: center;\n\tcursor: pointer;\n\tjustify-content: center;\n\talign-items: center;\n\tborder: 1px solid var(--vscode-button-border, transparent);\n\tline-height: 18px;\n}\n\n.monaco-text-button:focus {\n\toutline-offset: 2px !important;\n}\n\n.monaco-text-button:hover {\n\ttext-decoration: none !important;\n}\n\n.monaco-button.disabled:focus,\n.monaco-button.disabled {\n\topacity: 0.4 !important;\n\tcursor: default;\n}\n\n.monaco-text-button .codicon {\n\tmargin: 0 0.2em;\n\tcolor: inherit !important;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label {\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tpadding: 0 4px;\n\toverflow: hidden;\n\theight: 28px;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label {\n\tflex-basis: 100%;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {\n\tflex-grow: 1;\n\twidth: 0;\n\toverflow: hidden;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label,\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tfont-weight: normal;\n\tfont-style: inherit;\n\tpadding: 4px 0;\n}\n\n.monaco-button-dropdown {\n\tdisplay: flex;\n\tcursor: pointer;\n}\n\n.monaco-button-dropdown.disabled {\n\tcursor: default;\n}\n\n.monaco-button-dropdown > .monaco-button:focus {\n\toutline-offset: -1px !important;\n}\n\n.monaco-button-dropdown.disabled > .monaco-button.disabled,\n.monaco-button-dropdown.disabled > .monaco-button.disabled:focus,\n.monaco-button-dropdown.disabled > .monaco-button-dropdown-separator {\n\topacity: 0.4 !important;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-text-button {\n\tborder-right-width: 0 !important;\n}\n\n.monaco-button-dropdown .monaco-button-dropdown-separator {\n\tpadding: 4px 0;\n\tcursor: default;\n}\n\n.monaco-button-dropdown .monaco-button-dropdown-separator > div {\n\theight: 100%;\n\twidth: 1px;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-dropdown-button {\n\tborder: 1px solid var(--vscode-button-border, transparent);\n\tborder-left-width: 0 !important;\n\tborder-radius: 0 2px 2px 0;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-text-button {\n\tborder-radius: 2px 0 0 2px;\n}\n\n.monaco-description-button {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tmargin: 4px 5px; /* allows button focus outline to be visible */\n}\n\n.monaco-description-button .monaco-button-description {\n\tfont-style: italic;\n\tfont-size: 11px;\n\tpadding: 4px 20px;\n}\n\n.monaco-description-button .monaco-button-label,\n.monaco-description-button .monaco-button-description {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.monaco-description-button .monaco-button-label > .codicon,\n.monaco-description-button .monaco-button-description > .codicon {\n\tmargin: 0 0.2em;\n\tcolor: inherit !important;\n}\n\n/* default color styles - based on CSS variables */\n\n.monaco-button.default-colors,\n.monaco-button-dropdown.default-colors > .monaco-button{\n\tcolor: var(--vscode-button-foreground);\n\tbackground-color: var(--vscode-button-background);\n}\n\n.monaco-button.default-colors:hover,\n.monaco-button-dropdown.default-colors > .monaco-button:hover {\n\tbackground-color: var(--vscode-button-hoverBackground);\n}\n\n.monaco-button.default-colors.secondary,\n.monaco-button-dropdown.default-colors > .monaco-button.secondary {\n\tcolor: var(--vscode-button-secondaryForeground);\n\tbackground-color: var(--vscode-button-secondaryBackground);\n}\n\n.monaco-button.default-colors.secondary:hover,\n.monaco-button-dropdown.default-colors > .monaco-button.secondary:hover {\n\tbackground-color: var(--vscode-button-secondaryHoverBackground);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator {\n\tbackground-color: var(--vscode-button-background);\n\tborder-top: 1px solid var(--vscode-button-border);\n\tborder-bottom: 1px solid var(--vscode-button-border);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button.secondary + .monaco-button-dropdown-separator {\n\tbackground-color: var(--vscode-button-secondaryBackground);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator > div {\n\tbackground-color: var(--vscode-button-separator);\n}\n",""]);const l=r},714:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.codicon-wrench-subaction {\n\topacity: 0.5;\n}\n\n@keyframes codicon-spin {\n\t100% {\n\t\ttransform:rotate(360deg);\n\t}\n}\n\n.codicon-sync.codicon-modifier-spin,\n.codicon-loading.codicon-modifier-spin,\n.codicon-gear.codicon-modifier-spin,\n.codicon-notebook-state-executing.codicon-modifier-spin {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.5s steps(30) infinite;\n}\n\n.codicon-modifier-disabled {\n\topacity: 0.4;\n}\n\n/* custom speed & easing for loading icon */\n.codicon-loading,\n.codicon-tree-item-loading::before {\n\tanimation-duration: 1s !important;\n\tanimation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;\n}\n",""]);const l=r},2171:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s),l=n(4417),a=n.n(l),d=new URL(n(6499),n.b),u=r()(o()),c=a()(d);u.push([e.id,`/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n@font-face {\n\tfont-family: "codicon";\n\tfont-display: block;\n\tsrc: url(${c}) format("truetype");\n}\n\n.codicon[class*='codicon-'] {\n\tfont: normal normal normal 16px/1 codicon;\n\tdisplay: inline-block;\n\ttext-decoration: none;\n\ttext-rendering: auto;\n\ttext-align: center;\n\ttext-transform: none;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */\n`,""]);const h=u},8970:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.context-view {\n\tposition: absolute;\n}\n\n.context-view.fixed {\n\tall: initial;\n\tfont-family: inherit;\n\tfont-size: 13px;\n\tposition: fixed;\n\tcolor: inherit;\n}\n",""]);const l=r},1684:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-count-badge {\n\tpadding: 3px 6px;\n\tborder-radius: 11px;\n\tfont-size: 11px;\n\tmin-width: 18px;\n\tmin-height: 18px;\n\tline-height: 11px;\n\tfont-weight: normal;\n\ttext-align: center;\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n}\n\n.monaco-count-badge.long {\n\tpadding: 2px 3px;\n\tborder-radius: 2px;\n\tmin-height: auto;\n\tline-height: normal;\n}\n",""]);const l=r},9862:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-dropdown {\n\theight: 100%;\n\tpadding: 0;\n}\n\n.monaco-dropdown > .dropdown-label {\n\tcursor: pointer;\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-dropdown > .dropdown-label > .action-label.disabled {\n\tcursor: default;\n}\n\n.monaco-dropdown-with-primary {\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tborder-radius: 5px;\n}\n\n.monaco-dropdown-with-primary > .action-container > .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {\n\tfont-size: 12px;\n\tpadding-left: 0px;\n\tpadding-right: 0px;\n\tline-height: 16px;\n\tmargin-left: -3px;\n}\n\n.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {\n\tdisplay: block;\n\tbackground-size: 16px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n}\n",""]);const l=r},8474:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/* ---------- Find input ---------- */\n\n.monaco-findInput {\n\tposition: relative;\n}\n\n.monaco-findInput .monaco-inputbox {\n\tfont-size: 13px;\n\twidth: 100%;\n}\n\n.monaco-findInput > .controls {\n\tposition: absolute;\n\ttop: 3px;\n\tright: 2px;\n}\n\n.vs .monaco-findInput.disabled {\n\tbackground-color: #E1E1E1;\n}\n\n/* Theming */\n.vs-dark .monaco-findInput.disabled {\n\tbackground-color: #333;\n}\n\n/* Highlighting */\n.monaco-findInput.highlight-0 .controls,\n.hc-light .monaco-findInput.highlight-0 .controls {\n\tanimation: monaco-findInput-highlight-0 100ms linear 0s;\n}\n\n.monaco-findInput.highlight-1 .controls,\n.hc-light .monaco-findInput.highlight-1 .controls {\n\tanimation: monaco-findInput-highlight-1 100ms linear 0s;\n}\n\n.hc-black .monaco-findInput.highlight-0 .controls,\n.vs-dark .monaco-findInput.highlight-0 .controls {\n\tanimation: monaco-findInput-highlight-dark-0 100ms linear 0s;\n}\n\n.hc-black .monaco-findInput.highlight-1 .controls,\n.vs-dark .monaco-findInput.highlight-1 .controls {\n\tanimation: monaco-findInput-highlight-dark-1 100ms linear 0s;\n}\n\n@keyframes monaco-findInput-highlight-0 {\n\t0% { background: rgba(253, 255, 0, 0.8); }\n\t100% { background: transparent; }\n}\n@keyframes monaco-findInput-highlight-1 {\n\t0% { background: rgba(253, 255, 0, 0.8); }\n\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\n\t99% { background: transparent; }\n}\n\n@keyframes monaco-findInput-highlight-dark-0 {\n\t0% { background: rgba(255, 255, 255, 0.44); }\n\t100% { background: transparent; }\n}\n@keyframes monaco-findInput-highlight-dark-1 {\n\t0% { background: rgba(255, 255, 255, 0.44); }\n\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\n\t99% { background: transparent; }\n}\n",""]);const l=r},8694:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-hover {\n\tcursor: default;\n\tposition: absolute;\n\toverflow: hidden;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tbox-sizing: border-box;\n\tanimation: fadein 100ms linear;\n\tline-height: 1.5em;\n\twhite-space: var(--vscode-hover-whiteSpace, normal);\n}\n\n.monaco-hover.hidden {\n\tdisplay: none;\n}\n\n.monaco-hover a:hover:not(.disabled) {\n\tcursor: pointer;\n}\n\n.monaco-hover .hover-contents:not(.html-hover-contents) {\n\tpadding: 4px 8px;\n}\n\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {\n\tmax-width: var(--vscode-hover-maxWidth, 500px);\n\tword-wrap: break-word;\n}\n\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {\n\tmin-width: 100%;\n}\n\n.monaco-hover p,\n.monaco-hover .code,\n.monaco-hover ul,\n.monaco-hover h1,\n.monaco-hover h2,\n.monaco-hover h3,\n.monaco-hover h4,\n.monaco-hover h5,\n.monaco-hover h6 {\n\tmargin: 8px 0;\n}\n\n.monaco-hover h1,\n.monaco-hover h2,\n.monaco-hover h3,\n.monaco-hover h4,\n.monaco-hover h5,\n.monaco-hover h6 {\n\tline-height: 1.1;\n}\n\n.monaco-hover code {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-hover hr {\n\tbox-sizing: border-box;\n\tborder-left: 0px;\n\tborder-right: 0px;\n\tmargin-top: 4px;\n\tmargin-bottom: -4px;\n\tmargin-left: -8px;\n\tmargin-right: -8px;\n\theight: 1px;\n}\n\n.monaco-hover p:first-child,\n.monaco-hover .code:first-child,\n.monaco-hover ul:first-child {\n\tmargin-top: 0;\n}\n\n.monaco-hover p:last-child,\n.monaco-hover .code:last-child,\n.monaco-hover ul:last-child {\n\tmargin-bottom: 0;\n}\n\n/* MarkupContent Layout */\n.monaco-hover ul {\n\tpadding-left: 20px;\n}\n.monaco-hover ol {\n\tpadding-left: 20px;\n}\n\n.monaco-hover li > p {\n\tmargin-bottom: 0;\n}\n\n.monaco-hover li > ul {\n\tmargin-top: 0;\n}\n\n.monaco-hover code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-hover .monaco-tokenized-source {\n\twhite-space: var(--vscode-hover-sourceWhiteSpace, pre-wrap);\n}\n\n.monaco-hover .hover-row.status-bar {\n\tfont-size: 12px;\n\tline-height: 22px;\n}\n\n.monaco-hover .hover-row.status-bar .info {\n\tfont-style: italic;\n\tpadding: 0px 8px;\n}\n\n.monaco-hover .hover-row.status-bar .actions {\n\tdisplay: flex;\n\tpadding: 0px 8px;\n}\n\n.monaco-hover .hover-row.status-bar .actions .action-container {\n\tmargin-right: 16px;\n\tcursor: pointer;\n}\n\n.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {\n\tpadding-right: 4px;\n}\n\n.monaco-hover .markdown-hover .hover-contents .codicon {\n\tcolor: inherit;\n\tfont-size: inherit;\n\tvertical-align: middle;\n}\n\n.monaco-hover .hover-contents a.code-link:hover,\n.monaco-hover .hover-contents a.code-link {\n\tcolor: inherit;\n}\n\n.monaco-hover .hover-contents a.code-link:before {\n\tcontent: '(';\n}\n\n.monaco-hover .hover-contents a.code-link:after {\n\tcontent: ')';\n}\n\n.monaco-hover .hover-contents a.code-link > span {\n\ttext-decoration: underline;\n\t/** Hack to force underline to show **/\n\tborder-bottom: 1px solid transparent;\n\ttext-underline-position: under;\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-hover .hover-contents a.code-link > span:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n/** Spans in markdown hovers need a margin-bottom to avoid looking cramped: https://github.com/microsoft/vscode/issues/101496 **/\n.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span {\n\tmargin-bottom: 4px;\n\tdisplay: inline-block;\n}\n\n.monaco-hover-content .action-container a {\n\t-webkit-user-select: none;\n\tuser-select: none;\n}\n\n.monaco-hover-content .action-container.disabled {\n\tpointer-events: none;\n\topacity: 0.4;\n\tcursor: default;\n}\n",""]);const l=r},8134:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* ---------- Icon label ---------- */\n\n.monaco-icon-label {\n\tdisplay: flex; /* required for icons support :before rule */\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-icon-label::before {\n\n\t/* svg icons rendered as background image */\n\tbackground-size: 16px;\n\tbackground-position: left center;\n\tbackground-repeat: no-repeat;\n\tpadding-right: 6px;\n\twidth: 16px;\n\theight: 22px;\n\tline-height: inherit !important;\n\tdisplay: inline-block;\n\n\t/* fonts icons */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tvertical-align: top;\n\n\tflex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */\n}\n\n.monaco-icon-label-container.disabled {\n\tcolor: var(--vscode-disabledForeground);\n}\n.monaco-icon-label > .monaco-icon-label-container {\n\tmin-width: 0;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tflex: 1;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {\n\tcolor: inherit;\n\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {\n\tmargin: 0 2px;\n\topacity: 0.5;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-suffix-container > .label-suffix {\n\topacity: .7;\n\twhite-space: pre;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\topacity: .7;\n\tmargin-left: 0.5em;\n\tfont-size: 0.9em;\n\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\n}\n\n.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{\n\twhite-space: nowrap\n}\n\n.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\topacity: .95;\n}\n\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\tfont-style: italic;\n}\n\n.monaco-icon-label.deprecated {\n\ttext-decoration: line-through;\n\topacity: 0.66;\n}\n\n/* make sure apply italic font style to decorations as well */\n.monaco-icon-label.italic::after {\n\tfont-style: italic;\n}\n\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\ttext-decoration: line-through;\n}\n\n.monaco-icon-label::after {\n\topacity: 0.75;\n\tfont-size: 90%;\n\tfont-weight: 600;\n\tmargin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */\n\ttext-align: center;\n}\n\n/* make sure selection color wins when a label is being selected */\n.monaco-list:focus .selected .monaco-icon-label, /* list */\n.monaco-list:focus .selected .monaco-icon-label::after\n{\n\tcolor: inherit !important;\n}\n\n.monaco-list-row.focused.selected .label-description,\n.monaco-list-row.selected .label-description {\n\topacity: .8;\n}\n",""]);const l=r},1366:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-inputbox {\n\tposition: relative;\n\tdisplay: block;\n\tpadding: 0;\n\tbox-sizing:\tborder-box;\n\tborder-radius: 2px;\n\n\t/* Customizable */\n\tfont-size: inherit;\n}\n\n.monaco-inputbox > .ibwrapper > .input,\n.monaco-inputbox > .ibwrapper > .mirror {\n\n\t/* Customizable */\n\tpadding: 4px 6px;\n}\n\n.monaco-inputbox > .ibwrapper {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-inputbox > .ibwrapper > .input {\n\tdisplay: inline-block;\n\tbox-sizing:\tborder-box;\n\twidth: 100%;\n\theight: 100%;\n\tline-height: inherit;\n\tborder: none;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tresize: none;\n\tcolor: inherit;\n}\n\n.monaco-inputbox > .ibwrapper > input {\n\ttext-overflow: ellipsis;\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input {\n\tdisplay: block;\n\tscrollbar-width: none; /* Firefox: hide scrollbars */\n\toutline: none;\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {\n\tdisplay: none; /* Chrome + Safari: hide scrollbar */\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input.empty {\n\twhite-space: nowrap;\n}\n\n.monaco-inputbox > .ibwrapper > .mirror {\n\tposition: absolute;\n\tdisplay: inline-block;\n\twidth: 100%;\n\ttop: 0;\n\tleft: 0;\n\tbox-sizing: border-box;\n\twhite-space: pre-wrap;\n\tvisibility: hidden;\n\tword-wrap: break-word;\n}\n\n/* Context view */\n\n.monaco-inputbox-container {\n\ttext-align: right;\n}\n\n.monaco-inputbox-container .monaco-inputbox-message {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\ttext-align: left;\n\twidth: 100%;\n\tbox-sizing:\tborder-box;\n\tpadding: 0.4em;\n\tfont-size: 12px;\n\tline-height: 17px;\n\tmargin-top: -1px;\n\tword-wrap: break-word;\n}\n\n/* Action bar support */\n.monaco-inputbox .monaco-action-bar {\n\tposition: absolute;\n\tright: 2px;\n\ttop: 4px;\n}\n\n.monaco-inputbox .monaco-action-bar .action-item {\n\tmargin-left: 2px;\n}\n\n.monaco-inputbox .monaco-action-bar .action-item .codicon {\n\tbackground-repeat: no-repeat;\n\twidth: 16px;\n\theight: 16px;\n}\n",""]);const l=r},5422:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-keybinding {\n\tdisplay: flex;\n\talign-items: center;\n\tline-height: 10px;\n}\n\n.monaco-keybinding > .monaco-keybinding-key {\n\tdisplay: inline-block;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n\tvertical-align: middle;\n\tfont-size: 11px;\n\tpadding: 3px 5px;\n\tmargin: 0 2px;\n}\n\n.monaco-keybinding > .monaco-keybinding-key:first-child {\n\tmargin-left: 0;\n}\n\n.monaco-keybinding > .monaco-keybinding-key:last-child {\n\tmargin-right: 0;\n}\n\n.monaco-keybinding > .monaco-keybinding-key-separator {\n\tdisplay: inline-block;\n}\n\n.monaco-keybinding > .monaco-keybinding-key-chord-separator {\n\twidth: 6px;\n}\n",""]);const l=r},7340:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-list {\n\tposition: relative;\n\theight: 100%;\n\twidth: 100%;\n\twhite-space: nowrap;\n}\n\n.monaco-list.mouse-support {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.monaco-list > .monaco-scrollable-element {\n\theight: 100%;\n}\n\n.monaco-list-rows {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-list.horizontal-scrolling .monaco-list-rows {\n\twidth: auto;\n\tmin-width: 100%;\n}\n\n.monaco-list-row {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\twidth: 100%;\n}\n\n.monaco-list.mouse-support .monaco-list-row {\n\tcursor: pointer;\n\ttouch-action: none;\n}\n\n/* Make sure the scrollbar renders above overlays (sticky scroll) */\n.monaco-list .monaco-scrollable-element > .scrollbar.vertical,\n.monaco-pane-view > .monaco-split-view2.vertical > .monaco-scrollable-element > .scrollbar.vertical {\n\tz-index: 14;\n}\n\n/* for OS X ballistic scrolling */\n.monaco-list-row.scrolling {\n\tdisplay: none !important;\n}\n\n/* Focus */\n.monaco-list.element-focused,\n.monaco-list.selection-single,\n.monaco-list.selection-multiple {\n\toutline: 0 !important;\n}\n\n/* Dnd */\n.monaco-drag-image {\n\tdisplay: inline-block;\n\tpadding: 1px 7px;\n\tborder-radius: 10px;\n\tfont-size: 12px;\n\tposition: absolute;\n\tz-index: 1000;\n}\n\n/* Filter */\n\n.monaco-list-type-filter-message {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tpadding: 40px 1em 1em 1em;\n\ttext-align: center;\n\twhite-space: normal;\n\topacity: 0.7;\n\tpointer-events: none;\n}\n\n.monaco-list-type-filter-message:empty {\n\tdisplay: none;\n}\n",""]);const l=r},266:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-mouse-cursor-text {\n\tcursor: text;\n}\n",""]);const l=r},4978:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-progress-container {\n\twidth: 100%;\n\theight: 2px;\n\toverflow: hidden; /* keep progress bit in bounds */\n}\n\n.monaco-progress-container .progress-bit {\n\twidth: 2%;\n\theight: 2px;\n\tposition: absolute;\n\tleft: 0;\n\tdisplay: none;\n}\n\n.monaco-progress-container.active .progress-bit {\n\tdisplay: inherit;\n}\n\n.monaco-progress-container.discrete .progress-bit {\n\tleft: 0;\n\ttransition: width 100ms linear;\n}\n\n.monaco-progress-container.discrete.done .progress-bit {\n\twidth: 100%;\n}\n\n.monaco-progress-container.infinite .progress-bit {\n\tanimation-name: progress;\n\tanimation-duration: 4s;\n\tanimation-iteration-count: infinite;\n\ttransform: translate3d(0px, 0px, 0px);\n\tanimation-timing-function: linear;\n}\n\n.monaco-progress-container.infinite.infinite-long-running .progress-bit {\n\t/*\n\t\tThe more smooth `linear` timing function can cause\n\t\thigher GPU consumption as indicated in\n\t\thttps://github.com/microsoft/vscode/issues/97900 &\n\t\thttps://github.com/microsoft/vscode/issues/138396\n\t*/\n\tanimation-timing-function: steps(100);\n}\n\n/**\n * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of\n * that container. Since translateX is relative to the progress bit size, we have to multiple it with\n * its relative size to the parent container:\n * parent width: 5000%\n * bit width: 100%\n * translateX should be as follow:\n * 50%: 5000% * 50% - 50% (set to center) = 2450%\n * 100%: 5000% * 100% - 100% (do not overflow) = 4900%\n */\n@keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } }\n",""]);const l=r},4166:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n:root {\n\t--vscode-sash-size: 4px;\n\t--vscode-sash-hover-size: 4px;\n}\n\n.monaco-sash {\n\tposition: absolute;\n\tz-index: 35;\n\ttouch-action: none;\n}\n\n.monaco-sash.disabled {\n\tpointer-events: none;\n}\n\n.monaco-sash.mac.vertical {\n\tcursor: col-resize;\n}\n\n.monaco-sash.vertical.minimum {\n\tcursor: e-resize;\n}\n\n.monaco-sash.vertical.maximum {\n\tcursor: w-resize;\n}\n\n.monaco-sash.mac.horizontal {\n\tcursor: row-resize;\n}\n\n.monaco-sash.horizontal.minimum {\n\tcursor: s-resize;\n}\n\n.monaco-sash.horizontal.maximum {\n\tcursor: n-resize;\n}\n\n.monaco-sash.disabled {\n\tcursor: default !important;\n\tpointer-events: none !important;\n}\n\n.monaco-sash.vertical {\n\tcursor: ew-resize;\n\ttop: 0;\n\twidth: var(--vscode-sash-size);\n\theight: 100%;\n}\n\n.monaco-sash.horizontal {\n\tcursor: ns-resize;\n\tleft: 0;\n\twidth: 100%;\n\theight: var(--vscode-sash-size);\n}\n\n.monaco-sash:not(.disabled) > .orthogonal-drag-handle {\n\tcontent: \" \";\n\theight: calc(var(--vscode-sash-size) * 2);\n\twidth: calc(var(--vscode-sash-size) * 2);\n\tz-index: 100;\n\tdisplay: block;\n\tcursor: all-scroll;\n\tposition: absolute;\n}\n\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\n\t> .orthogonal-drag-handle.start,\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\n\t> .orthogonal-drag-handle.end {\n\tcursor: nwse-resize;\n}\n\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\n\t> .orthogonal-drag-handle.end,\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\n\t> .orthogonal-drag-handle.start {\n\tcursor: nesw-resize;\n}\n\n.monaco-sash.vertical > .orthogonal-drag-handle.start {\n\tleft: calc(var(--vscode-sash-size) * -0.5);\n\ttop: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.vertical > .orthogonal-drag-handle.end {\n\tleft: calc(var(--vscode-sash-size) * -0.5);\n\tbottom: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.horizontal > .orthogonal-drag-handle.start {\n\ttop: calc(var(--vscode-sash-size) * -0.5);\n\tleft: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.horizontal > .orthogonal-drag-handle.end {\n\ttop: calc(var(--vscode-sash-size) * -0.5);\n\tright: calc(var(--vscode-sash-size) * -1);\n}\n\n.monaco-sash:before {\n\tcontent: '';\n\tpointer-events: none;\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-sash:before {\n\ttransition: background-color 0.1s ease-out;\n}\n\n.monaco-sash.hover:before,\n.monaco-sash.active:before {\n\tbackground: var(--vscode-sash-hoverBorder);\n}\n\n.monaco-sash.vertical:before {\n\twidth: var(--vscode-sash-hover-size);\n\tleft: calc(50% - (var(--vscode-sash-hover-size) / 2));\n}\n\n.monaco-sash.horizontal:before {\n\theight: var(--vscode-sash-hover-size);\n\ttop: calc(50% - (var(--vscode-sash-hover-size) / 2));\n}\n\n.pointer-events-disabled {\n\tpointer-events: none !important;\n}\n\n/** Debug **/\n\n.monaco-sash.debug {\n\tbackground: cyan;\n}\n\n.monaco-sash.debug.disabled {\n\tbackground: rgba(0, 255, 255, 0.2);\n}\n\n.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {\n\tbackground: red;\n}\n",""]);const l=r},140:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Arrows */\n.monaco-scrollable-element > .scrollbar > .scra {\n\tcursor: pointer;\n\tfont-size: 11px !important;\n}\n\n.monaco-scrollable-element > .visible {\n\topacity: 1;\n\n\t/* Background rule added for IE9 - to allow clicks on dom node */\n\tbackground:rgba(0,0,0,0);\n\n\ttransition: opacity 100ms linear;\n\t/* In front of peek view */\n\tz-index: 11;\n}\n.monaco-scrollable-element > .invisible {\n\topacity: 0;\n\tpointer-events: none;\n}\n.monaco-scrollable-element > .invisible.fade {\n\ttransition: opacity 800ms linear;\n}\n\n/* Scrollable Content Inset Shadow */\n.monaco-scrollable-element > .shadow {\n\tposition: absolute;\n\tdisplay: none;\n}\n.monaco-scrollable-element > .shadow.top {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 3px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.left {\n\tdisplay: block;\n\ttop: 3px;\n\tleft: 0;\n\theight: 100%;\n\twidth: 3px;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.top-left-corner {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 0;\n\theight: 3px;\n\twidth: 3px;\n}\n.monaco-scrollable-element > .shadow.top.left {\n\tbox-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;\n}\n\n.monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: var(--vscode-scrollbarSlider-background);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: var(--vscode-scrollbarSlider-hoverBackground);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: var(--vscode-scrollbarSlider-activeBackground);\n}\n",""]);const l=r},5070:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-select-box {\n\twidth: 100%;\n\tcursor: pointer;\n\tborder-radius: 2px;\n}\n\n.monaco-select-box-dropdown-container {\n\tfont-size: 13px;\n\tfont-weight: normal;\n\ttext-transform: none;\n}\n\n/** Actions */\n\n.monaco-action-bar .action-item.select-container {\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item .monaco-select-box {\n\tcursor: pointer;\n\tmin-width: 100px;\n\tmin-height: 18px;\n\tpadding: 2px 23px 2px 8px;\n}\n\n.mac .monaco-action-bar .action-item .monaco-select-box {\n\tfont-size: 11px;\n\tborder-radius: 5px;\n}\n",""]);const l=r},7619:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Use custom CSS vars to expose padding into parent select for padding calculation */\n.monaco-select-box-dropdown-padding {\n\t--dropdown-padding-top: 1px;\n\t--dropdown-padding-bottom: 1px;\n}\n\n.hc-black .monaco-select-box-dropdown-padding,\n.hc-light .monaco-select-box-dropdown-padding {\n\t--dropdown-padding-top: 3px;\n\t--dropdown-padding-bottom: 4px;\n}\n\n.monaco-select-box-dropdown-container {\n\tdisplay: none;\n\tbox-sizing:\tborder-box;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown * {\n\tmargin: 0;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown a:focus {\n\toutline: 1px solid -webkit-focus-ring-color;\n\toutline-offset: -1px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown code {\n\tline-height: 15px; /** For some reason, this is needed, otherwise will take up 20px height */\n\tfont-family: var(--monaco-monospace-font);\n}\n\n\n.monaco-select-box-dropdown-container.visible {\n\tdisplay: flex;\n\tflex-direction: column;\n\ttext-align: left;\n\twidth: 1px;\n\toverflow: hidden;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container {\n\tflex: 0 0 auto;\n\talign-self: flex-start;\n\tpadding-top: var(--dropdown-padding-top);\n\tpadding-bottom: var(--dropdown-padding-bottom);\n\tpadding-left: 1px;\n\tpadding-right: 1px;\n\twidth: 100%;\n\toverflow: hidden;\n\tbox-sizing:\tborder-box;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane {\n\tpadding: 5px;\n}\n\n.hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container {\n\tpadding-top: var(--dropdown-padding-top);\n\tpadding-bottom: var(--dropdown-padding-bottom);\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row {\n\tcursor: pointer;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-left: 3.5px;\n\twhite-space: nowrap;\n\tfloat: left;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-detail {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-left: 3.5px;\n\twhite-space: nowrap;\n\tfloat: left;\n\topacity: 0.7;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-decorator-right {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-right: 10px;\n\twhite-space: nowrap;\n\tfloat: right;\n}\n\n\n/* Accepted CSS hiding technique for accessibility reader text */\n/* https://webaim.org/techniques/css/invisiblecontent/ */\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .visually-hidden {\n\t\tposition: absolute;\n\t\tleft: -10000px;\n\t\ttop: auto;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\toverflow: hidden;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control {\n\tflex: 1 1 auto;\n\talign-self: flex-start;\n\topacity: 0;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div {\n\toverflow: hidden;\n\tmax-height: 0px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control {\n\tpadding-left: 4px;\n\tpadding-right: 8px;\n\twhite-space: nowrap;\n}\n",""]);const l=r},3474:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-split-view2 {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-split-view2 > .sash-container {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tpointer-events: none;\n}\n\n.monaco-split-view2 > .sash-container > .monaco-sash {\n\tpointer-events: initial;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element {\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {\n\twidth: 100%;\n\theight: 100%;\n\twhite-space: nowrap;\n\tposition: relative;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\twhite-space: initial;\n\tposition: absolute;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {\n\tdisplay: none;\n}\n\n.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\twidth: 100%;\n}\n\n.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\theight: 100%;\n}\n\n.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\tcontent: ' ';\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tz-index: 5;\n\tpointer-events: none;\n\tbackground-color: var(--separator-border);\n}\n\n.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\theight: 100%;\n\twidth: 1px;\n}\n\n.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\theight: 1px;\n\twidth: 100%;\n}\n",""]);const l=r},4234:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-table {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\theight: 100%;\n\twidth: 100%;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.monaco-table > .monaco-split-view2 {\n\tborder-bottom: 1px solid transparent;\n}\n\n.monaco-table > .monaco-list {\n\tflex: 1;\n}\n\n.monaco-table-tr {\n\tdisplay: flex;\n\theight: 100%;\n}\n\n.monaco-table-th {\n\twidth: 100%;\n\theight: 100%;\n\tfont-weight: bold;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-table-th,\n.monaco-table-td {\n\tbox-sizing: border-box;\n\tflex-shrink: 0;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\tcontent: "";\n\tposition: absolute;\n\tleft: calc(var(--vscode-sash-size) / 2);\n\twidth: 0;\n\tborder-left: 1px solid transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\ttransition: border-color 0.2s ease-out;\n}\n',""]);const l=r},2516:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-custom-toggle {\n\tmargin-left: 2px;\n\tfloat: left;\n\tcursor: pointer;\n\toverflow: hidden;\n\twidth: 20px;\n\theight: 20px;\n\tborder-radius: 3px;\n\tborder: 1px solid transparent;\n\tpadding: 1px;\n\tbox-sizing:\tborder-box;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.monaco-custom-toggle:hover {\n\tbackground-color: var(--vscode-inputOption-hoverBackground);\n}\n\n.hc-black .monaco-custom-toggle:hover,\n.hc-light .monaco-custom-toggle:hover {\n\tborder: 1px dashed var(--vscode-focusBorder);\n}\n\n.hc-black .monaco-custom-toggle,\n.hc-light .monaco-custom-toggle {\n\tbackground: none;\n}\n\n.hc-black .monaco-custom-toggle:hover,\n.hc-light .monaco-custom-toggle:hover {\n\tbackground: none;\n}\n\n.monaco-custom-toggle.monaco-checkbox {\n\theight: 18px;\n\twidth: 18px;\n\tborder: 1px solid transparent;\n\tborder-radius: 3px;\n\tmargin-right: 9px;\n\tmargin-left: 0px;\n\tpadding: 0px;\n\topacity: 1;\n\tbackground-size: 16px !important;\n}\n\n.monaco-action-bar .checkbox-action-item {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-action-bar .checkbox-action-item > .monaco-custom-toggle.monaco-checkbox {\n\tmargin-right: 4px;\n}\n\n.monaco-action-bar .checkbox-action-item > .checkbox-label {\n\tfont-size: 12px;\n}\n\n/* hide check when unchecked */\n.monaco-custom-toggle.monaco-checkbox:not(.checked)::before {\n\tvisibility: hidden;\n}\n",""]);const l=r},7982:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-toolbar {\n\theight: 100%;\n}\n\n.monaco-toolbar .toolbar-toggle-more {\n\tdisplay: inline-block;\n\tpadding: 0;\n}\n",""]);const l=r},1963:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-tl-row {\n\tdisplay: flex;\n\theight: 100%;\n\talign-items: center;\n\tposition: relative;\n}\n\n.monaco-tl-row.disabled {\n\tcursor: default;\n}\n.monaco-tl-indent {\n\theight: 100%;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 16px;\n\tpointer-events: none;\n}\n\n.hide-arrows .monaco-tl-indent {\n\tleft: 12px;\n}\n\n.monaco-tl-indent > .indent-guide {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\theight: 100%;\n\tborder-left: 1px solid transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-tl-indent > .indent-guide {\n\ttransition: border-color 0.1s linear;\n}\n\n.monaco-tl-twistie,\n.monaco-tl-contents {\n\theight: 100%;\n}\n\n.monaco-tl-twistie {\n\tfont-size: 10px;\n\ttext-align: right;\n\tpadding-right: 6px;\n\tflex-shrink: 0;\n\twidth: 16px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\ttransform: translateX(3px);\n}\n\n.monaco-tl-contents {\n\tflex: 1;\n\toverflow: hidden;\n}\n\n.monaco-tl-twistie::before {\n\tborder-radius: 20px;\n}\n\n.monaco-tl-twistie.collapsed::before {\n\ttransform: rotate(-90deg);\n}\n\n.monaco-tl-twistie.codicon-tree-item-loading::before {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.25s steps(30) infinite;\n}\n\n.monaco-tree-type-filter {\n\tposition: absolute;\n\ttop: 0;\n\tdisplay: flex;\n\tpadding: 3px;\n\tmax-width: 200px;\n\tz-index: 100;\n\tmargin: 0 6px;\n\tborder: 1px solid var(--vscode-widget-border);\n\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter {\n\ttransition: top 0.3s;\n}\n\n.monaco-tree-type-filter.disabled {\n\ttop: -40px !important;\n}\n\n.monaco-tree-type-filter-grab {\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: grab;\n\tmargin-right: 2px;\n}\n\n.monaco-tree-type-filter-grab.grabbing {\n\tcursor: grabbing;\n}\n\n.monaco-tree-type-filter-input {\n\tflex: 1;\n}\n\n.monaco-tree-type-filter-input .monaco-inputbox {\n\theight: 23px;\n}\n\n.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .input,\n.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding: 2px 4px;\n}\n\n.monaco-tree-type-filter-input .monaco-findInput > .controls {\n\ttop: 2px;\n}\n\n.monaco-tree-type-filter-actionbar {\n\tmargin-left: 4px;\n}\n\n.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label {\n\tpadding: 2px;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 0;\n\tz-index: 13; /* Settings editor uses z-index: 12 */\n\n\t/* TODO@benibenj temporary solution, all lists should provide their background */\n\tbackground-color: var(--vscode-sideBar-background);\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{\n\tposition: absolute;\n\twidth: 100%;\n\topacity: 1 !important; /* Settings editor uses opacity < 1 */\n\toverflow: hidden;\n\n\t/* TODO@benibenj temporary solution, all lists should provide their background */\n\tbackground-color: var(--vscode-sideBar-background);\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{\n\tbackground-color: var(--vscode-list-hoverBackground) !important;\n\tcursor: pointer;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow {\n\tdisplay: none;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{\n\tposition: absolute;\n\tbottom: -3px;\n\tleft: 0px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{\n\toutline: none;\n}\n',""]);const l=r},6307:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inputarea {\n\tmin-width: 0;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\toutline: none !important;\n\tresize: none;\n\tborder: none;\n\toverflow: hidden;\n\tcolor: transparent;\n\tbackground-color: transparent;\n\tz-index: -10;\n}\n/*.monaco-editor .inputarea {\n\tposition: fixed !important;\n\twidth: 800px !important;\n\theight: 500px !important;\n\ttop: initial !important;\n\tleft: initial !important;\n\tbottom: 0 !important;\n\tright: 0 !important;\n\tcolor: black !important;\n\tbackground: white !important;\n\tline-height: 15px !important;\n\tfont-size: 14px !important;\n\tz-index: 10 !important;\n}*/\n.monaco-editor .inputarea.ime-input {\n\tz-index: 10;\n\tcaret-color: var(--vscode-editorCursor-foreground);\n\tcolor: var(--vscode-editor-foreground);\n}\n",""]);const l=r},3377:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-workbench .workbench-hover {\n\tposition: relative;\n\tfont-size: 13px;\n\tline-height: 19px;\n\t/* Must be higher than sash's z-index and terminal canvases */\n\tz-index: 40;\n\toverflow: hidden;\n\tmax-width: 700px;\n\tbackground: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-radius: 3px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbox-shadow: 0 2px 8px var(--vscode-widget-shadow);\n}\n\n.monaco-workbench .workbench-hover hr {\n\tborder-bottom: none;\n}\n\n.monaco-workbench .workbench-hover:not(.skip-fade-in) {\n\tanimation: fadein 100ms linear;\n}\n\n.monaco-workbench .workbench-hover.compact {\n\tfont-size: 12px;\n}\n\n.monaco-workbench .workbench-hover.compact .hover-contents {\n\tpadding: 2px 8px;\n}\n\n.monaco-workbench .workbench-hover-container.locked .workbench-hover {\n\toutline: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,\n.monaco-workbench .workbench-hover-lock:focus {\n\toutline: 1px solid var(--vscode-focusBorder);\n}\n.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover {\n\tbackground: var(--vscode-toolbar-hoverBackground);\n}\n\n.monaco-workbench .workbench-hover-pointer {\n\tposition: absolute;\n\t/* Must be higher than workbench hover z-index */\n\tz-index: 41;\n\tpointer-events: none;\n}\n\n.monaco-workbench .workbench-hover-pointer:after {\n\tcontent: '';\n\tposition: absolute;\n\twidth: 5px;\n\theight: 5px;\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder-right: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-workbench .locked .workbench-hover-pointer:after {\n\twidth: 4px;\n\theight: 4px;\n\tborder-right-width: 2px;\n\tborder-bottom-width: 2px;\n}\n\n.monaco-workbench .workbench-hover-pointer.left { left: -3px; }\n.monaco-workbench .workbench-hover-pointer.right { right: 3px; }\n.monaco-workbench .workbench-hover-pointer.top { top: -3px; }\n.monaco-workbench .workbench-hover-pointer.bottom { bottom: 3px; }\n\n.monaco-workbench .workbench-hover-pointer.left:after {\n\ttransform: rotate(135deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.right:after {\n\ttransform: rotate(315deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.top:after {\n\ttransform: rotate(225deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.bottom:after {\n\ttransform: rotate(45deg);\n}\n\n.monaco-workbench .workbench-hover a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-workbench .workbench-hover a:focus {\n\toutline: 1px solid;\n\toutline-offset: -1px;\n\ttext-decoration: underline;\n\toutline-color: var(--vscode-focusBorder);\n}\n\n.monaco-workbench .workbench-hover a:hover,\n.monaco-workbench .workbench-hover a:active {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-workbench .workbench-hover code {\n\tbackground: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-workbench .workbench-hover .hover-row .actions {\n\tbackground: var(--vscode-editorHoverWidget-statusBarBackground);\n}\n\n.monaco-workbench .workbench-hover.right-aligned {\n\t/* The context view service wraps strangely when it's right up against the edge without this */\n\tleft: 1px;\n}\n\n.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions {\n\tflex-direction: row-reverse;\n}\n\n.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container {\n\tmargin-right: 0;\n\tmargin-left: 16px;\n}\n",""]);const l=r},2035:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .blockDecorations-container {\n\tposition: absolute;\n\ttop: 0;\n\tpointer-events: none;\n}\n\n.monaco-editor .blockDecorations-block {\n\tposition: absolute;\n\tbox-sizing: border-box;\n}\n",""]);const l=r},8405:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .view-overlays .current-line {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbox-sizing: border-box;\n\theight: 100%;\n}\n\n.monaco-editor .margin-view-overlays .current-line {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbox-sizing: border-box;\n\theight: 100%;\n}\n\n.monaco-editor\n\t.margin-view-overlays\n\t.current-line.current-line-margin.current-line-margin-both {\n\tborder-right: 0;\n}\n",""]);const l=r},3093:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcdr = core decorations rendering (div)\n*/\n.monaco-editor .lines-content .cdr {\n\tposition: absolute;\n\theight: 100%;\n}\n",""]);const l=r},8081:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .glyph-margin {\n\tposition: absolute;\n\ttop: 0;\n}\n\n/*\n\tKeeping name short for faster parsing.\n\tcgmr = core glyph margin rendering (div)\n*/\n.monaco-editor .glyph-margin-widgets .cgmr {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/*\n\tEnsure spinning icons are pixel-perfectly centered and avoid wobble.\n\tThis is only applied to icons that spin to avoid unnecessary\n\tGPU layers and blurry subpixel AA.\n*/\n.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin::before {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n",""]);const l=r},3777:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .lines-content .core-guide {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\theight: 100%;\n}\n",""]);const l=r},6953:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .margin-view-overlays .line-numbers {\n\tbottom: 0;\n\tfont-variant-numeric: tabular-nums;\n\tposition: absolute;\n\ttext-align: right;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tbox-sizing: border-box;\n\tcursor: default;\n}\n\n.monaco-editor .relative-current-line-number {\n\ttext-align: left;\n\tdisplay: inline-block;\n\twidth: 100%;\n}\n\n.monaco-editor .margin-view-overlays .line-numbers.lh-odd {\n\tmargin-top: 1px;\n}\n\n.monaco-editor .line-numbers {\n\tcolor: var(--vscode-editorLineNumber-foreground);\n}\n\n.monaco-editor .line-numbers.active-line-number {\n\tcolor: var(--vscode-editorLineNumber-activeForeground);\n}\n",""]);const l=r},5876:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Uncomment to see lines flashing when they're painted */\n/*.monaco-editor .view-lines > .view-line {\n\tbackground-color: none;\n\tanimation-name: flash-background;\n\tanimation-duration: 800ms;\n}\n@keyframes flash-background {\n\t0% { background-color: lightgreen; }\n\t100% { background-color: none }\n}*/\n\n.mtkcontrol {\n\tcolor: rgb(255, 255, 255) !important;\n\tbackground: rgb(150, 0, 0) !important;\n}\n\n.mtkoverflow {\n\tbackground-color: var(--vscode-button-background, var(--vscode-editor-background));\n\tcolor: var(--vscode-button-foreground, var(--vscode-editor-foreground));\n\tborder-width: 1px;\n\tborder-style: solid;\n\tborder-color: var(--vscode-contrastBorder);\n\tborder-radius: 2px;\n\tpadding: 4px;\n\tcursor: pointer;\n}\n.mtkoverflow:hover {\n\tbackground-color: var(--vscode-button-hoverBackground);\n}\n\n.monaco-editor.no-user-select .lines-content,\n.monaco-editor.no-user-select .view-line,\n.monaco-editor.no-user-select .view-lines {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n/* Use user-select: text for lookup feature on macOS */\n/* https://github.com/microsoft/vscode/issues/85632 */\n.monaco-editor.mac .lines-content:hover,\n.monaco-editor.mac .view-line:hover,\n.monaco-editor.mac .view-lines:hover {\n\tuser-select: text;\n\t-webkit-user-select: text;\n\t-ms-user-select: text;\n}\n\n.monaco-editor.enable-user-select {\n\tuser-select: initial;\n\t-webkit-user-select: initial;\n}\n\n.monaco-editor .view-lines {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .view-line {\n\tposition: absolute;\n\twidth: 100%;\n}\n\n/* There are view-lines in view-zones. We have to make sure this rule does not apply to them, as they don't set a line height */\n.monaco-editor .lines-content > .view-lines > .view-line > span {\n\ttop: 0;\n\tbottom: 0;\n\tposition: absolute;\n}\n\n.monaco-editor .mtkw {\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n\n.monaco-editor .mtkz {\n\tdisplay: inline-block;\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n\n/* TODO@tokenization bootstrap fix */\n/*.monaco-editor .view-line > span > span {\n\tfloat: none;\n\tmin-height: inherit;\n\tmargin-left: inherit;\n}*/\n",""]);const l=r},7375:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .lines-decorations {\n\tposition: absolute;\n\ttop: 0;\n\tbackground: white;\n}\n\n/*\n\tKeeping name short for faster parsing.\n\tcldr = core lines decorations rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cldr {\n\tposition: absolute;\n\theight: 100%;\n}",""]);const l=r},8731:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .margin {\n\tbackground-color: var(--vscode-editorGutter-background);\n}\n",""]);const l=r},3313:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcmdr = core margin decorations rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cmdr {\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}",""]);const l=r},6493:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* START cover the case that slider is visible on mouseover */\n.monaco-editor .minimap.slider-mouseover .minimap-slider {\n\topacity: 0;\n\ttransition: opacity 100ms linear;\n}\n.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {\n\topacity: 1;\n}\n.monaco-editor .minimap.slider-mouseover .minimap-slider.active {\n\topacity: 1;\n}\n/* END cover the case that slider is visible on mouseover */\n.monaco-editor .minimap-slider .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-background);\n}\n.monaco-editor .minimap-slider:hover .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-hoverBackground);\n}\n.monaco-editor .minimap-slider.active .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-activeBackground);\n}\n.monaco-editor .minimap-shadow-visible {\n\tbox-shadow: var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset;\n}\n.monaco-editor .minimap-shadow-hidden {\n\tposition: absolute;\n\twidth: 0;\n}\n.monaco-editor .minimap-shadow-visible {\n\tposition: absolute;\n\tleft: -6px;\n\twidth: 6px;\n}\n.monaco-editor.no-minimap-shadow .minimap-shadow-visible {\n\tposition: absolute;\n\tleft: -1px;\n\twidth: 1px;\n}\n\n/* 0.5s fade in/out for the minimap */\n.minimap.autohide {\n\topacity: 0;\n\ttransition: opacity 0.5s;\n}\n.minimap.autohide:hover {\n\topacity: 1;\n}\n\n.monaco-editor .minimap {\n\tz-index: 5;\n}\n",""]);const l=r},213:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .overlayWidgets {\n\tposition: absolute;\n\ttop: 0;\n\tleft:0;\n}",""]);const l=r},1637:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .view-ruler {\n\tposition: absolute;\n\ttop: 0;\n\tbox-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset;\n}\n",""]);const l=r},9133:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .scroll-decoration {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\theight: 6px;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n",""]);const l=r},8829:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcslr = core selections layer rendering (div)\n*/\n.monaco-editor .lines-content .cslr {\n\tposition: absolute;\n}\n\n.monaco-editor .focused .selected-text {\n\tbackground-color: var(--vscode-editor-selectionBackground);\n}\n\n.monaco-editor .selected-text {\n\tbackground-color: var(--vscode-editor-inactiveSelectionBackground);\n}\n\n.monaco-editor\t\t\t.top-left-radius\t\t{ border-top-left-radius: 3px; }\n.monaco-editor\t\t\t.bottom-left-radius\t\t{ border-bottom-left-radius: 3px; }\n.monaco-editor\t\t\t.top-right-radius\t\t{ border-top-right-radius: 3px; }\n.monaco-editor\t\t\t.bottom-right-radius\t{ border-bottom-right-radius: 3px; }\n\n.monaco-editor.hc-black .top-left-radius\t\t{ border-top-left-radius: 0; }\n.monaco-editor.hc-black .bottom-left-radius\t\t{ border-bottom-left-radius: 0; }\n.monaco-editor.hc-black .top-right-radius\t\t{ border-top-right-radius: 0; }\n.monaco-editor.hc-black .bottom-right-radius\t{ border-bottom-right-radius: 0; }\n\n.monaco-editor.hc-light .top-left-radius\t\t{ border-top-left-radius: 0; }\n.monaco-editor.hc-light .bottom-left-radius\t\t{ border-bottom-left-radius: 0; }\n.monaco-editor.hc-light .top-right-radius\t\t{ border-top-right-radius: 0; }\n.monaco-editor.hc-light .bottom-right-radius\t{ border-bottom-right-radius: 0; }\n",""]);const l=r},2289:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .cursors-layer {\n\tposition: absolute;\n\ttop: 0;\n}\n\n.monaco-editor .cursors-layer > .cursor {\n\tposition: absolute;\n\toverflow: hidden;\n\tbox-sizing: border-box;\n}\n\n/* -- smooth-caret-animation -- */\n.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {\n\ttransition: all 80ms;\n}\n\n/* -- block-outline-style -- */\n.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {\n\tbackground: transparent !important;\n\tborder-style: solid;\n\tborder-width: 1px;\n}\n\n/* -- underline-style -- */\n.monaco-editor .cursors-layer.cursor-underline-style > .cursor {\n\tborder-bottom-width: 2px;\n\tborder-bottom-style: solid;\n\tbackground: transparent !important;\n}\n\n/* -- underline-thin-style -- */\n.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {\n\tborder-bottom-width: 1px;\n\tborder-bottom-style: solid;\n\tbackground: transparent !important;\n}\n\n@keyframes monaco-cursor-smooth {\n\t0%,\n\t20% {\n\t\topacity: 1;\n\t}\n\t60%,\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes monaco-cursor-phase {\n\t0%,\n\t20% {\n\t\topacity: 1;\n\t}\n\t90%,\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes monaco-cursor-expand {\n\t0%,\n\t20% {\n\t\ttransform: scaleY(1);\n\t}\n\t80%,\n\t100% {\n\t\ttransform: scaleY(0);\n\t}\n}\n\n.cursor-smooth {\n\tanimation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;\n}\n\n.cursor-phase {\n\tanimation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;\n}\n\n.cursor-expand > .cursor {\n\tanimation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;\n}\n",""]);const l=r},8189:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .mwh {\n\tposition: absolute;\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n",""]);const l=r},6049:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* -------------------- IE10 remove auto clear button -------------------- */\n\n::-ms-clear {\n\tdisplay: none;\n}\n\n/* All widgets */\n/* I am not a big fan of this rule */\n.monaco-editor .editor-widget input {\n\tcolor: inherit;\n}\n\n/* -------------------- Editor -------------------- */\n\n.monaco-editor {\n\tposition: relative;\n\toverflow: visible;\n\t-webkit-text-size-adjust: 100%;\n\tcolor: var(--vscode-editor-foreground);\n\tbackground-color: var(--vscode-editor-background);\n}\n.monaco-editor-background {\n\tbackground-color: var(--vscode-editor-background);\n}\n.monaco-editor .rangeHighlight {\n\tbackground-color: var(--vscode-editor-rangeHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-rangeHighlightBorder);\n}\n.monaco-editor.hc-black .rangeHighlight, .monaco-editor.hc-light .rangeHighlight {\n\tborder-style: dotted;\n}\n.monaco-editor .symbolHighlight {\n\tbackground-color: var(--vscode-editor-symbolHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-symbolHighlightBorder);\n}\n.monaco-editor.hc-black .symbolHighlight, .monaco-editor.hc-light .symbolHighlight {\n\tborder-style: dotted;\n}\n\n/* -------------------- Misc -------------------- */\n\n.monaco-editor .overflow-guard {\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.monaco-editor .view-overlays {\n\tposition: absolute;\n\ttop: 0;\n}\n\n.monaco-editor .view-overlays > div, .monaco-editor .margin-view-overlays > div {\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.monaco-editor .view-overlays > div > div, .monaco-editor .margin-view-overlays > div > div {\n\tbottom: 0;\n}\n\n/*\n.monaco-editor .auto-closed-character {\n\topacity: 0.3;\n}\n*/\n\n\n.monaco-editor .squiggly-error {\n\tborder-bottom: 4px double var(--vscode-editorError-border);\n}\n.monaco-editor .squiggly-error::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorError-background);\n}\n.monaco-editor .squiggly-warning {\n\tborder-bottom: 4px double var(--vscode-editorWarning-border);\n}\n.monaco-editor .squiggly-warning::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorWarning-background);\n}\n.monaco-editor .squiggly-info {\n\tborder-bottom: 4px double var(--vscode-editorInfo-border);\n}\n.monaco-editor .squiggly-info::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorInfo-background);\n}\n.monaco-editor .squiggly-hint {\n\tborder-bottom: 2px dotted var(--vscode-editorHint-border);\n}\n.monaco-editor.showUnused .squiggly-unnecessary {\n\tborder-bottom: 2px dashed var(--vscode-editorUnnecessaryCode-border);\n}\n.monaco-editor.showDeprecated .squiggly-inline-deprecated {\n\ttext-decoration: line-through;\n\ttext-decoration-color: var(--vscode-editor-foreground, inherit);\n}\n",""]);const l=r},2180:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-component.diff-review {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tz-index: 99;\n}\n\n.monaco-diff-editor .diff-review {\n\tposition: absolute;\n\n}\n\n.monaco-component.diff-review .diff-review-line-number {\n\ttext-align: right;\n\tdisplay: inline-block;\n\tcolor: var(--vscode-editorLineNumber-foreground);\n}\n\n.monaco-component.diff-review .diff-review-summary {\n\tpadding-left: 10px;\n}\n\n.monaco-component.diff-review .diff-review-shadow {\n\tposition: absolute;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;\n}\n\n.monaco-component.diff-review .diff-review-row {\n\twhite-space: pre;\n}\n\n.monaco-component.diff-review .diff-review-table {\n\tdisplay: table;\n\tmin-width: 100%;\n}\n\n.monaco-component.diff-review .diff-review-row {\n\tdisplay: table-row;\n\twidth: 100%;\n}\n\n.monaco-component.diff-review .diff-review-spacer {\n\tdisplay: inline-block;\n\twidth: 10px;\n\tvertical-align: middle;\n}\n\n.monaco-component.diff-review .diff-review-spacer > .codicon {\n\tfont-size: 9px !important;\n}\n\n.monaco-component.diff-review .diff-review-actions {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\ttop: 2px;\n\tz-index: 100;\n}\n\n.monaco-component.diff-review .diff-review-actions .action-label {\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 2px 0;\n}\n\n.monaco-component.diff-review .revertButton {\n\tcursor: pointer;\n}\n",""]);const l=r},1921:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .diff-hidden-lines-widget {\n\twidth: 100%;\n}\n\n.monaco-editor .diff-hidden-lines {\n\theight: 0px; /* The children each have a fixed height, the transform confuses the browser */\n\ttransform: translate(0px, -10px);\n\tfont-size: 13px;\n\tline-height: 14px;\n}\n\n.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,\n.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,\n.monaco-editor .diff-hidden-lines .top.dragging,\n.monaco-editor .diff-hidden-lines .bottom.dragging {\n\tbackground-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .diff-hidden-lines .top,\n.monaco-editor .diff-hidden-lines .bottom {\n\ttransition: background-color 0.1s ease-out;\n\theight: 4px;\n\tbackground-color: transparent;\n\tbackground-clip: padding-box;\n\tborder-bottom: 2px solid transparent;\n\tborder-top: 4px solid transparent;\n\t/*cursor: n-resize;*/\n}\n\n.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,\n.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),\n.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom) {\n\tcursor: n-resize !important;\n}\n\n.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,\n.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,\n.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom {\n\tcursor: s-resize !important;\n}\n\n.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,\n.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,\n.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom {\n\tcursor: ns-resize !important;\n}\n\n.monaco-editor .diff-hidden-lines .top {\n\ttransform: translate(0px, 4px);\n}\n\n.monaco-editor .diff-hidden-lines .bottom {\n\ttransform: translate(0px, -6px);\n}\n\n.monaco-editor .diff-unchanged-lines {\n\tbackground: var(--vscode-diffEditor-unchangedCodeBackground);\n}\n\n.monaco-editor .noModificationsOverlay {\n\tz-index: 1;\n\tbackground: var(--vscode-editor-background);\n\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n\n.monaco-editor .diff-hidden-lines .center {\n\tbackground: var(--vscode-diffEditor-unchangedRegionBackground);\n\tcolor: var(--vscode-diffEditor-unchangedRegionForeground);\n\toverflow: hidden;\n\tdisplay: block;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\n\theight: 24px;\n\tbox-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);\n}\n\n.monaco-editor .diff-hidden-lines .center span.codicon {\n\tvertical-align: middle;\n}\n\n.monaco-editor .diff-hidden-lines .center a:hover .codicon {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .diff-hidden-lines div.breadcrumb-item {\n\tcursor: pointer;\n}\n\n.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover {\n\tcolor: var(--vscode-editorLink-activeForeground);\n}\n\n.monaco-editor .movedOriginal {\n\tborder: 2px solid var(--vscode-diffEditor-move-border);\n}\n\n.monaco-editor .movedModified {\n\tborder: 2px solid var(--vscode-diffEditor-move-border);\n}\n\n.monaco-editor .movedOriginal.currentMove, .monaco-editor .movedModified.currentMove {\n\tborder: 2px solid var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines path.currentMove {\n\tstroke: var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines path {\n\tpointer-events: visiblestroke;\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow {\n\tfill: var(--vscode-diffEditor-move-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow.currentMove {\n\tfill: var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow-rectangle {\n\tfill: var(--vscode-editor-background);\n}\n\n.monaco-diff-editor .moved-blocks-lines {\n\tposition: absolute;\n\tpointer-events: none;\n}\n\n.monaco-diff-editor .moved-blocks-lines path {\n\tfill: none;\n\tstroke: var(--vscode-diffEditor-move-border);\n\tstroke-width: 2;\n}\n\n.monaco-editor .char-delete.diff-range-empty {\n\tmargin-left: -1px;\n\tborder-left: solid var(--vscode-diffEditor-removedTextBackground) 3px;\n}\n\n.monaco-editor .char-insert.diff-range-empty {\n\tborder-left: solid var(--vscode-diffEditor-insertedTextBackground) 3px;\n}\n\n.monaco-editor .fold-unchanged {\n\tcursor: pointer;\n}\n\n.monaco-diff-editor .diff-moved-code-block {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tmargin-top: -4px;\n}\n\n.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon {\n\twidth: 12px;\n\theight: 12px;\n\tfont-size: 12px;\n}\n\n/* ---------- DiffEditor ---------- */\n\n.monaco-diff-editor .diffOverview {\n\tz-index: 9;\n}\n\n.monaco-diff-editor .diffOverview .diffViewport {\n\tz-index: 10;\n}\n\n/* colors not externalized: using transparancy on background */\n.monaco-diff-editor.vs\t\t\t.diffOverview { background: rgba(0, 0, 0, 0.03); }\n.monaco-diff-editor.vs-dark\t\t.diffOverview { background: rgba(255, 255, 255, 0.01); }\n\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs\t\t.scrollbar { background: rgba(0,0,0,0); }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark\t.scrollbar { background: rgba(0,0,0,0); }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black\t.scrollbar { background: none; }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light\t.scrollbar { background: none; }\n\n.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {\n\tz-index: 10;\n}\n.modified-in-monaco-diff-editor\t\t\t\t.slider.active { background: rgba(171, 171, 171, .4); }\n.modified-in-monaco-diff-editor.hc-black\t.slider.active { background: none; }\n.modified-in-monaco-diff-editor.hc-light\t.slider.active { background: none; }\n\n/* ---------- Diff ---------- */\n\n.monaco-editor .insert-sign,\n.monaco-diff-editor .insert-sign,\n.monaco-editor .delete-sign,\n.monaco-diff-editor .delete-sign {\n\tfont-size: 11px !important;\n\topacity: 0.7 !important;\n\tdisplay: flex !important;\n\talign-items: center;\n}\n.monaco-editor.hc-black .insert-sign,\n.monaco-diff-editor.hc-black .insert-sign,\n.monaco-editor.hc-black .delete-sign,\n.monaco-diff-editor.hc-black .delete-sign,\n.monaco-editor.hc-light .insert-sign,\n.monaco-diff-editor.hc-light .insert-sign,\n.monaco-editor.hc-light .delete-sign,\n.monaco-diff-editor.hc-light .delete-sign {\n\topacity: 1;\n}\n\n.monaco-editor .inline-deleted-margin-view-zone {\n\ttext-align: right;\n}\n.monaco-editor .inline-added-margin-view-zone {\n\ttext-align: right;\n}\n\n.monaco-editor .arrow-revert-change {\n\tz-index: 10;\n\tposition: absolute;\n}\n\n.monaco-editor .arrow-revert-change:hover {\n\tcursor: pointer;\n}\n\n/* ---------- Inline Diff ---------- */\n\n.monaco-editor .view-zones .view-lines .view-line span {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .margin-view-zones .lightbulb-glyph:hover {\n\tcursor: pointer;\n}\n\n.monaco-editor .char-insert, .monaco-diff-editor .char-insert {\n\tbackground-color: var(--vscode-diffEditor-insertedTextBackground);\n}\n\n.monaco-editor .line-insert, .monaco-diff-editor .line-insert {\n\tbackground-color: var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground));\n}\n\n.monaco-editor .line-insert,\n.monaco-editor .char-insert {\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-diffEditor-insertedTextBorder);\n}\n.monaco-editor.hc-black .line-insert, .monaco-editor.hc-light .line-insert,\n.monaco-editor.hc-black .char-insert, .monaco-editor.hc-light .char-insert {\n\tborder-style: dashed;\n}\n\n.monaco-editor .line-delete,\n.monaco-editor .char-delete {\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-diffEditor-removedTextBorder);\n}\n.monaco-editor.hc-black .line-delete, .monaco-editor.hc-light .line-delete,\n.monaco-editor.hc-black .char-delete, .monaco-editor.hc-light .char-delete {\n\tborder-style: dashed;\n}\n\n.monaco-editor .inline-added-margin-view-zone,\n.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert {\n\tbackground-color: var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground));\n}\n\n.monaco-editor .char-delete, .monaco-diff-editor .char-delete {\n\tbackground-color: var(--vscode-diffEditor-removedTextBackground);\n}\n\n.monaco-editor .line-delete, .monaco-diff-editor .line-delete {\n\tbackground-color: var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground));\n}\n\n.monaco-editor .inline-deleted-margin-view-zone,\n.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete {\n\tbackground-color: var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground));\n}\n\n.monaco-diff-editor.side-by-side .editor.modified {\n\tbox-shadow: -6px 0 5px -5px var(--vscode-scrollbar-shadow);\n\tborder-left: 1px solid var(--vscode-diffEditor-border);\n}\n\n.monaco-diff-editor.side-by-side .editor.original {\n\tbox-shadow: 6px 0 5px -5px var(--vscode-scrollbar-shadow);\n\tborder-right: 1px solid var(--vscode-diffEditor-border);\n}\n\n.monaco-diff-editor .diffViewport {\n\tbackground: var(--vscode-scrollbarSlider-background);\n}\n\n.monaco-diff-editor .diffViewport:hover {\n\tbackground: var(--vscode-scrollbarSlider-hoverBackground);\n}\n\n.monaco-diff-editor .diffViewport:active {\n\tbackground: var(--vscode-scrollbarSlider-activeBackground);\n}\n\n.monaco-editor .diagonal-fill {\n\tbackground-image: linear-gradient(\n\t\t-45deg,\n\t\tvar(--vscode-diffEditor-diagonalFill) 12.5%,\n\t\t#0000 12.5%, #0000 50%,\n\t\tvar(--vscode-diffEditor-diagonalFill) 50%, var(--vscode-diffEditor-diagonalFill) 62.5%,\n\t\t#0000 62.5%, #0000 100%\n\t);\n\tbackground-size: 8px 8px;\n}\n\n.monaco-diff-editor .gutter {\n\tposition: relative;\n\toverflow: hidden;\n\tflex-shrink: 0;\n\tflex-grow: 0;\n\n\t.gutterItem {\n\t\topacity: 0;\n\t\ttransition: opacity 0.7s;\n\n\t\t&.showAlways {\n\t\t\topacity: 1;\n\t\t\ttransition: none;\n\t\t}\n\n\t\t&.noTransition {\n\t\t\ttransition: none;\n\t\t}\n\t}\n\n\t&:hover .gutterItem {\n\t\topacity: 1;\n\t\ttransition: opacity 0.1s ease-in-out;\n\t}\n\n\t.gutterItem {\n\t\t.background {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t\tleft: 50%;\n\t\t\twidth: 1px;\n\n\t\t\tborder-left: 2px var(--vscode-menu-border) solid;\n\t\t}\n\n\t\t.buttons {\n\t\t\tposition: absolute;\n\t\t\t/*height: 100%;*/\n\t\t\twidth: 100%;\n\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\n\t\t\t.monaco-toolbar {\n\t\t\t\theight: fit-content;\n\t\t\t\t.monaco-action-bar {\n\t\t\t\t\tline-height: 1;\n\n\t\t\t\t\t.actions-container {\n\t\t\t\t\t\twidth: fit-content;\n\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\tborder: 1px var(--vscode-menu-border) solid;\n\t\t\t\t\t\tbackground: var(--vscode-editor-background);\n\n\t\t\t\t\t\t.action-item {\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tbackground: var(--vscode-toolbar-hoverBackground);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.action-label {\n\t\t\t\t\t\t\t\tpadding: 0.5px 1px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n",""]);const l=r},6835:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .rendered-markdown kbd {\n\tbackground-color: var(--vscode-keybindingLabel-background);\n\tcolor: var(--vscode-keybindingLabel-foreground);\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n\tborder-color: var(--vscode-keybindingLabel-border);\n\tborder-bottom-color: var(--vscode-keybindingLabel-bottomBorder);\n\tbox-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);\n\tvertical-align: middle;\n\tpadding: 1px 3px;\n}\n\n.rendered-markdown li:has(input[type=checkbox]) {\n\tlist-style-type: none;\n}\n",""]);const l=r},6514:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-component.multiDiffEditor {\n\tbackground: var(--vscode-multiDiffEditor-background);\n\toverflow-y: hidden;\n\n\t.focused {\n\t\t--vscode-multiDiffEditor-border: var(--vscode-focusBorder);\n\t}\n\n\t.multiDiffEntry {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tflex: 1;\n\t\toverflow: hidden;\n\n\n\t\t.collapse-button {\n\t\t\tmargin: 0 5px;\n\t\t\tcursor: pointer;\n\n\t\t\ta {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\n\t\t.header {\n\t\t\tz-index: 1000;\n\t\t\tbackground: var(--vscode-editor-background);\n\n\t\t\t&:not(.collapsed) .header-content {\n\t\t\t\tborder-bottom: 1px solid var(--vscode-sideBarSectionHeader-border);\n\t\t\t}\n\n\t\t\t.header-content {\n\t\t\t\tmargin: 8px 8px 0px 8px;\n\t\t\t\tpadding: 4px 5px;\n\n\t\t\t\tborder-top: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-right: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-left: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-top-left-radius: 2px;\n\t\t\t\tborder-top-right-radius: 2px;\n\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\n\t\t\t\tcolor: var(--vscode-foreground);\n\t\t\t\tbackground: var(--vscode-multiDiffEditor-headerBackground);\n\n\t\t\t\t&.shadow {\n\t\t\t\t\tbox-shadow: var(--vscode-scrollbar-shadow) 0px 6px 6px -6px;\n\t\t\t\t}\n\n\t\t\t\t.file-path {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex: 1;\n\t\t\t\t\tmin-width: 0;\n\n\t\t\t\t\t.title {\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\tline-height: 22px;\n\n\t\t\t\t\t\t&.original {\n\t\t\t\t\t\t\tflex: 1;\n\t\t\t\t\t\t\tmin-width: 0;\n\t\t\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.status {\n\t\t\t\t\t\tfont-weight: 600;\n\t\t\t\t\t\topacity: 0.75;\n\t\t\t\t\t\tmargin: 0px 10px;\n\t\t\t\t\t\tline-height: 22px;\n\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t\tTODO@hediet: move colors from git extension to core!\n\t\t\t\t\t\t&.renamed {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-renamedResourceForeground);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.deleted {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-deletedResourceForeground);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.added {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-addedResourceForeground);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t*/\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.actions {\n\t\t\t\t\tpadding: 0 8px;\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t}\n\n\t\t.editorParent {\n\t\t\tflex: 1;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\n\t\t\tmargin-right: 8px;\n\t\t\tmargin-left: 8px;\n\n\t\t\tborder-right: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-left: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-bottom: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-radius: 2px;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.editorContainer {\n\t\t\tflex: 1;\n\t\t}\n\t}\n}\n",""]);const l=r},2755:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .selection-anchor {\n\tbackground-color: #007ACC;\n\twidth: 2px !important;\n}\n",""]);const l=r},7997:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .bracket-match {\n\tbox-sizing: border-box;\n\tbackground-color: var(--vscode-editorBracketMatch-background);\n\tborder: 1px solid var(--vscode-editorBracketMatch-border);\n}\n",""]);const l=r},4169:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .lightBulbWidget {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-editor .lightBulbWidget:hover{\n\tcursor: pointer;\n}\n\n.monaco-editor .lightBulbWidget.codicon-light-bulb,\n.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle {\n\tcolor: var(--vscode-editorLightBulb-foreground);\n}\n\n.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,\n.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix {\n\tcolor: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));\n}\n\n.monaco-editor .lightBulbWidget.codicon-sparkle-filled {\n\tcolor: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));\n}\n\n.monaco-editor .lightBulbWidget:before {\n\tposition: relative;\n\tz-index: 2;\n}\n\n.monaco-editor .lightBulbWidget:after {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcontent: '';\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\topacity: 0.3;\n\tbackground-color: var(--vscode-editor-background);\n\tz-index: 1;\n}\n",""]);const l=r},1727:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .codelens-decoration {\n\toverflow: hidden;\n\tdisplay: inline-block;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tcolor: var(--vscode-editorCodeLens-foreground);\n\tline-height: var(--vscode-editorCodeLens-lineHeight);\n\tfont-size: var(--vscode-editorCodeLens-fontSize);\n\tpadding-right: calc(var(--vscode-editorCodeLens-fontSize)*0.5);\n\tfont-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);\n\tfont-family: var(--vscode-editorCodeLens-fontFamily), var(--vscode-editorCodeLens-fontFamilyDefault);\n}\n\n.monaco-editor .codelens-decoration > span,\n.monaco-editor .codelens-decoration > a {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\twhite-space: nowrap;\n\tvertical-align: sub;\n}\n\n.monaco-editor .codelens-decoration > a {\n\ttext-decoration: none;\n}\n\n.monaco-editor .codelens-decoration > a:hover {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .codelens-decoration > a:hover .codicon {\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .codelens-decoration .codicon {\n\tvertical-align: middle;\n\tcolor: currentColor !important;\n\tcolor: var(--vscode-editorCodeLens-foreground);\n\tline-height: var(--vscode-editorCodeLens-lineHeight);\n\tfont-size: var(--vscode-editorCodeLens-fontSize);\n}\n\n.monaco-editor .codelens-decoration > a:hover .codicon::before {\n\tcursor: pointer;\n}\n\n@keyframes fadein {\n\t0% {\n\t\topacity: 0;\n\t\tvisibility: visible;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n.monaco-editor .codelens-decoration.fadein {\n\tanimation: fadein 0.1s linear;\n}\n",""]);const l=r},3345:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s),l=n(4417),a=n.n(l),d=new URL(n(8968),n.b),u=r()(o()),c=a()(d);u.push([e.id,`/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.colorpicker-widget {\n\theight: 190px;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/* Decoration */\n\n.colorpicker-color-decoration,\n.hc-light .colorpicker-color-decoration {\n\tborder: solid 0.1em #000;\n\tbox-sizing: border-box;\n\tmargin: 0.1em 0.2em 0 0.2em;\n\twidth: 0.8em;\n\theight: 0.8em;\n\tline-height: 0.8em;\n\tdisplay: inline-block;\n\tcursor: pointer;\n}\n\n.hc-black .colorpicker-color-decoration,\n.vs-dark .colorpicker-color-decoration {\n\tborder: solid 0.1em #eee;\n}\n\n/* Header */\n\n.colorpicker-header {\n\tdisplay: flex;\n\theight: 24px;\n\tposition: relative;\n\tbackground: url(${c});\n\tbackground-size: 9px 9px;\n\timage-rendering: pixelated;\n}\n\n.colorpicker-header .picked-color {\n\twidth: 240px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 24px;\n\tcursor: pointer;\n\tcolor: white;\n\tflex: 1;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.colorpicker-header .picked-color .picked-color-presentation {\n\twhite-space: nowrap;\n\tmargin-left: 5px;\n\tmargin-right: 5px;\n}\n\n.colorpicker-header .picked-color .codicon {\n\tcolor: inherit;\n\tfont-size: 14px;\n}\n\n.colorpicker-header .picked-color.light {\n\tcolor: black;\n}\n\n.colorpicker-header .original-color {\n\twidth: 74px;\n\tz-index: inherit;\n\tcursor: pointer;\n}\n\n.standalone-colorpicker {\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.colorpicker-header.standalone-colorpicker {\n\tborder-bottom: none;\n}\n\n.colorpicker-header .close-button {\n\tcursor: pointer;\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder-left: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.colorpicker-header .close-button-inner-div {\n\twidth: 100%;\n\theight: 100%;\n\ttext-align: center;\n}\n\n.colorpicker-header .close-button-inner-div:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground);\n}\n\n.colorpicker-header .close-icon {\n\tpadding: 3px;\n}\n\n/* Body */\n\n.colorpicker-body {\n\tdisplay: flex;\n\tpadding: 8px;\n\tposition: relative;\n}\n\n.colorpicker-body .saturation-wrap {\n\toverflow: hidden;\n\theight: 150px;\n\tposition: relative;\n\tmin-width: 220px;\n\tflex: 1;\n}\n\n.colorpicker-body .saturation-box {\n\theight: 150px;\n\tposition: absolute;\n}\n\n.colorpicker-body .saturation-selection {\n\twidth: 9px;\n\theight: 9px;\n\tmargin: -5px 0 0 -5px;\n\tborder: 1px solid rgb(255, 255, 255);\n\tborder-radius: 100%;\n\tbox-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);\n\tposition: absolute;\n}\n\n.colorpicker-body .strip {\n\twidth: 25px;\n\theight: 150px;\n}\n\n.colorpicker-body .standalone-strip {\n\twidth: 25px;\n\theight: 122px;\n}\n\n.colorpicker-body .hue-strip {\n\tposition: relative;\n\tmargin-left: 8px;\n\tcursor: grab;\n\tbackground: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n}\n\n.colorpicker-body .opacity-strip {\n\tposition: relative;\n\tmargin-left: 8px;\n\tcursor: grab;\n\tbackground: url(${c});\n\tbackground-size: 9px 9px;\n\timage-rendering: pixelated;\n}\n\n.colorpicker-body .strip.grabbing {\n\tcursor: grabbing;\n}\n\n.colorpicker-body .slider {\n\tposition: absolute;\n\ttop: 0;\n\tleft: -2px;\n\twidth: calc(100% + 4px);\n\theight: 4px;\n\tbox-sizing: border-box;\n\tborder: 1px solid rgba(255, 255, 255, 0.71);\n\tbox-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);\n}\n\n.colorpicker-body .strip .overlay {\n\theight: 150px;\n\tpointer-events: none;\n}\n\n.colorpicker-body .standalone-strip .standalone-overlay {\n\theight: 122px;\n\tpointer-events: none;\n}\n\n.standalone-colorpicker-body {\n\tdisplay: block;\n\tborder: 1px solid transparent;\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n\toverflow: hidden;\n}\n\n.colorpicker-body .insert-button {\n\tposition: absolute;\n\theight: 20px;\n\twidth: 58px;\n\tpadding: 0px;\n\tright: 8px;\n\tbottom: 8px;\n\tbackground: var(--vscode-button-background);\n\tcolor: var(--vscode-button-foreground);\n\tborder-radius: 2px;\n\tborder: none;\n\tcursor: pointer;\n}\n\n.colorpicker-body .insert-button:hover{\n\tbackground: var(--vscode-button-hoverBackground);\n}\n`,""]);const h=u},8357:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor.vs .dnd-target,\n.monaco-editor.hc-light .dnd-target {\n\tborder-right: 2px dotted black;\n\tcolor: white; /* opposite of black */\n}\n.monaco-editor.vs-dark .dnd-target {\n\tborder-right: 2px dotted #AEAFAD;\n\tcolor: #51504f; /* opposite of #AEAFAD */\n}\n.monaco-editor.hc-black .dnd-target {\n\tborder-right: 2px dotted #fff;\n\tcolor: #000; /* opposite of #fff */\n}\n\n.monaco-editor.mouse-default .view-lines,\n.monaco-editor.vs-dark.mac.mouse-default .view-lines,\n.monaco-editor.hc-black.mac.mouse-default .view-lines,\n.monaco-editor.hc-light.mac.mouse-default .view-lines {\n\tcursor: default;\n}\n.monaco-editor.mouse-copy .view-lines,\n.monaco-editor.vs-dark.mac.mouse-copy .view-lines,\n.monaco-editor.hc-black.mac.mouse-copy .view-lines,\n.monaco-editor.hc-light.mac.mouse-copy .view-lines {\n\tcursor: copy;\n}\n",""]);const l=r},9926:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.post-edit-widget {\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tborder: 1px solid var(--vscode-widget-border, transparent);\n\tborder-radius: 4px;\n\tbackground-color: var(--vscode-editorWidget-background);\n\toverflow: hidden;\n}\n\n.post-edit-widget .monaco-button {\n\tpadding: 2px;\n\tborder: none;\n\tborder-radius: 0;\n}\n\n.post-edit-widget .monaco-button:hover {\n\tbackground-color: var(--vscode-button-secondaryHoverBackground) !important;\n}\n\n.post-edit-widget .monaco-button .codicon {\n\tmargin: 0;\n}\n",""]);const l=r},5669:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .findOptionsWidget {\n\tbackground-color: var(--vscode-editorWidget-background);\n\tcolor: var(--vscode-editorWidget-foreground);\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tborder: 2px solid var(--vscode-contrastBorder);\n}\n",""]);const l=r},5395:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Find widget */\n.monaco-editor .find-widget {\n\tposition: absolute;\n\tz-index: 35;\n\theight: 33px;\n\toverflow: hidden;\n\tline-height: 19px;\n\ttransition: transform 200ms linear;\n\tpadding: 0 4px;\n\tbox-sizing: border-box;\n\ttransform: translateY(calc(-100% - 10px)); /* shadow (10px) */\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tcolor: var(--vscode-editorWidget-foreground);\n\tborder-left: 1px solid var(--vscode-widget-border);\n\tborder-right: 1px solid var(--vscode-widget-border);\n\tborder-bottom: 1px solid var(--vscode-widget-border);\n\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n\tbackground-color: var(--vscode-editorWidget-background);\n}\n\n.monaco-workbench.reduce-motion .monaco-editor .find-widget {\n\ttransition: transform 0ms linear;\n}\n\n.monaco-editor .find-widget textarea {\n\tmargin: 0px;\n}\n\n.monaco-editor .find-widget.hiddenEditor {\n\tdisplay: none;\n}\n\n/* Find widget when replace is toggled on */\n.monaco-editor .find-widget.replaceToggled > .replace-part {\n\tdisplay: flex;\n}\n\n.monaco-editor .find-widget.visible {\n\ttransform: translateY(0);\n}\n\n/* This outline-color rule is used to override the outline color for synthetic-focus find input. */\n.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {\n\toutline: 1px solid -webkit-focus-ring-color;\n\toutline-offset: -1px;\n\toutline-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .find-widget .monaco-inputbox .input {\n\tbackground-color: transparent;\n\tmin-height: 0;\n}\n\n.monaco-editor .find-widget .monaco-findInput .input {\n\tfont-size: 13px;\n}\n\n.monaco-editor .find-widget > .find-part,\n.monaco-editor .find-widget > .replace-part {\n\tmargin: 3px 25px 0 17px;\n\tfont-size: 12px;\n\tdisplay: flex;\n}\n\n.monaco-editor .find-widget > .find-part .monaco-inputbox,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox {\n\tmin-height: 25px;\n}\n\n\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding-right: 22px;\n}\n\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding-top: 2px;\n\tpadding-bottom: 2px;\n}\n\n.monaco-editor .find-widget > .find-part .find-actions {\n\theight: 25px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-editor .find-widget > .replace-part .replace-actions {\n\theight: 25px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-editor .find-widget .monaco-findInput {\n\tvertical-align: middle;\n\tdisplay: flex;\n\tflex:1;\n}\n\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {\n\t/* Make sure textarea inherits the width correctly */\n\twidth: 100%;\n}\n\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {\n\t/* Hide vertical scrollbar */\n\topacity: 0;\n}\n\n.monaco-editor .find-widget .matchesCount {\n\tdisplay: flex;\n\tflex: initial;\n\tmargin: 0 0 0 3px;\n\tpadding: 2px 0 0 2px;\n\theight: 25px;\n\tvertical-align: middle;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 23px;\n}\n\n.monaco-editor .find-widget .button {\n\twidth: 16px;\n\theight: 16px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n\tdisplay: flex;\n\tflex: initial;\n\tmargin-left: 3px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tcursor: pointer;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* find in selection button */\n.monaco-editor .find-widget .codicon-find-selection {\n\twidth: 22px;\n\theight: 22px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n}\n\n.monaco-editor .find-widget .button.left {\n\tmargin-left: 0;\n\tmargin-right: 3px;\n}\n\n.monaco-editor .find-widget .button.wide {\n\twidth: auto;\n\tpadding: 1px 6px;\n\ttop: -1px;\n}\n\n.monaco-editor .find-widget .button.toggle {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 3px;\n\twidth: 18px;\n\theight: 100%;\n\tborder-radius: 0;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .find-widget .button.toggle.disabled {\n\tdisplay: none;\n}\n\n.monaco-editor .find-widget .disabled {\n\tcolor: var(--vscode-disabledForeground);\n\tcursor: default;\n}\n\n.monaco-editor .find-widget > .replace-part {\n\tdisplay: none;\n}\n\n.monaco-editor .find-widget > .replace-part > .monaco-findInput {\n\tposition: relative;\n\tdisplay: flex;\n\tvertical-align: middle;\n\tflex: auto;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n}\n\n.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {\n\tposition: absolute;\n\ttop: 3px;\n\tright: 2px;\n}\n\n/* REDUCED */\n.monaco-editor .find-widget.reduced-find-widget .matchesCount {\n\tdisplay:none;\n}\n\n/* NARROW (SMALLER THAN REDUCED) */\n.monaco-editor .find-widget.narrow-find-widget {\n\tmax-width: 257px !important;\n}\n\n/* COLLAPSED (SMALLER THAN NARROW) */\n.monaco-editor .find-widget.collapsed-find-widget {\n\tmax-width: 170px !important;\n}\n\n.monaco-editor .find-widget.collapsed-find-widget .button.previous,\n.monaco-editor .find-widget.collapsed-find-widget .button.next,\n.monaco-editor .find-widget.collapsed-find-widget .button.replace,\n.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,\n.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {\n\tdisplay:none;\n}\n\n.monaco-editor .find-widget.no-results .matchesCount {\n\tcolor: var(--vscode-errorForeground);\n}\n\n.monaco-editor .findMatch {\n\tanimation-duration: 0;\n\tanimation-name: inherit !important;\n\tbackground-color: var(--vscode-editor-findMatchHighlightBackground);\n}\n\n.monaco-editor .currentFindMatch {\n\tbackground-color: var(--vscode-editor-findMatchBackground);\n\tborder: 2px solid var(--vscode-editor-findMatchBorder);\n\tpadding: 1px;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .findScope {\n\tbackground-color: var(--vscode-editor-findRangeHighlightBackground);\n}\n\n.monaco-editor .find-widget .monaco-sash {\n\tleft: 0 !important;\n\tbackground-color: var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border));\n}\n\n.monaco-editor.hc-black .find-widget .button:before {\n\tposition: relative;\n\ttop: 1px;\n\tleft: 2px;\n}\n\n/* Action bars */\n.monaco-editor .find-widget .button:not(.disabled):hover,\n.monaco-editor .find-widget .codicon-find-selection:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground) !important;\n}\n\n.monaco-editor.findMatch {\n\tbackground-color: var(--vscode-editor-findMatchHighlightBackground);\n}\n\n.monaco-editor.currentFindMatch {\n\tbackground-color: var(--vscode-editor-findMatchBackground);\n}\n\n.monaco-editor.findScope {\n\tbackground-color: var(--vscode-editor-findRangeHighlightBackground);\n}\n\n.monaco-editor.findMatch {\n\tbackground-color: var(--vscode-editorWidget-background);\n}\n\n/* Close button position. */\n.monaco-editor .find-widget > .button.codicon-widget-close {\n\tposition: absolute;\n\ttop: 5px;\n\tright: 4px;\n}\n",""]);const l=r},5405:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,\n.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,\n.monaco-editor .margin-view-overlays .codicon-folding-expanded,\n.monaco-editor .margin-view-overlays .codicon-folding-collapsed {\n\tcursor: pointer;\n\topacity: 0;\n\ttransition: opacity 0.5s;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 140%;\n\tmargin-left: 2px;\n}\n\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed {\n\ttransition: initial;\n}\n\n.monaco-editor .margin-view-overlays:hover .codicon,\n.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,\n.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,\n.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {\n\topacity: 1;\n}\n\n.monaco-editor .inline-folded:after {\n\tcolor: grey;\n\tmargin: 0.1em 0.2em 0 0.2em;\n\tcontent: "\\22EF"; /* ellipses unicode character */\n\tdisplay: inline;\n\tline-height: 1em;\n\tcursor: pointer;\n}\n\n.monaco-editor .folded-background {\n\tbackground-color: var(--vscode-editor-foldBackground);\n}\n\n.monaco-editor .cldr.codicon.codicon-folding-expanded,\n.monaco-editor .cldr.codicon.codicon-folding-collapsed,\n.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,\n.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed {\n\tcolor: var(--vscode-editorGutter-foldingControlForeground) !important;\n}\n\n',""]);const l=r},1788:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* marker zone */\n\n.monaco-editor .peekview-widget .head .peekview-title .severity-icon {\n\tdisplay: inline-block;\n\tvertical-align: text-top;\n\tmargin-right: 4px;\n}\n\n.monaco-editor .marker-widget {\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .marker-widget > .stale {\n\topacity: 0.6;\n\tfont-style: italic;\n}\n\n.monaco-editor .marker-widget .title {\n\tdisplay: inline-block;\n\tpadding-right: 5px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer {\n\tposition: absolute;\n\twhite-space: pre;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tpadding: 8px 12px 0 20px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message .details {\n\tpadding-left: 6px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message .source,\n.monaco-editor .marker-widget .descriptioncontainer .message span.code {\n\topacity: 0.6;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {\n\topacity: 0.6;\n\tcolor: inherit;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {\n\tcontent: '(';\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {\n\tcontent: ')';\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {\n\ttext-decoration: underline;\n\t/** Hack to force underline to show **/\n\tborder-bottom: 1px solid transparent;\n\ttext-underline-position: under;\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .filename {\n\tcursor: pointer;\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n",""]);const l=r},1503:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .goto-definition-link {\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n",""]);const l=r},6378:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* -- zone widget */\n.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {\n\tborder-top-width: 1px;\n\tborder-bottom-width: 1px;\n}\n\n.monaco-editor .reference-zone-widget .inline {\n\tdisplay: inline-block;\n\tvertical-align: top;\n}\n\n.monaco-editor .reference-zone-widget .messages {\n\theight: 100%;\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 3em 0;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree {\n\tline-height: 23px;\n\tbackground-color: var(--vscode-peekViewResult-background);\n\tcolor: var(--vscode-peekViewResult-lineForeground);\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference-file {\n\tdisplay: inline-flex;\n\twidth: 100%;\n\theight: 100%;\n\tcolor: var(--vscode-peekViewResult-fileForeground);\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {\n\tcolor: inherit !important;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {\n\tbackground-color: var(--vscode-peekViewResult-selectionBackground);\n\tcolor: var(--vscode-peekViewResult-selectionForeground) !important;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {\n\tmargin-right: 12px;\n\tmargin-left: auto;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {\n\tbackground-color: var(--vscode-peekViewResult-matchHighlightBackground);\n}\n\n.monaco-editor .reference-zone-widget .preview .reference-decoration {\n\tbackground-color: var(--vscode-peekViewEditor-matchHighlightBackground);\n\tborder: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,\n.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\n\tbackground-color: var(--vscode-peekViewEditor-background);\n}\n\n.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\n\tbackground-color: var(--vscode-peekViewEditorGutter-background);\n}\n\n/* High Contrast Theming */\n\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,\n.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file {\n\tfont-weight: bold;\n}\n\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,\n.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight {\n\tborder: 1px dotted var(--vscode-contrastActiveBorder, transparent);\n\tbox-sizing: border-box;\n}\n",""]);const l=r},245:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .hoverHighlight {\n\tbackground-color: var(--vscode-editor-hoverHighlightBackground);\n}\n\n.monaco-editor .monaco-hover {\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-radius: 3px;\n}\n\n.monaco-editor .monaco-hover a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .monaco-hover a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .monaco-hover .hover-row .actions {\n\tbackground-color: var(--vscode-editorHoverWidget-statusBarBackground);\n}\n\n.monaco-editor .monaco-hover code {\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n\n",""]);const l=r},6437:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n.monaco-editor.vs .valueSetReplacement {\n\toutline: solid 2px var(--vscode-editorBracketMatch-border);\n}\n",""]);const l=r},8169:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .suggest-preview-additional-widget {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .suggest-preview-additional-widget .content-spacer {\n\tcolor: transparent;\n\twhite-space: pre;\n}\n\n.monaco-editor .suggest-preview-additional-widget .button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .ghost-text-hidden {\n\topacity: 0;\n\tfont-size: 0;\n}\n\n.monaco-editor .ghost-text-decoration, .monaco-editor .suggest-preview-text .ghost-text {\n\tfont-style: italic;\n}\n\n.monaco-editor .inline-completion-text-to-replace {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .suggest-preview-text .ghost-text {\n\tcolor: var(--vscode-editorGhostText-foreground) !important;\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tborder: 1px solid var(--vscode-editorGhostText-border);\n}\n",""]);const l=r},5415:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inlineSuggestionsHints.withBorder {\n\tz-index: 39;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .inlineSuggestionsHints a {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineSuggestionsHints a:hover {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineSuggestionsHints .keybinding {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\topacity: 0.6;\n}\n\n.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key {\n\tfont-size: 8px;\n\tpadding: 2px 3px;\n}\n\n.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a {\n\tdisplay: flex;\n\tmin-width: 19px;\n\tjustify-content: center;\n}\n\n.monaco-editor .inlineSuggestionStatusBarItemLabel {\n\tmargin-right: 2px;\n}\n",""]);const l=r},1935:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inline-edit-remove {\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tfont-style: italic;\n\ttext-decoration: line-through;\n}\n\n.monaco-editor .inline-edit-remove.backgroundColoring {\n\tbackground-color: var(--vscode-diffEditor-removedLineBackground);\n}\n\n.monaco-editor .inline-edit-hidden {\n\topacity: 0;\n\tfont-size: 0;\n}\n\n.monaco-editor .inline-edit-decoration, .monaco-editor .suggest-preview-text .inline-edit {\n\tfont-style: italic;\n}\n\n.monaco-editor .inline-completion-text-to-replace {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .suggest-preview-text .inline-edit {\n\tcolor: var(--vscode-editorGhostText-foreground) !important;\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tborder: 1px solid var(--vscode-editorGhostText-border);\n}\n\n\n",""]);const l=r},5269:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inlineEditHints.withBorder {\n\tz-index: 39;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .inlineEditHints a {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineEditHints a:hover {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineEditHints .keybinding {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\topacity: 0.6;\n}\n\n.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key {\n\tfont-size: 8px;\n\tpadding: 2px 3px;\n}\n\n.monaco-editor .inlineEditStatusBarItemLabel {\n\tmargin-right: 2px;\n}\n",""]);const l=r},8129:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.inline-editor-progress-decoration {\n\tdisplay: inline-block;\n\twidth: 1em;\n\theight: 1em;\n}\n\n.inline-progress-widget {\n\tdisplay: flex !important;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.inline-progress-widget .icon {\n\tfont-size: 80% !important;\n}\n\n.inline-progress-widget:hover .icon {\n\tfont-size: 90% !important;\n\tanimation: none;\n}\n\n.inline-progress-widget:hover .icon::before {\n\tcontent: "\\ea76"; /* codicon-x */\n}\n',""]);const l=r},3293:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .linked-editing-decoration {\n\tbackground-color: var(--vscode-editor-linkedEditingBackground);\n\n\t/* Ensure decoration is visible even if range is empty */\n\tmin-width: 1px;\n}\n",""]);const l=r},1177:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .detected-link,\n.monaco-editor .detected-link-active {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .detected-link-active {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n",""]);const l=r},7201:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .monaco-editor-overlaymessage {\n\tpadding-bottom: 8px;\n\tz-index: 10000;\n}\n\n.monaco-editor .monaco-editor-overlaymessage.below {\n\tpadding-bottom: 0;\n\tpadding-top: 8px;\n\tz-index: 10000;\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n.monaco-editor .monaco-editor-overlaymessage.fadeIn {\n\tanimation: fadeIn 150ms ease-out;\n}\n\n@keyframes fadeOut {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; }\n}\n.monaco-editor .monaco-editor-overlaymessage.fadeOut {\n\tanimation: fadeOut 100ms ease-out;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message {\n\tpadding: 2px 4px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-inputValidation-infoBorder);\n\tborder-radius: 3px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message p {\n\tmargin-block: 0px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor.hc-black .monaco-editor-overlaymessage .message,\n.monaco-editor.hc-light .monaco-editor-overlaymessage .message {\n\tborder-width: 2px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor {\n\twidth: 0 !important;\n\theight: 0 !important;\n\tborder-color: transparent;\n\tborder-style: solid;\n\tz-index: 1000;\n\tborder-width: 8px;\n\tposition: absolute;\n\tleft: 2px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor.top {\n\tborder-bottom-color: var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor.below {\n\tborder-top-color: var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {\n\tdisplay: none;\n}\n\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {\n\tdisplay: inherit;\n\ttop: -8px;\n}\n",""]);const l=r},991:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .parameter-hints-widget {\n\t/* Must be higher than the sash\'s z-index and terminal canvases but lower than the suggest widget */\n\tz-index: 39;\n\tdisplay: flex;\n\tflex-direction: column;\n\tline-height: 1.5em;\n\tcursor: default;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.hc-black .monaco-editor .parameter-hints-widget,\n.hc-light .monaco-editor .parameter-hints-widget {\n\tborder-width: 2px;\n}\n\n.monaco-editor .parameter-hints-widget > .phwrapper {\n\tmax-width: 440px;\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.monaco-editor .parameter-hints-widget.multiple {\n\tmin-height: 3.3em;\n\tpadding: 0;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .body::before {\n\tcontent: "";\n\tdisplay: block;\n\theight: 100%;\n\tposition: absolute;\n\topacity: 0.5;\n\tborder-left: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .parameter-hints-widget p,\n.monaco-editor .parameter-hints-widget ul {\n\tmargin: 8px 0;\n}\n\n.monaco-editor .parameter-hints-widget .monaco-scrollable-element,\n.monaco-editor .parameter-hints-widget .body {\n\tdisplay: flex;\n\tflex: 1;\n\tflex-direction: column;\n\tmin-height: 100%;\n}\n\n.monaco-editor .parameter-hints-widget .signature {\n\tpadding: 4px 5px;\n\tposition: relative;\n}\n\n.monaco-editor .parameter-hints-widget .signature.has-docs::after {\n\tcontent: "";\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\tpadding-top: 4px;\n\topacity: 0.5;\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .parameter-hints-widget .docs {\n\tpadding: 0 10px 0 5px;\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .parameter-hints-widget .docs.empty {\n\tdisplay: none;\n}\n\n.monaco-editor .parameter-hints-widget .docs a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .parameter-hints-widget .docs a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n\tcursor: pointer;\n}\n\n.monaco-editor .parameter-hints-widget .docs .markdown-docs {\n\twhite-space: initial;\n}\n\n.monaco-editor .parameter-hints-widget .docs code {\n\tfont-family: var(--monaco-monospace-font);\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,\n.monaco-editor .parameter-hints-widget .docs .code {\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .parameter-hints-widget .controls {\n\tdisplay: none;\n\tflex-direction: column;\n\talign-items: center;\n\tmin-width: 22px;\n\tjustify-content: flex-end;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .controls {\n\tdisplay: flex;\n\tpadding: 0 2px;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .button {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tcursor: pointer;\n}\n\n.monaco-editor .parameter-hints-widget .button.previous {\n\tbottom: 24px;\n}\n\n.monaco-editor .parameter-hints-widget .overloads {\n\ttext-align: center;\n\theight: 12px;\n\tline-height: 12px;\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .parameter-hints-widget .signature .parameter.active {\n\tcolor: var(--vscode-editorHoverWidget-highlightForeground);\n\tfont-weight: bold;\n}\n\n.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {\n\tfont-weight: bold;\n\tmargin-right: 0.5em;\n}\n',""]);const l=r},9734:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .peekview-widget .head {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-wrap: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title {\n\tdisplay: flex;\n\talign-items: baseline;\n\tfont-size: 13px;\n\tmargin-left: 20px;\n\tmin-width: 0;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title.clickable {\n\tcursor: pointer;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {\n\tfont-size: 0.9em;\n\tmargin-left: 0.5em;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .meta {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .dirname {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .filename {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {\n\tcontent: '-';\n\tpadding: 0 0.3em;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions {\n\tflex: 1;\n\ttext-align: right;\n\tpadding-right: 2px;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {\n\theight: 100%;\n}\n\n.monaco-editor .peekview-widget > .body {\n\tborder-top: 1px solid;\n\tposition: relative;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .codicon {\n\tmargin-right: 4px;\n\talign-self: center;\n}\n\n.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: inherit !important;\n}\n",""]);const l=r},8033:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .rename-box {\n\tz-index: 100;\n\tcolor: inherit;\n\tborder-radius: 4px;\n}\n\n.monaco-editor .rename-box.preview {\n\tpadding: 4px 4px 0 4px;\n}\n\n.monaco-editor .rename-box .rename-input {\n\tpadding: 3px;\n\tborder-radius: 2px;\n\twidth: calc(100% - 8px); /* 4px padding on each side */\n}\n\n.monaco-editor .rename-box .rename-label {\n\tdisplay: none;\n\topacity: .8;\n}\n\n.monaco-editor .rename-box.preview .rename-label {\n\tdisplay: inherit;\n}\n",""]);const l=r},69:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .snippet-placeholder {\n\tmin-width: 2px;\n\toutline-style: solid;\n\toutline-width: 1px;\n\tbackground-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);\n\toutline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);\n}\n\n.monaco-editor .finish-snippet-placeholder {\n\toutline-style: solid;\n\toutline-width: 1px;\n\tbackground-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);\n\toutline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);\n}\n",""]);const l=r},7689:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .sticky-widget {\n\toverflow: hidden;\n}\n\n.monaco-editor .sticky-widget-line-numbers {\n\tfloat: left;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-widget-lines-scrollable {\n\tdisplay: inline-block;\n\tposition: absolute;\n\toverflow: hidden;\n\twidth: var(--vscode-editorStickyScroll-scrollableWidth);\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-widget-lines {\n\tposition: absolute;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-line-number, .monaco-editor .sticky-line-content {\n\tcolor: var(--vscode-editorLineNumber-foreground);\n\twhite-space: nowrap;\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-line-number .codicon-folding-expanded,\n.monaco-editor .sticky-line-number .codicon-folding-collapsed {\n\tfloat: right;\n\ttransition: var(--vscode-editorStickyScroll-foldingOpacityTransition);\n}\n\n.monaco-editor .sticky-line-content {\n\twidth: var(--vscode-editorStickyScroll-scrollableWidth);\n\tbackground-color: inherit;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .sticky-line-number-inner {\n\tdisplay: inline-block;\n\ttext-align: right;\n}\n\n.monaco-editor .sticky-widget {\n\tborder-bottom: 1px solid var(--vscode-editorStickyScroll-border);\n}\n\n.monaco-editor .sticky-line-content:hover {\n\tbackground-color: var(--vscode-editorStickyScrollHover-background);\n\tcursor: pointer;\n}\n\n.monaco-editor .sticky-widget {\n\twidth: 100%;\n\tbox-shadow: var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;\n\tz-index: 4;\n\tbackground-color: var(--vscode-editorStickyScroll-background);\n}\n\n.monaco-editor .sticky-widget.peek {\n\tbackground-color: var(--vscode-peekViewEditorStickyScroll-background);\n}\n",""]);const l=r},7160:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Suggest widget*/\n\n.monaco-editor .suggest-widget {\n\twidth: 430px;\n\tz-index: 40;\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder-radius: 3px;\n}\n\n.monaco-editor .suggest-widget.message {\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.monaco-editor .suggest-widget,\n.monaco-editor .suggest-details {\n\tflex: 0 1 auto;\n\twidth: 100%;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-color: var(--vscode-editorSuggestWidget-border);\n\tbackground-color: var(--vscode-editorSuggestWidget-background);\n}\n\n.monaco-editor.hc-black .suggest-widget,\n.monaco-editor.hc-black .suggest-details,\n.monaco-editor.hc-light .suggest-widget,\n.monaco-editor.hc-light .suggest-details {\n\tborder-width: 2px;\n}\n\n/* Styles for status bar part */\n\n\n.monaco-editor .suggest-widget .suggest-status-bar {\n\tbox-sizing: border-box;\n\tdisplay: none;\n\tflex-flow: row nowrap;\n\tjustify-content: space-between;\n\twidth: 100%;\n\tfont-size: 80%;\n\tpadding: 0 4px 0 4px;\n\tborder-top: 1px solid var(--vscode-editorSuggestWidget-border);\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {\n\tdisplay: flex;\n}\n\n.monaco-editor .suggest-widget .suggest-status-bar .left {\n\tpadding-right: 8px;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {\n\tcolor: var(--vscode-editorSuggestWidgetStatus-foreground);\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {\n\tcontent: ', ';\n\tmargin-right: 0.3em;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row > .contents > .main > .right > .readMore,\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover > .contents > .main > .right.can-expand-details > .details-label {\n\twidth: 100%;\n}\n\n/* Styles for Message element for when widget is loading or is empty */\n\n.monaco-editor .suggest-widget > .message {\n\tpadding-left: 22px;\n}\n\n/** Styles for the list element **/\n\n.monaco-editor .suggest-widget > .tree {\n\theight: 100%;\n\twidth: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/** Styles for each row in the list element **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row {\n\tdisplay: flex;\n\t-mox-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tpadding-right: 10px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 2px 2px;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttouch-action: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {\n\tcolor: var(--vscode-editorSuggestWidget-selectedForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: var(--vscode-editorSuggestWidget-selectedIconForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents {\n\tflex: 1;\n\theight: 100%;\n\toverflow: hidden;\n\tpadding-left: 2px;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main {\n\tdisplay: flex;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: pre;\n\tjustify-content: space-between;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {\n\tdisplay: flex;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused) > .contents > .main .monaco-icon-label {\n\tcolor: var(--vscode-editorSuggestWidget-foreground);\n}\n\n.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {\n\tfont-weight: bold;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-editorSuggestWidget-highlightForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-editorSuggestWidget-focusHighlightForeground);\n}\n\n/** ReadMore Icon styles **/\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore::before {\n\tcolor: inherit;\n\topacity: 1;\n\tfont-size: 14px;\n\tcursor: pointer;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close {\n\tposition: absolute;\n\ttop: 6px;\n\tright: 2px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close:hover,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore:hover {\n\topacity: 1;\n}\n\n/** signature, qualifier, type/details opacity **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\topacity: 0.7;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .signature-label {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0.6;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .qualifier-label {\n\tmargin-left: 12px;\n\topacity: 0.4;\n\tfont-size: 85%;\n\tline-height: initial;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\talign-self: center;\n}\n\n/** Type Info and icon next to the label in the focused completion item **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\tfont-size: 85%;\n\tmargin-left: 1.1em;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label > .monaco-tokenized-source {\n\tdisplay: inline;\n}\n\n/** Details: if using CompletionItem#details, show on focus **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused > .contents > .main > .right > .details-label {\n\tdisplay: inline;\n}\n\n/** Details: if using CompletionItemLabel#details, always show **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .right > .details-label,\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label) > .contents > .main > .right > .details-label {\n\tdisplay: inline;\n}\n\n/** Ellipsis on hover **/\n\n.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right.can-expand-details > .details-label {\n\twidth: calc(100% - 26px);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left {\n\tflex-shrink: 1;\n\tflex-grow: 1;\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .monaco-icon-label {\n\tflex-shrink: 0;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .left > .monaco-icon-label {\n\tmax-width: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .left > .monaco-icon-label {\n\tflex-shrink: 1;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {\n\toverflow: hidden;\n\tflex-shrink: 4;\n\tmax-width: 70%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\twidth: 18px;\n\theight: 18px;\n\tvisibility: hidden;\n}\n\n/** Do NOT display ReadMore when docs is side/below **/\n\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {\n\tdisplay: none !important;\n}\n\n/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .right > .readMore {\n\tdisplay: none;\n}\n\n/** Focused item can show ReadMore, but can't when docs is side/below **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right > .readMore {\n\tvisibility: visible;\n}\n\n/** Styles for each row in the list **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {\n\topacity: 0.66;\n\ttext-decoration: unset;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated > .monaco-icon-label-container > .monaco-icon-name-container {\n\ttext-decoration: line-through;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {\n\theight: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {\n\tdisplay: block;\n\theight: 16px;\n\twidth: 16px;\n\tmargin-left: 2px;\n\tbackground-repeat: no-repeat;\n\tbackground-size: 80%;\n\tbackground-position: center;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-right: 4px;\n}\n\n.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,\n.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {\n\tmargin: 0 0 0 0.3em;\n\tborder: 0.1em solid #000;\n\twidth: 0.7em;\n\theight: 0.7em;\n\tdisplay: inline-block;\n}\n\n/** Styles for the docs of the completion item in focus **/\n\n.monaco-editor .suggest-details-container {\n\tz-index: 41;\n}\n\n.monaco-editor .suggest-details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tcursor: default;\n\tcolor: var(--vscode-editorSuggestWidget-foreground);\n}\n\n.monaco-editor .suggest-details.focused {\n\tborder-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .suggest-details a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .suggest-details a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .suggest-details code {\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-editor .suggest-details.no-docs {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element {\n\tflex: 1;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body {\n\tbox-sizing: border-box;\n\theight: 100%;\n\twidth: 100%;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type {\n\tflex: 2;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0.7;\n\twhite-space: pre;\n\tmargin: 0 24px 0 0;\n\tpadding: 4px 0 12px 5px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type.auto-wrap {\n\twhite-space: normal;\n\tword-break: break-all;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs {\n\tmargin: 0;\n\tpadding: 4px 5px;\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .suggest-details.no-type > .monaco-scrollable-element > .body > .docs {\n\tmargin-right: 24px;\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs {\n\tpadding: 0;\n\twhite-space: initial;\n\tmin-height: calc(1rem + 8px);\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div,\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > span:not(:empty) {\n\tpadding: 4px 5px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:first-child {\n\tmargin-top: 0;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:last-child {\n\tmargin-bottom: 0;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .monaco-tokenized-source {\n\twhite-space: pre;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs .code {\n\twhite-space: pre-wrap;\n\tword-wrap: break-word;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .codicon {\n\tvertical-align: sub;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > p:empty {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-details code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-editor .suggest-details ul {\n\tpadding-left: 20px;\n}\n\n.monaco-editor .suggest-details ol {\n\tpadding-left: 20px;\n}\n\n.monaco-editor .suggest-details p code {\n\tfont-family: var(--monaco-monospace-font);\n}\n",""]);const l=r},1029:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .codicon.codicon-symbol-array,\n.monaco-workbench .codicon.codicon-symbol-array { color: var(--vscode-symbolIcon-arrayForeground); }\n.monaco-editor .codicon.codicon-symbol-boolean,\n.monaco-workbench .codicon.codicon-symbol-boolean { color: var(--vscode-symbolIcon-booleanForeground); }\n.monaco-editor .codicon.codicon-symbol-class,\n.monaco-workbench .codicon.codicon-symbol-class { color: var(--vscode-symbolIcon-classForeground); }\n.monaco-editor .codicon.codicon-symbol-method,\n.monaco-workbench .codicon.codicon-symbol-method { color: var(--vscode-symbolIcon-methodForeground); }\n.monaco-editor .codicon.codicon-symbol-color,\n.monaco-workbench .codicon.codicon-symbol-color { color: var(--vscode-symbolIcon-colorForeground); }\n.monaco-editor .codicon.codicon-symbol-constant,\n.monaco-workbench .codicon.codicon-symbol-constant { color: var(--vscode-symbolIcon-constantForeground); }\n.monaco-editor .codicon.codicon-symbol-constructor,\n.monaco-workbench .codicon.codicon-symbol-constructor { color: var(--vscode-symbolIcon-constructorForeground); }\n.monaco-editor .codicon.codicon-symbol-value,\n.monaco-workbench .codicon.codicon-symbol-value,\n.monaco-editor .codicon.codicon-symbol-enum,\n.monaco-workbench .codicon.codicon-symbol-enum { color: var(--vscode-symbolIcon-enumeratorForeground); }\n.monaco-editor .codicon.codicon-symbol-enum-member,\n.monaco-workbench .codicon.codicon-symbol-enum-member { color: var(--vscode-symbolIcon-enumeratorMemberForeground); }\n.monaco-editor .codicon.codicon-symbol-event,\n.monaco-workbench .codicon.codicon-symbol-event { color: var(--vscode-symbolIcon-eventForeground); }\n.monaco-editor .codicon.codicon-symbol-field,\n.monaco-workbench .codicon.codicon-symbol-field { color: var(--vscode-symbolIcon-fieldForeground); }\n.monaco-editor .codicon.codicon-symbol-file,\n.monaco-workbench .codicon.codicon-symbol-file { color: var(--vscode-symbolIcon-fileForeground); }\n.monaco-editor .codicon.codicon-symbol-folder,\n.monaco-workbench .codicon.codicon-symbol-folder { color: var(--vscode-symbolIcon-folderForeground); }\n.monaco-editor .codicon.codicon-symbol-function,\n.monaco-workbench .codicon.codicon-symbol-function { color: var(--vscode-symbolIcon-functionForeground); }\n.monaco-editor .codicon.codicon-symbol-interface,\n.monaco-workbench .codicon.codicon-symbol-interface { color: var(--vscode-symbolIcon-interfaceForeground); }\n.monaco-editor .codicon.codicon-symbol-key,\n.monaco-workbench .codicon.codicon-symbol-key { color: var(--vscode-symbolIcon-keyForeground); }\n.monaco-editor .codicon.codicon-symbol-keyword,\n.monaco-workbench .codicon.codicon-symbol-keyword { color: var(--vscode-symbolIcon-keywordForeground); }\n.monaco-editor .codicon.codicon-symbol-module,\n.monaco-workbench .codicon.codicon-symbol-module { color: var(--vscode-symbolIcon-moduleForeground); }\n.monaco-editor .codicon.codicon-symbol-namespace,\n.monaco-workbench .codicon.codicon-symbol-namespace { color: var(--vscode-symbolIcon-namespaceForeground); }\n.monaco-editor .codicon.codicon-symbol-null,\n.monaco-workbench .codicon.codicon-symbol-null { color: var(--vscode-symbolIcon-nullForeground); }\n.monaco-editor .codicon.codicon-symbol-number,\n.monaco-workbench .codicon.codicon-symbol-number { color: var(--vscode-symbolIcon-numberForeground); }\n.monaco-editor .codicon.codicon-symbol-object,\n.monaco-workbench .codicon.codicon-symbol-object { color: var(--vscode-symbolIcon-objectForeground); }\n.monaco-editor .codicon.codicon-symbol-operator,\n.monaco-workbench .codicon.codicon-symbol-operator { color: var(--vscode-symbolIcon-operatorForeground); }\n.monaco-editor .codicon.codicon-symbol-package,\n.monaco-workbench .codicon.codicon-symbol-package { color: var(--vscode-symbolIcon-packageForeground); }\n.monaco-editor .codicon.codicon-symbol-property,\n.monaco-workbench .codicon.codicon-symbol-property { color: var(--vscode-symbolIcon-propertyForeground); }\n.monaco-editor .codicon.codicon-symbol-reference,\n.monaco-workbench .codicon.codicon-symbol-reference { color: var(--vscode-symbolIcon-referenceForeground); }\n.monaco-editor .codicon.codicon-symbol-snippet,\n.monaco-workbench .codicon.codicon-symbol-snippet { color: var(--vscode-symbolIcon-snippetForeground); }\n.monaco-editor .codicon.codicon-symbol-string,\n.monaco-workbench .codicon.codicon-symbol-string { color: var(--vscode-symbolIcon-stringForeground); }\n.monaco-editor .codicon.codicon-symbol-struct,\n.monaco-workbench .codicon.codicon-symbol-struct { color: var(--vscode-symbolIcon-structForeground); }\n.monaco-editor .codicon.codicon-symbol-text,\n.monaco-workbench .codicon.codicon-symbol-text { color: var(--vscode-symbolIcon-textForeground); }\n.monaco-editor .codicon.codicon-symbol-type-parameter,\n.monaco-workbench .codicon.codicon-symbol-type-parameter { color: var(--vscode-symbolIcon-typeParameterForeground); }\n.monaco-editor .codicon.codicon-symbol-unit,\n.monaco-workbench .codicon.codicon-symbol-unit { color: var(--vscode-symbolIcon-unitForeground); }\n.monaco-editor .codicon.codicon-symbol-variable,\n.monaco-workbench .codicon.codicon-symbol-variable { color: var(--vscode-symbolIcon-variableForeground); }\n",""]);const l=r},6065:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.editor-banner {\n\tbox-sizing: border-box;\n\tcursor: default;\n\twidth: 100%;\n\tfont-size: 12px;\n\tdisplay: flex;\n\toverflow: visible;\n\n\theight: 26px;\n\n\tbackground: var(--vscode-banner-background);\n}\n\n\n.editor-banner .icon-container {\n\tdisplay: flex;\n\tflex-shrink: 0;\n\talign-items: center;\n\tpadding: 0 6px 0 10px;\n}\n\n.editor-banner .icon-container.custom-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center center;\n\tbackground-size: 16px;\n\twidth: 16px;\n\tpadding: 0;\n\tmargin: 0 6px 0 10px;\n}\n\n.editor-banner .message-container {\n\tdisplay: flex;\n\talign-items: center;\n\tline-height: 26px;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.editor-banner .message-container p {\n\tmargin-block-start: 0;\n\tmargin-block-end: 0;\n}\n\n.editor-banner .message-actions-container {\n\tflex-grow: 1;\n\tflex-shrink: 0;\n\tline-height: 26px;\n\tmargin: 0 4px;\n}\n\n.editor-banner .message-actions-container a.monaco-button {\n\twidth: inherit;\n\tmargin: 2px 8px;\n\tpadding: 0px 12px;\n}\n\n.editor-banner .message-actions-container a {\n\tpadding: 3px;\n\tmargin-left: 12px;\n\ttext-decoration: underline;\n}\n\n.editor-banner .action-container {\n\tpadding: 0 10px 0 6px;\n}\n\n.editor-banner {\n\tbackground-color: var(--vscode-banner-background);\n}\n\n.editor-banner,\n.editor-banner .action-container .codicon,\n.editor-banner .message-actions-container .monaco-link {\n\tcolor: var(--vscode-banner-foreground);\n}\n\n.editor-banner .icon-container .codicon {\n\tcolor: var(--vscode-banner-iconForeground);\n}\n",""]);const l=r},8245:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .unicode-highlight {\n\tborder: 1px solid var(--vscode-editorUnicodeHighlight-border);\n\tbackground-color: var(--vscode-editorUnicodeHighlight-background);\n\tbox-sizing: border-box;\n}\n",""]);const l=r},9803:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .focused .selectionHighlight {\n\tbackground-color: var(--vscode-editor-selectionHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-selectionHighlightBorder);\n}\n.monaco-editor.hc-black .focused .selectionHighlight, .monaco-editor.hc-light .focused .selectionHighlight {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlight {\n\tbackground-color: var(--vscode-editor-wordHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightBorder);\n}\n.monaco-editor.hc-black .wordHighlight, .monaco-editor.hc-light .wordHighlight {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlightStrong {\n\tbackground-color: var(--vscode-editor-wordHighlightStrongBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightStrongBorder);\n}\n.monaco-editor.hc-black .wordHighlightStrong, .monaco-editor.hc-light .wordHighlightStrong {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlightText {\n\tbackground-color: var(--vscode-editor-wordHighlightTextBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightTextBorder);\n}\n.monaco-editor.hc-black .wordHighlightText, .monaco-editor.hc-light .wordHighlightText {\n\tborder-style: dotted;\n}\n",""]);const l=r},2889:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .zone-widget {\n\tposition: absolute;\n\tz-index: 10;\n}\n\n\n.monaco-editor .zone-widget .zone-widget-container {\n\tborder-top-style: solid;\n\tborder-bottom-style: solid;\n\tborder-top-width: 0;\n\tborder-bottom-width: 0;\n\tposition: relative;\n}\n",""]);const l=r},9337:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s),l=n(4417),a=n.n(l),d=new URL(n(7584),n.b),u=new URL(n(6060),n.b),c=r()(o()),h=a()(d),g=a()(u);c.push([e.id,`/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .iPadShowKeyboard {\n\twidth: 58px;\n\tmin-width: 0;\n\theight: 36px;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\tresize: none;\n\toverflow: hidden;\n\tbackground: url(${h}) center center no-repeat;\n\tborder: 4px solid #F6F6F6;\n\tborder-radius: 4px;\n}\n\n.monaco-editor.vs-dark .iPadShowKeyboard {\n\tbackground: url(${g}) center center no-repeat;\n\tborder: 4px solid #252526;\n}`,""]);const p=c},2931:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .tokens-inspect-widget {\n\tz-index: 50;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tpadding: 10px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-editor.hc-black .tokens-inspect-widget, .monaco-editor.hc-light .tokens-inspect-widget {\n\tborder-width: 2px;\n}\n\n.monaco-editor .tokens-inspect-widget .tokens-inspect-separator {\n\theight: 1px;\n\tborder: 0;\n\tbackground-color: var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token-length {\n\tfont-weight: normal;\n\tfont-size: 60%;\n\tfloat: right;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-metadata-table {\n\twidth: 100%;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-metadata-value {\n\tfont-family: var(--monaco-monospace-font);\n\ttext-align: right;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token-type {\n\tfont-family: var(--monaco-monospace-font);\n}\n",""]);const l=r},1446:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.quick-input-widget {\n\tfont-size: 13px;\n}\n\n.quick-input-widget .monaco-highlighted-label .highlight,\n.quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0066BF;\n}\n\n.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,\n.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {\n\tcolor: #9DDDFF;\n}\n\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0097fb;\n}\n\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight,\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #F38518;\n}\n\n.hc-light .quick-input-widget .monaco-highlighted-label .highlight,\n.hc-light .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0F4A85;\n}\n\n.monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: rgba(221, 221, 221, 0.4);\n\tborder: solid 1px rgba(204, 204, 204, 0.4);\n\tborder-bottom-color: rgba(187, 187, 187, 0.4);\n\tbox-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);\n\tcolor: #555;\n}\n\n.hc-black .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: transparent;\n\tborder: solid 1px rgb(111, 195, 223);\n\tbox-shadow: none;\n\tcolor: #fff;\n}\n\n.hc-light .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: transparent;\n\tborder: solid 1px #0F4A85;\n\tbox-shadow: none;\n\tcolor: #292929;\n}\n\n.vs-dark .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: rgba(128, 128, 128, 0.17);\n\tborder: solid 1px rgba(51, 51, 51, 0.6);\n\tborder-bottom-color: rgba(68, 68, 68, 0.6);\n\tbox-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);\n\tcolor: #ccc;\n}\n",""]);const l=r},3614:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n/* Default standalone editor fonts */\n.monaco-editor {\n\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {\n\tstroke-width: 1.2px;\n}\n\n.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\n.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\n.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {\n\tstroke-width: 1.2px;\n}\n\n.monaco-hover p {\n\tmargin: 0;\n}\n\n/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */\n.monaco-aria-container {\n\tposition: absolute !important;\n\ttop: 0; /* avoid being placed underneath a sibling element */\n\theight: 1px;\n\twidth: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tclip: rect(1px, 1px, 1px, 1px);\n\tclip-path: inset(50%);\n}\n\n.monaco-editor, .monaco-diff-editor .synthetic-focus,\n.monaco-editor, .monaco-diff-editor [tabindex="0"]:focus,\n.monaco-editor, .monaco-diff-editor [tabindex="-1"]:focus,\n.monaco-editor, .monaco-diff-editor button:focus,\n.monaco-editor, .monaco-diff-editor input[type=button]:focus,\n.monaco-editor, .monaco-diff-editor input[type=checkbox]:focus,\n.monaco-editor, .monaco-diff-editor input[type=search]:focus,\n.monaco-editor, .monaco-diff-editor input[type=text]:focus,\n.monaco-editor, .monaco-diff-editor select:focus,\n.monaco-editor, .monaco-diff-editor textarea:focus {\n\toutline-width: 1px;\n\toutline-style: solid;\n\toutline-offset: -1px;\n\toutline-color: var(--vscode-focusBorder);\n\topacity: 1\n}\n',""]);const l=r},6745:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.action-widget {\n\tfont-size: 13px;\n\tborder-radius: 0;\n\tmin-width: 160px;\n\tmax-width: 80vw;\n\tz-index: 40;\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid var(--vscode-editorWidget-border) !important;\n\tborder-radius: 2px;\n\tbackground-color: var(--vscode-editorWidget-background);\n\tcolor: var(--vscode-editorWidget-foreground);\n}\n\n.context-view-block {\n\tposition: fixed;\n\tcursor: initial;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: -1;\n}\n\n.context-view-pointerBlock {\n\tposition: fixed;\n\tcursor: initial;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 2;\n}\n\n.action-widget .monaco-list {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tborder: none !important;\n\tborder-width: 0 !important;\n}\n\n.action-widget .monaco-list:focus:before {\n\toutline: 0 !important;\n}\n\n.action-widget .monaco-list .monaco-scrollable-element {\n\toverflow: visible;\n}\n\n/** Styles for each row in the list element **/\n.action-widget .monaco-list .monaco-list-row {\n\tpadding: 0 10px;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttouch-action: none;\n\twidth: 100%;\n}\n\n.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {\n\tbackground-color: var(--vscode-quickInputList-focusBackground) !important;\n\tcolor: var(--vscode-quickInputList-focusForeground);\n\toutline: 1px solid var(--vscode-menu-selectionBorder, transparent);\n\toutline-offset: -1px;\n}\n\n.action-widget .monaco-list-row.group-header {\n\tcolor: var(--vscode-descriptionForeground) !important;\n\tfont-weight: 600;\n}\n\n.action-widget .monaco-list .group-header,\n.action-widget .monaco-list .option-disabled,\n.action-widget .monaco-list .option-disabled:before,\n.action-widget .monaco-list .option-disabled .focused,\n.action-widget .monaco-list .option-disabled .focused:before {\n\tcursor: default !important;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\tuser-select: none;\n\tbackground-color: transparent !important;\n\toutline: 0 solid !important;\n}\n\n.action-widget .monaco-list-row.action {\n\tdisplay: flex;\n\tgap: 6px;\n\talign-items: center;\n}\n\n.action-widget .monaco-list-row.action.option-disabled,\n.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,\n.action-widget .monaco-list-row.action.option-disabled .codicon,\n.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n\n.action-widget .monaco-list-row.action:not(.option-disabled) .codicon {\n\tcolor: inherit;\n}\n\n.action-widget .monaco-list-row.action .title {\n\tflex: 1;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.action-widget .monaco-list-row.action .monaco-keybinding > .monaco-keybinding-key {\n\t\tbackground-color: var(--vscode-keybindingLabel-background);\n\t\tcolor: var(--vscode-keybindingLabel-foreground);\n\t\tborder-style: solid;\n\t\tborder-width: 1px;\n\t\tborder-radius: 3px;\n\t\tborder-color: var(--vscode-keybindingLabel-border);\n\t\tborder-bottom-color: var(--vscode-keybindingLabel-bottomBorder);\n\t\tbox-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);\n}\n\n/* Action bar */\n\n.action-widget .action-widget-action-bar {\n\tbackground-color: var(--vscode-editorHoverWidget-statusBarBackground);\n\tborder-top: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.action-widget .action-widget-action-bar::before {\n\tdisplay: block;\n\tcontent: "";\n\twidth: 100%;\n}\n\n.action-widget .action-widget-action-bar .actions-container {\n\tpadding: 0 8px;\n}\n\n.action-widget-action-bar .action-label {\n\tcolor: var(--vscode-textLink-activeForeground);\n\tfont-size: 12px;\n\tline-height: 22px;\n\tpadding: 0;\n\tpointer-events: all;\n}\n\n.action-widget-action-bar .action-item {\n\tmargin-right: 16px;\n\tpointer-events: none;\n}\n\n.action-widget-action-bar .action-label:hover {\n\tbackground-color: transparent !important;\n}\n\n.monaco-action-bar .actions-container.highlight-toggled .action-label.checked {\n\t/* The important gives this rule precedence over the hover rule. */\n\tbackground: var(--vscode-actionBar-toggledBackground) !important;\n}\n',""]);const l=r},9055:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-action-bar .action-item.menu-entry .action-label.icon {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 50%;\n\tbackground-size: 16px;\n}\n\n.monaco-dropdown-with-default {\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tborder-radius: 5px;\n}\n\n.monaco-dropdown-with-default > .action-container > .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 50%;\n\tbackground-size: 16px;\n}\n\n.monaco-dropdown-with-default:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground);\n}\n\n.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {\n\tfont-size: 12px;\n\tpadding-left: 0px;\n\tpadding-right: 0px;\n\tline-height: 16px;\n\tmargin-left: -3px;\n}\n\n.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {\n\tdisplay: block;\n\tbackground-size: 16px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n}\n",""]);const l=r},4646:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-link {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-link:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n",""]);const l=r},7492:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.quick-input-widget {\n\tposition: absolute;\n\twidth: 600px;\n\tz-index: 2550;\n\tleft: 50%;\n\tmargin-left: -300px;\n\t-webkit-app-region: no-drag;\n\tborder-radius: 6px;\n}\n\n.quick-input-titlebar {\n\tdisplay: flex;\n\talign-items: center;\n\tborder-radius: inherit;\n}\n\n.quick-input-left-action-bar {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\tflex: 1;\n}\n\n.quick-input-title {\n\tpadding: 3px 0px;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.quick-input-right-action-bar {\n\tdisplay: flex;\n\tmargin-right: 4px;\n\tflex: 1;\n}\n\n.quick-input-right-action-bar > .actions-container {\n\tjustify-content: flex-end;\n}\n\n.quick-input-titlebar .monaco-action-bar .action-label.codicon {\n\tbackground-position: center;\n\tbackground-repeat: no-repeat;\n\tpadding: 2px;\n}\n\n.quick-input-description {\n\tmargin: 6px 6px 6px 11px;\n}\n\n.quick-input-header .quick-input-description {\n\tmargin: 4px 2px;\n\tflex: 1;\n}\n\n.quick-input-header {\n\tdisplay: flex;\n\tpadding: 8px 6px 2px 6px;\n}\n\n.quick-input-widget.hidden-input .quick-input-header {\n\t/* reduce margins and paddings when input box hidden */\n\tpadding: 0;\n\tmargin-bottom: 0;\n}\n\n.quick-input-and-message {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tmin-width: 0;\n\tposition: relative;\n}\n\n.quick-input-check-all {\n\talign-self: center;\n\tmargin: 0;\n}\n\n.quick-input-filter {\n\tflex-grow: 1;\n\tdisplay: flex;\n\tposition: relative;\n}\n\n.quick-input-box {\n\tflex-grow: 1;\n}\n\n.quick-input-widget.show-checkboxes .quick-input-box,\n.quick-input-widget.show-checkboxes .quick-input-message {\n\tmargin-left: 5px;\n}\n\n.quick-input-visible-count {\n\tposition: absolute;\n\tleft: -10000px;\n}\n\n.quick-input-count {\n\talign-self: center;\n\tposition: absolute;\n\tright: 4px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-count .monaco-count-badge {\n\tvertical-align: middle;\n\tpadding: 2px 4px;\n\tborder-radius: 2px;\n\tmin-height: auto;\n\tline-height: normal;\n}\n\n.quick-input-action {\n\tmargin-left: 6px;\n}\n\n.quick-input-action .monaco-text-button {\n\tfont-size: 11px;\n\tpadding: 0 6px;\n\tdisplay: flex;\n\theight: 25px;\n\talign-items: center;\n}\n\n.quick-input-message {\n\tmargin-top: -1px;\n\tpadding: 5px;\n\toverflow-wrap: break-word;\n}\n\n.quick-input-message > .codicon {\n\tmargin: 0 0.2em;\n\tvertical-align: text-bottom;\n}\n\n/* Links in descriptions & validations */\n.quick-input-message a {\n\tcolor: inherit;\n}\n\n.quick-input-progress.monaco-progress-container {\n\tposition: relative;\n}\n\n.quick-input-list {\n\tline-height: 22px;\n}\n\n.quick-input-widget.hidden-input .quick-input-list {\n\tmargin-top: 4px; /* reduce margins when input box hidden */\n\tpadding-bottom: 4px;\n}\n\n.quick-input-list .monaco-list {\n\toverflow: hidden;\n\tmax-height: calc(20 * 22px);\n\tpadding-bottom: 5px;\n}\n\n.quick-input-list .monaco-scrollable-element {\n\tpadding: 0px 5px;\n}\n\n.quick-input-list .quick-input-list-entry {\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\tdisplay: flex;\n\theight: 100%;\n\tpadding: 0 6px;\n}\n\n.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {\n\tborder-top-width: 1px;\n\tborder-top-style: solid;\n}\n\n.quick-input-list .monaco-list-row {\n\tborder-radius: 3px;\n}\n\n.quick-input-list .monaco-list-row[data-index=\"0\"] .quick-input-list-entry.quick-input-list-separator-border {\n\tborder-top-style: none;\n}\n\n.quick-input-list .quick-input-list-label {\n\toverflow: hidden;\n\tdisplay: flex;\n\theight: 100%;\n\tflex: 1;\n}\n\n.quick-input-list .quick-input-list-checkbox {\n\talign-self: center;\n\tmargin: 0;\n}\n\n.quick-input-list .quick-input-list-icon {\n\tbackground-size: 16px;\n\tbackground-position: left center;\n\tbackground-repeat: no-repeat;\n\tpadding-right: 6px;\n\twidth: 16px;\n\theight: 22px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.quick-input-list .quick-input-list-rows {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tflex: 1;\n\tmargin-left: 5px;\n}\n\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {\n\tmargin-left: 10px;\n}\n\n.quick-input-widget .quick-input-list .quick-input-list-checkbox {\n\tdisplay: none;\n}\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {\n\tdisplay: inline;\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {\n\tflex: 1; /* make sure the icon label grows within the row */\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {\n\tvertical-align: text-bottom;\n}\n\n.quick-input-list .quick-input-list-rows .monaco-highlighted-label > span {\n\topacity: 1;\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {\n\tmargin-right: 8px; /* separate from the separator label or scrollbar if any */\n}\n\n.quick-input-list .quick-input-list-label-meta {\n\topacity: 0.7;\n\tline-height: normal;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n/* preserve list-like styling instead of tree-like styling */\n.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight {\n\tfont-weight: bold;\n\tbackground-color: unset;\n\tcolor: var(--vscode-list-highlightForeground) !important;\n}\n\n/* preserve list-like styling instead of tree-like styling */\n.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-list-focusHighlightForeground) !important;\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-separator {\n\tmargin-right: 4px; /* separate from keybindings or actions */\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tdisplay: flex;\n\tflex: 0;\n\toverflow: visible;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar .action-label {\n\t/*\n\t * By default, actions in the quick input action bar are hidden\n\t * until hovered over them or selected.\n\t */\n\tdisplay: none;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {\n\tmargin-right: 4px;\n\tpadding: 0px 2px 2px 2px;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tmargin-top: 1px;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tmargin-right: 4px; /* separate from scrollbar */\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,\n.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,\n.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,\n.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label {\n\tdisplay: flex;\n}\n\n/* focused items in quick pick */\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {\n\tcolor: inherit\n}\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {\n\tbackground: none;\n}\n\n.quick-input-list .quick-input-list-separator-as-item {\n\tpadding: 4px 6px;\n\tfont-size: 12px;\n}\n\n/* Quick input separators as full-row item */\n.quick-input-list .quick-input-list-separator-as-item .label-name {\n\tfont-weight: 600;\n}\n\n.quick-input-list .quick-input-list-separator-as-item .label-description {\n\t/* Override default description opacity so we don't have a contrast ratio issue. */\n\topacity: 1 !important;\n}\n\n/* Hide border when the item becomes the sticky one */\n.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border {\n\tborder-top-style: none;\n}\n\n/* Give sticky row the same padding as the scrollable list */\n.quick-input-list .monaco-tree-sticky-row {\n\tpadding: 0 5px;\n}\n\n/* Hide the twistie containers so that there isn't blank indent */\n.quick-input-list .monaco-tl-twistie {\n\tdisplay: none !important;\n}\n",""]);const l=r},3774:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .zone-widget .codicon.codicon-error,\n.markers-panel .marker-icon.error, .markers-panel .marker-icon .codicon.codicon-error,\n.text-search-provider-messages .providerMessage .codicon.codicon-error,\n.extensions-viewlet > .extensions .codicon.codicon-error,\n.extension-editor .codicon.codicon-error,\n.preferences-editor .codicon.codicon-error {\n\tcolor: var(--vscode-problemsErrorIcon-foreground);\n}\n\n.monaco-editor .zone-widget .codicon.codicon-warning,\n.markers-panel .marker-icon.warning, .markers-panel .marker-icon .codicon.codicon-warning,\n.text-search-provider-messages .providerMessage .codicon.codicon-warning,\n.extensions-viewlet > .extensions .codicon.codicon-warning,\n.extension-editor .codicon.codicon-warning,\n.preferences-editor .codicon.codicon-warning {\n\tcolor: var(--vscode-problemsWarningIcon-foreground);\n}\n\n.monaco-editor .zone-widget .codicon.codicon-info,\n.markers-panel .marker-icon.info, .markers-panel .marker-icon .codicon.codicon-info,\n.text-search-provider-messages .providerMessage .codicon.codicon-info,\n.extensions-viewlet > .extensions .codicon.codicon-info,\n.extension-editor .codicon.codicon-info,\n.preferences-editor .codicon.codicon-info {\n\tcolor: var(--vscode-problemsInfoIcon-foreground);\n}\n",""]);const l=r},7931:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,".notie-container{font-size:1.6rem;height:auto;left:0;position:fixed;text-align:center;width:100%;z-index:2;box-sizing:border-box;-o-box-shadow:0 0 5px 0 rgba(0,0,0,.5);-ms-box-shadow:0 0 5px 0 rgba(0,0,0,.5);box-shadow:0 0 5px 0 rgba(0,0,0,.5)}@media screen and (max-width:900px){.notie-container{font-size:1.4rem}}@media screen and (max-width:750px){.notie-container{font-size:1.2rem}}@media screen and (max-width:400px){.notie-container{font-size:1rem}}.notie-background-success{background-color:#57bf57}.notie-background-warning{background-color:#d6a14d}.notie-background-error{background-color:#e1715b}.notie-background-info{background-color:#4d82d6}.notie-background-neutral{background-color:#a0a0a0}.notie-background-overlay{background-color:#fff}.notie-textbox{color:#fff;padding:20px}.notie-textbox-inner{margin:0 auto;max-width:900px}.notie-overlay{height:100%;left:0;opacity:0;position:fixed;top:0;width:100%;z-index:1}.notie-button{cursor:pointer}.notie-button,.notie-element{color:#fff;padding:10px}.notie-element-half{width:50%}.notie-element-half,.notie-element-third{display:inline-block;box-sizing:border-box}.notie-element-third{width:33.3333%}.notie-alert{cursor:pointer}.notie-input-field{background-color:#fff;border:0;font-family:inherit;font-size:inherit;outline:0;padding:10px;text-align:center;width:100%;box-sizing:border-box}.notie-select-choice-repeated{border-bottom:1px solid hsla(0,0%,100%,.2);box-sizing:border-box}.notie-date-selector-inner{margin:0 auto;max-width:900px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.notie-date-selector-inner [contenteditable],.notie-date-selector-inner [contenteditable]:focus{outline:0 solid transparent}.notie-date-selector-up{transform:rotate(180deg)}",""]);const l=r},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,i,o,s){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(i)for(var l=0;l0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=s),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},4417:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},1601:e=>{"use strict";e.exports=function(e){return e[1]}},6557:(e,t,n)=>{"use strict";n.r(t),n.d(t,{CancellationTokenSource:()=>Ore,Emitter:()=>Fre,KeyCode:()=>Bre,KeyMod:()=>Wre,MarkerSeverity:()=>Kre,MarkerTag:()=>jre,Position:()=>Vre,Range:()=>Hre,Selection:()=>zre,SelectionDirection:()=>Ure,Token:()=>$re,Uri:()=>qre,default:()=>ele,editor:()=>Gre,languages:()=>Zre});var i={};n.r(i),n.d(i,{CancellationTokenSource:()=>Ore,Emitter:()=>Fre,KeyCode:()=>Bre,KeyMod:()=>Wre,MarkerSeverity:()=>Kre,MarkerTag:()=>jre,Position:()=>Vre,Range:()=>Hre,Selection:()=>zre,SelectionDirection:()=>Ure,Token:()=>$re,Uri:()=>qre,editor:()=>Gre,languages:()=>Zre});const o=window;class s{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){var t;return null!==(t=this.mapWindowIdToZoomFactor.get(this.getWindowId(e)))&&void 0!==t?t:1}getWindowId(e){return e.vscodeWindowId}}function r(e,t,n){"string"==typeof t&&(t=e.matchMedia(t)),t.addEventListener("change",n)}s.INSTANCE=new s;const l=navigator.userAgent,a=l.indexOf("Firefox")>=0,d=l.indexOf("AppleWebKit")>=0,u=l.indexOf("Chrome")>=0,c=!u&&l.indexOf("Safari")>=0,h=!u&&!c&&d,g=(l.indexOf("Electron/"),l.indexOf("Android")>=0);let p=!1;if("function"==typeof o.matchMedia){const e=o.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=o.matchMedia("(display-mode: fullscreen)");p=e.matches,r(o,e,(({matches:e})=>{p&&t.matches||(p=e)}))}let m="undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function f(e,t){let n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,n)=>{const i=n[0],o=t[i];let s=e;return"string"==typeof o?s=o:"number"!=typeof o&&"boolean"!=typeof o&&null!=o||(s=String(o)),s})),m&&(n="["+n.replace(/[aouei]/g,"$&$&")+"]"),n}function _(e,t,...n){return f(t,n)}function v(e,t,...n){const i=f(t,n);return{value:i,original:i}}var b,w;const C="en";let y,S,x=!1,k=!1,L=!1,D=!1,N=!1,E=!1,I=!1,M=!1,T=!1,A=!1,R=C,P=null,O=null;const F=globalThis;let B;void 0!==F.vscode&&void 0!==F.vscode.process?B=F.vscode.process:"undefined"!=typeof process&&"string"==typeof(null===(b=null===process||void 0===process?void 0:process.versions)||void 0===b?void 0:b.node)&&(B=process);const W="string"==typeof(null===(w=null==B?void 0:B.versions)||void 0===w?void 0:w.electron),V=W&&"renderer"===(null==B?void 0:B.type);if("object"==typeof B){x="win32"===B.platform,k="darwin"===B.platform,L="linux"===B.platform,D=L&&!!B.env.SNAP&&!!B.env.SNAP_REVISION,I=W,T=!!B.env.CI||!!B.env.BUILD_ARTIFACTSTAGINGDIRECTORY,y=C,R=C;const e=B.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e),n=t.availableLanguages["*"];y=t.locale,P=t.osLocale,R=n||C,O=t._translationsConfigFile}catch(e){}N=!0}else"object"!=typeof navigator||V?console.error("Unable to resolve platform."):(S=navigator.userAgent,x=S.indexOf("Windows")>=0,k=S.indexOf("Macintosh")>=0,M=(S.indexOf("Macintosh")>=0||S.indexOf("iPad")>=0||S.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,L=S.indexOf("Linux")>=0,A=(null==S?void 0:S.indexOf("Mobi"))>=0,E=!0,y=void _(0,"_")||C,R=y,P=navigator.language);let H=0;k?H=1:x?H=3:L&&(H=2);const z=x,U=k,K=L,j=N,q=E,$=E&&"function"==typeof F.importScripts?F.origin:void 0,G=M,Z=A,Y=S,X=R,Q="function"==typeof F.postMessage&&!F.importScripts,J=(()=>{if(Q){const e=[];F.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,i=e.length;n{const i=++t;e.push({id:i,callback:n}),F.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})(),ee=k||M?2:x?1:3;let te=!0,ne=!1;function ie(){if(!ne){ne=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);te=513===t[0]}return te}const oe=!!(Y&&Y.indexOf("Chrome")>=0),se=!!(Y&&Y.indexOf("Firefox")>=0),re=!!(!oe&&Y&&Y.indexOf("Safari")>=0),le=!!(Y&&Y.indexOf("Edg/")>=0),ae=!!(Y&&Y.indexOf("Android")>=0),de=(j||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator.clipboard.writeText,j||navigator&&navigator.clipboard&&navigator.clipboard.readText,j||p||navigator.keyboard,"ontouchstart"in o||navigator.maxTouchPoints,o.PointerEvent&&("ontouchstart"in o||navigator.maxTouchPoints>0));class ue{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const ce=new ue,he=new ue,ge=new ue,pe=new Array(230),me={},fe=[],_e=Object.create(null),ve=Object.create(null),be=[],we=[];for(let e=0;e<=193;e++)be[e]=-1;for(let e=0;e<=132;e++)we[e]=-1;var Ce;function ye(e,t){return(e|(65535&t)<<16>>>0)>>>0}!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],n=[],i=[];for(const e of t){const[t,o,s,r,l,a,d,u,c]=e;if(i[o]||(i[o]=!0,fe[o]=s,_e[s]=o,ve[s.toLowerCase()]=o,t&&(be[o]=r,0!==r&&3!==r&&5!==r&&4!==r&&6!==r&&57!==r&&(we[r]=o))),!n[r]){if(n[r]=!0,!l)throw new Error(`String representation missing for key code ${r} around scan code ${s}`);ce.define(r,l),he.define(r,u||l),ge.define(r,c||u||l)}a&&(pe[a]=r),d&&(me[d]=r)}we[3]=46}(),function(e){e.toString=function(e){return ce.keyCodeToStr(e)},e.fromString=function(e){return ce.strToKeyCode(e)},e.toUserSettingsUS=function(e){return he.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return ge.keyCodeToStr(e)},e.fromUserSettings=function(e){return he.strToKeyCode(e)||ge.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return ce.keyCodeToStr(e)}}(Ce||(Ce={}));const Se=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(Ae.isErrorNoTelemetry(e))throw new Ae(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function xe(e){Ne(e)||Se.onUnexpectedError(e)}function ke(e){Ne(e)||Se.onUnexpectedExternalError(e)}function Le(e){if(e instanceof Error){const{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:Ae.isErrorNoTelemetry(e)}}return e}const De="Canceled";function Ne(e){return e instanceof Ee||e instanceof Error&&e.name===De&&e.message===De}class Ee extends Error{constructor(){super(De),this.name=this.message}}function Ie(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function Me(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class Te extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class Ae extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof Ae)return e;const t=new Ae;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class Re extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Re.prototype)}}function Pe(e,t){if("number"==typeof e){if(0===e)return null;const n=(65535&e)>>>0,i=(4294901760&e)>>>16;return new Be(0!==i?[Oe(n,t),Oe(i,t)]:[Oe(n,t)])}{const n=[];for(let i=0;i=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){for(const n of e)if(t(n))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const i of e)yield t(i,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let i=n;for(const n of e)i=t(i,n);return i},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);to}]},e.asyncToArray=async function(e){const t=[];for await(const n of e)t.push(n);return Promise.resolve(t)}}(Ye||(Ye={}));let Xe=null;function Qe(e){return null==Xe||Xe.trackDisposable(e),e}function Je(e){null==Xe||Xe.markAsDisposed(e)}function et(e,t){null==Xe||Xe.setParent(e,t)}function tt(e){return null==Xe||Xe.markAsSingleton(e),e}function nt(e){return"function"==typeof e.dispose&&0===e.dispose.length}function it(e){if(Ye.is(e)){const t=[];for(const n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function ot(...e){const t=st((()=>it(e)));return function(e,t){if(Xe)for(const n of e)Xe.setParent(n,t)}(e,t),t}function st(e){const t=Qe({dispose:Ze((()=>{Je(t),e()}))});return t}class rt{constructor(){this._toDispose=new Set,this._isDisposed=!1,Qe(this)}dispose(){this._isDisposed||(Je(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{it(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return et(e,this),this._isDisposed?rt.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),et(e,null))}}rt.DISABLE_DISPOSED_WARNING=!1;class lt{constructor(){this._store=new rt,Qe(this),et(this._store,this)}dispose(){Je(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}lt.None=Object.freeze({dispose(){}});class at{constructor(){this._isDisposed=!1,Qe(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||(null===(t=this._value)||void 0===t||t.dispose(),e&&et(e,this),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,Je(this),null===(e=this._value)||void 0===e||e.dispose(),this._value=void 0}}class dt{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class ut{constructor(e){this.object=e}dispose(){}}class ct{constructor(){this._store=new Map,this._isDisposed=!1,Qe(this)}dispose(){Je(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{it(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){var i;this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||null===(i=this._store.get(e))||void 0===i||i.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;null===(t=this._store.get(e))||void 0===t||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}class ht{constructor(e){this.element=e,this.next=ht.Undefined,this.prev=ht.Undefined}}ht.Undefined=new ht(void 0);class gt{constructor(){this._first=ht.Undefined,this._last=ht.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===ht.Undefined}clear(){let e=this._first;for(;e!==ht.Undefined;){const t=e.next;e.prev=ht.Undefined,e.next=ht.Undefined,e=t}this._first=ht.Undefined,this._last=ht.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new ht(e);if(this._first===ht.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(n))}}shift(){if(this._first!==ht.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==ht.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==ht.Undefined&&e.next!==ht.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===ht.Undefined&&e.next===ht.Undefined?(this._first=ht.Undefined,this._last=ht.Undefined):e.next===ht.Undefined?(this._last=this._last.prev,this._last.next=ht.Undefined):e.prev===ht.Undefined&&(this._first=this._first.next,this._first.prev=ht.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==ht.Undefined;)yield e.element,e=e.next}}const pt=globalThis.performance&&"function"==typeof globalThis.performance.now;class mt{static create(e){return new mt(e)}constructor(e){this._now=pt&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var ft;!function(e){function t(e){return(t,n=null,i)=>{let o,s=!1;return o=e((e=>{if(!s)return o?o.dispose():s=!0,t.call(n,e)}),null,i),s&&o.dispose(),o}}function n(e,t,n){return o(((n,i=null,o)=>e((e=>n.call(i,t(e))),null,o)),n)}function i(e,t,n){return o(((n,i=null,o)=>e((e=>t(e)&&n.call(i,e)),null,o)),n)}function o(e,t){let n;const i=new Ct({onWillAddFirstListener(){n=e(i.fire,i)},onDidRemoveLastListener(){null==n||n.dispose()}});return null==t||t.add(i),i.event}function s(e,t,n=100,i=!1,o=!1,s,r){let l,a,d,u,c=0;const h=new Ct({leakWarningThreshold:s,onWillAddFirstListener(){l=e((e=>{c++,a=t(a,e),i&&!d&&(h.fire(a),a=void 0),u=()=>{const e=a;a=void 0,d=void 0,(!i||c>1)&&h.fire(e),c=0},"number"==typeof n?(clearTimeout(d),d=setTimeout(u,n)):void 0===d&&(d=0,queueMicrotask(u))}))},onWillRemoveListener(){o&&c>0&&(null==u||u())},onDidRemoveLastListener(){u=void 0,l.dispose()}});return null==r||r.add(h),h.event}e.None=()=>lt.None,e.defer=function(e,t){return s(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=t,e.map=n,e.forEach=function(e,t,n){return o(((n,i=null,o)=>e((e=>{t(e),n.call(i,e)}),null,o)),n)},e.filter=i,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,i)=>{return o=ot(...e.map((e=>e((e=>t.call(n,e)))))),(s=i)instanceof Array?s.push(o):s&&s.add(o),o;var o,s}},e.reduce=function(e,t,i,o){let s=i;return n(e,(e=>(s=t(s,e),s)),o)},e.debounce=s,e.accumulate=function(t,n=0,i){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),n,void 0,!0,void 0,i)},e.latch=function(e,t=((e,t)=>e===t),n){let o,s=!0;return i(e,(e=>{const n=s||!t(e,o);return s=!1,o=e,n}),n)},e.split=function(t,n,i){return[e.filter(t,n,i),e.filter(t,(e=>!n(e)),i)]},e.buffer=function(e,t=!1,n=[],i){let o=n.slice(),s=e((e=>{o?o.push(e):l.fire(e)}));i&&i.add(s);const r=()=>{null==o||o.forEach((e=>l.fire(e))),o=null},l=new Ct({onWillAddFirstListener(){s||(s=e((e=>l.fire(e))),i&&i.add(s))},onDidAddFirstListener(){o&&(t?setTimeout(r):r())},onDidRemoveLastListener(){s&&s.dispose(),s=null}});return i&&i.add(l),l.event},e.chain=function(e,t){return(n,i,o)=>{const s=t(new l);return e((function(e){const t=s.evaluate(e);t!==r&&n.call(i,t)}),void 0,o)}};const r=Symbol("HaltChainable");class l{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:r)),this}reduce(e,t){let n=t;return this.steps.push((t=>(n=e(n,t),n))),this}latch(e=((e,t)=>e===t)){let t,n=!0;return this.steps.push((i=>{const o=n||!e(i,t);return n=!1,t=i,o?i:r})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===r)break;return e}}e.fromNodeEventEmitter=function(e,t,n=(e=>e)){const i=(...e)=>o.fire(n(...e)),o=new Ct({onWillAddFirstListener:()=>e.on(t,i),onDidRemoveLastListener:()=>e.removeListener(t,i)});return o.event},e.fromDOMEventEmitter=function(e,t,n=(e=>e)){const i=(...e)=>o.fire(n(...e)),o=new Ct({onWillAddFirstListener:()=>e.addEventListener(t,i),onDidRemoveLastListener:()=>e.removeEventListener(t,i)});return o.event},e.toPromise=function(e){return new Promise((n=>t(e)(n)))},e.fromPromise=function(e){const t=new Ct;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.runAndSubscribe=function(e,t,n){return t(n),e((e=>t(e)))};class a{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;const n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new Ct(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new a(e,t).emitter.event},e.fromObservableLight=function(e){return(t,n,i)=>{let o=0,s=!1;const r={beginUpdate(){o++},endUpdate(){o--,0===o&&(e.reportChanges(),s&&(s=!1,t.call(n)))},handlePossibleChange(){},handleChange(){s=!0}};e.addObserver(r),e.reportChanges();const l={dispose(){e.removeObserver(r)}};return i instanceof rt?i.add(l):Array.isArray(i)&&i.push(l),l}}}(ft||(ft={}));class _t{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${_t._idPool++}`,_t.all.add(this)}start(e){this._stopWatch=new mt,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}_t.all=new Set,_t._idPool=0;class vt{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;null===(e=this._stacks)||void 0===e||e.clear()}check(e,t){const n=this.threshold;if(n<=0||t{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}}class bt{static create(){var e;return new bt(null!==(e=(new Error).stack)&&void 0!==e?e:"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class wt{constructor(e){this.value=e}}class Ct{constructor(e){var t,n,i,o,s;this._size=0,this._options=e,this._leakageMon=(null===(t=this._options)||void 0===t?void 0:t.leakWarningThreshold)?new vt(null!==(i=null===(n=this._options)||void 0===n?void 0:n.leakWarningThreshold)&&void 0!==i?i:-1):void 0,this._perfMon=(null===(o=this._options)||void 0===o?void 0:o._profName)?new _t(this._options._profName):void 0,this._deliveryQueue=null===(s=this._options)||void 0===s?void 0:s.deliveryQueue}dispose(){var e,t,n,i;this._disposed||(this._disposed=!0,(null===(e=this._deliveryQueue)||void 0===e?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(n=null===(t=this._options)||void 0===t?void 0:t.onDidRemoveLastListener)||void 0===n||n.call(t),null===(i=this._leakageMon)||void 0===i||i.dispose())}get event(){var e;return null!==(e=this._event)&&void 0!==e||(this._event=(e,t,n)=>{var i,o,s,r,l;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),lt.None;if(this._disposed)return lt.None;t&&(e=e.bind(t));const a=new wt(e);let d;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(a.stack=bt.create(),d=this._leakageMon.check(a.stack,this._size+1)),this._listeners?this._listeners instanceof wt?(null!==(l=this._deliveryQueue)&&void 0!==l||(this._deliveryQueue=new yt),this._listeners=[this._listeners,a]):this._listeners.push(a):(null===(o=null===(i=this._options)||void 0===i?void 0:i.onWillAddFirstListener)||void 0===o||o.call(i,this),this._listeners=a,null===(r=null===(s=this._options)||void 0===s?void 0:s.onDidAddFirstListener)||void 0===r||r.call(s,this)),this._size++;const u=st((()=>{null==d||d(),this._removeListener(a)}));return n instanceof rt?n.add(u):Array.isArray(n)&&n.push(u),u}),this._event}_removeListener(e){var t,n,i,o;if(null===(n=null===(t=this._options)||void 0===t?void 0:t.onWillRemoveListener)||void 0===n||n.call(t,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(o=null===(i=this._options)||void 0===i?void 0:i.onDidRemoveLastListener)||void 0===o||o.call(i,this),void(this._size=0);const s=this._listeners,r=s.indexOf(e);if(-1===r)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,s[r]=void 0;const l=this._deliveryQueue.current===this;if(2*this._size<=s.length){let e=0;for(let t=0;t0}}class yt{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class St extends Ct{constructor(e){super(e),this._isPaused=0,this._eventQueue=new gt,this._mergeFn=null==e?void 0:e.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}class xt extends St{constructor(e){var t;super(e),this._delay=null!==(t=e.delay)&&void 0!==t?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(e)}}class kt extends Ct{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=null==e?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((e=>super.fire(e))),this._queuedEvents=[]})))}}class Lt{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new Ct({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),st(Ze((()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((e=>this.hook(e)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((e=>this.unhook(e)))}hook(e){e.listener=e.event((e=>this.emitter.fire(e)))}unhook(e){var t;null===(t=e.listener)||void 0===t||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)null===(e=t.listener)||void 0===e||e.dispose();this.events=[]}}class Dt{constructor(){this.buffers=[]}wrapEvent(e){return(t,n,i)=>e((e=>{const i=this.buffers[this.buffers.length-1];i?i.push((()=>t.call(n,e))):t.call(n,e)}),void 0,i)}bufferEvents(e){const t=[];this.buffers.push(t);const n=e();return this.buffers.pop(),t.forEach((e=>e())),n}}class Nt{constructor(){this.listening=!1,this.inputEvent=ft.None,this.inputEventListener=lt.None,this.emitter=new Ct({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const Et=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var It;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof Mt||!(!t||"object"!=typeof t)&&"boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ft.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Et})}(It||(It={}));class Mt{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Et:(this._emitter||(this._emitter=new Ct),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Tt{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Mt),this._token}cancel(){this._token?this._token instanceof Mt&&this._token.cancel():this._token=It.Cancelled}dispose(e=!1){var t;e&&this.cancel(),null===(t=this._parentListener)||void 0===t||t.dispose(),this._token?this._token instanceof Mt&&this._token.dispose():this._token=It.None}}const At=Symbol("MicrotaskDelay");function Rt(e){return!!e&&"function"==typeof e.then}function Pt(e){const t=new Tt,n=e(t.token),i=new Promise(((e,i)=>{const o=t.token.onCancellationRequested((()=>{o.dispose(),i(new Ee)}));Promise.resolve(n).then((n=>{o.dispose(),t.dispose(),e(n)}),(e=>{o.dispose(),t.dispose(),i(e)}))}));return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return i.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return i.finally(e)}}}function Ot(e,t,n){return new Promise(((i,o)=>{const s=t.onCancellationRequested((()=>{s.dispose(),i(n)}));e.then(i,o).finally((()=>s.dispose()))}))}class Ft{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{if(this.queuedPromise=null,this.isDisposed)return;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise((t=>{this.activePromise.then(e,e).then(t)}))}return new Promise(((e,t)=>{this.queuedPromise.then(e,t)}))}return this.activePromise=e(),new Promise(((e,t)=>{this.activePromise.then((t=>{this.activePromise=null,e(t)}),(e=>{this.activePromise=null,t(e)}))}))}dispose(){this.isDisposed=!0}}class Bt{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((e,t)=>{this.doResolve=e,this.doReject=t})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}})));const n=()=>{var e;this.deferred=null,null===(e=this.doResolve)||void 0===e||e.call(this,null)};return this.deferred=t===At?(e=>{let t=!0;return queueMicrotask((()=>{t&&(t=!1,e())})),{isTriggered:()=>t,dispose:()=>{t=!1}}})(n):((e,t)=>{let n=!0;const i=setTimeout((()=>{n=!1,t()}),e);return{isTriggered:()=>n,dispose:()=>{clearTimeout(i),n=!1}}})(t,n),this.completionPromise}isTriggered(){var e;return!!(null===(e=this.deferred)||void 0===e?void 0:e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&(null===(e=this.doReject)||void 0===e||e.call(this,new Ee),this.completionPromise=null)}cancelTimeout(){var e;null===(e=this.deferred)||void 0===e||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class Wt{constructor(e){this.delayer=new Bt(e),this.throttler=new Ft}trigger(e,t){return this.delayer.trigger((()=>this.throttler.queue(e)),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function Vt(e,t){return t?new Promise(((n,i)=>{const o=setTimeout((()=>{s.dispose(),n()}),e),s=t.onCancellationRequested((()=>{clearTimeout(o),s.dispose(),i(new Ee)}))})):Pt((t=>Vt(e,t)))}function Ht(e,t=0,n){const i=setTimeout((()=>{e(),n&&o.dispose()}),t),o=st((()=>{clearTimeout(i),null==n||n.deleteAndLeak(o)}));return null==n||n.add(o),o}function zt(e,t=(e=>!!e),n=null){let i=0;const o=e.length,s=()=>{if(i>=o)return Promise.resolve(n);const r=e[i++];return Promise.resolve(r()).then((e=>t(e)?Promise.resolve(e):s()))};return s()}class Ut{constructor(e,t){this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout((()=>{this._token=-1,e()}),t)}setIfNotSet(e,t){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,e()}),t))}}class Kt{constructor(){this.disposable=void 0}cancel(){var e;null===(e=this.disposable)||void 0===e||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){this.cancel();const i=n.setInterval((()=>{e()}),t);this.disposable=st((()=>{n.clearInterval(i),this.disposable=void 0}))}dispose(){this.cancel()}}class jt{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;null===(e=this.runner)||void 0===e||e.call(this)}}let qt,$t;$t="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{J((()=>{if(n)return;const e=Date.now()+15,i={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(i))}));let n=!1;return{dispose(){n||(n=!0)}}}:(e,t,n)=>{const i=e.requestIdleCallback(t,"number"==typeof n?{timeout:n}:void 0);let o=!1;return{dispose(){o||(o=!0,e.cancelIdleCallback(i))}}},qt=e=>$t(globalThis,e);class Gt{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=$t(e,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class Zt extends Gt{constructor(e){super(globalThis,e)}}class Yt{get isRejected(){var e;return 1===(null===(e=this.outcome)||void 0===e?void 0:e.outcome)}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((e,t)=>{this.completeCallback=e,this.errorCallback=t}))}complete(e){return new Promise((t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()}))}error(e){return new Promise((t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()}))}cancel(){return this.error(new Ee)}}var Xt;!function(e){e.settled=async function(e){let t;const n=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return n},e.withAsyncBody=function(e){return new Promise((async(t,n)=>{try{await e(t,n)}catch(e){n(e)}}))}}(Xt||(Xt={}));class Qt{static fromArray(e){return new Qt((t=>{t.emitMany(e)}))}static fromPromise(e){return new Qt((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new Qt((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new Qt((async t=>{await Promise.all(e.map((async e=>{for await(const n of e)t.emitOne(n)})))}))}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new Ct,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e{for await(const i of e)n.emitOne(t(i))}))}map(e){return Qt.map(this,e)}static filter(e,t){return new Qt((async n=>{for await(const i of e)t(i)&&n.emitOne(i)}))}filter(e){return Qt.filter(this,e)}static coalesce(e){return Qt.filter(e,(e=>!!e))}coalesce(){return Qt.coalesce(this)}static async toPromise(e){const t=[];for await(const n of e)t.push(n);return t}toPromise(){return Qt.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}Qt.EMPTY=Qt.fromArray([]);class Jt extends Qt{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}const{entries:en,setPrototypeOf:tn,isFrozen:nn,getPrototypeOf:on,getOwnPropertyDescriptor:sn}=Object;let{freeze:rn,seal:ln,create:an}=Object,{apply:dn,construct:un}="undefined"!=typeof Reflect&&Reflect;dn||(dn=function(e,t,n){return e.apply(t,n)}),rn||(rn=function(e){return e}),ln||(ln=function(e){return e}),un||(un=function(e,t){return new e(...t)});const cn=Sn(Array.prototype.forEach),hn=Sn(Array.prototype.pop),gn=Sn(Array.prototype.push),pn=Sn(String.prototype.toLowerCase),mn=Sn(String.prototype.toString),fn=Sn(String.prototype.match),_n=Sn(String.prototype.replace),vn=Sn(String.prototype.indexOf),bn=Sn(String.prototype.trim),wn=Sn(RegExp.prototype.test),Cn=(yn=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),o=1;o/gm),Vn=ln(/\${[\w\W]*}/gm),Hn=ln(/^data-[\-\w.\u00B7-\uFFFF]/),zn=ln(/^aria-[\-\w]+$/),Un=ln(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Kn=ln(/^(?:\w+script|data):/i),jn=ln(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),qn=ln(/^html$/i);var $n=Object.freeze({__proto__:null,MUSTACHE_EXPR:Bn,ERB_EXPR:Wn,TMPLIT_EXPR:Vn,DATA_ATTR:Hn,ARIA_ATTR:zn,IS_ALLOWED_URI:Un,IS_SCRIPT_OR_DATA:Kn,ATTR_WHITESPACE:jn,DOCTYPE_NAME:qn});const Gn=()=>"undefined"==typeof window?null:window;var Zn=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Gn();const n=t=>e(t);if(n.version="3.0.5",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;const i=t.document,o=i.currentScript;let{document:s}=t;const{DocumentFragment:r,HTMLTemplateElement:l,Node:a,Element:d,NodeFilter:u,NamedNodeMap:c=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:h,DOMParser:g,trustedTypes:p}=t,m=d.prototype,f=Ln(m,"cloneNode"),_=Ln(m,"nextSibling"),v=Ln(m,"childNodes"),b=Ln(m,"parentNode");if("function"==typeof l){const e=s.createElement("template");e.content&&e.content.ownerDocument&&(s=e.content.ownerDocument)}let w,C="";const{implementation:y,createNodeIterator:S,createDocumentFragment:x,getElementsByTagName:k}=s,{importNode:L}=i;let D={};n.isSupported="function"==typeof en&&"function"==typeof b&&y&&void 0!==y.createHTMLDocument;const{MUSTACHE_EXPR:N,ERB_EXPR:E,TMPLIT_EXPR:I,DATA_ATTR:M,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:A,ATTR_WHITESPACE:R}=$n;let{IS_ALLOWED_URI:P}=$n,O=null;const F=xn({},[...Dn,...Nn,...En,...Mn,...An]);let B=null;const W=xn({},[...Rn,...Pn,...On,...Fn]);let V=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),H=null,z=null,U=!0,K=!0,j=!1,q=!0,$=!1,G=!1,Z=!1,Y=!1,X=!1,Q=!1,J=!1,ee=!0,te=!1,ne=!0,ie=!1,oe={},se=null;const re=xn({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let le=null;const ae=xn({},["audio","video","img","source","image","track"]);let de=null;const ue=xn({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ce="http://www.w3.org/1998/Math/MathML",he="http://www.w3.org/2000/svg",ge="http://www.w3.org/1999/xhtml";let pe=ge,me=!1,fe=null;const _e=xn({},[ce,he,ge],mn);let ve;const be=["application/xhtml+xml","text/html"];let we,Ce=null;const ye=s.createElement("form"),Se=function(e){return e instanceof RegExp||e instanceof Function},xe=function(e){if(!Ce||Ce!==e){if(e&&"object"==typeof e||(e={}),e=kn(e),ve=ve=-1===be.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,we="application/xhtml+xml"===ve?mn:pn,O="ALLOWED_TAGS"in e?xn({},e.ALLOWED_TAGS,we):F,B="ALLOWED_ATTR"in e?xn({},e.ALLOWED_ATTR,we):W,fe="ALLOWED_NAMESPACES"in e?xn({},e.ALLOWED_NAMESPACES,mn):_e,de="ADD_URI_SAFE_ATTR"in e?xn(kn(ue),e.ADD_URI_SAFE_ATTR,we):ue,le="ADD_DATA_URI_TAGS"in e?xn(kn(ae),e.ADD_DATA_URI_TAGS,we):ae,se="FORBID_CONTENTS"in e?xn({},e.FORBID_CONTENTS,we):re,H="FORBID_TAGS"in e?xn({},e.FORBID_TAGS,we):{},z="FORBID_ATTR"in e?xn({},e.FORBID_ATTR,we):{},oe="USE_PROFILES"in e&&e.USE_PROFILES,U=!1!==e.ALLOW_ARIA_ATTR,K=!1!==e.ALLOW_DATA_ATTR,j=e.ALLOW_UNKNOWN_PROTOCOLS||!1,q=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,$=e.SAFE_FOR_TEMPLATES||!1,G=e.WHOLE_DOCUMENT||!1,X=e.RETURN_DOM||!1,Q=e.RETURN_DOM_FRAGMENT||!1,J=e.RETURN_TRUSTED_TYPE||!1,Y=e.FORCE_BODY||!1,ee=!1!==e.SANITIZE_DOM,te=e.SANITIZE_NAMED_PROPS||!1,ne=!1!==e.KEEP_CONTENT,ie=e.IN_PLACE||!1,P=e.ALLOWED_URI_REGEXP||Un,pe=e.NAMESPACE||ge,V=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Se(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Se(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(V.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),$&&(K=!1),Q&&(X=!0),oe&&(O=xn({},[...An]),B=[],!0===oe.html&&(xn(O,Dn),xn(B,Rn)),!0===oe.svg&&(xn(O,Nn),xn(B,Pn),xn(B,Fn)),!0===oe.svgFilters&&(xn(O,En),xn(B,Pn),xn(B,Fn)),!0===oe.mathMl&&(xn(O,Mn),xn(B,On),xn(B,Fn))),e.ADD_TAGS&&(O===F&&(O=kn(O)),xn(O,e.ADD_TAGS,we)),e.ADD_ATTR&&(B===W&&(B=kn(B)),xn(B,e.ADD_ATTR,we)),e.ADD_URI_SAFE_ATTR&&xn(de,e.ADD_URI_SAFE_ATTR,we),e.FORBID_CONTENTS&&(se===re&&(se=kn(se)),xn(se,e.FORBID_CONTENTS,we)),ne&&(O["#text"]=!0),G&&xn(O,["html","head","body"]),O.table&&(xn(O,["tbody"]),delete H.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw Cn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw Cn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=e.TRUSTED_TYPES_POLICY,C=w.createHTML("")}else void 0===w&&(w=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));const o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+o+" could not be created."),null}}(p,o)),null!==w&&"string"==typeof C&&(C=w.createHTML(""));rn&&rn(e),Ce=e}},ke=xn({},["mi","mo","mn","ms","mtext"]),Le=xn({},["foreignobject","desc","title","annotation-xml"]),De=xn({},["title","style","font","a","script"]),Ne=xn({},Nn);xn(Ne,En),xn(Ne,In);const Ee=xn({},Mn);xn(Ee,Tn);const Ie=function(e){gn(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},Me=function(e,t){try{gn(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){gn(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!B[e])if(X||Q)try{Ie(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Te=function(e){let t,n;if(Y)e=""+e;else{const t=fn(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===ve&&pe===ge&&(e=''+e+"");const i=w?w.createHTML(e):e;if(pe===ge)try{t=(new g).parseFromString(i,ve)}catch(e){}if(!t||!t.documentElement){t=y.createDocument(pe,"template",null);try{t.documentElement.innerHTML=me?C:i}catch(e){}}const o=t.body||t.documentElement;return e&&n&&o.insertBefore(s.createTextNode(n),o.childNodes[0]||null),pe===ge?k.call(t,G?"html":"body")[0]:G?t.documentElement:o},Ae=function(e){return S.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},Re=function(e){return"object"==typeof a?e instanceof a:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Pe=function(e,t,i){D[e]&&cn(D[e],(e=>{e.call(n,t,i,Ce)}))},Oe=function(e){let t;if(Pe("beforeSanitizeElements",e,null),(i=e)instanceof h&&("string"!=typeof i.nodeName||"string"!=typeof i.textContent||"function"!=typeof i.removeChild||!(i.attributes instanceof c)||"function"!=typeof i.removeAttribute||"function"!=typeof i.setAttribute||"string"!=typeof i.namespaceURI||"function"!=typeof i.insertBefore||"function"!=typeof i.hasChildNodes))return Ie(e),!0;var i;const o=we(e.nodeName);if(Pe("uponSanitizeElement",e,{tagName:o,allowedTags:O}),e.hasChildNodes()&&!Re(e.firstElementChild)&&(!Re(e.content)||!Re(e.content.firstElementChild))&&wn(/<[/\w]/g,e.innerHTML)&&wn(/<[/\w]/g,e.textContent))return Ie(e),!0;if(!O[o]||H[o]){if(!H[o]&&Be(o)){if(V.tagNameCheck instanceof RegExp&&wn(V.tagNameCheck,o))return!1;if(V.tagNameCheck instanceof Function&&V.tagNameCheck(o))return!1}if(ne&&!se[o]){const t=b(e)||e.parentNode,n=v(e)||e.childNodes;if(n&&t)for(let i=n.length-1;i>=0;--i)t.insertBefore(f(n[i],!0),_(e))}return Ie(e),!0}return e instanceof d&&!function(e){let t=b(e);t&&t.tagName||(t={namespaceURI:pe,tagName:"template"});const n=pn(e.tagName),i=pn(t.tagName);return!!fe[e.namespaceURI]&&(e.namespaceURI===he?t.namespaceURI===ge?"svg"===n:t.namespaceURI===ce?"svg"===n&&("annotation-xml"===i||ke[i]):Boolean(Ne[n]):e.namespaceURI===ce?t.namespaceURI===ge?"math"===n:t.namespaceURI===he?"math"===n&&Le[i]:Boolean(Ee[n]):e.namespaceURI===ge?!(t.namespaceURI===he&&!Le[i])&&!(t.namespaceURI===ce&&!ke[i])&&!Ee[n]&&(De[n]||!Ne[n]):!("application/xhtml+xml"!==ve||!fe[e.namespaceURI]))}(e)?(Ie(e),!0):"noscript"!==o&&"noembed"!==o&&"noframes"!==o||!wn(/<\/no(script|embed|frames)/i,e.innerHTML)?($&&3===e.nodeType&&(t=e.textContent,t=_n(t,N," "),t=_n(t,E," "),t=_n(t,I," "),e.textContent!==t&&(gn(n.removed,{element:e.cloneNode()}),e.textContent=t)),Pe("afterSanitizeElements",e,null),!1):(Ie(e),!0)},Fe=function(e,t,n){if(ee&&("id"===t||"name"===t)&&(n in s||n in ye))return!1;if(K&&!z[t]&&wn(M,t));else if(U&&wn(T,t));else if(!B[t]||z[t]){if(!(Be(e)&&(V.tagNameCheck instanceof RegExp&&wn(V.tagNameCheck,e)||V.tagNameCheck instanceof Function&&V.tagNameCheck(e))&&(V.attributeNameCheck instanceof RegExp&&wn(V.attributeNameCheck,t)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(t))||"is"===t&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&wn(V.tagNameCheck,n)||V.tagNameCheck instanceof Function&&V.tagNameCheck(n))))return!1}else if(de[t]);else if(wn(P,_n(n,R,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==vn(n,"data:")||!le[e])if(j&&!wn(A,_n(n,R,"")));else if(n)return!1;return!0},Be=function(e){return e.indexOf("-")>0},We=function(e){let t,i,o,s;Pe("beforeSanitizeAttributes",e,null);const{attributes:r}=e;if(!r)return;const l={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:B};for(s=r.length;s--;){t=r[s];const{name:a,namespaceURI:d}=t;if(i="value"===a?t.value:bn(t.value),o=we(a),l.attrName=o,l.attrValue=i,l.keepAttr=!0,l.forceKeepAttr=void 0,Pe("uponSanitizeAttribute",e,l),i=l.attrValue,l.forceKeepAttr)continue;if(Me(a,e),!l.keepAttr)continue;if(!q&&wn(/\/>/i,i)){Me(a,e);continue}$&&(i=_n(i,N," "),i=_n(i,E," "),i=_n(i,I," "));const u=we(e.nodeName);if(Fe(u,o,i)){if(!te||"id"!==o&&"name"!==o||(Me(a,e),i="user-content-"+i),w&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(d);else switch(p.getAttributeType(u,o)){case"TrustedHTML":i=w.createHTML(i);break;case"TrustedScriptURL":i=w.createScriptURL(i)}try{d?e.setAttributeNS(d,a,i):e.setAttribute(a,i),hn(n.removed)}catch(e){}}}Pe("afterSanitizeAttributes",e,null)},Ve=function e(t){let n;const i=Ae(t);for(Pe("beforeSanitizeShadowDOM",t,null);n=i.nextNode();)Pe("uponSanitizeShadowNode",n,null),Oe(n)||(n.content instanceof r&&e(n.content),We(n));Pe("afterSanitizeShadowDOM",t,null)};return n.sanitize=function(e){let t,o,s,l,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(me=!e,me&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Re(e)){if("function"!=typeof e.toString)throw Cn("toString is not a function");if("string"!=typeof(e=e.toString()))throw Cn("dirty is not a string, aborting")}if(!n.isSupported)return e;if(Z||xe(d),n.removed=[],"string"==typeof e&&(ie=!1),ie){if(e.nodeName){const t=we(e.nodeName);if(!O[t]||H[t])throw Cn("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof a)t=Te("\x3c!----\x3e"),o=t.ownerDocument.importNode(e,!0),1===o.nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?t=o:t.appendChild(o);else{if(!X&&!$&&!G&&-1===e.indexOf("<"))return w&&J?w.createHTML(e):e;if(t=Te(e),!t)return X?null:J?C:""}t&&Y&&Ie(t.firstChild);const u=Ae(ie?e:t);for(;s=u.nextNode();)Oe(s)||(s.content instanceof r&&Ve(s.content),We(s));if(ie)return e;if(X){if(Q)for(l=x.call(t.ownerDocument);t.firstChild;)l.appendChild(t.firstChild);else l=t;return(B.shadowroot||B.shadowrootmode)&&(l=L.call(i,l,!0)),l}let c=G?t.outerHTML:t.innerHTML;return G&&O["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&wn(qn,t.ownerDocument.doctype.name)&&(c="\n"+c),$&&(c=_n(c,N," "),c=_n(c,E," "),c=_n(c,I," ")),w&&J?w.createHTML(c):c},n.setConfig=function(e){xe(e),Z=!0},n.clearConfig=function(){Ce=null,Z=!1},n.isValidAttribute=function(e,t,n){Ce||xe({});const i=we(e),o=we(t);return Fe(i,o,n)},n.addHook=function(e,t){"function"==typeof t&&(D[e]=D[e]||[],gn(D[e],t))},n.removeHook=function(e){if(D[e])return hn(D[e])},n.removeHooks=function(e){D[e]&&(D[e]=[])},n.removeAllHooks=function(){D={}},n}();Zn.version,Zn.isSupported;const Yn=Zn.sanitize,Xn=(Zn.setConfig,Zn.clearConfig,Zn.isValidAttribute,Zn.addHook),Qn=Zn.removeHook;Zn.removeHooks,Zn.removeAllHooks;class Jn{get cachedValues(){return this._map}constructor(e){this.fn=e,this._map=new Map}get(e){if(this._map.has(e))return this._map.get(e);const t=this.fn(e);return this._map.set(e,t),t}}class ei{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var ti;function ni(e){return!e||"string"!=typeof e||0===e.trim().length}const ii=/{(\d+)}/g;function oi(e,...t){return 0===t.length?e:e.replace(ii,(function(e,n){const i=parseInt(n,10);return isNaN(i)||i<0||i>=t.length?e:t[i]}))}function si(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}}))}function ri(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function li(e,t=" "){return di(ai(e,t),t)}function ai(e,t){if(!e||!t)return e;const n=t.length;if(0===n||0===e.length)return e;let i=0;for(;e.indexOf(t,i)===i;)i+=n;return e.substring(i)}function di(e,t){if(!e||!t)return e;const n=t.length,i=e.length;if(0===n||0===i)return e;let o=i,s=-1;for(;s=e.lastIndexOf(t,o-1),-1!==s&&s+n===o;){if(0===s)return"";o=s}return e.substring(0,o)}function ui(e,t,n={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=ri(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let i="";return n.global&&(i+="g"),n.matchCase||(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),new RegExp(e,i)}function ci(e){return e.split(/\r\n|\r|\n/)}function hi(e){for(let t=0,n=e.length;t=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function mi(e,t){return et?1:0}function fi(e,t,n=0,i=e.length,o=0,s=t.length){for(;ns)return 1}const r=i-n,l=s-o;return rl?1:0}function _i(e,t){return vi(e,t,0,e.length,0,t.length)}function vi(e,t,n=0,i=e.length,o=0,s=t.length){for(;n=128||l>=128)return fi(e.toLowerCase(),t.toLowerCase(),n,i,o,s);wi(r)&&(r-=32),wi(l)&&(l-=32);const a=r-l;if(0!==a)return a}const r=i-n,l=s-o;return rl?1:0}function bi(e){return e>=48&&e<=57}function wi(e){return e>=97&&e<=122}function Ci(e){return e>=65&&e<=90}function yi(e,t){return e.length===t.length&&0===vi(e,t)}function Si(e,t){const n=t.length;return!(t.length>e.length)&&0===vi(e,t,0,n)}function xi(e,t){const n=Math.min(e.length,t.length);let i;for(i=0;i1){const i=e.charCodeAt(t-2);if(Li(i))return Ni(i,n)}return n}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=Ei(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class Mi{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new Ii(e,t)}nextGraphemeLength(){const e=qi.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const n=t.offset,o=e.getGraphemeBreakType(t.nextCodePoint());if(ji(i,o)){t.setOffset(n);break}i=o}return t.offset-n}prevGraphemeLength(){const e=qi.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const n=t.offset,o=e.getGraphemeBreakType(t.prevCodePoint());if(ji(o,i)){t.setOffset(n);break}i=o}return n-t.offset}eol(){return this._iterator.eol()}}function Ti(e,t){return new Mi(e,t).nextGraphemeLength()}function Ai(e,t){return new Mi(e,t).prevGraphemeLength()}let Ri;function Pi(e){return Ri||(Ri=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),Ri.test(e)}const Oi=/^[\t\n\r\x20-\x7E]*$/;function Fi(e){return Oi.test(e)}const Bi=/[\u2028\u2029]/;function Wi(e){return Bi.test(e)}function Vi(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function Hi(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const zi=String.fromCharCode(65279);function Ui(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function Ki(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function ji(e,t){return 0===e?5!==t&&7!==t:!(2===e&&3===t||4!==e&&2!==e&&3!==e&&4!==t&&2!==t&&3!==t&&(8===e&&(8===t||9===t||11===t||12===t)||!(11!==e&&9!==e||9!==t&&10!==t)||(12===e||10===e)&&10===t||5===t||13===t||7===t||1===e||13===e&&14===t||6===e&&6===t))}class qi{static getInstance(){return qi._INSTANCE||(qi._INSTANCE=new qi),qi._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let i=1;for(;i<=n;)if(et[3*i+1]))return t[3*i+2];i=2*i+1}return 0}}function $i(e){return 127995<=e&&e<=127999}qi._INSTANCE=null;class Gi{static getInstance(e){return ti.cache.get(Array.from(e))}static getLocales(){return ti._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}ti=Gi,Gi.ambiguousCharacterData=new ei((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))),Gi.cache=new class{constructor(e,t=JSON.stringify){this.fn=e,this._computeKey=t,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.fn(e)),this.lastCache}}((e=>{function t(e){const t=new Map;for(let n=0;n!e.startsWith("_")&&e in i));0===s.length&&(s=["_default"]);for(const e of s)o=n(o,t(i[e]));const r=function(e,t){const n=new Map(e);for(const[e,i]of t)n.set(e,i);return n}(t(i._common),o);return new ti(r)})),Gi._locales=new ei((()=>Object.keys(ti.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))));class Zi{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Zi.getRawData())),this._data}static isInvisibleCharacter(e){return Zi.getData().has(e)}static get codePoints(){return Zi.getData()}}let Yi;Zi._data=void 0;const Xi=globalThis.vscode;if(void 0!==Xi&&void 0!==Xi.process){const e=Xi.process;Yi={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else Yi="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return z?"win32":U?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const Qi=Yi.cwd,Ji=Yi.env,eo=Yi.platform,to=46,no=47,io=92,oo=58;class so extends Error{constructor(e,t,n){let i;"string"==typeof t&&0===t.indexOf("not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be";const o=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${o} ${i} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function ro(e,t){if("string"!=typeof e)throw new so(t,"string",e)}const lo="win32"===eo;function ao(e){return e===no||e===io}function uo(e){return e===no}function co(e){return e>=65&&e<=90||e>=97&&e<=122}function ho(e,t,n,i){let o="",s=0,r=-1,l=0,a=0;for(let d=0;d<=e.length;++d){if(d2){const e=o.lastIndexOf(n);-1===e?(o="",s=0):(o=o.slice(0,e),s=o.length-1-o.lastIndexOf(n)),r=d,l=0;continue}if(0!==o.length){o="",s=0,r=d,l=0;continue}}t&&(o+=o.length>0?`${n}..`:"..",s=2)}else o.length>0?o+=`${n}${e.slice(r+1,d)}`:o=e.slice(r+1,d),s=d-r-1;r=d,l=0}else a===to&&-1!==l?++l:l=-1}return o}function go(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new so("pathObject","Object",e)}(t);const n=t.dir||t.root,i=t.base||`${t.name||""}${t.ext||""}`;return n?n===t.root?`${n}${i}`:`${n}${e}${i}`:i}const po={resolve(...e){let t="",n="",i=!1;for(let o=e.length-1;o>=-1;o--){let s;if(o>=0){if(s=e[o],ro(s,"path"),0===s.length)continue}else 0===t.length?s=Qi():(s=Ji[`=${t}`]||Qi(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===io)&&(s=`${t}\\`));const r=s.length;let l=0,a="",d=!1;const u=s.charCodeAt(0);if(1===r)ao(u)&&(l=1,d=!0);else if(ao(u))if(d=!0,ao(s.charCodeAt(1))){let e=2,t=e;for(;e2&&ao(s.charCodeAt(2))&&(d=!0,l=3));if(a.length>0)if(t.length>0){if(a.toLowerCase()!==t.toLowerCase())continue}else t=a;if(i){if(t.length>0)break}else if(n=`${s.slice(l)}\\${n}`,i=d,d&&t.length>0)break}return n=ho(n,!i,"\\",ao),i?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){ro(e,"path");const t=e.length;if(0===t)return".";let n,i=0,o=!1;const s=e.charCodeAt(0);if(1===t)return uo(s)?"\\":e;if(ao(s))if(o=!0,ao(e.charCodeAt(1))){let o=2,s=o;for(;o2&&ao(e.charCodeAt(2))&&(o=!0,i=3));let r=i0&&ao(e.charCodeAt(t-1))&&(r+="\\"),void 0===n?o?`\\${r}`:r:o?`${n}\\${r}`:`${n}${r}`},isAbsolute(e){ro(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return ao(n)||t>2&&co(n)&&e.charCodeAt(1)===oo&&ao(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let i=0;i0&&(void 0===t?t=n=o:t+=`\\${o}`)}if(void 0===t)return".";let i=!0,o=0;if("string"==typeof n&&ao(n.charCodeAt(0))){++o;const e=n.length;e>1&&ao(n.charCodeAt(1))&&(++o,e>2&&(ao(n.charCodeAt(2))?++o:i=!1))}if(i){for(;o=2&&(t=`\\${t.slice(o)}`)}return po.normalize(t)},relative(e,t){if(ro(e,"from"),ro(t,"to"),e===t)return"";const n=po.resolve(e),i=po.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";let o=0;for(;oo&&e.charCodeAt(s-1)===io;)s--;const r=s-o;let l=0;for(;ll&&t.charCodeAt(a-1)===io;)a--;const d=a-l,u=ru){if(t.charCodeAt(l+h)===io)return i.slice(l+h+1);if(2===h)return i.slice(l+h)}r>u&&(e.charCodeAt(o+h)===io?c=h:2===h&&(c=3)),-1===c&&(c=0)}let g="";for(h=o+c+1;h<=s;++h)h!==s&&e.charCodeAt(h)!==io||(g+=0===g.length?"..":"\\..");return l+=c,g.length>0?`${g}${i.slice(l,a)}`:(i.charCodeAt(l)===io&&++l,i.slice(l,a))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=po.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===io){if(t.charCodeAt(1)===io){const e=t.charCodeAt(2);if(63!==e&&e!==to)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(co(t.charCodeAt(0))&&t.charCodeAt(1)===oo&&t.charCodeAt(2)===io)return`\\\\?\\${t}`;return e},dirname(e){ro(e,"path");const t=e.length;if(0===t)return".";let n=-1,i=0;const o=e.charCodeAt(0);if(1===t)return ao(o)?e:".";if(ao(o)){if(n=i=1,ao(e.charCodeAt(1))){let o=2,s=o;for(;o2&&ao(e.charCodeAt(2))?3:2,i=n);let s=-1,r=!0;for(let n=t-1;n>=i;--n)if(ao(e.charCodeAt(n))){if(!r){s=n;break}}else r=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&ro(t,"ext"),ro(e,"path");let n,i=0,o=-1,s=!0;if(e.length>=2&&co(e.charCodeAt(0))&&e.charCodeAt(1)===oo&&(i=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let r=t.length-1,l=-1;for(n=e.length-1;n>=i;--n){const a=e.charCodeAt(n);if(ao(a)){if(!s){i=n+1;break}}else-1===l&&(s=!1,l=n+1),r>=0&&(a===t.charCodeAt(r)?-1==--r&&(o=n):(r=-1,o=l))}return i===o?o=l:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=i;--n)if(ao(e.charCodeAt(n))){if(!s){i=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname(e){ro(e,"path");let t=0,n=-1,i=0,o=-1,s=!0,r=0;e.length>=2&&e.charCodeAt(1)===oo&&co(e.charCodeAt(0))&&(t=i=2);for(let l=e.length-1;l>=t;--l){const t=e.charCodeAt(l);if(ao(t)){if(!s){i=l+1;break}}else-1===o&&(s=!1,o=l+1),t===to?-1===n?n=l:1!==r&&(r=1):-1!==n&&(r=-1)}return-1===n||-1===o||0===r||1===r&&n===o-1&&n===i+1?"":e.slice(n,o)},format:go.bind(null,"\\"),parse(e){ro(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let i=0,o=e.charCodeAt(0);if(1===n)return ao(o)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(ao(o)){if(i=1,ao(e.charCodeAt(1))){let t=2,o=t;for(;t0&&(t.root=e.slice(0,i));let s=-1,r=i,l=-1,a=!0,d=e.length-1,u=0;for(;d>=i;--d)if(o=e.charCodeAt(d),ao(o)){if(!a){r=d+1;break}}else-1===l&&(a=!1,l=d+1),o===to?-1===s?s=d:1!==u&&(u=1):-1!==s&&(u=-1);return-1!==l&&(-1===s||0===u||1===u&&s===l-1&&s===r+1?t.base=t.name=e.slice(r,l):(t.name=e.slice(r,s),t.base=e.slice(r,l),t.ext=e.slice(s,l))),t.dir=r>0&&r!==i?e.slice(0,r-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},mo=(()=>{if(lo){const e=/\\/g;return()=>{const t=Qi().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>Qi()})(),fo={resolve(...e){let t="",n=!1;for(let i=e.length-1;i>=-1&&!n;i--){const o=i>=0?e[i]:mo();ro(o,"path"),0!==o.length&&(t=`${o}/${t}`,n=o.charCodeAt(0)===no)}return t=ho(t,!n,"/",uo),n?`/${t}`:t.length>0?t:"."},normalize(e){if(ro(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===no,n=e.charCodeAt(e.length-1)===no;return 0===(e=ho(e,!t,"/",uo)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(ro(e,"path"),e.length>0&&e.charCodeAt(0)===no),join(...e){if(0===e.length)return".";let t;for(let n=0;n0&&(void 0===t?t=i:t+=`/${i}`)}return void 0===t?".":fo.normalize(t)},relative(e,t){if(ro(e,"from"),ro(t,"to"),e===t)return"";if((e=fo.resolve(e))===(t=fo.resolve(t)))return"";const n=e.length,i=n-1,o=t.length-1,s=is){if(t.charCodeAt(1+l)===no)return t.slice(1+l+1);if(0===l)return t.slice(1+l)}else i>s&&(e.charCodeAt(1+l)===no?r=l:0===l&&(r=0));let a="";for(l=1+r+1;l<=n;++l)l!==n&&e.charCodeAt(l)!==no||(a+=0===a.length?"..":"/..");return`${a}${t.slice(1+r)}`},toNamespacedPath:e=>e,dirname(e){if(ro(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===no;let n=-1,i=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===no){if(!i){n=t;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&ro(t,"ext"),ro(e,"path");let n,i=0,o=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let r=t.length-1,l=-1;for(n=e.length-1;n>=0;--n){const a=e.charCodeAt(n);if(a===no){if(!s){i=n+1;break}}else-1===l&&(s=!1,l=n+1),r>=0&&(a===t.charCodeAt(r)?-1==--r&&(o=n):(r=-1,o=l))}return i===o?o=l:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===no){if(!s){i=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname(e){ro(e,"path");let t=-1,n=0,i=-1,o=!0,s=0;for(let r=e.length-1;r>=0;--r){const l=e.charCodeAt(r);if(l!==no)-1===i&&(o=!1,i=r+1),l===to?-1===t?t=r:1!==s&&(s=1):-1!==t&&(s=-1);else if(!o){n=r+1;break}}return-1===t||-1===i||0===s||1===s&&t===i-1&&t===n+1?"":e.slice(t,i)},format:go.bind(null,"/"),parse(e){ro(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===no;let i;n?(t.root="/",i=1):i=0;let o=-1,s=0,r=-1,l=!0,a=e.length-1,d=0;for(;a>=i;--a){const t=e.charCodeAt(a);if(t!==no)-1===r&&(l=!1,r=a+1),t===to?-1===o?o=a:1!==d&&(d=1):-1!==o&&(d=-1);else if(!l){s=a+1;break}}if(-1!==r){const i=0===s&&n?1:s;-1===o||0===d||1===d&&o===r-1&&o===s+1?t.base=t.name=e.slice(i,r):(t.name=e.slice(i,o),t.base=e.slice(i,r),t.ext=e.slice(o,r))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};fo.win32=po.win32=po,fo.posix=po.posix=fo;const _o=lo?po.normalize:fo.normalize,vo=lo?po.resolve:fo.resolve,bo=lo?po.relative:fo.relative,wo=lo?po.dirname:fo.dirname,Co=lo?po.basename:fo.basename,yo=lo?po.extname:fo.extname,So=lo?po.sep:fo.sep,xo=/^\w[\w\d+.-]*$/,ko=/^\//,Lo=/^\/\//,Do="",No="/",Eo=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class Io{static isUri(e){return e instanceof Io||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}constructor(e,t,n,i,o,s=!1){"object"==typeof e?(this.scheme=e.scheme||Do,this.authority=e.authority||Do,this.path=e.path||Do,this.query=e.query||Do,this.fragment=e.fragment||Do):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||Do,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==No&&(t=No+t):t=No}return t}(this.scheme,n||Do),this.query=i||Do,this.fragment=o||Do,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!xo.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!ko.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Lo.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,s))}get fsPath(){return Oo(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:i,query:o,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=Do),void 0===n?n=this.authority:null===n&&(n=Do),void 0===i?i=this.path:null===i&&(i=Do),void 0===o?o=this.query:null===o&&(o=Do),void 0===s?s=this.fragment:null===s&&(s=Do),t===this.scheme&&n===this.authority&&i===this.path&&o===this.query&&s===this.fragment?this:new To(t,n,i,o,s)}static parse(e,t=!1){const n=Eo.exec(e);return n?new To(n[2]||Do,Vo(n[4]||Do),Vo(n[5]||Do),Vo(n[7]||Do),Vo(n[9]||Do),t):new To(Do,Do,Do,Do,Do)}static file(e){let t=Do;if(z&&(e=e.replace(/\\/g,No)),e[0]===No&&e[1]===No){const n=e.indexOf(No,2);-1===n?(t=e.substring(2),e=No):(t=e.substring(2,n),e=e.substring(n)||No)}return new To("file",t,e,Do,Do)}static from(e,t){return new To(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=z&&"file"===e.scheme?Io.file(po.join(Oo(e,!0),...t)).path:fo.join(e.path,...t),e.with({path:n})}toString(e=!1){return Fo(this,e)}toJSON(){return this}static revive(e){var t,n;if(e){if(e instanceof Io)return e;{const i=new To(e);return i._formatted=null!==(t=e.external)&&void 0!==t?t:null,i._fsPath=e._sep===Mo&&null!==(n=e.fsPath)&&void 0!==n?n:null,i}}return e}}const Mo=z?1:void 0;class To extends Io{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Oo(this,!1)),this._fsPath}toString(e=!1){return e?Fo(this,!0):(this._formatted||(this._formatted=Fo(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Mo),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const Ao={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Ro(e,t,n){let i,o=-1;for(let s=0;s=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r||n&&91===r||n&&93===r||n&&58===r)-1!==o&&(i+=encodeURIComponent(e.substring(o,s)),o=-1),void 0!==i&&(i+=e.charAt(s));else{void 0===i&&(i=e.substr(0,s));const t=Ao[r];void 0!==t?(-1!==o&&(i+=encodeURIComponent(e.substring(o,s)),o=-1),i+=t):-1===o&&(o=s)}}return-1!==o&&(i+=encodeURIComponent(e.substring(o))),void 0!==i?i:e}function Po(e){let t;for(let n=0;n1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,z&&(n=n.replace(/\//g,"\\")),n}function Fo(e,t){const n=t?Po:Ro;let i="",{scheme:o,authority:s,path:r,query:l,fragment:a}=e;if(o&&(i+=o,i+=":"),(s||"file"===o)&&(i+=No,i+=No),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?i+=n(t,!1,!1):(i+=n(t.substr(0,e),!1,!1),i+=":",i+=n(t.substr(e+1),!1,!0)),i+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?i+=n(s,!1,!0):(i+=n(s.substr(0,e),!1,!0),i+=s.substr(e))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const e=r.charCodeAt(1);e>=65&&e<=90&&(r=`/${String.fromCharCode(e+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const e=r.charCodeAt(0);e>=65&&e<=90&&(r=`${String.fromCharCode(e+32)}:${r.substr(2)}`)}i+=n(r,!0,!1)}return l&&(i+="?",i+=n(l,!1,!1)),a&&(i+="#",i+=t?a:Ro(a,!1,!1)),i}function Bo(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+Bo(e.substr(3)):e}}const Wo=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Vo(e){return e.match(Wo)?e.replace(Wo,(e=>Bo(e))):e}var Ho;function zo(e,t){return Io.isUri(e)?yi(e.scheme,t):Si(e,t+":")}function Uo(e,...t){return t.some((t=>zo(e,t)))}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.codeSetting="code-setting"}(Ho||(Ho={}));const Ko=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return fo.join(this._serverRootPath,Ho.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(t){return xe(t),e}const t=e.authority;let n=this._hosts[t];n&&-1!==n.indexOf(":")&&-1===n.indexOf("[")&&(n=`[${n}]`);const i=this._ports[t],o=this._connectionTokens[t];let s=`path=${encodeURIComponent(e.path)}`;return"string"==typeof o&&(s+=`&tkn=${encodeURIComponent(o)}`),Io.from({scheme:q?this._preferredWebSchema:Ho.vscodeRemoteResource,authority:`${n}:${i}`,path:this._remoteResourcesPath,query:s})}};class jo{uriToBrowserUri(e){return e.scheme===Ho.vscodeRemote?Ko.rewrite(e):e.scheme!==Ho.file||!j&&$!==`${Ho.vscodeFileResource}://${jo.FALLBACK_AUTHORITY}`?e:e.with({scheme:Ho.vscodeFileResource,authority:e.authority||jo.FALLBACK_AUTHORITY,query:null,fragment:null})}}jo.FALLBACK_AUTHORITY="vscode-app";const qo=new jo;var $o;function Go(e){return Zo(e,0)}function Zo(e,t){switch(typeof e){case"object":return null===e?Yo(349,t):Array.isArray(e)?(n=e,i=Yo(104579,i=t),n.reduce(((e,t)=>Zo(t,e)),i)):function(e,t){return t=Yo(181387,t),Object.keys(e).sort().reduce(((t,n)=>(t=Xo(n,t),Zo(e[n],t))),t)}(e,t);case"string":return Xo(e,t);case"boolean":return function(e,t){return Yo(e?433:863,t)}(e,t);case"number":return Yo(e,t);case"undefined":return Yo(937,t);default:return Yo(617,t)}var n,i}function Yo(e,t){return(t<<5)-t+e|0}function Xo(e,t){t=Yo(149417,t);for(let n=0,i=e.length;n>>i)>>>0}function Jo(e,t=0,n=e.byteLength,i=0){for(let o=0;oe.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length>>0).toString(16),t/4)}!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const n="vscode-coi";e.getHeadersFromQuery=function(e){let i;"string"==typeof e?i=new URL(e).searchParams:e instanceof URL?i=e.searchParams:Io.isUri(e)&&(i=new URL(e.toString(!0)).searchParams);const o=null==i?void 0:i.get(n);if(o)return t.get(o)},e.addSearchParam=function(e,t,i){if(!globalThis.crossOriginIsolated)return;const o=t&&i?"3":i?"2":"1";e instanceof URLSearchParams?e.set(n,o):e[n]=o}}($o||($o={}));class ts{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let i,o,s=this._buffLen,r=this._leftoverHighSurrogate;for(0!==r?(i=r,o=-1,r=0):(i=e.charCodeAt(0),o=0);;){let l=i;if(Li(i)){if(!(o+1>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),es(this._h0)+es(this._h1)+es(this._h2)+es(this._h3)+es(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Jo(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Jo(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=ts._bigBlock32,t=this._buffDV;for(let n=0;n<64;n+=4)e.setUint32(n,t.getUint32(n,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,Qo(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let n,i,o,s=this._h0,r=this._h1,l=this._h2,a=this._h3,d=this._h4;for(let t=0;t<80;t++)t<20?(n=r&l|~r&a,i=1518500249):t<40?(n=r^l^a,i=1859775393):t<60?(n=r&l|r&a|l&a,i=2400959708):(n=r^l^a,i=3395469782),o=Qo(s,5)+n+d+i+e.getUint32(4*t,!1)&4294967295,d=a,a=l,l=Qo(r,30),r=s,s=o;this._h0=this._h0+s&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+a&4294967295,this._h4=this._h4+d&4294967295}}ts._bigBlock32=new DataView(new ArrayBuffer(320));const{registerWindow:ns,getWindow:is,getDocument:os,getWindows:ss,getWindowsCount:rs,getWindowId:ls,getWindowById:as,hasWindow:ds,onDidRegisterWindow:us,onWillUnregisterWindow:cs,onDidUnregisterWindow:hs}=function(){const e=new Map;!function(e,t){const n=e;"number"!=typeof n.vscodeWindowId&&Object.defineProperty(n,"vscodeWindowId",{get:()=>1})}(o);const t={window:o,disposables:new rt};e.set(o.vscodeWindowId,t);const n=new Ct,i=new Ct,s=new Ct;return{onDidRegisterWindow:n.event,onWillUnregisterWindow:s.event,onDidUnregisterWindow:i.event,registerWindow(t){if(e.has(t.vscodeWindowId))return lt.None;const o=new rt,r={window:t,disposables:o.add(new rt)};return e.set(t.vscodeWindowId,r),o.add(st((()=>{e.delete(t.vscodeWindowId),i.fire(t)}))),o.add(ms(t,or.BEFORE_UNLOAD,(()=>{s.fire(t)}))),n.fire(r),o},getWindows:()=>e.values(),getWindowsCount:()=>e.size,getWindowId:e=>e.vscodeWindowId,hasWindow:t=>e.has(t),getWindowById:function(n,i){const o="number"==typeof n?e.get(n):void 0;return null!=o?o:i?t:void 0},getWindow(e){var t;const n=e;if(null===(t=null==n?void 0:n.ownerDocument)||void 0===t?void 0:t.defaultView)return n.ownerDocument.defaultView.window;const i=e;return(null==i?void 0:i.view)?i.view.window:o},getDocument:e=>is(e).document}}();function gs(e){for(;e.firstChild;)e.firstChild.remove()}class ps{constructor(e,t,n,i){this._node=e,this._type=t,this._handler=n,this._options=i||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function ms(e,t,n,i){return new ps(e,t,n,i)}function fs(e,t){return function(n){return t(new $e(e,n))}}const _s=function(e,t,n,i){let o=n;return"click"===t||"mousedown"===t?o=fs(is(e),n):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(o=function(e){return function(t){return e(new Ue(t))}}(n)),ms(e,t,o,i)};function vs(e,t,n){return $t(e,t,n)}class bs extends Gt{constructor(e,t){super(e,t)}}let ws,Cs;class ys extends Kt{constructor(e){super(),this.defaultTarget=e&&is(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,null!=n?n:this.defaultTarget)}}class Ss{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){xe(e)}}static sort(e,t){return t.priority-e.priority}}function xs(e){return is(e).getComputedStyle(e,null)}function ks(e,t){const n=is(e),i=n.document;if(e!==i.body)return new Ds(e.clientWidth,e.clientHeight);if(G&&(null==n?void 0:n.visualViewport))return new Ds(n.visualViewport.width,n.visualViewport.height);if((null==n?void 0:n.innerWidth)&&n.innerHeight)return new Ds(n.innerWidth,n.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new Ds(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new Ds(i.documentElement.clientWidth,i.documentElement.clientHeight);if(t)return ks(t);throw new Error("Unable to figure out browser width and height")}!function(){const e=new Map,t=new Map,n=new Map,i=new Map;Cs=(o,s,r=0)=>{const l=ls(o),a=new Ss(s,r);let d=e.get(l);return d||(d=[],e.set(l,d)),d.push(a),n.get(l)||(n.set(l,!0),o.requestAnimationFrame((()=>(o=>{var s;n.set(o,!1);const r=null!==(s=e.get(o))&&void 0!==s?s:[];for(t.set(o,r),e.set(o,[]),i.set(o,!0);r.length>0;)r.sort(Ss.sort),r.shift().execute();i.set(o,!1)})(l)))),a},ws=(e,n,o)=>{const s=ls(e);if(i.get(s)){const e=new Ss(n,o);let i=t.get(s);return i||(i=[],t.set(s,i)),i.push(e),e}return Cs(e,n,o)}}();class Ls{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,n){const i=xs(e),o=i?i.getPropertyValue(t):"0";return Ls.convertToPixels(e,o)}static getBorderLeftWidth(e){return Ls.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return Ls.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return Ls.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return Ls.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return Ls.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return Ls.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return Ls.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return Ls.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return Ls.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return Ls.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return Ls.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return Ls.getDimension(e,"margin-bottom","marginBottom")}}class Ds{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Ds(e,t):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(e){return e instanceof Ds?e:new Ds(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&e.width===t.width&&e.height===t.height}}function Ns(e){let t=e.offsetParent,n=e.offsetTop,i=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){n-=e.scrollTop;const o=Fs(e)?null:xs(e);o&&(i-="rtl"!==o.direction?e.scrollLeft:-e.scrollLeft),e===t&&(i+=Ls.getBorderLeftWidth(e),n+=Ls.getBorderTopWidth(e),n+=e.offsetTop,i+=e.offsetLeft,t=e.offsetParent)}return{left:i,top:n}}function Es(e){const t=e.getBoundingClientRect(),n=is(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}function Is(e){let t=e,n=1;do{const e=xs(t).zoom;null!=e&&"1"!==e&&(n*=e),t=t.parentElement}while(null!==t&&t!==t.ownerDocument.documentElement);return n}function Ms(e){const t=Ls.getMarginLeft(e)+Ls.getMarginRight(e);return e.offsetWidth+t}function Ts(e){const t=Ls.getBorderLeftWidth(e)+Ls.getBorderRightWidth(e),n=Ls.getPaddingLeft(e)+Ls.getPaddingRight(e);return e.offsetWidth-t-n}function As(e){const t=Ls.getBorderTopWidth(e)+Ls.getBorderBottomWidth(e),n=Ls.getPaddingTop(e)+Ls.getPaddingBottom(e);return e.offsetHeight-t-n}function Rs(e){const t=Ls.getMarginTop(e)+Ls.getMarginBottom(e);return e.offsetHeight+t}function Ps(e,t){return Boolean(null==t?void 0:t.contains(e))}function Os(e,t,n){return!!function(e,t,n){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(n)if("string"==typeof n){if(e.classList.contains(n))return null}else if(e===n)return null;e=e.parentNode}return null}(e,t,n)}function Fs(e){return e&&!!e.host&&!!e.mode}function Bs(e){return!!Ws(e)}function Ws(e){for(var t;e.parentNode;){if(e===(null===(t=e.ownerDocument)||void 0===t?void 0:t.body))return null;e=e.parentNode}return Fs(e)?e:null}function Vs(){let e=Us().activeElement;for(;null==e?void 0:e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Hs(e){return Vs()===e}function zs(e){return Ps(Vs(),e)}function Us(){var e;return rs()<=1?o.document:null!==(e=Array.from(ss()).map((({window:e})=>e.document)).find((e=>e.hasFocus())))&&void 0!==e?e:o.document}Ds.None=new Ds(0,0);const Ks=new Map;function js(){return new qs}class qs{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=$s(o.document.head,(t=>t.innerText=e)))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function $s(e=o.document.head,t,n){const i=document.createElement("style");if(i.type="text/css",i.media="screen",null==t||t(i),e.appendChild(i),n&&n.add(st((()=>e.removeChild(i)))),e===o.document.head){const e=new Set;Ks.set(i,e);for(const{window:t,disposables:s}of ss()){if(t===o)continue;const r=s.add(Gs(i,e,t));null==n||n.add(r)}}return i}function Gs(e,t,n){var i,o;const s=new rt,r=e.cloneNode(!0);n.document.head.appendChild(r),s.add(st((()=>n.document.head.removeChild(r))));for(const t of Qs(e))null===(i=r.sheet)||void 0===i||i.insertRule(t.cssText,null===(o=r.sheet)||void 0===o?void 0:o.cssRules.length);return s.add(Zs.observe(e,s,{childList:!0})((()=>{r.textContent=e.textContent}))),t.add(r),s.add(st((()=>t.delete(r)))),s}const Zs=new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let i=this.mutationObservers.get(e);i||(i=new Map,this.mutationObservers.set(e,i));const o=Go(n);let s=i.get(o);if(s)s.users+=1;else{const r=new Ct,l=new MutationObserver((e=>r.fire(e)));l.observe(e,n);const a=s={users:1,observer:l,onDidMutate:r.event};t.add(st((()=>{a.users-=1,0===a.users&&(r.dispose(),l.disconnect(),null==i||i.delete(o),0===(null==i?void 0:i.size)&&this.mutationObservers.delete(e))}))),i.set(o,s)}return s.onDidMutate}};let Ys=null;function Xs(){return Ys||(Ys=$s()),Ys}function Qs(e){var t,n;return(null===(t=null==e?void 0:e.sheet)||void 0===t?void 0:t.rules)?e.sheet.rules:(null===(n=null==e?void 0:e.sheet)||void 0===n?void 0:n.cssRules)?e.sheet.cssRules:[]}function Js(e,t,n=Xs()){var i,o;if(n&&t){null===(i=n.sheet)||void 0===i||i.insertRule(`${e} {${t}}`,0);for(const i of null!==(o=Ks.get(n))&&void 0!==o?o:[])Js(e,t,i)}}function er(e,t=Xs()){var n,i;if(!t)return;const o=Qs(t),s=[];for(let t=0;t=0;e--)null===(n=t.sheet)||void 0===n||n.deleteRule(s[e]);for(const n of null!==(i=Ks.get(t))&&void 0!==i?i:[])er(e,n)}function tr(e){return"string"==typeof e.selectorText}function nr(e){return e instanceof MouseEvent||e instanceof is(e).MouseEvent}function ir(e){return e instanceof KeyboardEvent||e instanceof is(e).KeyboardEvent}const or={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:d?"webkitAnimationStart":"animationstart",ANIMATION_END:d?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:d?"webkitAnimationIteration":"animationiteration"};function sr(e){const t=e;return!(!t||"function"!=typeof t.preventDefault||"function"!=typeof t.stopPropagation)}const rr=(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e);class lr extends lt{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=Ws(e);return Ps(t?t.activeElement:e.ownerDocument.activeElement,e)}{const t=e;return Ps(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new Ct),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Ct),this.onDidBlur=this._onDidBlur.event;let t=lr.hasFocusWithin(e),n=!1;const i=()=>{n=!1,t||(t=!0,this._onDidFocus.fire())},o=()=>{t&&(n=!0,(e instanceof HTMLElement?is(e):e).setTimeout((()=>{n&&(n=!1,t=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{lr.hasFocusWithin(e)!==t&&(t?o():i())},this._register(ms(e,or.FOCUS,i,!0)),this._register(ms(e,or.BLUR,o,!0)),e instanceof HTMLElement&&(this._register(ms(e,or.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(ms(e,or.FOCUS_OUT,(()=>this._refreshStateHandler()))))}}function ar(e){return new lr(e)}function dr(e,...t){if(e.append(...t),1===t.length&&"string"!=typeof t[0])return t[0]}function ur(e,t){return e.insertBefore(t,e.firstChild),t}function cr(e,...t){e.innerText="",dr(e,...t)}const hr=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var gr;function pr(e,t,n,...i){const o=hr.exec(t);if(!o)throw new Error("Bad use of emmet");const s=o[1]||"div";let r;return r=e!==gr.HTML?document.createElementNS(e,s):document.createElement(s),o[3]&&(r.id=o[3]),o[4]&&(r.className=o[4].replace(/\./g," ").trim()),n&&Object.entries(n).forEach((([e,t])=>{void 0!==t&&(/^on\w+$/.test(e)?r[e]=t:"selected"===e?t&&r.setAttribute(e,"true"):r.setAttribute(e,t))})),r.append(...i),r}function mr(e,t,...n){return pr(gr.HTML,e,t,...n)}function fr(...e){for(const t of e)t.style.display="",t.removeAttribute("aria-hidden")}function _r(...e){for(const t of e)t.style.display="none",t.setAttribute("aria-hidden","true")}function vr(e,t){const n=e.devicePixelRatio*t;return Math.max(1,Math.floor(n))/e.devicePixelRatio}function br(e){o.open(e,"_blank","noopener")}function wr(e){return e?`url('${qo.uriToBrowserUri(e).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function Cr(e){return`'${e.replace(/'/g,"%27")}'`}function yr(e,t){if(void 0!==e){const n=e.match(/^\s*var\((.+)\)$/);if(n){const e=n[1].split(",",2);return 2===e.length&&(t=yr(e[1].trim(),t)),`var(${e[0]}, ${t})`}return e}return t}!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.SVG="http://www.w3.org/2000/svg"}(gr||(gr={})),mr.SVG=function(e,t,...n){return pr(gr.SVG,e,t,...n)},Ko.setPreferredWebSchema(/^https:/.test(o.location.href)?"https":"http");const Sr=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class xr extends Ct{constructor(){super(),this._subscriptions=new rt,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(ft.runAndSubscribe(us,(({window:e,disposables:t})=>this.registerListeners(e,t)),{window:o,disposables:this._subscriptions}))}registerListeners(e,t){t.add(ms(e,"keydown",(e=>{if(e.defaultPrevented)return;const t=new Ue(e);if(6!==t.keyCode||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===t.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}}),!0)),t.add(ms(e,"keyup",(e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))}),!0)),t.add(ms(e.document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(ms(e.document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(ms(e.document.body,"mousemove",(e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),t.add(ms(e,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return xr.instance||(xr.instance=new xr),xr.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class kr extends lt{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(ms(this.element,or.DRAG_START,(e=>{var t,n;null===(n=(t=this.callbacks).onDragStart)||void 0===n||n.call(t,e)}))),this.callbacks.onDrag&&this._register(ms(this.element,or.DRAG,(e=>{var t,n;null===(n=(t=this.callbacks).onDrag)||void 0===n||n.call(t,e)}))),this._register(ms(this.element,or.DRAG_ENTER,(e=>{var t,n;this.counter++,this.dragStartTime=e.timeStamp,null===(n=(t=this.callbacks).onDragEnter)||void 0===n||n.call(t,e)}))),this._register(ms(this.element,or.DRAG_OVER,(e=>{var t,n;e.preventDefault(),null===(n=(t=this.callbacks).onDragOver)||void 0===n||n.call(t,e,e.timeStamp-this.dragStartTime)}))),this._register(ms(this.element,or.DRAG_LEAVE,(e=>{var t,n;this.counter--,0===this.counter&&(this.dragStartTime=0,null===(n=(t=this.callbacks).onDragLeave)||void 0===n||n.call(t,e))}))),this._register(ms(this.element,or.DRAG_END,(e=>{var t,n;this.counter=0,this.dragStartTime=0,null===(n=(t=this.callbacks).onDragEnd)||void 0===n||n.call(t,e)}))),this._register(ms(this.element,or.DROP,(e=>{var t,n;this.counter=0,this.dragStartTime=0,null===(n=(t=this.callbacks).onDrop)||void 0===n||n.call(t,e)})))}}const Lr=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function Dr(e,...t){let n,i;Array.isArray(t[0])?(n={},i=t[0]):(n=t[0]||{},i=t[1]);const o=Lr.exec(e);if(!o||!o.groups)throw new Error("Bad use of h");const s=o.groups.tag||"div",r=document.createElement(s);o.groups.id&&(r.id=o.groups.id);const l=[];if(o.groups.class)for(const e of o.groups.class.split("."))""!==e&&l.push(e);if(void 0!==n.className)for(const e of n.className.split("."))""!==e&&l.push(e);l.length>0&&(r.className=l.join(" "));const a={};if(o.groups.name&&(a[o.groups.name]=r),i)for(const e of i)e instanceof HTMLElement?r.appendChild(e):"string"==typeof e?r.append(e):"root"in e&&(Object.assign(a,e),r.appendChild(e.root));for(const[e,t]of Object.entries(n))if("className"!==e)if("style"===e)for(const[e,n]of Object.entries(t))r.style.setProperty(Nr(e),"number"==typeof n?n+"px":""+n);else"tabIndex"===e?r.tabIndex=t:r.setAttribute(Nr(e),t.toString());return a.root=r,a}function Nr(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var Er=n(5072),Ir=n.n(Er),Mr=n(7825),Tr=n.n(Mr),Ar=n(7659),Rr=n.n(Ar),Pr=n(5056),Or=n.n(Pr),Fr=n(540),Br=n.n(Fr),Wr=n(1113),Vr=n.n(Wr),Hr=n(5038),zr={};zr.styleTagTransform=Vr(),zr.setAttributes=Or(),zr.insert=Rr().bind(null,"head"),zr.domAPI=Tr(),zr.insertStyleElement=Br(),Ir()(Hr.A,zr),Hr.A&&Hr.A.locals&&Hr.A.locals;const Ur=2e4;let Kr,jr,qr,$r,Gr;function Zr(e){Kr&&(jr.textContent!==e?(gs(qr),Xr(jr,e)):(gs(jr),Xr(qr,e)))}function Yr(e){Kr&&($r.textContent!==e?(gs(Gr),Xr($r,e)):(gs($r),Xr(Gr,e)))}function Xr(e,t){gs(e),t.length>Ur&&(t=t.substr(0,Ur)),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}var Qr,Jr;class el{constructor(e,t){this.uri=e,this.value=t}}class tl{constructor(e,t){if(this[Qr]="ResourceMap",e instanceof tl)this.map=new Map(e.map),this.toKey=null!=t?t:tl.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=null!=t?t:tl.defaultToKey;for(const[t,n]of e)this.set(t,n)}else this.map=new Map,this.toKey=null!=e?e:tl.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new el(e,t)),this}get(e){var t;return null===(t=this.map.get(this.toKey(e)))||void 0===t?void 0:t.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[t,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(Qr=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}tl.defaultToKey=e=>e.toString();class nl{constructor(){this[Jr]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value}set(e,t,n=0){let i=this._map.get(e);if(i)i.value=t,0!==n&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:case 2:default:this.addItemLast(i);break;case 1:this.addItemFirst(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[(Jr=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}class il extends nl{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class ol{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class sl{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){const n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))}forEach(e,t){const n=this.map.get(e);n&&n.forEach(t)}get(e){return this.map.get(e)||new Set}}let rl=0;const ll=new Uint32Array(10);function al(e,t,n){var i;e>=n&&e>8&&(ll[rl++]=i>>8&255),i>>16&&(ll[rl++]=i>>16&255)))}const dl=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),ul=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),cl=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),hl=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function gl(...e){return function(t,n){for(let i=0,o=e.length;i0?[{start:0,end:t.length}]:[]:null}function fl(e,t){const n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}function _l(e,t){return vl(e.toLowerCase(),t.toLowerCase(),0,0)}function vl(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]===t[i]){let o=null;return(o=vl(e,t,n+1,i+1))?El({start:i,end:i+1},o):null}return vl(e,t,n,i+1)}function bl(e){return 97<=e&&e<=122}function wl(e){return 65<=e&&e<=90}function Cl(e){return 48<=e&&e<=57}function yl(e){return 32===e||9===e||10===e||13===e}const Sl=new Set;function xl(e){return yl(e)||Sl.has(e)}function kl(e,t){return e===t||xl(e)&&xl(t)}"()[]{}<>`'\"-/;:,.?!".split("").forEach((e=>Sl.add(e.charCodeAt(0))));const Ll=new Map;function Dl(e){if(Ll.has(e))return Ll.get(e);let t;const n=function(e){const t=function(e){if(rl=0,al(e,dl,4352),rl>0)return ll.subarray(0,rl);if(al(e,ul,4449),rl>0)return ll.subarray(0,rl);if(al(e,cl,4520),rl>0)return ll.subarray(0,rl);if(al(e,hl,12593),rl)return ll.subarray(0,rl);if(e>=44032&&e<=55203){const t=e-44032,n=t%588,i=Math.floor(t/588),o=Math.floor(n/28),s=n%28-1;if(i=0&&(s0)return ll.subarray(0,rl)}}(e);if(t&&t.length>0)return new Uint32Array(t)}(e);return n&&(t=n),Ll.set(e,t),t}function Nl(e){return bl(e)||wl(e)||Cl(e)}function El(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function Il(e,t){for(let n=t;n0&&!Nl(e.charCodeAt(n-1)))return n}return e.length}function Ml(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]!==t[i].toLowerCase())return null;{let o=null,s=i+1;for(o=Ml(e,t,n+1,i+1);!o&&(s=Il(t,s))60&&(t=t.substring(0,60));const n=function(e){let t=0,n=0,i=0,o=0,s=0;for(let r=0;r.2&&t<.8&&i>.6&&o<.2}(n)){if(!function(e){const{upperPercent:t,lowerPercent:n}=e;return 0===n&&t>.6}(n))return null;t=t.toLowerCase()}let i=null,o=0;for(e=e.toLowerCase();o0&&xl(e.charCodeAt(n-1)))return n;return e.length}const Pl=gl(pl,Tl,fl),Ol=gl(pl,Tl,_l),Fl=new il(1e4);function Bl(e,t,n=!1){if("string"!=typeof e||"string"!=typeof t)return null;let i=Fl.get(e);i||(i=new RegExp(e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*"),"i"),Fl.set(e,i));const o=i.exec(t);return o?[{start:o.index,end:o.index+o[0].length}]:n?Ol(e,t):Pl(e,t)}function Wl(e,t){const n=ia(e,e.toLowerCase(),0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?Hl(n):null}function Vl(e,t,n,i,o,s){const r=Math.min(13,e.length);for(;n1;i--){const o=e[i]+n,s=t[t.length-1];s&&s.end===o?s.end=o+1:t.push({start:o,end:o+1})}return t}const zl=128;function Ul(){const e=[],t=[];for(let e=0;e<=zl;e++)t[e]=0;for(let n=0;n<=zl;n++)e.push(t.slice(0));return e}function Kl(e){const t=[];for(let n=0;n<=e;n++)t[n]=0;return t}const jl=Kl(2*zl),ql=Kl(2*zl),$l=Ul(),Gl=Ul(),Zl=Ul(),Yl=!1;function Xl(e,t,n,i,o){function s(e,t,n=" "){for(;e.lengths(e,3))).join("|")}\n`;for(let i=0;i<=n;i++)r+=0===i?" |":`${t[i-1]}|`,r+=e[i].slice(0,o+1).map((e=>s(e.toString(),3))).join("|")+"\n";return r}function Ql(e,t){if(t<0||t>=e.length)return!1;const n=e.codePointAt(t);switch(n){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!Hi(n)}}function Jl(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function ea(e,t,n){return t[e]!==n[e]}var ta;!function(e){e.Default=[-100,0],e.isDefault=function(e){return!e||2===e.length&&-100===e[0]&&0===e[1]}}(ta||(ta={}));class na{constructor(e,t){this.firstMatchCanBeWeak=e,this.boostFullMatch=t}}function ia(e,t,n,i,o,s,r=na.default){const l=e.length>zl?zl:e.length,a=i.length>zl?zl:i.length;if(n>=l||s>=a||l-n>a-s)return;if(!function(e,t,n,i,o,s,r=!1){for(;t=n&&l>=i;)o[r]===s[l]&&(ql[r]=l,r--),l--}(l,a,n,s,t,o);let d=1,u=1,c=n,h=s;const g=[!1];for(d=1,c=n;cr,v=_?Gl[d][u-1]+($l[d][u-1]>0?-5:0):0,b=h>r+1&&$l[d][u-1]>0,w=b?Gl[d][u-2]+($l[d][u-2]>0?-5:0):0;if(b&&(!_||w>=v)&&(!m||w>=f))Gl[d][u]=w,Zl[d][u]=3,$l[d][u]=0;else if(_&&(!m||v>=f))Gl[d][u]=v,Zl[d][u]=2,$l[d][u]=0;else{if(!m)throw new Error("not possible");Gl[d][u]=f,Zl[d][u]=1,$l[d][u]=$l[d-1][u-1]+1}}}if(Yl&&function(e,t,n,i){e=e.substr(t),n=n.substr(i),console.log(Xl(Gl,e,e.length,n,n.length)),console.log(Xl(Zl,e,e.length,n,n.length)),console.log(Xl($l,e,e.length,n,n.length))}(e,n,i,s),!g[0]&&!r.firstMatchCanBeWeak)return;d--,u--;const p=[Gl[d][u],s];let m=0,f=0;for(;d>=1;){let e=u;do{const t=Zl[d][e];if(3===t)e-=2;else{if(2!==t)break;e-=1}}while(e>=1);m>1&&t[n+d-1]===o[s+u-1]&&!ea(e+s-1,i,o)&&m+1>$l[d][e]&&(e=u),e===u?m++:m=1,f||(f=e),d--,u=e-1,p.push(u)}a===l&&r.boostFullMatch&&(p[0]+=2);const _=f-l;return p[0]-=_,p}function oa(e,t,n,i,o,s,r,l,a,d,u){if(t[n]!==s[r])return Number.MIN_SAFE_INTEGER;let c=1,h=!1;return r===n-i?c=e[n]===o[r]?7:5:!ea(r,o,s)||0!==r&&ea(r-1,o,s)?!Ql(s,r)||0!==r&&Ql(s,r-1)?(Ql(s,r-1)||Jl(s,r-1))&&(c=5,h=!0):c=5:(c=e[n]===o[r]?7:5,h=!0),c>1&&n===i&&(u[0]=!0),h||(h=ea(r,o,s)||Ql(s,r-1)||Jl(s,r-1)),n===i?r>a&&(c-=h?3:5):c+=d?h?2:0:h?0:1,r+1===l&&(c-=h?3:5),c}function sa(e,t,n,i,o,s,r){return function(e,t,n,i,o,s,r,l){let a=ia(e,t,n,i,o,s,l);if(e.length>=3){const t=Math.min(7,e.length-1);for(let r=n+1;ra[0])&&(a=e))}}}return a}(e,t,n,i,o,s,0,r)}function ra(e,t){if(t+1>=e.length)return;const n=e[t],i=e[t+1];return n!==i?e.slice(0,t)+i+n+e.slice(t+2):void 0}function la(e){return"string"==typeof e}function aa(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function da(e){const t=Object.getPrototypeOf(Uint8Array);return"object"==typeof e&&e instanceof t}function ua(e){return"number"==typeof e&&!isNaN(e)}function ca(e){return!!e&&"function"==typeof e[Symbol.iterator]}function ha(e){return!0===e||!1===e}function ga(e){return void 0===e}function pa(e){return!ma(e)}function ma(e){return ga(e)||null===e}function fa(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function _a(e){if(ma(e))throw new Error("Assertion Failed: argument is undefined or null");return e}function va(e){return"function"==typeof e}function ba(e,t){if(la(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(va(t)){try{if(e instanceof t)return}catch(e){}if(!ma(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}na.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};const wa=Object.create(null);function Ca(e,t){if(la(t)){const n=wa[t];if(void 0===n)throw new Error(`${e} references an unknown codicon: ${t}`);t=n}return wa[e]=t,{id:e}}function ya(){return wa}const Sa={add:Ca("add",6e4),plus:Ca("plus",6e4),gistNew:Ca("gist-new",6e4),repoCreate:Ca("repo-create",6e4),lightbulb:Ca("lightbulb",60001),lightBulb:Ca("light-bulb",60001),repo:Ca("repo",60002),repoDelete:Ca("repo-delete",60002),gistFork:Ca("gist-fork",60003),repoForked:Ca("repo-forked",60003),gitPullRequest:Ca("git-pull-request",60004),gitPullRequestAbandoned:Ca("git-pull-request-abandoned",60004),recordKeys:Ca("record-keys",60005),keyboard:Ca("keyboard",60005),tag:Ca("tag",60006),gitPullRequestLabel:Ca("git-pull-request-label",60006),tagAdd:Ca("tag-add",60006),tagRemove:Ca("tag-remove",60006),person:Ca("person",60007),personFollow:Ca("person-follow",60007),personOutline:Ca("person-outline",60007),personFilled:Ca("person-filled",60007),gitBranch:Ca("git-branch",60008),gitBranchCreate:Ca("git-branch-create",60008),gitBranchDelete:Ca("git-branch-delete",60008),sourceControl:Ca("source-control",60008),mirror:Ca("mirror",60009),mirrorPublic:Ca("mirror-public",60009),star:Ca("star",60010),starAdd:Ca("star-add",60010),starDelete:Ca("star-delete",60010),starEmpty:Ca("star-empty",60010),comment:Ca("comment",60011),commentAdd:Ca("comment-add",60011),alert:Ca("alert",60012),warning:Ca("warning",60012),search:Ca("search",60013),searchSave:Ca("search-save",60013),logOut:Ca("log-out",60014),signOut:Ca("sign-out",60014),logIn:Ca("log-in",60015),signIn:Ca("sign-in",60015),eye:Ca("eye",60016),eyeUnwatch:Ca("eye-unwatch",60016),eyeWatch:Ca("eye-watch",60016),circleFilled:Ca("circle-filled",60017),primitiveDot:Ca("primitive-dot",60017),closeDirty:Ca("close-dirty",60017),debugBreakpoint:Ca("debug-breakpoint",60017),debugBreakpointDisabled:Ca("debug-breakpoint-disabled",60017),debugHint:Ca("debug-hint",60017),terminalDecorationSuccess:Ca("terminal-decoration-success",60017),primitiveSquare:Ca("primitive-square",60018),edit:Ca("edit",60019),pencil:Ca("pencil",60019),info:Ca("info",60020),issueOpened:Ca("issue-opened",60020),gistPrivate:Ca("gist-private",60021),gitForkPrivate:Ca("git-fork-private",60021),lock:Ca("lock",60021),mirrorPrivate:Ca("mirror-private",60021),close:Ca("close",60022),removeClose:Ca("remove-close",60022),x:Ca("x",60022),repoSync:Ca("repo-sync",60023),sync:Ca("sync",60023),clone:Ca("clone",60024),desktopDownload:Ca("desktop-download",60024),beaker:Ca("beaker",60025),microscope:Ca("microscope",60025),vm:Ca("vm",60026),deviceDesktop:Ca("device-desktop",60026),file:Ca("file",60027),fileText:Ca("file-text",60027),more:Ca("more",60028),ellipsis:Ca("ellipsis",60028),kebabHorizontal:Ca("kebab-horizontal",60028),mailReply:Ca("mail-reply",60029),reply:Ca("reply",60029),organization:Ca("organization",60030),organizationFilled:Ca("organization-filled",60030),organizationOutline:Ca("organization-outline",60030),newFile:Ca("new-file",60031),fileAdd:Ca("file-add",60031),newFolder:Ca("new-folder",60032),fileDirectoryCreate:Ca("file-directory-create",60032),trash:Ca("trash",60033),trashcan:Ca("trashcan",60033),history:Ca("history",60034),clock:Ca("clock",60034),folder:Ca("folder",60035),fileDirectory:Ca("file-directory",60035),symbolFolder:Ca("symbol-folder",60035),logoGithub:Ca("logo-github",60036),markGithub:Ca("mark-github",60036),github:Ca("github",60036),terminal:Ca("terminal",60037),console:Ca("console",60037),repl:Ca("repl",60037),zap:Ca("zap",60038),symbolEvent:Ca("symbol-event",60038),error:Ca("error",60039),stop:Ca("stop",60039),variable:Ca("variable",60040),symbolVariable:Ca("symbol-variable",60040),array:Ca("array",60042),symbolArray:Ca("symbol-array",60042),symbolModule:Ca("symbol-module",60043),symbolPackage:Ca("symbol-package",60043),symbolNamespace:Ca("symbol-namespace",60043),symbolObject:Ca("symbol-object",60043),symbolMethod:Ca("symbol-method",60044),symbolFunction:Ca("symbol-function",60044),symbolConstructor:Ca("symbol-constructor",60044),symbolBoolean:Ca("symbol-boolean",60047),symbolNull:Ca("symbol-null",60047),symbolNumeric:Ca("symbol-numeric",60048),symbolNumber:Ca("symbol-number",60048),symbolStructure:Ca("symbol-structure",60049),symbolStruct:Ca("symbol-struct",60049),symbolParameter:Ca("symbol-parameter",60050),symbolTypeParameter:Ca("symbol-type-parameter",60050),symbolKey:Ca("symbol-key",60051),symbolText:Ca("symbol-text",60051),symbolReference:Ca("symbol-reference",60052),goToFile:Ca("go-to-file",60052),symbolEnum:Ca("symbol-enum",60053),symbolValue:Ca("symbol-value",60053),symbolRuler:Ca("symbol-ruler",60054),symbolUnit:Ca("symbol-unit",60054),activateBreakpoints:Ca("activate-breakpoints",60055),archive:Ca("archive",60056),arrowBoth:Ca("arrow-both",60057),arrowDown:Ca("arrow-down",60058),arrowLeft:Ca("arrow-left",60059),arrowRight:Ca("arrow-right",60060),arrowSmallDown:Ca("arrow-small-down",60061),arrowSmallLeft:Ca("arrow-small-left",60062),arrowSmallRight:Ca("arrow-small-right",60063),arrowSmallUp:Ca("arrow-small-up",60064),arrowUp:Ca("arrow-up",60065),bell:Ca("bell",60066),bold:Ca("bold",60067),book:Ca("book",60068),bookmark:Ca("bookmark",60069),debugBreakpointConditionalUnverified:Ca("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:Ca("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:Ca("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:Ca("debug-breakpoint-data-unverified",60072),debugBreakpointData:Ca("debug-breakpoint-data",60073),debugBreakpointDataDisabled:Ca("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:Ca("debug-breakpoint-log-unverified",60074),debugBreakpointLog:Ca("debug-breakpoint-log",60075),debugBreakpointLogDisabled:Ca("debug-breakpoint-log-disabled",60075),briefcase:Ca("briefcase",60076),broadcast:Ca("broadcast",60077),browser:Ca("browser",60078),bug:Ca("bug",60079),calendar:Ca("calendar",60080),caseSensitive:Ca("case-sensitive",60081),check:Ca("check",60082),checklist:Ca("checklist",60083),chevronDown:Ca("chevron-down",60084),chevronLeft:Ca("chevron-left",60085),chevronRight:Ca("chevron-right",60086),chevronUp:Ca("chevron-up",60087),chromeClose:Ca("chrome-close",60088),chromeMaximize:Ca("chrome-maximize",60089),chromeMinimize:Ca("chrome-minimize",60090),chromeRestore:Ca("chrome-restore",60091),circleOutline:Ca("circle-outline",60092),circle:Ca("circle",60092),debugBreakpointUnverified:Ca("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:Ca("terminal-decoration-incomplete",60092),circleSlash:Ca("circle-slash",60093),circuitBoard:Ca("circuit-board",60094),clearAll:Ca("clear-all",60095),clippy:Ca("clippy",60096),closeAll:Ca("close-all",60097),cloudDownload:Ca("cloud-download",60098),cloudUpload:Ca("cloud-upload",60099),code:Ca("code",60100),collapseAll:Ca("collapse-all",60101),colorMode:Ca("color-mode",60102),commentDiscussion:Ca("comment-discussion",60103),creditCard:Ca("credit-card",60105),dash:Ca("dash",60108),dashboard:Ca("dashboard",60109),database:Ca("database",60110),debugContinue:Ca("debug-continue",60111),debugDisconnect:Ca("debug-disconnect",60112),debugPause:Ca("debug-pause",60113),debugRestart:Ca("debug-restart",60114),debugStart:Ca("debug-start",60115),debugStepInto:Ca("debug-step-into",60116),debugStepOut:Ca("debug-step-out",60117),debugStepOver:Ca("debug-step-over",60118),debugStop:Ca("debug-stop",60119),debug:Ca("debug",60120),deviceCameraVideo:Ca("device-camera-video",60121),deviceCamera:Ca("device-camera",60122),deviceMobile:Ca("device-mobile",60123),diffAdded:Ca("diff-added",60124),diffIgnored:Ca("diff-ignored",60125),diffModified:Ca("diff-modified",60126),diffRemoved:Ca("diff-removed",60127),diffRenamed:Ca("diff-renamed",60128),diff:Ca("diff",60129),diffSidebyside:Ca("diff-sidebyside",60129),discard:Ca("discard",60130),editorLayout:Ca("editor-layout",60131),emptyWindow:Ca("empty-window",60132),exclude:Ca("exclude",60133),extensions:Ca("extensions",60134),eyeClosed:Ca("eye-closed",60135),fileBinary:Ca("file-binary",60136),fileCode:Ca("file-code",60137),fileMedia:Ca("file-media",60138),filePdf:Ca("file-pdf",60139),fileSubmodule:Ca("file-submodule",60140),fileSymlinkDirectory:Ca("file-symlink-directory",60141),fileSymlinkFile:Ca("file-symlink-file",60142),fileZip:Ca("file-zip",60143),files:Ca("files",60144),filter:Ca("filter",60145),flame:Ca("flame",60146),foldDown:Ca("fold-down",60147),foldUp:Ca("fold-up",60148),fold:Ca("fold",60149),folderActive:Ca("folder-active",60150),folderOpened:Ca("folder-opened",60151),gear:Ca("gear",60152),gift:Ca("gift",60153),gistSecret:Ca("gist-secret",60154),gist:Ca("gist",60155),gitCommit:Ca("git-commit",60156),gitCompare:Ca("git-compare",60157),compareChanges:Ca("compare-changes",60157),gitMerge:Ca("git-merge",60158),githubAction:Ca("github-action",60159),githubAlt:Ca("github-alt",60160),globe:Ca("globe",60161),grabber:Ca("grabber",60162),graph:Ca("graph",60163),gripper:Ca("gripper",60164),heart:Ca("heart",60165),home:Ca("home",60166),horizontalRule:Ca("horizontal-rule",60167),hubot:Ca("hubot",60168),inbox:Ca("inbox",60169),issueReopened:Ca("issue-reopened",60171),issues:Ca("issues",60172),italic:Ca("italic",60173),jersey:Ca("jersey",60174),json:Ca("json",60175),kebabVertical:Ca("kebab-vertical",60176),key:Ca("key",60177),law:Ca("law",60178),lightbulbAutofix:Ca("lightbulb-autofix",60179),linkExternal:Ca("link-external",60180),link:Ca("link",60181),listOrdered:Ca("list-ordered",60182),listUnordered:Ca("list-unordered",60183),liveShare:Ca("live-share",60184),loading:Ca("loading",60185),location:Ca("location",60186),mailRead:Ca("mail-read",60187),mail:Ca("mail",60188),markdown:Ca("markdown",60189),megaphone:Ca("megaphone",60190),mention:Ca("mention",60191),milestone:Ca("milestone",60192),gitPullRequestMilestone:Ca("git-pull-request-milestone",60192),mortarBoard:Ca("mortar-board",60193),move:Ca("move",60194),multipleWindows:Ca("multiple-windows",60195),mute:Ca("mute",60196),noNewline:Ca("no-newline",60197),note:Ca("note",60198),octoface:Ca("octoface",60199),openPreview:Ca("open-preview",60200),package:Ca("package",60201),paintcan:Ca("paintcan",60202),pin:Ca("pin",60203),play:Ca("play",60204),run:Ca("run",60204),plug:Ca("plug",60205),preserveCase:Ca("preserve-case",60206),preview:Ca("preview",60207),project:Ca("project",60208),pulse:Ca("pulse",60209),question:Ca("question",60210),quote:Ca("quote",60211),radioTower:Ca("radio-tower",60212),reactions:Ca("reactions",60213),references:Ca("references",60214),refresh:Ca("refresh",60215),regex:Ca("regex",60216),remoteExplorer:Ca("remote-explorer",60217),remote:Ca("remote",60218),remove:Ca("remove",60219),replaceAll:Ca("replace-all",60220),replace:Ca("replace",60221),repoClone:Ca("repo-clone",60222),repoForcePush:Ca("repo-force-push",60223),repoPull:Ca("repo-pull",60224),repoPush:Ca("repo-push",60225),report:Ca("report",60226),requestChanges:Ca("request-changes",60227),rocket:Ca("rocket",60228),rootFolderOpened:Ca("root-folder-opened",60229),rootFolder:Ca("root-folder",60230),rss:Ca("rss",60231),ruby:Ca("ruby",60232),saveAll:Ca("save-all",60233),saveAs:Ca("save-as",60234),save:Ca("save",60235),screenFull:Ca("screen-full",60236),screenNormal:Ca("screen-normal",60237),searchStop:Ca("search-stop",60238),server:Ca("server",60240),settingsGear:Ca("settings-gear",60241),settings:Ca("settings",60242),shield:Ca("shield",60243),smiley:Ca("smiley",60244),sortPrecedence:Ca("sort-precedence",60245),splitHorizontal:Ca("split-horizontal",60246),splitVertical:Ca("split-vertical",60247),squirrel:Ca("squirrel",60248),starFull:Ca("star-full",60249),starHalf:Ca("star-half",60250),symbolClass:Ca("symbol-class",60251),symbolColor:Ca("symbol-color",60252),symbolConstant:Ca("symbol-constant",60253),symbolEnumMember:Ca("symbol-enum-member",60254),symbolField:Ca("symbol-field",60255),symbolFile:Ca("symbol-file",60256),symbolInterface:Ca("symbol-interface",60257),symbolKeyword:Ca("symbol-keyword",60258),symbolMisc:Ca("symbol-misc",60259),symbolOperator:Ca("symbol-operator",60260),symbolProperty:Ca("symbol-property",60261),wrench:Ca("wrench",60261),wrenchSubaction:Ca("wrench-subaction",60261),symbolSnippet:Ca("symbol-snippet",60262),tasklist:Ca("tasklist",60263),telescope:Ca("telescope",60264),textSize:Ca("text-size",60265),threeBars:Ca("three-bars",60266),thumbsdown:Ca("thumbsdown",60267),thumbsup:Ca("thumbsup",60268),tools:Ca("tools",60269),triangleDown:Ca("triangle-down",60270),triangleLeft:Ca("triangle-left",60271),triangleRight:Ca("triangle-right",60272),triangleUp:Ca("triangle-up",60273),twitter:Ca("twitter",60274),unfold:Ca("unfold",60275),unlock:Ca("unlock",60276),unmute:Ca("unmute",60277),unverified:Ca("unverified",60278),verified:Ca("verified",60279),versions:Ca("versions",60280),vmActive:Ca("vm-active",60281),vmOutline:Ca("vm-outline",60282),vmRunning:Ca("vm-running",60283),watch:Ca("watch",60284),whitespace:Ca("whitespace",60285),wholeWord:Ca("whole-word",60286),window:Ca("window",60287),wordWrap:Ca("word-wrap",60288),zoomIn:Ca("zoom-in",60289),zoomOut:Ca("zoom-out",60290),listFilter:Ca("list-filter",60291),listFlat:Ca("list-flat",60292),listSelection:Ca("list-selection",60293),selection:Ca("selection",60293),listTree:Ca("list-tree",60294),debugBreakpointFunctionUnverified:Ca("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:Ca("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:Ca("debug-breakpoint-function-disabled",60296),debugStackframeActive:Ca("debug-stackframe-active",60297),circleSmallFilled:Ca("circle-small-filled",60298),debugStackframeDot:Ca("debug-stackframe-dot",60298),terminalDecorationMark:Ca("terminal-decoration-mark",60298),debugStackframe:Ca("debug-stackframe",60299),debugStackframeFocused:Ca("debug-stackframe-focused",60299),debugBreakpointUnsupported:Ca("debug-breakpoint-unsupported",60300),symbolString:Ca("symbol-string",60301),debugReverseContinue:Ca("debug-reverse-continue",60302),debugStepBack:Ca("debug-step-back",60303),debugRestartFrame:Ca("debug-restart-frame",60304),debugAlt:Ca("debug-alt",60305),callIncoming:Ca("call-incoming",60306),callOutgoing:Ca("call-outgoing",60307),menu:Ca("menu",60308),expandAll:Ca("expand-all",60309),feedback:Ca("feedback",60310),gitPullRequestReviewer:Ca("git-pull-request-reviewer",60310),groupByRefType:Ca("group-by-ref-type",60311),ungroupByRefType:Ca("ungroup-by-ref-type",60312),account:Ca("account",60313),gitPullRequestAssignee:Ca("git-pull-request-assignee",60313),bellDot:Ca("bell-dot",60314),debugConsole:Ca("debug-console",60315),library:Ca("library",60316),output:Ca("output",60317),runAll:Ca("run-all",60318),syncIgnored:Ca("sync-ignored",60319),pinned:Ca("pinned",60320),githubInverted:Ca("github-inverted",60321),serverProcess:Ca("server-process",60322),serverEnvironment:Ca("server-environment",60323),pass:Ca("pass",60324),issueClosed:Ca("issue-closed",60324),stopCircle:Ca("stop-circle",60325),playCircle:Ca("play-circle",60326),record:Ca("record",60327),debugAltSmall:Ca("debug-alt-small",60328),vmConnect:Ca("vm-connect",60329),cloud:Ca("cloud",60330),merge:Ca("merge",60331),export:Ca("export",60332),graphLeft:Ca("graph-left",60333),magnet:Ca("magnet",60334),notebook:Ca("notebook",60335),redo:Ca("redo",60336),checkAll:Ca("check-all",60337),pinnedDirty:Ca("pinned-dirty",60338),passFilled:Ca("pass-filled",60339),circleLargeFilled:Ca("circle-large-filled",60340),circleLarge:Ca("circle-large",60341),circleLargeOutline:Ca("circle-large-outline",60341),combine:Ca("combine",60342),gather:Ca("gather",60342),table:Ca("table",60343),variableGroup:Ca("variable-group",60344),typeHierarchy:Ca("type-hierarchy",60345),typeHierarchySub:Ca("type-hierarchy-sub",60346),typeHierarchySuper:Ca("type-hierarchy-super",60347),gitPullRequestCreate:Ca("git-pull-request-create",60348),runAbove:Ca("run-above",60349),runBelow:Ca("run-below",60350),notebookTemplate:Ca("notebook-template",60351),debugRerun:Ca("debug-rerun",60352),workspaceTrusted:Ca("workspace-trusted",60353),workspaceUntrusted:Ca("workspace-untrusted",60354),workspaceUnknown:Ca("workspace-unknown",60355),terminalCmd:Ca("terminal-cmd",60356),terminalDebian:Ca("terminal-debian",60357),terminalLinux:Ca("terminal-linux",60358),terminalPowershell:Ca("terminal-powershell",60359),terminalTmux:Ca("terminal-tmux",60360),terminalUbuntu:Ca("terminal-ubuntu",60361),terminalBash:Ca("terminal-bash",60362),arrowSwap:Ca("arrow-swap",60363),copy:Ca("copy",60364),personAdd:Ca("person-add",60365),filterFilled:Ca("filter-filled",60366),wand:Ca("wand",60367),debugLineByLine:Ca("debug-line-by-line",60368),inspect:Ca("inspect",60369),layers:Ca("layers",60370),layersDot:Ca("layers-dot",60371),layersActive:Ca("layers-active",60372),compass:Ca("compass",60373),compassDot:Ca("compass-dot",60374),compassActive:Ca("compass-active",60375),azure:Ca("azure",60376),issueDraft:Ca("issue-draft",60377),gitPullRequestClosed:Ca("git-pull-request-closed",60378),gitPullRequestDraft:Ca("git-pull-request-draft",60379),debugAll:Ca("debug-all",60380),debugCoverage:Ca("debug-coverage",60381),runErrors:Ca("run-errors",60382),folderLibrary:Ca("folder-library",60383),debugContinueSmall:Ca("debug-continue-small",60384),beakerStop:Ca("beaker-stop",60385),graphLine:Ca("graph-line",60386),graphScatter:Ca("graph-scatter",60387),pieChart:Ca("pie-chart",60388),bracket:Ca("bracket",60175),bracketDot:Ca("bracket-dot",60389),bracketError:Ca("bracket-error",60390),lockSmall:Ca("lock-small",60391),azureDevops:Ca("azure-devops",60392),verifiedFilled:Ca("verified-filled",60393),newline:Ca("newline",60394),layout:Ca("layout",60395),layoutActivitybarLeft:Ca("layout-activitybar-left",60396),layoutActivitybarRight:Ca("layout-activitybar-right",60397),layoutPanelLeft:Ca("layout-panel-left",60398),layoutPanelCenter:Ca("layout-panel-center",60399),layoutPanelJustify:Ca("layout-panel-justify",60400),layoutPanelRight:Ca("layout-panel-right",60401),layoutPanel:Ca("layout-panel",60402),layoutSidebarLeft:Ca("layout-sidebar-left",60403),layoutSidebarRight:Ca("layout-sidebar-right",60404),layoutStatusbar:Ca("layout-statusbar",60405),layoutMenubar:Ca("layout-menubar",60406),layoutCentered:Ca("layout-centered",60407),target:Ca("target",60408),indent:Ca("indent",60409),recordSmall:Ca("record-small",60410),errorSmall:Ca("error-small",60411),terminalDecorationError:Ca("terminal-decoration-error",60411),arrowCircleDown:Ca("arrow-circle-down",60412),arrowCircleLeft:Ca("arrow-circle-left",60413),arrowCircleRight:Ca("arrow-circle-right",60414),arrowCircleUp:Ca("arrow-circle-up",60415),layoutSidebarRightOff:Ca("layout-sidebar-right-off",60416),layoutPanelOff:Ca("layout-panel-off",60417),layoutSidebarLeftOff:Ca("layout-sidebar-left-off",60418),blank:Ca("blank",60419),heartFilled:Ca("heart-filled",60420),map:Ca("map",60421),mapHorizontal:Ca("map-horizontal",60421),foldHorizontal:Ca("fold-horizontal",60421),mapFilled:Ca("map-filled",60422),mapHorizontalFilled:Ca("map-horizontal-filled",60422),foldHorizontalFilled:Ca("fold-horizontal-filled",60422),circleSmall:Ca("circle-small",60423),bellSlash:Ca("bell-slash",60424),bellSlashDot:Ca("bell-slash-dot",60425),commentUnresolved:Ca("comment-unresolved",60426),gitPullRequestGoToChanges:Ca("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:Ca("git-pull-request-new-changes",60428),searchFuzzy:Ca("search-fuzzy",60429),commentDraft:Ca("comment-draft",60430),send:Ca("send",60431),sparkle:Ca("sparkle",60432),insert:Ca("insert",60433),mic:Ca("mic",60434),thumbsdownFilled:Ca("thumbsdown-filled",60435),thumbsupFilled:Ca("thumbsup-filled",60436),coffee:Ca("coffee",60437),snake:Ca("snake",60438),game:Ca("game",60439),vr:Ca("vr",60440),chip:Ca("chip",60441),piano:Ca("piano",60442),music:Ca("music",60443),micFilled:Ca("mic-filled",60444),repoFetch:Ca("repo-fetch",60445),copilot:Ca("copilot",60446),lightbulbSparkle:Ca("lightbulb-sparkle",60447),robot:Ca("robot",60448),sparkleFilled:Ca("sparkle-filled",60449),diffSingle:Ca("diff-single",60450),diffMultiple:Ca("diff-multiple",60451),surroundWith:Ca("surround-with",60452),share:Ca("share",60453),gitStash:Ca("git-stash",60454),gitStashApply:Ca("git-stash-apply",60455),gitStashPop:Ca("git-stash-pop",60456),vscode:Ca("vscode",60457),vscodeInsiders:Ca("vscode-insiders",60458),codeOss:Ca("code-oss",60459),runCoverage:Ca("run-coverage",60460),runAllCoverage:Ca("run-all-coverage",60461),coverage:Ca("coverage",60462),githubProject:Ca("github-project",60463),mapVertical:Ca("map-vertical",60464),foldVertical:Ca("fold-vertical",60464),mapVerticalFilled:Ca("map-vertical-filled",60465),foldVerticalFilled:Ca("fold-vertical-filled",60465),dialogError:Ca("dialog-error","error"),dialogWarning:Ca("dialog-warning","warning"),dialogInfo:Ca("dialog-info","info"),dialogClose:Ca("dialog-close","close"),treeItemExpanded:Ca("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:Ca("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:Ca("tree-filter-on-type-off","list-selection"),treeFilterClear:Ca("tree-filter-clear","close"),treeItemLoading:Ca("tree-item-loading","loading"),menuSelection:Ca("menu-selection","check"),menuSubmenu:Ca("menu-submenu","chevron-right"),menuBarMore:Ca("menubar-more","more"),scrollbarButtonLeft:Ca("scrollbar-button-left","triangle-left"),scrollbarButtonRight:Ca("scrollbar-button-right","triangle-right"),scrollbarButtonUp:Ca("scrollbar-button-up","triangle-up"),scrollbarButtonDown:Ca("scrollbar-button-down","triangle-down"),toolBarMore:Ca("toolbar-more","more"),quickInputBack:Ca("quick-input-back","arrow-left"),dropDownButton:Ca("drop-down-button",60084),symbolCustomColor:Ca("symbol-customcolor",60252),exportIcon:Ca("export",60332),workspaceUnspecified:Ca("workspace-unspecified",60355),newLine:Ca("newline",60394),thumbsDownFilled:Ca("thumbsdown-filled",60435),thumbsUpFilled:Ca("thumbsup-filled",60436),gitFetch:Ca("git-fetch",60445),lightbulbSparkleAutofix:Ca("lightbulb-sparkle-autofix",60447),debugBreakpointPending:Ca("debug-breakpoint-pending",60377)};var xa,ka;!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(xa||(xa={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){const i=t.exec(e.id);if(!i)return n(Sa.error);const[,o,s]=i,r=["codicon","codicon-"+o];return s&&r.push("codicon-modifier-"+s.substring(1)),r}e.asClassNameArray=n,e.asClassName=function(e){return n(e).join(" ")},e.asCSSSelector=function(e){return"."+n(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||xa.isThemeColor(e.color))};const i=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=i.exec(e);if(!t)return;const[,n]=t;return{id:n}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let n=e.id;const i=n.lastIndexOf("~");return-1!==i&&(n=n.substring(0,i)),t&&(n=`${n}~${t}`),{id:n}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){var n,i;return e.id===t.id&&(null===(n=e.color)||void 0===n?void 0:n.id)===(null===(i=t.color)||void 0===i?void 0:i.id)}}(ka||(ka={}));const La=new RegExp(`\\$\\(${ka.iconNameExpression}(?:${ka.iconModifierExpression})?\\)`,"g"),Da=new RegExp(`(\\\\)?${La.source}`,"g"),Na=new RegExp(`\\\\${La.source}`,"g"),Ea=new RegExp(`(\\s)?(\\\\)?${La.source}(\\s)?`,"g");function Ia(e){return-1===e.indexOf("$(")?e:e.replace(Ea,((e,t,n,i)=>n?e:t||i||""))}const Ma=new RegExp(`\\$\\(${ka.iconNameCharacter}+\\)`,"g");function Ta(e){Ma.lastIndex=0;let t="";const n=[];let i=0;for(;;){const o=Ma.lastIndex,s=Ma.exec(e),r=e.substring(o,null==s?void 0:s.index);if(r.length>0){t+=r;for(let e=0;ee.length)return!1;if(n){if(!Si(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===i&&n--,e.charAt(n)===i}return t.charAt(t.length-1)!==i&&(t+=i),0===e.indexOf(t)}function Ba(e){return e>=65&&e<=90||e>=97&&e<=122}function Wa(e){return Oo(e,!0)}class Va{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:mi(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===Ho.file)return Fa(Wa(e),Wa(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(Xa(e.authority,t.authority))return Fa(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return Io.joinPath(e,...t)}basenameOrAuthority(e){return Ka(e)||e.authority}basename(e){return fo.basename(e.path)}extname(e){return fo.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===Ho.file?t=Io.file(wo(Wa(e))).path:(t=fo.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===Ho.file?Io.file(_o(Wa(e))).path:fo.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!Xa(e.authority,t.authority))return;if(e.scheme===Ho.file){const n=bo(Wa(e),Wa(t));return z?Pa(n):n}let n=e.path||"/";const i=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(n.length,i.length);eOa(n).length&&n[n.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=So){return Qa(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=So){let n=!1;if(e.scheme===Ho.file){const i=Wa(e);n=void 0!==i&&i.length===Oa(i).length&&i[i.length-1]===t}else{t="/";const i=e.path;n=1===i.length&&47===i.charCodeAt(i.length-1)}return n||Qa(e,t)?e:e.with({path:e.path+"/"})}}const Ha=new Va((()=>!1)),za=(new Va((e=>e.scheme!==Ho.file||!K)),new Va((e=>!0)),Ha.isEqual.bind(Ha)),Ua=(Ha.isEqualOrParent.bind(Ha),Ha.getComparisonKey.bind(Ha),Ha.basenameOrAuthority.bind(Ha)),Ka=Ha.basename.bind(Ha),ja=Ha.extname.bind(Ha),qa=Ha.dirname.bind(Ha),$a=Ha.joinPath.bind(Ha),Ga=Ha.normalizePath.bind(Ha),Za=Ha.relativePath.bind(Ha),Ya=Ha.resolvePath.bind(Ha),Xa=(Ha.isAbsolutePath.bind(Ha),Ha.isEqualAuthority.bind(Ha)),Qa=Ha.hasTrailingPathSeparator.bind(Ha);var Ja;Ha.removeTrailingPathSeparator.bind(Ha),Ha.addTrailingPathSeparator.bind(Ha),function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,i]=e.split(":");t&&i&&n.set(t,i)}));const i=t.path.substring(0,t.path.indexOf(";"));return i&&n.set(e.META_DATA_MIME,i),n}}(Ja||(Ja={}));class ed{constructor(e="",t=!1){var n,i,o;if(this.value=e,"string"!=typeof this.value)throw Ie("value");"boolean"==typeof t?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=null!==(n=t.isTrusted)&&void 0!==n?n:void 0,this.supportThemeIcons=null!==(i=t.supportThemeIcons)&&void 0!==i&&i,this.supportHtml=null!==(o=t.supportHtml)&&void 0!==o&&o)}appendText(e,t=0){var n;return this.value+=function(e){return e.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}(this.supportThemeIcons?(n=e,n.replace(Da,((e,t)=>t?e:`\\${e}`))):e).replace(/([ \t]+)/g,((e,t)=>" ".repeat(t.length))).replace(/\>/gm,"\\>").replace(/\n/g,1===t?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=`\n${function(e,t){var n,i;const o=null!==(i=null===(n=e.match(/^`+/gm))||void 0===n?void 0:n.reduce(((e,t)=>e.length>t.length?e:t)).length)&&void 0!==i?i:0,s=o>=3?o+1:3;return[`${"`".repeat(s)}${t}`,e,`${"`".repeat(s)}`].join("\n")}(t,e)}\n`,this}appendLink(e,t,n){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),n&&(this.value+=` "${this._escape(this._escape(n,'"'),")")}"`),this.value+=")",this}_escape(e,t){const n=new RegExp(ri(t),"g");return e.replace(n,((t,n)=>"\\"!==e.charAt(n-1)?`\\${t}`:t))}}function td(e){return nd(e)?!e.value:!Array.isArray(e)||e.every(td)}function nd(e){return e instanceof ed||!(!e||"object"!=typeof e)&&!("string"!=typeof e.value||"boolean"!=typeof e.isTrusted&&"object"!=typeof e.isTrusted&&void 0!==e.isTrusted||"boolean"!=typeof e.supportThemeIcons&&void 0!==e.supportThemeIcons)}function id(e){return e.replace(/"/g,""")}function od(e){return e?e.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1"):e}var sd,rd=n(2755),ld={};ld.styleTagTransform=Vr(),ld.setAttributes=Or(),ld.insert=Rr().bind(null,"head"),ld.domAPI=Tr(),ld.insertStyleElement=Br(),Ir()(rd.A,ld),rd.A&&rd.A.locals&&rd.A.locals,function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(sd||(sd={}));const ad=dd("instantiationService");function dd(e){if(sd.serviceIds.has(e))return sd.serviceIds.get(e);const t=function(e,n,i){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,n){t[sd.DI_TARGET]===t?t[sd.DI_DEPENDENCIES].push({id:e,index:n}):(t[sd.DI_DEPENDENCIES]=[{id:e,index:n}],t[sd.DI_TARGET]=t)}(t,e,i)};return t.toString=()=>e,sd.serviceIds.set(e,t),t}const ud=dd("codeEditorService");class cd{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new cd(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return cd.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return cd.isBefore(this,e)}static isBefore(e,t){return e.lineNumbere.run(...t),tooltip:e.label}}vd.ID="vs.actions.empty";const wd=dd("commandService"),Cd=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new Ct,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(e,t){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t})}if(e.metadata&&Array.isArray(e.metadata.args)){const t=[];for(const n of e.metadata.args)t.push(n.constraint);const n=e.handler;e.handler=function(e,...i){return function(e,t){const n=Math.min(e.length,t.length);for(let i=0;i{o();const e=this._commands.get(n);(null==e?void 0:e.isEmpty())&&this._commands.delete(n)}));return this._onDidRegisterCommand.fire(n),s}registerCommandAlias(e,t){return Cd.registerCommand(e,((e,...n)=>e.get(wd).executeCommand(t,...n)))}getCommand(e){const t=this._commands.get(e);if(t&&!t.isEmpty())return Ye.first(t)}getCommands(){const e=new Map;for(const t of this._commands.keys()){const n=this.getCommand(t);n&&e.set(t,n)}return e}};function yd(...e){switch(e.length){case 1:return _(0,"Did you mean {0}?",e[0]);case 2:return _(0,"Did you mean {0} or {1}?",e[0],e[1]);case 3:return _(0,"Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}Cd.registerCommand("noop",(()=>{}));const Sd=_(0,"Did you forget to open or close the quote?"),xd=_(0,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class kd{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw Me(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(yd("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(yd("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(yd("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return!this._isAtEnd()&&this._input.charCodeAt(this._current)===e&&(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,n=this._input.substring(this._start,this._current),i={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(i)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),n=kd._keywords.get(t);n?this._addToken(n):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(Sd):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,n=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(xd);const i=this._input.charCodeAt(e);if(t)t=!1;else{if(47===i&&!n){e++;break}91===i?n=!0:92===i?t=!0:93===i&&(n=!1)}e++}for(;e=this._input.length}}kd._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0)))),kd._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const Ld=new Map;Ld.set("false",!1),Ld.set("true",!0),Ld.set("isMac",U),Ld.set("isLinux",K),Ld.set("isWindows",z),Ld.set("isWeb",q),Ld.set("isMacNative",U&&!q),Ld.set("isEdge",le),Ld.set("isFirefox",se),Ld.set("isChrome",oe),Ld.set("isSafari",re);const Dd=Object.prototype.hasOwnProperty,Nd={regexParsingWithErrorRecovery:!0},Ed=_(0,"Empty context key expression"),Id=_(0,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),Md=_(0,"'in' after 'not'."),Td=_(0,"closing parenthesis ')'"),Ad=_(0,"Unexpected token"),Rd=_(0,"Did you forget to put && or || before the token?"),Pd=_(0,"Unexpected end of expression"),Od=_(0,"Did you forget to put a context key?");class Fd{constructor(e=Nd){this._config=e,this._scanner=new kd,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?Rd:void 0;throw this._parsingErrors.push({message:Ad,offset:e.offset,lexeme:kd.getLexeme(e),additionalInfo:t}),Fd._parseError}return e}catch(e){if(e!==Fd._parseError)throw e;return}}else this._parsingErrors.push({message:Ed,offset:0,lexeme:"",additionalInfo:Id})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:Bd.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:Bd.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),Vd.INSTANCE;case 12:return this._advance(),Hd.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,Td),null==e?void 0:e.negate()}case 17:return this._advance(),$d.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),Bd.true();case 12:return this._advance(),Bd.false();case 0:{this._advance();const e=this._expr();return this._consume(1,Td),e}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const n=e.lexeme,i=n.lastIndexOf("/"),o=i===n.length-1?void 0:this._removeFlagsGY(n.substring(i+1));let s;try{s=new RegExp(n.substring(1,i),o)}catch(t){throw this._errExpectedButGot("REGEX",e)}return Jd.create(t,s)}switch(e.type){case 10:case 19:{const n=[e.lexeme];this._advance();let i=this._peek(),o=0;for(let t=0;t=0){const s=n.slice(t+1,o),r="i"===n[o+1]?"i":"";try{i=new RegExp(s,r)}catch(t){throw this._errExpectedButGot("REGEX",e)}}}if(null===i)throw this._errExpectedButGot("REGEX",e);return Jd.create(t,i)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,Md);const e=this._value();return Bd.notIn(t,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return Bd.equals(t,e);switch(e){case"true":return Bd.has(t);case"false":return Bd.not(t);default:return Bd.equals(t,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return Bd.notEquals(t,e);switch(e){case"true":return Bd.not(t);case"false":return Bd.has(t);default:return Bd.notEquals(t,e)}}case 5:return this._advance(),Xd.create(t,this._value());case 6:return this._advance(),Qd.create(t,this._value());case 7:return this._advance(),Zd.create(t,this._value());case 8:return this._advance(),Yd.create(t,this._value());case 13:return this._advance(),Bd.in(t,this._value());default:return Bd.has(t)}}case 20:throw this._parsingErrors.push({message:Pd,offset:e.offset,lexeme:"",additionalInfo:Od}),Fd._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,n){const i=_(0,"Expected: {0}\nReceived: '{1}'.",e,kd.getLexeme(t)),o=t.offset,s=kd.getLexeme(t);return this._parsingErrors.push({message:i,offset:o,lexeme:s,additionalInfo:n}),Fd._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}Fd._parseError=new Error;class Bd{static false(){return Vd.INSTANCE}static true(){return Hd.INSTANCE}static has(e){return zd.create(e)}static equals(e,t){return Ud.create(e,t)}static notEquals(e,t){return qd.create(e,t)}static regex(e,t){return Jd.create(e,t)}static in(e,t){return Kd.create(e,t)}static notIn(e,t){return jd.create(e,t)}static not(e){return $d.create(e)}static and(...e){return nu.create(e,null,!0)}static or(...e){return iu.create(e,null,!0)}static deserialize(e){if(null!=e)return this._parser.parse(e)}}function Wd(e,t){return e.cmp(t)}Bd._parser=new Fd({regexParsingWithErrorRecovery:!1});class Vd{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return Hd.INSTANCE}}Vd.INSTANCE=new Vd;class Hd{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return Vd.INSTANCE}}Hd.INSTANCE=new Hd;class zd{static create(e,t=null){const n=Ld.get(e);return"boolean"==typeof n?n?Hd.INSTANCE:Vd.INSTANCE:new zd(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:ru(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=Ld.get(this.key);return"boolean"==typeof e?e?Hd.INSTANCE:Vd.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=$d.create(this.key,this)),this.negated}}class Ud{static create(e,t,n=null){if("boolean"==typeof t)return t?zd.create(e,n):$d.create(e,n);const i=Ld.get(e);return"boolean"==typeof i?t===(i?"true":"false")?Hd.INSTANCE:Vd.INSTANCE:new Ud(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){const e=Ld.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?Hd.INSTANCE:Vd.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=qd.create(this.key,this.value,this)),this.negated}}class Kd{static create(e,t){return new Kd(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&this.key===e.key&&this.valueKey===e.valueKey}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):"string"==typeof n&&"object"==typeof t&&null!==t&&Dd.call(t,n)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=jd.create(this.key,this.valueKey)),this.negated}}class jd{static create(e,t){return new jd(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=Kd.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class qd{static create(e,t,n=null){if("boolean"==typeof t)return t?$d.create(e,n):zd.create(e,n);const i=Ld.get(e);return"boolean"==typeof i?t===(i?"true":"false")?Vd.INSTANCE:Hd.INSTANCE:new qd(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){const e=Ld.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?Vd.INSTANCE:Hd.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Ud.create(this.key,this.value,this)),this.negated}}class $d{static create(e,t=null){const n=Ld.get(e);return"boolean"==typeof n?n?Vd.INSTANCE:Hd.INSTANCE:new $d(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:ru(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=Ld.get(this.key);return"boolean"==typeof e?e?Vd.INSTANCE:Hd.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=zd.create(this.key,this)),this.negated}}function Gd(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):Vd.INSTANCE}class Zd{static create(e,t,n=null){return Gd(t,(t=>new Zd(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Qd.create(this.key,this.value,this)),this.negated}}class Yd{static create(e,t,n=null){return Gd(t,(t=>new Yd(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Xd.create(this.key,this.value,this)),this.negated}}class Xd{static create(e,t,n=null){return Gd(t,(t=>new Xd(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))new Qd(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Zd.create(this.key,this.value,this)),this.negated}}class Jd{static create(e,t){return new Jd(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return tn?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=eu.create(this)),this.negated}}class eu{static create(e){return new eu(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function tu(e){let t=null;for(let n=0,i=e.length;ne.expr.length)return 1;for(let t=0,n=this.expr.length;t1;){const e=i[i.length-1];if(9!==e.type)break;i.pop();const t=i.pop(),o=0===i.length,s=iu.create(e.expr.map((e=>nu.create([e,t],null,n))),null,o);s&&(i.push(s),i.sort(Wd))}if(1===i.length)return i[0];if(n){for(let e=0;ee.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=iu.create(e,this,!0)}return this.negated}}class iu{static create(e,t,n){return iu._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,n=this.expr.length;te.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),n=e.shift(),i=[];for(const e of uu(t))for(const t of uu(n))i.push(nu.create([e,t],null,!1));e.unshift(iu.create(i,null,!1))}this.negated=iu.create(e,this,!0)}return this.negated}}class ou extends zd{static all(){return ou._info.values()}constructor(e,t,n){super(e,null),this._defaultValue=t,"object"==typeof n?ou._info.push({...n,key:e}):!0!==n&&ou._info.push({key:e,description:n,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return Ud.create(this.key,e)}}ou._info=[];const su=dd("contextKeyService");function ru(e,t){return et?1:0}function lu(e,t,n,i){return en?1:ti?1:0}function au(e,t){if(0===e.type||1===t.type)return!0;if(9===e.type)return 9===t.type&&du(e.expr,t.expr);if(9===t.type){for(const n of t.expr)if(au(e,n))return!0;return!1}if(6===e.type){if(6===t.type)return du(t.expr,e.expr);for(const n of e.expr)if(au(n,t))return!0;return!1}return e.equals(t)}function du(e,t){let n=0,i=0;for(;n{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(bu)),this._cachedMergedKeybindings.slice(0)}}const vu=new _u;function bu(e,t){if(e.weight1!==t.weight1)return e.weight1-t.weight1;if(e.command&&t.command){if(e.commandt.command)return 1}return e.weight2-t.weight2}fu.add("platform.keybindingsRegistry",vu);var wu,Cu=function(e,t){return function(n,i){t(n,i,e)}};function yu(e){return void 0!==e.command}class Su{constructor(e){if(Su._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);Su._instances.set(e,this),this.id=e}}Su._instances=new Map,Su.CommandPalette=new Su("CommandPalette"),Su.DebugBreakpointsContext=new Su("DebugBreakpointsContext"),Su.DebugCallStackContext=new Su("DebugCallStackContext"),Su.DebugConsoleContext=new Su("DebugConsoleContext"),Su.DebugVariablesContext=new Su("DebugVariablesContext"),Su.NotebookVariablesContext=new Su("NotebookVariablesContext"),Su.DebugHoverContext=new Su("DebugHoverContext"),Su.DebugWatchContext=new Su("DebugWatchContext"),Su.DebugToolBar=new Su("DebugToolBar"),Su.DebugToolBarStop=new Su("DebugToolBarStop"),Su.EditorContext=new Su("EditorContext"),Su.SimpleEditorContext=new Su("SimpleEditorContext"),Su.EditorContent=new Su("EditorContent"),Su.EditorLineNumberContext=new Su("EditorLineNumberContext"),Su.EditorContextCopy=new Su("EditorContextCopy"),Su.EditorContextPeek=new Su("EditorContextPeek"),Su.EditorContextShare=new Su("EditorContextShare"),Su.EditorTitle=new Su("EditorTitle"),Su.EditorTitleRun=new Su("EditorTitleRun"),Su.EditorTitleContext=new Su("EditorTitleContext"),Su.EditorTitleContextShare=new Su("EditorTitleContextShare"),Su.EmptyEditorGroup=new Su("EmptyEditorGroup"),Su.EmptyEditorGroupContext=new Su("EmptyEditorGroupContext"),Su.EditorTabsBarContext=new Su("EditorTabsBarContext"),Su.EditorTabsBarShowTabsSubmenu=new Su("EditorTabsBarShowTabsSubmenu"),Su.EditorTabsBarShowTabsZenModeSubmenu=new Su("EditorTabsBarShowTabsZenModeSubmenu"),Su.EditorActionsPositionSubmenu=new Su("EditorActionsPositionSubmenu"),Su.ExplorerContext=new Su("ExplorerContext"),Su.ExplorerContextShare=new Su("ExplorerContextShare"),Su.ExtensionContext=new Su("ExtensionContext"),Su.GlobalActivity=new Su("GlobalActivity"),Su.CommandCenter=new Su("CommandCenter"),Su.CommandCenterCenter=new Su("CommandCenterCenter"),Su.LayoutControlMenuSubmenu=new Su("LayoutControlMenuSubmenu"),Su.LayoutControlMenu=new Su("LayoutControlMenu"),Su.MenubarMainMenu=new Su("MenubarMainMenu"),Su.MenubarAppearanceMenu=new Su("MenubarAppearanceMenu"),Su.MenubarDebugMenu=new Su("MenubarDebugMenu"),Su.MenubarEditMenu=new Su("MenubarEditMenu"),Su.MenubarCopy=new Su("MenubarCopy"),Su.MenubarFileMenu=new Su("MenubarFileMenu"),Su.MenubarGoMenu=new Su("MenubarGoMenu"),Su.MenubarHelpMenu=new Su("MenubarHelpMenu"),Su.MenubarLayoutMenu=new Su("MenubarLayoutMenu"),Su.MenubarNewBreakpointMenu=new Su("MenubarNewBreakpointMenu"),Su.PanelAlignmentMenu=new Su("PanelAlignmentMenu"),Su.PanelPositionMenu=new Su("PanelPositionMenu"),Su.ActivityBarPositionMenu=new Su("ActivityBarPositionMenu"),Su.MenubarPreferencesMenu=new Su("MenubarPreferencesMenu"),Su.MenubarRecentMenu=new Su("MenubarRecentMenu"),Su.MenubarSelectionMenu=new Su("MenubarSelectionMenu"),Su.MenubarShare=new Su("MenubarShare"),Su.MenubarSwitchEditorMenu=new Su("MenubarSwitchEditorMenu"),Su.MenubarSwitchGroupMenu=new Su("MenubarSwitchGroupMenu"),Su.MenubarTerminalMenu=new Su("MenubarTerminalMenu"),Su.MenubarViewMenu=new Su("MenubarViewMenu"),Su.MenubarHomeMenu=new Su("MenubarHomeMenu"),Su.OpenEditorsContext=new Su("OpenEditorsContext"),Su.OpenEditorsContextShare=new Su("OpenEditorsContextShare"),Su.ProblemsPanelContext=new Su("ProblemsPanelContext"),Su.SCMInputBox=new Su("SCMInputBox"),Su.SCMChangesSeparator=new Su("SCMChangesSeparator"),Su.SCMIncomingChanges=new Su("SCMIncomingChanges"),Su.SCMIncomingChangesContext=new Su("SCMIncomingChangesContext"),Su.SCMIncomingChangesSetting=new Su("SCMIncomingChangesSetting"),Su.SCMOutgoingChanges=new Su("SCMOutgoingChanges"),Su.SCMOutgoingChangesContext=new Su("SCMOutgoingChangesContext"),Su.SCMOutgoingChangesSetting=new Su("SCMOutgoingChangesSetting"),Su.SCMIncomingChangesAllChangesContext=new Su("SCMIncomingChangesAllChangesContext"),Su.SCMIncomingChangesHistoryItemContext=new Su("SCMIncomingChangesHistoryItemContext"),Su.SCMOutgoingChangesAllChangesContext=new Su("SCMOutgoingChangesAllChangesContext"),Su.SCMOutgoingChangesHistoryItemContext=new Su("SCMOutgoingChangesHistoryItemContext"),Su.SCMChangeContext=new Su("SCMChangeContext"),Su.SCMResourceContext=new Su("SCMResourceContext"),Su.SCMResourceContextShare=new Su("SCMResourceContextShare"),Su.SCMResourceFolderContext=new Su("SCMResourceFolderContext"),Su.SCMResourceGroupContext=new Su("SCMResourceGroupContext"),Su.SCMSourceControl=new Su("SCMSourceControl"),Su.SCMSourceControlInline=new Su("SCMSourceControlInline"),Su.SCMSourceControlTitle=new Su("SCMSourceControlTitle"),Su.SCMTitle=new Su("SCMTitle"),Su.SearchContext=new Su("SearchContext"),Su.SearchActionMenu=new Su("SearchActionContext"),Su.StatusBarWindowIndicatorMenu=new Su("StatusBarWindowIndicatorMenu"),Su.StatusBarRemoteIndicatorMenu=new Su("StatusBarRemoteIndicatorMenu"),Su.StickyScrollContext=new Su("StickyScrollContext"),Su.TestItem=new Su("TestItem"),Su.TestItemGutter=new Su("TestItemGutter"),Su.TestMessageContext=new Su("TestMessageContext"),Su.TestMessageContent=new Su("TestMessageContent"),Su.TestPeekElement=new Su("TestPeekElement"),Su.TestPeekTitle=new Su("TestPeekTitle"),Su.TouchBarContext=new Su("TouchBarContext"),Su.TitleBarContext=new Su("TitleBarContext"),Su.TitleBarTitleContext=new Su("TitleBarTitleContext"),Su.TunnelContext=new Su("TunnelContext"),Su.TunnelPrivacy=new Su("TunnelPrivacy"),Su.TunnelProtocol=new Su("TunnelProtocol"),Su.TunnelPortInline=new Su("TunnelInline"),Su.TunnelTitle=new Su("TunnelTitle"),Su.TunnelLocalAddressInline=new Su("TunnelLocalAddressInline"),Su.TunnelOriginInline=new Su("TunnelOriginInline"),Su.ViewItemContext=new Su("ViewItemContext"),Su.ViewContainerTitle=new Su("ViewContainerTitle"),Su.ViewContainerTitleContext=new Su("ViewContainerTitleContext"),Su.ViewTitle=new Su("ViewTitle"),Su.ViewTitleContext=new Su("ViewTitleContext"),Su.CommentEditorActions=new Su("CommentEditorActions"),Su.CommentThreadTitle=new Su("CommentThreadTitle"),Su.CommentThreadActions=new Su("CommentThreadActions"),Su.CommentThreadAdditionalActions=new Su("CommentThreadAdditionalActions"),Su.CommentThreadTitleContext=new Su("CommentThreadTitleContext"),Su.CommentThreadCommentContext=new Su("CommentThreadCommentContext"),Su.CommentTitle=new Su("CommentTitle"),Su.CommentActions=new Su("CommentActions"),Su.CommentsViewThreadActions=new Su("CommentsViewThreadActions"),Su.InteractiveToolbar=new Su("InteractiveToolbar"),Su.InteractiveCellTitle=new Su("InteractiveCellTitle"),Su.InteractiveCellDelete=new Su("InteractiveCellDelete"),Su.InteractiveCellExecute=new Su("InteractiveCellExecute"),Su.InteractiveInputExecute=new Su("InteractiveInputExecute"),Su.IssueReporter=new Su("IssueReporter"),Su.NotebookToolbar=new Su("NotebookToolbar"),Su.NotebookStickyScrollContext=new Su("NotebookStickyScrollContext"),Su.NotebookCellTitle=new Su("NotebookCellTitle"),Su.NotebookCellDelete=new Su("NotebookCellDelete"),Su.NotebookCellInsert=new Su("NotebookCellInsert"),Su.NotebookCellBetween=new Su("NotebookCellBetween"),Su.NotebookCellListTop=new Su("NotebookCellTop"),Su.NotebookCellExecute=new Su("NotebookCellExecute"),Su.NotebookCellExecuteGoTo=new Su("NotebookCellExecuteGoTo"),Su.NotebookCellExecutePrimary=new Su("NotebookCellExecutePrimary"),Su.NotebookDiffCellInputTitle=new Su("NotebookDiffCellInputTitle"),Su.NotebookDiffCellMetadataTitle=new Su("NotebookDiffCellMetadataTitle"),Su.NotebookDiffCellOutputsTitle=new Su("NotebookDiffCellOutputsTitle"),Su.NotebookOutputToolbar=new Su("NotebookOutputToolbar"),Su.NotebookOutlineFilter=new Su("NotebookOutlineFilter"),Su.NotebookOutlineActionMenu=new Su("NotebookOutlineActionMenu"),Su.NotebookEditorLayoutConfigure=new Su("NotebookEditorLayoutConfigure"),Su.NotebookKernelSource=new Su("NotebookKernelSource"),Su.BulkEditTitle=new Su("BulkEditTitle"),Su.BulkEditContext=new Su("BulkEditContext"),Su.TimelineItemContext=new Su("TimelineItemContext"),Su.TimelineTitle=new Su("TimelineTitle"),Su.TimelineTitleContext=new Su("TimelineTitleContext"),Su.TimelineFilterSubMenu=new Su("TimelineFilterSubMenu"),Su.AccountsContext=new Su("AccountsContext"),Su.SidebarTitle=new Su("SidebarTitle"),Su.PanelTitle=new Su("PanelTitle"),Su.AuxiliaryBarTitle=new Su("AuxiliaryBarTitle"),Su.AuxiliaryBarHeader=new Su("AuxiliaryBarHeader"),Su.TerminalInstanceContext=new Su("TerminalInstanceContext"),Su.TerminalEditorInstanceContext=new Su("TerminalEditorInstanceContext"),Su.TerminalNewDropdownContext=new Su("TerminalNewDropdownContext"),Su.TerminalTabContext=new Su("TerminalTabContext"),Su.TerminalTabEmptyAreaContext=new Su("TerminalTabEmptyAreaContext"),Su.TerminalStickyScrollContext=new Su("TerminalStickyScrollContext"),Su.WebviewContext=new Su("WebviewContext"),Su.InlineCompletionsActions=new Su("InlineCompletionsActions"),Su.InlineEditActions=new Su("InlineEditActions"),Su.NewFile=new Su("NewFile"),Su.MergeInput1Toolbar=new Su("MergeToolbar1Toolbar"),Su.MergeInput2Toolbar=new Su("MergeToolbar2Toolbar"),Su.MergeBaseToolbar=new Su("MergeBaseToolbar"),Su.MergeInputResultToolbar=new Su("MergeToolbarResultToolbar"),Su.InlineSuggestionToolbar=new Su("InlineSuggestionToolbar"),Su.InlineEditToolbar=new Su("InlineEditToolbar"),Su.ChatContext=new Su("ChatContext"),Su.ChatCodeBlock=new Su("ChatCodeblock"),Su.ChatMessageTitle=new Su("ChatMessageTitle"),Su.ChatExecute=new Su("ChatExecute"),Su.ChatExecuteSecondary=new Su("ChatExecuteSecondary"),Su.ChatInputSide=new Su("ChatInputSide"),Su.AccessibleView=new Su("AccessibleView"),Su.MultiDiffEditorFileToolbar=new Su("MultiDiffEditorFileToolbar"),Su.DiffEditorHunkToolbar=new Su("DiffEditorHunkToolbar"),Su.DiffEditorSelectionToolbar=new Su("DiffEditorSelectionToolbar");const xu=dd("menuService");class ku{static for(e){let t=this._all.get(e);return t||(t=new ku(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const n of e)n instanceof ku&&t.add(n.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}ku._all=new Map;const Lu=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new kt({merge:ku.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(e){return this._commands.set(e.id,e),this._onDidChangeMenu.fire(ku.for(Su.CommandPalette)),st((()=>{this._commands.delete(e.id)&&this._onDidChangeMenu.fire(ku.for(Su.CommandPalette))}))}getCommand(e){return this._commands.get(e)}getCommands(){const e=new Map;return this._commands.forEach(((t,n)=>e.set(n,t))),e}appendMenuItem(e,t){let n=this._menuItems.get(e);n||(n=new gt,this._menuItems.set(e,n));const i=n.push(t);return this._onDidChangeMenu.fire(ku.for(e)),st((()=>{i(),this._onDidChangeMenu.fire(ku.for(e))}))}appendMenuItems(e){const t=new rt;for(const{id:n,item:i}of e)t.add(this.appendMenuItem(n,i));return t}getMenuItems(e){let t;return t=this._menuItems.has(e)?[...this._menuItems.get(e)]:[],e===Su.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(e){const t=new Set;for(const n of e)yu(n)&&(t.add(n.command.id),n.alt&&t.add(n.alt.id));this._commands.forEach(((n,i)=>{t.has(i)||e.push({command:n})}))}};class Du extends _d{constructor(e,t,n){super(`submenuitem.${e.submenu.id}`,"string"==typeof e.title?e.title:e.title.value,n,"submenu"),this.item=e,this.hideActions=t}}let Nu=wu=class{static label(e,t){return(null==t?void 0:t.renderShortTitle)&&e.shortTitle?"string"==typeof e.shortTitle?e.shortTitle:e.shortTitle.value:"string"==typeof e.title?e.title:e.title.value}constructor(e,t,n,i,o,s){var r,l;let a;if(this.hideActions=i,this._commandService=s,this.id=e.id,this.label=wu.label(e,n),this.tooltip=null!==(l="string"==typeof e.tooltip?e.tooltip:null===(r=e.tooltip)||void 0===r?void 0:r.value)&&void 0!==l?l:"",this.enabled=!e.precondition||o.contextMatchesRules(e.precondition),this.checked=void 0,e.toggled){const t=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=o.contextMatchesRules(t.condition),this.checked&&t.tooltip&&(this.tooltip="string"==typeof t.tooltip?t.tooltip:t.tooltip.value),this.checked&&ka.isThemeIcon(t.icon)&&(a=t.icon),this.checked&&t.title&&(this.label="string"==typeof t.title?t.title:t.title.value)}a||(a=ka.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new wu(t,void 0,n,i,o,s):void 0,this._options=n,this.class=a&&ka.asClassName(a)}run(...e){var t,n;let i=[];return(null===(t=this._options)||void 0===t?void 0:t.arg)&&(i=[...i,this._options.arg]),(null===(n=this._options)||void 0===n?void 0:n.shouldForwardArgs)&&(i=[...i,...e]),this._commandService.executeCommand(this.id,...i)}};Nu=wu=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Cu(4,su),Cu(5,wd)],Nu);class Eu{constructor(e){this.desc=e}}function Iu(e){const t=new rt,n=new e,{f1:i,menu:o,keybinding:s,...r}=n.desc;if(Cd.getCommand(r.id))throw new Error(`Cannot register two commands with the same id: ${r.id}`);if(t.add(Cd.registerCommand({id:r.id,handler:(e,...t)=>n.run(e,...t),metadata:r.metadata})),Array.isArray(o))for(const e of o)t.add(Lu.appendMenuItem(e.id,{command:{...r,precondition:null===e.precondition?void 0:r.precondition},...e}));else o&&t.add(Lu.appendMenuItem(o.id,{command:{...r,precondition:null===o.precondition?void 0:r.precondition},...o}));if(i&&(t.add(Lu.appendMenuItem(Su.CommandPalette,{command:r,when:r.precondition})),t.add(Lu.addCommand(r))),Array.isArray(s))for(const e of s)t.add(vu.registerKeybindingRule({...e,id:r.id,when:r.precondition?Bd.and(r.precondition,e.when):e.when}));else s&&t.add(vu.registerKeybindingRule({...s,id:r.id,when:r.precondition?Bd.and(r.precondition,s.when):s.when}));return t}const Mu=dd("telemetryService"),Tu=dd("logService");var Au;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(Au||(Au={}));const Ru=Au.Info;class Pu extends lt{constructor(){super(...arguments),this.level=Ru,this._onDidChangeLogLevel=this._register(new Ct),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==Au.Off&&this.level<=e}}class Ou extends Pu{constructor(e=Ru,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(Au.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(Au.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(Au.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(Au.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(Au.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}}class Fu extends Pu{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const n of this.loggers)n.trace(e,...t)}debug(e,...t){for(const n of this.loggers)n.debug(e,...t)}info(e,...t){for(const n of this.loggers)n.info(e,...t)}warn(e,...t){for(const n of this.loggers)n.warn(e,...t)}error(e,...t){for(const n of this.loggers)n.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}new ou("logLevel",function(e){switch(e){case Au.Trace:return"trace";case Au.Debug:return"debug";case Au.Info:return"info";case Au.Warning:return"warn";case Au.Error:return"error";case Au.Off:return"off"}}(Au.Info));class Bu{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let e=t.kbExpr;this.precondition&&(e=e?Bd.and(e,this.precondition):this.precondition);const n={id:this.id,weight:t.weight,args:t.args,when:e,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};vu.registerKeybindingRule(n)}}Cd.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){Lu.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class Wu extends Bu{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,n,i){return this._implementations.push({priority:e,name:t,implementation:n,when:i}),this._implementations.sort(((e,t)=>t.priority-e.priority)),{dispose:()=>{for(let e=0;e{if(e.get(su).contextMatchesRules(null!=n?n:void 0))return i(e,s,t)}))}runCommand(e,t){return Hu.runEditorCommand(e,t,this.precondition,((e,t,n)=>this.runEditorCommand(e,t,n)))}}class zu extends Hu{static convertOptions(e){let t;function n(t){return t.menuId||(t.menuId=Su.EditorContext),t.title||(t.title=e.label),t.when=Bd.and(e.precondition,t.when),t}return t=Array.isArray(e.menuOpts)?e.menuOpts:e.menuOpts?[e.menuOpts]:[],Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(n)):e.contextMenuOpts&&t.push(n(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(zu.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,n){return this.reportTelemetry(e,t),this.run(e,t,n||{})}reportTelemetry(e,t){e.get(Mu).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class Uu extends zu{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort(((e,t)=>t[0]-e[0])),{dispose:()=>{for(let e=0;e{var n,o;const s=e.get(su),r=e.get(Tu);if(s.contextMatchesRules(null!==(n=this.desc.precondition)&&void 0!==n?n:void 0))return this.runEditorCommand(e,i,...t);r.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,null===(o=this.desc.precondition)||void 0===o?void 0:o.serialize())}))}}function ju(e,t){Cd.registerCommand(e,(function(e,...n){const i=e.get(ad),[o,s]=n;fa(Io.isUri(o)),fa(cd.isIPosition(s));const r=e.get(hd).getModel(o);if(r){const e=cd.lift(s);return i.invokeFunction(t,r,e,...n.slice(2))}return e.get(gd).createModelReference(o).then((e=>new Promise(((o,r)=>{try{o(i.invokeFunction(t,e.object.textEditorModel,cd.lift(s),n.slice(2)))}catch(e){r(e)}})).finally((()=>{e.dispose()}))))}))}function qu(e){return Xu.INSTANCE.registerEditorCommand(e),e}function $u(e){const t=new e;return Xu.INSTANCE.registerEditorAction(t),t}function Gu(e){return Xu.INSTANCE.registerEditorAction(e),e}function Zu(e,t,n){Xu.INSTANCE.registerEditorContribution(e,t,n)}var Yu;!function(e){e.getEditorCommand=function(e){return Xu.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return Xu.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return Xu.INSTANCE.getEditorContributions()},e.getSomeEditorContributions=function(e){return Xu.INSTANCE.getEditorContributions().filter((t=>e.indexOf(t.id)>=0))},e.getDiffEditorContributions=function(){return Xu.INSTANCE.getDiffEditorContributions()}}(Yu||(Yu={}));class Xu{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,n){this.editorContributions.push({id:e,ctor:t,instantiation:n})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}function Qu(e){return e.register(),e}Xu.INSTANCE=new Xu,fu.add("editor.contributions",Xu.INSTANCE);const Ju=Qu(new Wu({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Su.MenubarEditMenu,group:"1_do",title:_(0,"&&Undo"),order:1},{menuId:Su.CommandPalette,group:"",title:_(0,"Undo"),order:1}]}));Qu(new Vu(Ju,{id:"default:undo",precondition:void 0}));const ec=Qu(new Wu({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Su.MenubarEditMenu,group:"1_do",title:_(0,"&&Redo"),order:2},{menuId:Su.CommandPalette,group:"",title:_(0,"Redo"),order:1}]}));Qu(new Vu(ec,{id:"default:redo",precondition:void 0}));const tc=Qu(new Wu({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Su.MenubarSelectionMenu,group:"1_basic",title:_(0,"&&Select All"),order:1},{menuId:Su.CommandPalette,group:"",title:_(0,"Select All"),order:1}]}));class nc{constructor(e,t,n,i){e>n||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}isEmpty(){return nc.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return nc.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return nc.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return nc.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return nc.plusRange(this,e)}static plusRange(e,t){let n,i,o,s;return t.startLineNumbere.endLineNumber?(o=t.endLineNumber,s=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,s=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,s=e.endColumn),new nc(n,i,o,s)}intersectRanges(e){return nc.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,s=e.endColumn;const r=t.startLineNumber,l=t.startColumn,a=t.endLineNumber,d=t.endColumn;return na?(o=a,s=d):o===a&&(s=Math.min(s,d)),n>o||n===o&&i>s?null:new nc(n,i,o,s)}equalsRange(e){return nc.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return nc.getEndPosition(this)}static getEndPosition(e){return new cd(e.endLineNumber,e.endColumn)}getStartPosition(){return nc.getStartPosition(this)}static getStartPosition(e){return new cd(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new nc(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new nc(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return nc.collapseToStart(this)}static collapseToStart(e){return new nc(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return nc.collapseToEnd(this)}static collapseToEnd(e){return new nc(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new nc(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new nc(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new nc(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}}class ic extends nc{constructor(e,t,n,i){super(e,t,n,i),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=i}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return ic.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new ic(this.startLineNumber,this.startColumn,e,t):new ic(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new cd(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new cd(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new ic(e,t,this.endLineNumber,this.endColumn):new ic(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new ic(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new ic(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new ic(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new ic(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,i=e.length;nthis.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(ic.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:(new ed).appendText(_(0,"Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),Zr(_(0,"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(ic.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()}};var ac,dc;lc.ID="editor.contrib.selectionAnchorController",lc=sc=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([(ac=1,dc=su,function(e,t){dc(e,t,ac)})],lc),Zu(lc.ID,lc,4),$u(class extends zu{constructor(){super({id:"editor.action.setSelectionAnchor",label:_(0,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2080),weight:100}})}async run(e,t){var n;null===(n=lc.get(t))||void 0===n||n.setSelectionAnchor()}}),$u(class extends zu{constructor(){super({id:"editor.action.goToSelectionAnchor",label:_(0,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:rc})}async run(e,t){var n;null===(n=lc.get(t))||void 0===n||n.goToSelectionAnchor()}}),$u(class extends zu{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:_(0,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:rc,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2089),weight:100}})}async run(e,t){var n;null===(n=lc.get(t))||void 0===n||n.selectFromAnchorToCursor()}}),$u(class extends zu{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:_(0,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:rc,kbOpts:{kbExpr:oc.editorTextFocus,primary:9,weight:100}})}async run(e,t){var n;null===(n=lc.get(t))||void 0===n||n.cancelSelectionAnchor()}});var uc=n(7997),cc={};function hc(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;const t=Array.isArray(e)?[]:{};return Object.entries(e).forEach((([e,n])=>{t[e]=n&&"object"==typeof n?hc(n):n})),t}cc.styleTagTransform=Vr(),cc.setAttributes=Or(),cc.insert=Rr().bind(null,"head"),cc.domAPI=Tr(),cc.insertStyleElement=Br(),Ir()(uc.A,cc),uc.A&&uc.A.locals&&uc.A.locals;const gc=Object.prototype.hasOwnProperty;function pc(e,t){return mc(e,t,new Set)}function mc(e,t,n){if(ma(e))return e;const i=t(e);if(void 0!==i)return i;if(Array.isArray(e)){const i=[];for(const o of e)i.push(mc(o,t,n));return i}if(aa(e)){if(n.has(e))throw new Error("Cannot clone recursive data-structure");n.add(e);const i={};for(const o in e)gc.call(e,o)&&(i[o]=mc(e[o],t,n));return n.delete(e),i}return e}function fc(e,t,n=!0){return aa(e)?(aa(t)&&Object.keys(t).forEach((i=>{i in e?n&&(aa(e[i])&&aa(t[i])?fc(e[i],t[i],n):e[i]=t[i]):e[i]=t[i]})),e):t}function _c(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,i;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;ne===t)){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let i=0,o=e.length;i0))return i;r=i-1}}return-(s+1)}(e.length)}function Tc(e,t,n){if((e|=0)>=t.length)throw new TypeError("invalid index");const i=t[Math.floor(t.length*Math.random())],o=[],s=[],r=[];for(const e of t){const t=n(e,i);t<0?o.push(e):t>0?s.push(e):r.push(e)}return e!!e))}function Fc(e){let t=0;for(let n=0;n0}function Vc(e,t=(e=>e)){const n=new Set;return e.filter((e=>{const i=t(e);return!n.has(i)&&(n.add(i),!0)}))}function Hc(e,t){return e.length>0?e[0]:t}function zc(e,t){let n="number"==typeof t?e:0;"number"==typeof t?n=e:(n=0,t=e);const i=[];if(n<=t)for(let e=n;et;e--)i.push(e);return i}function Uc(e,t,n){const i=e.slice(0,t),o=e.slice(t);return i.concat(n,o)}function Kc(e,t){const n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function jc(e,t){const n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function qc(e,t){for(const n of t)e.push(n)}function $c(e){return Array.isArray(e)?e:[e]}function Gc(e,t,n,i){const o=Zc(e,t);let s=e.splice(o,n);return void 0===s&&(s=[]),function(e,t,n){const i=Zc(e,t),o=e.length,s=n.length;e.length=o+s;for(let t=o-1;t>=i;t--)e[t+s]=e[t];for(let t=0;tt(e(n),e(i))}!function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(yc||(yc={}));const Xc=(e,t)=>e-t,Qc=(e,t)=>Xc(e?1:0,t?1:0);function Jc(e){return(t,n)=>-e(t,n)}class eh{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class th{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new th((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new th((t=>this.iterate((n=>t(e(n))))))}findLast(e){let t;return this.iterate((n=>(e(n)&&(t=n),!0))),t}findLastMaxBy(e){let t,n=!0;return this.iterate((i=>((n||yc.isGreaterThan(e(i,t)))&&(n=!1,t=i),!0))),t}}th.empty=new th((e=>{}));class nh{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const n=Array.from(e.keys()).sort(((n,i)=>t(e[n],e[i])));return new nh(n)}apply(e){return e.map(((t,n)=>e[this._indexMap[n]]))}inverse(){const e=this._indexMap.slice();for(let t=0;t0){switch(a=Math.min(d<=.5?u/(2*d):u/(2-2*d),1),s){case t:l=(n-i)/u+(n1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(e){const t=e.h/360,{s:n,l:i,a:o}=e;let s,r,l;if(0===n)s=r=l=i;else{const e=i<.5?i*(1+n):i+n-i*n,o=2*i-e;s=sh._hue2rgb(o,e,t+1/3),r=sh._hue2rgb(o,e,t),l=sh._hue2rgb(o,e,t-1/3)}return new oh(Math.round(255*s),Math.round(255*r),Math.round(255*l),o)}}class rh{constructor(e,t,n,i){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=ih(Math.max(Math.min(1,t),0),3),this.v=ih(Math.max(Math.min(1,n),0),3),this.a=ih(Math.max(Math.min(1,i),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,n=e.g/255,i=e.b/255,o=Math.max(t,n,i),s=o-Math.min(t,n,i),r=0===o?0:s/o;let l;return l=0===s?0:o===t?((n-i)/s%6+6)%6:o===n?(i-t)/s+2:(t-n)/s+4,new rh(Math.round(60*l),r,o,e.a)}static toRGBA(e){const{h:t,s:n,v:i,a:o}=e,s=i*n,r=s*(1-Math.abs(t/60%2-1)),l=i-s;let[a,d,u]=[0,0,0];return t<60?(a=s,d=r):t<120?(a=r,d=s):t<180?(d=s,u=r):t<240?(d=r,u=s):t<300?(a=r,u=s):t<=360&&(a=s,u=r),a=Math.round(255*(a+l)),d=Math.round(255*(d+l)),u=Math.round(255*(u+l)),new oh(a,d,u,o)}}class lh{static fromHex(e){return lh.Format.CSS.parseHex(e)||lh.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:sh.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:rh.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof oh)this.rgba=e;else if(e instanceof sh)this._hsla=e,this.rgba=sh.toRGBA(e);else{if(!(e instanceof rh))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=rh.toRGBA(e)}}equals(e){return!!e&&oh.equals(this.rgba,e.rgba)&&sh.equals(this.hsla,e.hsla)&&rh.equals(this.hsva,e.hsva)}getRelativeLuminance(){return ih(.2126*lh._relativeLuminanceForComponent(this.rgba.r)+.7152*lh._relativeLuminanceForComponent(this.rgba.g)+.0722*lh._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()=t)return a-tt))return new ch(e,t)}static ofLength(e){return new ch(0,e)}static ofStartAndLength(e,t){return new ch(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new Re(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new ch(this.start+e,this.endExclusive+e)}deltaStart(e){return new ch(this.start+e,this.endExclusive)}deltaEnd(e){return new ch(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new Re(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new Re(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString())).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length),0)}}function gh(e,t,n){const i=function(e,t,n=e.length-1){for(let i=n;i>=0;i--)if(t(e[i]))return i;return-1}(e,t);if(-1!==i)return e[i]}function ph(e,t){const n=mh(e,t);return-1===n?void 0:e[n]}function mh(e,t,n=0,i=e.length){let o=n,s=i;for(;o0&&(n=o)}return n}function bh(e,t){if(0===e.length)return-1;let n=0;for(let i=1;i0&&(n=i);return n}_h.assertInvariants=!1;class wh{static fromRangeInclusive(e){return new wh(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new Ch(e[0].slice());for(let n=1;nt)throw new Re(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&et.endLineNumberExclusive>=e.startLineNumber)),n=mh(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const i=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,i)}}contains(e){const t=ph(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=ph(this._normalizedRanges,(t=>t.startLineNumbere.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let n=0,i=0,o=null;for(;n=s.startLineNumber?o=new wh(o.startLineNumber,Math.max(o.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(o),o=s)}return null!==o&&t.push(o),new Ch(t)}subtractFrom(e){const t=fh(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=mh(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)return new Ch([e]);const i=[];let o=e.startLineNumber;for(let e=t;eo&&i.push(new wh(o,t.startLineNumber)),o=t.endLineNumberExclusive}return oe.toString())).join(", ")}getIntersection(e){const t=[];let n=0,i=0;for(;nt.delta(e))))}}const yh={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},Sh=dd("languageService"),xh="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",kh=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of xh)e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function Lh(e){let t=kh;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const Dh=new gt;function Nh(e,t,n,i,o){if(t=Lh(t),o||(o=Ye.first(Dh)),n.length>o.maxLen){let s=e-o.maxLen/2;return s<0?s=0:i+=s,Nh(e,t,n=n.substring(s,e+o.maxLen/2),i,o)}const s=Date.now(),r=e-1-i;let l=-1,a=null;for(let e=1;!(Date.now()-s>=o.timeBudget);e++){const i=r-o.windowSize*e;t.lastIndex=Math.max(0,i);const s=Eh(t,n,r,l);if(!s&&a)break;if(a=s,i<=0)break;l=i}if(a){const e={word:a[0],startColumn:i+1+a.index,endColumn:i+1+a.index+a[0].length};return t.lastIndex=0,e}return null}function Eh(e,t,n,i){let o;for(;o=e.exec(t);){const t=o.index||0;if(t<=n&&e.lastIndex>=n)return o;if(i>0&&t>i)return null}return null}var Ih;Dh.unshift({maxLen:1e3,windowSize:15,timeBudget:150}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(Ih||(Ih={}));class Mh{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,n=e.notIn.length;t0&&e.getLanguageId(r-1)===o;)r--;return new Ph(e,o,r,s+1,e.getStartOffset(r),e.getEndOffset(s))}class Ph{constructor(e,t,n,i,o,s){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=o,this._lastCharOffset=s}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function Oh(e){return!!(3&e)}class Fh{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new Mh(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new Mh({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new Mh({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:Fh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:Fh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}Fh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t",Fh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t";var Bh=n(3764).TextDecoder;const Wh="undefined"!=typeof Buffer;let Vh;new ei((()=>new Uint8Array(256)));class Hh{static wrap(e){return Wh&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new Hh(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return Wh?this.buffer.toString():(Vh||(Vh=new Bh),Vh.decode(this.buffer))}}function zh(e,t){return(0|e[t+0])>>>0|e[t+1]<<8>>>0}function Uh(e,t,n){e[n+0]=255&t,t>>>=8,e[n+1]=255&t}function Kh(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function jh(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function qh(e,t){return e[t]}function $h(e,t,n){e[n]=t}var Gh=n(3764).TextDecoder;let Zh,Yh,Xh;function Qh(){return Zh||(Zh=new Gh("UTF-16LE")),Zh}function Jh(){return Xh||(Xh=ie()?Qh():(Yh||(Yh=new Gh("UTF-16BE")),Yh)),Xh}class eg{constructor(e){this._capacity=0|e,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";const e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return Jh().decode(e)}_flushBuffer(){const e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e}appendCharCode(e){const t=this._capacity-this._bufferLength;t<=1&&(0===t||Li(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendASCIICharCode(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendString(e){const t=e.length;if(this._bufferLength+t>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(let n=0;n[e[0].toLowerCase(),e[1].toLowerCase()]));const n=[];for(let e=0;e{const[n,i]=e,[o,s]=t;return n===o||n===s||i===o||i===s},o=(e,i)=>{const o=Math.min(e,i),s=Math.max(e,i);for(let e=0;e0&&s.push({open:o,close:r})}return s}(t);this.brackets=n.map(((t,i)=>new tg(e,i,t.open,t.close,function(e,t,n,i){let o=[];o=o.concat(e),o=o.concat(t);for(let e=0,t=o.length;e=0&&i.push(t);for(const t of s.close)t.indexOf(e)>=0&&i.push(t)}}function og(e,t){return e.length-t.length}function sg(e){if(e.length<=1)return e;const t=[],n=new Set;for(const i of e)n.has(i)||(t.push(i),n.add(i));return t}function rg(e){const t=/^[\w ]+$/.test(e);return e=ri(e),t?`\\b${e}\\b`:e}function lg(e){return ui(`(${e.map(rg).join(")|(")})`,!0)}const ag=function(){let e=null,t=null;return function(n){return e!==n&&(e=n,t=function(e){const t=new Uint16Array(e.length);let n=0;for(let i=e.length-1;i>=0;i--)t[n++]=e.charCodeAt(i);return Jh().decode(t)}(e)),t}}();class dg{static _findPrevBracketInText(e,t,n,i){const o=n.match(e);if(!o)return null;const s=n.length-(o.index||0),r=o[0].length,l=i+s;return new nc(t,l-r+1,t,l+1)}static findPrevBracketInRange(e,t,n,i,o){const s=ag(n).substring(n.length-o,n.length-i);return this._findPrevBracketInText(e,t,s,i)}static findNextBracketInText(e,t,n,i){const o=n.match(e);if(!o)return null;const s=o.index||0,r=o[0].length;if(0===r)return null;const l=i+s;return new nc(t,l+1,t,l+1+r)}static findNextBracketInRange(e,t,n,i,o){const s=n.substring(i,o);return this.findNextBracketInText(e,t,s,i)}}class ug{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const n of t.close){const t=n.charAt(n.length-1);e.push(t)}return Vc(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const i=t.findTokenIndexAtOffset(n-1);if(Oh(t.getStandardTokenType(i)))return null;const o=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,n-1)+e,r=dg.findPrevBracketInRange(o,1,s,0,s.length);if(!r)return null;const l=s.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[l])return null;const a=t.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(a)?{matchOpenBracket:l}:null}}function cg(e){return e.global&&(e.lastIndex=0),!0}class hg{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&cg(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&cg(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&cg(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&cg(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class gg{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=gg._createOpenBracketRegExp(e[0]),n=gg._createCloseBracketRegExp(e[1]);t&&n&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:n})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,n,i){if(e>=3)for(let e=0,o=this._regExpRules.length;e!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return o.action}if(e>=2&&n.length>0&&i.length>0)for(let e=0,t=this._brackets.length;e=2&&n.length>0)for(let e=0,t=this._brackets.length;e0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};fu.add(kg,Lg);const Dg="base.contributions.configuration",Ng={properties:{},patternProperties:{}},Eg={properties:{},patternProperties:{}},Ig={properties:{},patternProperties:{}},Mg={properties:{},patternProperties:{}},Tg={properties:{},patternProperties:{}},Ag={properties:{},patternProperties:{}},Rg="vscode://schemas/settings/resourceLanguage",Pg=fu.as(kg),Og="\\[([^\\]]+)\\]",Fg=new RegExp(Og,"g"),Bg=`^(${Og})+$`,Wg=new RegExp(Bg);function Vg(e){const t=[];if(Wg.test(e)){let n=Fg.exec(e);for(;null==n?void 0:n.length;){const i=n[1].trim();i&&t.push(i),n=Fg.exec(e)}}return Vc(t)}const Hg=new class{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new Ct,this._onDidUpdateConfiguration=new Ct,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:_(0,"Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},Pg.registerSchema(Rg,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const n=new Set;this.doRegisterConfigurations(e,t,n),Pg.registerSchema(Rg,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var n;const i=[];for(const{overrides:o,source:s}of e)for(const e in o)if(t.add(e),Wg.test(e)){const t=this.configurationDefaultsOverrides.get(e),r=null!==(n=null==t?void 0:t.valuesSources)&&void 0!==n?n:new Map;if(s)for(const t of Object.keys(o[e]))r.set(t,s);const l={...(null==t?void 0:t.value)||{},...o[e]};this.configurationDefaultsOverrides.set(e,{source:s,value:l,valuesSources:r});const a={type:"object",default:l,description:_(0,"Configure settings to be overridden for the {0} language.",e.replace(/[\[\]]/g,"")),$ref:Rg,defaultDefaultValue:l,source:la(s)?void 0:s,defaultValueSource:s};i.push(...Vg(e)),this.configurationProperties[e]=a,this.defaultLanguageConfigurationOverridesNode.properties[e]=a}else{this.configurationDefaultsOverrides.set(e,{value:o[e],source:s});const t=this.configurationProperties[e];t&&(this.updatePropertyDefaultValue(e,t),this.updateSchema(e,t))}this.doRegisterOverrideIdentifiers(i)}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,n,i,o=3,s){var r;o=ma(e.scope)?o:e.scope;const l=e.properties;if(l)for(const e in l){const a=l[e];t&&zg(e,a)?delete l[e]:(a.source=n,a.defaultDefaultValue=l[e].default,this.updatePropertyDefaultValue(e,a),Wg.test(e)?a.scope=void 0:(a.scope=ma(a.scope)?o:a.scope,a.restricted=ma(a.restricted)?!!(null==i?void 0:i.includes(e)):a.restricted),!l[e].hasOwnProperty("included")||l[e].included?(this.configurationProperties[e]=l[e],(null===(r=l[e].policy)||void 0===r?void 0:r.name)&&this.policyConfigurations.set(l[e].policy.name,e),!l[e].deprecationMessage&&l[e].markdownDeprecationMessage&&(l[e].deprecationMessage=l[e].markdownDeprecationMessage),s.add(e)):(this.excludedConfigurationProperties[e]=l[e],delete l[e]))}const a=e.allOf;if(a)for(const e of a)this.validateAndRegisterProperties(e,t,n,i,o,s)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const n=e.properties;if(n)for(const e in n)this.updateSchema(e,n[e]);const i=e.allOf;null==i||i.forEach(t)};t(e)}updateSchema(e,t){switch(Ng.properties[e]=t,t.scope){case 1:Eg.properties[e]=t;break;case 2:Ig.properties[e]=t;break;case 6:Mg.properties[e]=t;break;case 3:Tg.properties[e]=t;break;case 4:Ag.properties[e]=t;break;case 5:Ag.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,n={type:"object",description:_(0,"Configure editor settings to be overridden for a language."),errorMessage:_(0,"This setting does not support per-language configuration."),$ref:Rg};this.updatePropertyDefaultValue(t,n),Ng.properties[t]=n,Eg.properties[t]=n,Ig.properties[t]=n,Mg.properties[t]=n,Tg.properties[t]=n,Ag.properties[t]=n}}registerOverridePropertyPatternKey(){const e={type:"object",description:_(0,"Configure editor settings to be overridden for a language."),errorMessage:_(0,"This setting does not support per-language configuration."),$ref:Rg};Ng.patternProperties[Bg]=e,Eg.patternProperties[Bg]=e,Ig.patternProperties[Bg]=e,Mg.patternProperties[Bg]=e,Tg.patternProperties[Bg]=e,Ag.patternProperties[Bg]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const n=this.configurationDefaultsOverrides.get(e);let i=null==n?void 0:n.value,o=null==n?void 0:n.source;ga(i)&&(i=t.defaultDefaultValue,o=void 0),ga(i)&&(i=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=i,t.defaultValueSource=o}};function zg(e,t){var n,i,o,s;return e.trim()?Wg.test(e)?_(0,"Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==Hg.getConfigurationProperties()[e]?_(0,"Cannot register '{0}'. This property is already registered.",e):(null===(n=t.policy)||void 0===n?void 0:n.name)&&void 0!==Hg.getPolicyConfigurations().get(null===(i=t.policy)||void 0===i?void 0:i.name)?_(0,"Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,null===(o=t.policy)||void 0===o?void 0:o.name,Hg.getPolicyConfigurations().get(null===(s=t.policy)||void 0===s?void 0:s.name)):null:_(0,"Cannot register an empty property")}fu.add(Dg,Hg);const Ug=new class{constructor(){this._onDidChangeLanguages=new Ct,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t{const t=new Set;return{info:new Gg(this,e,t),closing:t}})),o=new Jn((e=>{const t=new Set,n=new Set;return{info:new Zg(this,e,t,n),opening:t,openingColorized:n}}));for(const[e,t]of n){const n=i.get(e),s=o.get(t);n.closing.add(s.info),s.opening.add(n.info)}const s=t.colorizedBracketPairs?qg(t.colorizedBracketPairs):n.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[e,t]of s){const n=i.get(e),s=o.get(t);n.closing.add(s.info),s.openingColorized.add(n.info),s.opening.add(n.info)}this._openingBrackets=new Map([...i.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...o.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function qg(e){return e.filter((([e,t])=>""!==e&&""!==t))}class $g{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class Gg extends $g{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}}class Zg extends $g{constructor(e,t,n,i){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=i,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var Yg=function(e,t){return function(n,i){t(n,i,e)}};class Xg{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const Qg=dd("languageConfigurationService");let Jg=class extends lt{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new ap),this.onDidChangeEmitter=this._register(new Ct),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const n=new Set(Object.values(ep));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>n.has(e))),i=e.change.overrides.filter((([e,t])=>t.some((e=>n.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new Xg(void 0));else for(const e of i)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new Xg(e)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new Xg(e.languageId))})))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,n,i){let o=t.getLanguageConfiguration(e);if(!o){if(!i.isRegisteredLanguageId(e))return new dp(e,{});o=new dp(e,{})}const s=function(e,t){const n=t.getValue(ep.brackets,{overrideIdentifier:e}),i=t.getValue(ep.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:tp(n),colorizedBracketPairs:tp(i)}}(o.languageId,n),r=sp([o.underlyingConfig,s]);return new dp(o.languageId,r)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};Jg=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Yg(0,pg),Yg(1,Sh)],Jg);const ep={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function tp(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}function np(e,t,n){let i=gi(e.getLineContent(t));return i.length>n-1&&(i=i.substring(0,n-1)),i}function ip(e,t,n){return e.tokenization.forceTokenization(t),Rh(e.tokenization.getLineTokens(t),void 0===n?e.getLineMaxColumn(t)-1:n-1)}class op{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const n=new rp(e,t,++this._order);return this._entries.push(n),this._resolved=null,st((()=>{for(let e=0;ee.configuration))))}}function sp(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}class rp{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class lp{constructor(e){this.languageId=e}}class ap extends lt{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._register(this.register(Kg,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let i=this._entries.get(e);i||(i=new op(e),this._entries.set(e,i));const o=i.register(t,n);return this._onDidChange.fire(new lp(e)),st((()=>{o.dispose(),this._onDidChange.fire(new lp(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return(null==t?void 0:t.getResolvedConfiguration())||null}}class dp{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new gg(this.underlyingConfig):null,this.comments=dp._handleComments(this.underlyingConfig),this.characterPair=new Fh(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||kh,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new hg(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new jg(e,this.underlyingConfig)}getWordDefinition(){return Lh(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new ng(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new ug(this.brackets)),this._electricCharacter}onEnter(e,t,n,i){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,i):null}getAutoClosingPairs(){return new Th(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){const[e,i]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=i}return n}}yg(Qg,Jg,1);class up{constructor(e,t,n,i){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=n,this.isInvalid=i}}class cp{constructor(e,t,n,i,o,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=n,this.nestingLevel=i,this.nestingLevelOfEqualBracketType=o,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class hp extends cp{constructor(e,t,n,i,o,s,r){super(e,t,n,i,o,s),this.minVisibleColumnIndentation=r}}class gp{static ofText(e){let t=0,n=0;for(const i of e)"\n"===i?(t++,n=0):n++;return new gp(t,n)}constructor(e,t){this.lineCount=e,this.columnCount=t}createRange(e){return 0===this.lineCount?new nc(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new nc(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new cd(e.lineNumber,e.column+this.columnCount):new cd(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}gp.zero=new gp(0,0);const pp=0;function mp(e){return 0===e}const fp=2**26;function _p(e,t){return e*fp+t}function vp(e){const t=e,n=Math.floor(t/fp);return new gp(n,t-n*fp)}function bp(e,t){let n=e+t;return t>=fp&&(n-=e%fp),n}function wp(e,t){return e.reduce(((e,n)=>bp(e,t(n))),pp)}function Cp(e,t){return e===t}function yp(e,t){const n=e,i=t;if(i-n<=0)return pp;const o=Math.floor(n/fp),s=Math.floor(i/fp),r=i-s*fp;return o===s?_p(0,r-(n-o*fp)):_p(s-o,r)}function Sp(e,t){return e=t}function Lp(e){return _p(e.lineNumber-1,e.column-1)}function Dp(e,t){const n=e,i=Math.floor(n/fp),o=n-i*fp,s=t,r=Math.floor(s/fp);return new nc(i+1,o+1,r+1,s-r*fp+1)}class Np{static fromModelContentChanges(e){const t=e.map((e=>{const t=nc.lift(e.range);return new Np(Lp(t.getStartPosition()),Lp(t.getEndPosition()),function(e){const t=ci(e);return _p(t.length-1,t[t.length-1].length)}(e.text))})).reverse();return t}constructor(e,t,n){this.startOffset=e,this.endOffset=t,this.newLength=n}toString(){return`[${vp(this.startOffset)}...${vp(this.endOffset)}) -> ${vp(this.newLength)}`}}class Ep{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>Ip.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],n=t?this.translateOldToCur(t.offsetObj):null;return null===n?null:yp(e,n)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?_p(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):_p(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=vp(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?_p(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):_p(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(0===i){const e=1<e};class Rp{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class Pp{get length(){return this._length}constructor(e){this._length=e}}class Op extends Pp{static create(e,t,n){let i=e.length;return t&&(i=bp(i,t.length)),n&&(i=bp(i,n.length)),new Op(i,e,t,n,t?t.missingOpeningBracketIds:Tp.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,n,i,o){super(e),this.openingBracket=t,this.child=n,this.closingBracket=i,this.missingOpeningBracketIds=o}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new Op(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(bp(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class Fp extends Pp{static create23(e,t,n,i=!1){let o=e.length,s=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(o=bp(o,t.length),s=s.merge(t.missingOpeningBracketIds),n){if(e.listHeight!==n.listHeight)throw new Error("Invalid list heights");o=bp(o,n.length),s=s.merge(n.missingOpeningBracketIds)}return i?new Wp(o,e.listHeight+1,e,t,n,s):new Bp(o,e.listHeight+1,e,t,n,s)}static getEmpty(){return new Hp(pp,0,[],Tp.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,n){super(e),this.listHeight=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),n=4===t.kind?t.toMutable():t;return t!==n&&this.setChild(e-1,n),n}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new Re;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,n=this.getChild(0).missingOpeningBracketIds;for(let i=1;i>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),8&n&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const n=this.getForeground(e),i=this.getFontStyle(e);let o=`color: ${t[n]};`;1&i&&(o+="font-style: italic;"),2&i&&(o+="font-weight: bold;");let s="";return 4&i&&(s+=" underline"),8&i&&(s+=" line-through"),s&&(o+=`text-decoration:${s};`),o}static getPresentationFromMetadata(e){const t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&n),bold:Boolean(2&n),underline:Boolean(4&n),strikethrough:Boolean(8&n)}}}class Gp{constructor(e,t,n,i,o){this.length=e,this.kind=t,this.bracketId=n,this.bracketIds=i,this.astNode=o}}class Zp{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new Yp(this.textModel,this.bracketTokens),this._offset=pp,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return _p(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=bp(this._offset,e);const t=vp(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=bp(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class Yp{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=e.length,e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let n=0;for(;;){const i=this.lineTokens,o=i.getCount();let s=null;if(this.lineTokenOffset1e3)break}if(n>1500)break}const i=(o=e,s=t,r=this.lineIdx,l=this.lineCharOffset,o!==r?_p(r-o,l):_p(0,l-s));var o,s,r,l;return new Gp(i,0,-1,Tp.getEmpty(),new Kp(i))}}class Xp{constructor(e,t){this.text=e,this._offset=pp,this.idx=0;const n=t.getRegExpStr(),i=n?new RegExp(n+"|\n","gi"):null,o=[];let s,r=0,l=0,a=0,d=0;const u=[];for(let e=0;e<60;e++)u.push(new Gp(_p(0,e),0,-1,Tp.getEmpty(),new Kp(_p(0,e))));const c=[];for(let e=0;e<60;e++)c.push(new Gp(_p(1,e),0,-1,Tp.getEmpty(),new Kp(_p(1,e))));if(i)for(i.lastIndex=0;null!==(s=i.exec(e));){const e=s.index,n=s[0];if("\n"===n)r++,l=e+1;else{if(a!==e){let t;if(d===r){const n=e-a;if(nfunction(e){let t=ri(e);return/^[\w ]+/.test(e)&&(t=`\\b${t}`),/[\w ]+$/.test(e)&&(t=`${t}\\b`),t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,n]of this.map)if(2===n.kind&&n.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class Jp{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=Qp.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function em(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let n=e.length;for(;n>3;){const i=n>>1;for(let o=0;o=3?e[2]:null,t)}function tm(e,t){return Math.abs(e.listHeight-t.listHeight)}function nm(e,t){return e.listHeight===t.listHeight?Fp.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let n=e=e.toMutable();const i=[];let o;for(;;){if(t.listHeight===n.listHeight){o=t;break}if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeLastElementMutable()}for(let e=i.length-1;e>=0;e--){const t=i[e];o?t.childrenLength>=3?o=Fp.create23(t.unappendChild(),o,null,!1):(t.appendChildOfSameHeight(o),o=void 0):t.handleChildrenChanged()}return o?Fp.create23(e,o,null,!1):e}(e,t):function(e,t){let n=e=e.toMutable();const i=[];for(;t.listHeight!==n.listHeight;){if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeFirstElementMutable()}let o=t;for(let e=i.length-1;e>=0;e--){const t=i[e];o?t.childrenLength>=3?o=Fp.create23(o,t.unprependChild(),null,!1):(t.prependChildOfSameHeight(o),o=void 0):t.handleChildrenChanged()}return o?Fp.create23(o,e,null,!1):e}(t,e)}class im{constructor(e){this.lastOffset=pp,this.nextNodes=[e],this.offsets=[pp],this.idxs=[]}readLongestNodeAt(e,t){if(Sp(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const n=sm(this.nextNodes);if(!n)return;const i=sm(this.offsets);if(Sp(e,i))return;if(Sp(i,e))if(bp(i,n.length)<=e)this.nextNodeAfterCurrent();else{const e=om(n);-1!==e?(this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(n))return this.nextNodeAfterCurrent(),n;{const e=om(n);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=sm(this.offsets),t=sm(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const n=sm(this.nextNodes),i=om(n,this.idxs[this.idxs.length-1]);if(-1!==i){this.nextNodes.push(n.getChild(i)),this.offsets.push(bp(e,t.length)),this.idxs[this.idxs.length-1]=i;break}this.idxs.pop()}}}function om(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function sm(e){return e.length>0?e[e.length-1]:void 0}function rm(e,t,n,i){return new lm(e,t,n,i).parseDocument()}class lm{constructor(e,t,n,i){if(this.tokenizer=e,this.createImmutableLists=i,this._itemsConstructed=0,this._itemsFromCache=0,n&&i)throw new Error("Not supported");this.oldNodeReader=n?new im(n):void 0,this.positionMapper=new Ep(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Tp.getEmpty(),0);return e||(e=Fp.getEmpty()),e}parseList(e,t){const n=[];for(;;){let i=this.tryReadChildFromCache(e);if(!i){const n=this.tokenizer.peek();if(!n||2===n.kind&&n.bracketIds.intersects(e))break;i=this.parseChild(e,t+1)}4===i.kind&&0===i.childrenLength||n.push(i)}const i=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function n(){if(t>=e.length)return null;const n=t,i=e[n].listHeight;for(t++;t=2?em(0===n&&t===e.length?e:e.slice(n,t),!1):e[n]}let i=n(),o=n();if(!o)return i;for(let e=n();e;e=n())tm(i,o)<=tm(o,e)?(i=nm(i,o),o=e):o=nm(o,e);return nm(i,o)}(n):em(n,this.createImmutableLists);return i}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!mp(t)){const n=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(n=>!(null!==t&&!Sp(n.length,t))&&n.canBeReused(e)));if(n)return this._itemsFromCache++,this.tokenizer.skip(n.length),n}}}parseChild(e,t){this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new qp(n.bracketIds,n.length);case 0:return n.astNode;case 1:{if(t>300)return new Kp(n.length);const i=e.merge(n.bracketIds),o=this.parseList(i,t+1),s=this.tokenizer.peek();return s&&2===s.kind&&(s.bracketId===n.bracketId||s.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),Op.create(n.astNode,o,s.astNode)):Op.create(n.astNode,o,null)}default:throw new Error("unexpected")}}}function am(e,t){if(0===e.length)return t;if(0===t.length)return e;const n=new eh(um(e)),i=um(t);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let o=n.dequeue();function s(e){if(void 0===e){const e=n.takeWhile((e=>!0))||[];return o&&e.unshift(o),e}const t=[];for(;o&&!mp(e);){const[i,s]=o.splitAt(e);t.push(i),e=yp(i.lengthAfter,e),o=null!=s?s:n.dequeue()}return mp(e)||t.push(new dm(!1,e,e)),t}const r=[];function l(e,t,n){if(r.length>0&&Cp(r[r.length-1].endOffset,e)){const e=r[r.length-1];r[r.length-1]=new Np(e.startOffset,t,bp(e.newLength,n))}else r.push({startOffset:e,endOffset:t,newLength:n})}let a=pp;for(const e of i){const t=s(e.lengthBefore);if(e.modified){const n=bp(a,wp(t,(e=>e.lengthBefore)));l(a,n,e.lengthAfter),a=n}else for(const e of t){const t=a;a=bp(a,e.lengthBefore),e.modified&&l(t,a,e.lengthAfter)}}return r}class dm{constructor(e,t,n){this.modified=e,this.lengthBefore=t,this.lengthAfter=n}splitAt(e){const t=yp(e,this.lengthAfter);return Cp(t,pp)?[this,void 0]:this.modified?[new dm(this.modified,this.lengthBefore,e),new dm(this.modified,pp,t)]:[new dm(this.modified,e,e),new dm(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${vp(this.lengthBefore)} -> ${vp(this.lengthAfter)}`}}function um(e){const t=[];let n=pp;for(const i of e){const e=yp(n,i.startOffset);mp(e)||t.push(new dm(!1,e,e));const o=yp(i.startOffset,i.endOffset);t.push(new dm(!0,o,i.newLength)),n=i.endOffset}return t}class cm extends lt{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new Ct,this.denseKeyProvider=new Rp,this.brackets=new Jp(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new Xp(this.textModel.getValue(),e);this.initialAstWithoutTokens=rm(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new Np(_p(e.fromLineNumber-1,0),_p(e.toLineNumber,0),_p(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=Np.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const n=am(this.queuedTextEdits,e);this.queuedTextEdits=n,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=am(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,n){const i=t;return rm(new Zp(this.textModel,this.brackets),e,i,n)}getBracketsInRange(e,t){this.flushQueue();const n=_p(e.startLineNumber-1,e.startColumn-1),i=_p(e.endLineNumber-1,e.endColumn-1);return new th((e=>{const o=this.initialAstWithoutTokens||this.astWithTokens;pm(o,pp,o.length,n,i,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const n=Lp(e.getStartPosition()),i=Lp(e.getEndPosition());return new th((e=>{const o=this.initialAstWithoutTokens||this.astWithTokens,s=new mm(e,t,this.textModel);fm(o,pp,o.length,n,i,s,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return gm(t,pp,t.length,Lp(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return hm(t,pp,t.length,Lp(e))}}function hm(e,t,n,i){if(4===e.kind||2===e.kind){const o=[];for(const i of e.children)n=bp(t,i.length),o.push({nodeOffsetStart:t,nodeOffsetEnd:n}),t=n;for(let t=o.length-1;t>=0;t--){const{nodeOffsetStart:n,nodeOffsetEnd:s}=o[t];if(Sp(n,i)){const o=hm(e.children[t],n,s,i);if(o)return o}}return null}if(3===e.kind)return null;if(1===e.kind){const i=Dp(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function gm(e,t,n,i){if(4===e.kind||2===e.kind){for(const o of e.children){if(Sp(i,n=bp(t,o.length))){const e=gm(o,t,n,i);if(e)return e}t=n}return null}if(3===e.kind)return null;if(1===e.kind){const i=Dp(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function pm(e,t,n,i,o,s,r,l,a,d,u=!1){if(r>200)return!0;e:for(;;)switch(e.kind){case 4:{const l=e.childrenLength;for(let u=0;u200)return!0;let d=!0;if(2===e.kind){let u=0;if(l){let t=l.get(e.openingBracket.text);void 0===t&&(t=0),u=t,t++,l.set(e.openingBracket.text,t)}const c=bp(t,e.openingBracket.length);let h=-1;if(s.includeMinIndentation&&(h=e.computeMinIndentation(t,s.textModel)),d=s.push(new hp(Dp(t,n),Dp(t,c),e.closingBracket?Dp(bp(c,(null===(a=e.child)||void 0===a?void 0:a.length)||pp),n):void 0,r,u,e,h)),t=c,d&&e.child){const a=e.child;if(n=bp(t,a.length),xp(t,o)&&kp(n,i)&&(d=fm(a,t,n,i,o,s,r+1,l),!d))return!1}null==l||l.set(e.openingBracket.text,u)}else{let n=t;for(const t of e.children){const e=n;if(n=bp(n,t.length),xp(e,o)&&xp(i,n)&&(d=fm(t,e,n,i,o,s,r,l),!d))return!1}}return d}class _m extends lt{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new at),this.onDidChangeEmitter=new Ct,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange((e=>{var t;e.languageId&&!(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.didLanguageChange(e.languageId))||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())})))}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){var e;null===(e=this.bracketPairsTree.value)||void 0===e||e.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const n=new rt;this.bracketPairsTree.value=(e=n.add(new cm(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=n,{object:e,dispose:()=>null==t?void 0:t.dispose()}),n.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getBracketPairsInRange(e,!1))||th.empty}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getBracketPairsInRange(e,!0))||th.empty}getBracketsInRange(e,t=!1){var n;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(n=this.bracketPairsTree.value)||void 0===n?void 0:n.object.getBracketsInRange(e,t))||th.empty}findMatchingBracketUp(e,t,n){const i=this.textModel.validatePosition(t),o=this.textModel.getLanguageIdAtPosition(i.lineNumber,i.column);if(this.canBuildAST){const n=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getClosingBracketInfo(e);if(!n)return null;const i=this.getBracketPairsInRange(nc.fromPositions(t,t)).findLast((e=>n.closes(e.openingBracketInfo)));return i?i.openingBracketRange:null}{const t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(o).brackets;if(!s)return null;const r=s.textIsBracket[t];return r?wm(this._findMatchingBracketUp(r,i,vm(n))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(nc.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy(Yc((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),nc.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const n=vm(t);return this._matchBracket(this.textModel.validatePosition(e),n)}}_establishBracketSearchOffsets(e,t,n,i){const o=t.getCount(),s=t.getLanguageId(i);let r=Math.max(0,e.column-1-n.maxBracketLength);for(let e=i-1;e>=0;e--){const n=t.getEndOffset(e);if(n<=r)break;if(Oh(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){r=n;break}}let l=Math.min(t.getLineContent().length,e.column-1+n.maxBracketLength);for(let e=i+1;e=l)break;if(Oh(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){l=n;break}}return{searchStartOffset:r,searchEndOffset:l}}_matchBracket(e,t){const n=e.lineNumber,i=this.textModel.tokenization.getLineTokens(n),o=this.textModel.getLineContent(n),s=i.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const r=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(s)).brackets;if(r&&!Oh(i.getStandardTokenType(s))){let{searchStartOffset:l,searchEndOffset:a}=this._establishBracketSearchOffsets(e,i,r,s),d=null;for(;;){const i=dg.findNextBracketInRange(r.forwardRegex,n,o,l,a);if(!i)break;if(i.startColumn<=e.column&&e.column<=i.endColumn){const e=o.substring(i.startColumn-1,i.endColumn-1).toLowerCase(),n=this._matchFoundBracket(i,r.textIsBracket[e],r.textIsOpenBracket[e],t);if(n){if(n instanceof bm)return null;d=n}}l=i.endColumn-1}if(d)return d}if(s>0&&i.getStartOffset(s)===e.column-1){const r=s-1,l=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(r)).brackets;if(l&&!Oh(i.getStandardTokenType(r))){const{searchStartOffset:s,searchEndOffset:a}=this._establishBracketSearchOffsets(e,i,l,r),d=dg.findPrevBracketInRange(l.reversedRegex,n,o,s,a);if(d&&d.startColumn<=e.column&&e.column<=d.endColumn){const e=o.substring(d.startColumn-1,d.endColumn-1).toLowerCase(),n=this._matchFoundBracket(d,l.textIsBracket[e],l.textIsOpenBracket[e],t);if(n)return n instanceof bm?null:n}}}return null}_matchFoundBracket(e,t,n,i){if(!t)return null;const o=n?this._findMatchingBracketDown(t,e.getEndPosition(),i):this._findMatchingBracketUp(t,e.getStartPosition(),i);return o?o instanceof bm?o:[e,o]:null}_findMatchingBracketUp(e,t,n){const i=e.languageId,o=e.reversedRegex;let s=-1,r=0;const l=(t,i,l,a)=>{for(;;){if(n&&++r%100==0&&!n())return bm.INSTANCE;const d=dg.findPrevBracketInRange(o,t,i,l,a);if(!d)break;const u=i.substring(d.startColumn-1,d.endColumn-1).toLowerCase();if(e.isOpen(u)?s++:e.isClose(u)&&s--,0===s)return d;a=d.startColumn-1}return null};for(let e=t.lineNumber;e>=1;e--){const n=this.textModel.tokenization.getLineTokens(e),o=n.getCount(),s=this.textModel.getLineContent(e);let r=o-1,a=s.length,d=s.length;e===t.lineNumber&&(r=n.findTokenIndexAtOffset(t.column-1),a=t.column-1,d=t.column-1);let u=!0;for(;r>=0;r--){const t=n.getLanguageId(r)===i&&!Oh(n.getStandardTokenType(r));if(t)u?a=n.getStartOffset(r):(a=n.getStartOffset(r),d=n.getEndOffset(r));else if(u&&a!==d){const t=l(e,s,a,d);if(t)return t}u=t}if(u&&a!==d){const t=l(e,s,a,d);if(t)return t}}return null}_findMatchingBracketDown(e,t,n){const i=e.languageId,o=e.forwardRegex;let s=1,r=0;const l=(t,i,l,a)=>{for(;;){if(n&&++r%100==0&&!n())return bm.INSTANCE;const d=dg.findNextBracketInRange(o,t,i,l,a);if(!d)break;const u=i.substring(d.startColumn-1,d.endColumn-1).toLowerCase();if(e.isOpen(u)?s++:e.isClose(u)&&s--,0===s)return d;l=d.endColumn-1}return null},a=this.textModel.getLineCount();for(let e=t.lineNumber;e<=a;e++){const n=this.textModel.tokenization.getLineTokens(e),o=n.getCount(),s=this.textModel.getLineContent(e);let r=0,a=0,d=0;e===t.lineNumber&&(r=n.findTokenIndexAtOffset(t.column-1),a=t.column-1,d=t.column-1);let u=!0;for(;r=1;e--){const t=this.textModel.tokenization.getLineTokens(e),r=t.getCount(),l=this.textModel.getLineContent(e);let a=r-1,d=l.length,u=l.length;if(e===n.lineNumber){a=t.findTokenIndexAtOffset(n.column-1),d=n.column-1,u=n.column-1;const e=t.getLanguageId(a);i!==e&&(i=e,o=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let c=!0;for(;a>=0;a--){const n=t.getLanguageId(a);if(i!==n){if(o&&s&&c&&d!==u){const t=dg.findPrevBracketInRange(o.reversedRegex,e,l,d,u);if(t)return this._toFoundBracket(s,t);c=!1}i=n,o=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const r=!!o&&!Oh(t.getStandardTokenType(a));if(r)c?d=t.getStartOffset(a):(d=t.getStartOffset(a),u=t.getEndOffset(a));else if(s&&o&&c&&d!==u){const t=dg.findPrevBracketInRange(o.reversedRegex,e,l,d,u);if(t)return this._toFoundBracket(s,t)}c=r}if(s&&o&&c&&d!==u){const t=dg.findPrevBracketInRange(o.reversedRegex,e,l,d,u);if(t)return this._toFoundBracket(s,t)}}return null}findNextBracket(e){var t;const n=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getFirstBracketAfter(n))||null;const i=this.textModel.getLineCount();let o=null,s=null,r=null;for(let e=n.lineNumber;e<=i;e++){const t=this.textModel.tokenization.getLineTokens(e),i=t.getCount(),l=this.textModel.getLineContent(e);let a=0,d=0,u=0;if(e===n.lineNumber){a=t.findTokenIndexAtOffset(n.column-1),d=n.column-1,u=n.column-1;const e=t.getLanguageId(a);o!==e&&(o=e,s=this.languageConfigurationService.getLanguageConfiguration(o).brackets,r=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew)}let c=!0;for(;avoid 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const i=vm(t),o=this.textModel.getLineCount(),s=new Map;let r=[];const l=(e,t)=>{if(!s.has(e)){const n=[];for(let e=0,i=t?t.brackets.length:0;e{for(;;){if(i&&++a%100==0&&!i())return bm.INSTANCE;const l=dg.findNextBracketInRange(e.forwardRegex,t,n,o,s);if(!l)break;const d=n.substring(l.startColumn-1,l.endColumn-1).toLowerCase(),u=e.textIsBracket[d];if(u&&(u.isOpen(d)?r[u.index]++:u.isClose(d)&&r[u.index]--,-1===r[u.index]))return this._matchFoundBracket(l,u,!1,i);o=l.endColumn-1}return null};let u=null,c=null;for(let e=n.lineNumber;e<=o;e++){const t=this.textModel.tokenization.getLineTokens(e),i=t.getCount(),o=this.textModel.getLineContent(e);let s=0,r=0,a=0;if(e===n.lineNumber){s=t.findTokenIndexAtOffset(n.column-1),r=n.column-1,a=n.column-1;const e=t.getLanguageId(s);u!==e&&(u=e,c=this.languageConfigurationService.getLanguageConfiguration(u).brackets,l(u,c))}let h=!0;for(;s!0;{const t=Date.now();return()=>Date.now()-t<=e}}class bm{constructor(){this._searchCanceledBrand=void 0}}function wm(e){return e instanceof bm?null:e}function Cm(e){return`--vscode-${e.replace(/\./g,"-")}`}function ym(e){return`var(${Cm(e)})`}bm.INSTANCE=new bm;const Sm="base.contributions.colors",xm=new class{constructor(){this._onDidChangeSchema=new Ct,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,n,i=!1,o){const s={id:e,description:n,defaults:t,needsTransparency:i,deprecationMessage:o};this.colorsById[e]=s;const r={type:"string",description:n,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return o&&(r.deprecationMessage=o),i&&(r.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",r.patternErrorMessage="This color must be transparent or it will obscure content"),this.colorSchema.properties[e]=r,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(n),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map((e=>this.colorsById[e]))}resolveDefaultColor(e,t){const n=this.colorsById[e];if(n&&n.defaults)return Mm(n.defaults[t.type],t)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const n=-1===e.indexOf(".")?0:1,i=-1===t.indexOf(".")?0:1;return n!==i?n-i:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function km(e,t,n,i,o){return xm.registerColor(e,t,n,i,o)}function Lm(e,t){return{op:0,value:e,factor:t}}function Dm(e,t){return{op:1,value:e,factor:t}}function Nm(e,t){return{op:2,value:e,factor:t}}function Em(...e){return{op:4,values:e}}function Im(e,t,n,i){return{op:5,value:e,background:t,factor:n,transparency:i}}function Mm(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?lh.fromHex(e):t.getColor(e):e instanceof lh?e:"object"==typeof e?function(e,t){var n,i,o,s;switch(e.op){case 0:return null===(n=Mm(e.value,t))||void 0===n?void 0:n.darken(e.factor);case 1:return null===(i=Mm(e.value,t))||void 0===i?void 0:i.lighten(e.factor);case 2:return null===(o=Mm(e.value,t))||void 0===o?void 0:o.transparent(e.factor);case 3:{const n=Mm(e.background,t);return n?null===(s=Mm(e.value,t))||void 0===s?void 0:s.makeOpaque(n):Mm(e.value,t)}case 4:for(const n of e.values){const e=Mm(n,t);if(e)return e}return;case 6:return Mm(t.defines(e.if)?e.then:e.else,t);case 5:{const n=Mm(e.value,t);if(!n)return;const i=Mm(e.background,t);return i?n.isDarkerThan(i)?lh.getLighterColor(n,i,e.factor).transparent(e.transparency):lh.getDarkerColor(n,i,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw hu()}}(e,t):void 0}fu.add(Sm,xm);const Tm="vscode://schemas/workbench-colors",Am=fu.as(kg);Am.registerSchema(Tm,xm.getColorSchema());const Rm=new jt((()=>Am.notifySchemaChanged(Tm)),200);xm.onDidChangeSchema((()=>{Rm.isScheduled()||Rm.schedule()}));const Pm=km("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},_(0,"Overall foreground color. This color is only used if not overridden by a component.")),Om=(km("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},_(0,"Overall foreground for disabled elements. This color is only used if not overridden by a component.")),km("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},_(0,"Overall foreground color for error messages. This color is only used if not overridden by a component.")),km("descriptionForeground",{light:"#717171",dark:Nm(Pm,.7),hcDark:Nm(Pm,.7),hcLight:Nm(Pm,.7)},_(0,"Foreground color for description text providing additional information, for example for a label.")),km("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},_(0,"The default color for icons in the workbench."))),Fm=km("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},_(0,"Overall border color for focused elements. This color is only used if not overridden by a component.")),Bm=km("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},_(0,"An extra border around elements to separate them from others for greater contrast.")),Wm=km("contrastActiveBorder",{light:null,dark:null,hcDark:Fm,hcLight:Fm},_(0,"An extra border around active elements to separate them from others for greater contrast.")),Vm=(km("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},_(0,"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.")),km("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},_(0,"Foreground color for links in text."))),Hm=(km("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},_(0,"Foreground color for links in text when clicked on and on mouse hover.")),km("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:lh.black,hcLight:"#292929"},_(0,"Color for text separators.")),km("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},_(0,"Foreground color for preformatted text segments.")),km("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},_(0,"Background color for preformatted text segments.")),km("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},_(0,"Background color for block quotes in text.")),km("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:lh.white,hcLight:"#292929"},_(0,"Border color for block quotes in text.")),km("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:lh.black,hcLight:"#F2F2F2"},_(0,"Background color for code blocks in text.")),km("sash.hoverBorder",{dark:Fm,light:Fm,hcDark:Fm,hcLight:Fm},_(0,"Border color of active sashes.")),km("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:lh.black,hcLight:"#0F4A85"},_(0,"Badge background color. Badges are small information labels, e.g. for search results count."))),zm=km("badge.foreground",{dark:lh.white,light:"#333",hcDark:lh.white,hcLight:lh.white},_(0,"Badge foreground color. Badges are small information labels, e.g. for search results count.")),Um=km("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},_(0,"Scrollbar shadow to indicate that the view is scrolled.")),Km=km("scrollbarSlider.background",{dark:lh.fromHex("#797979").transparent(.4),light:lh.fromHex("#646464").transparent(.4),hcDark:Nm(Bm,.6),hcLight:Nm(Bm,.4)},_(0,"Scrollbar slider background color.")),jm=km("scrollbarSlider.hoverBackground",{dark:lh.fromHex("#646464").transparent(.7),light:lh.fromHex("#646464").transparent(.7),hcDark:Nm(Bm,.8),hcLight:Nm(Bm,.8)},_(0,"Scrollbar slider background color when hovering.")),qm=km("scrollbarSlider.activeBackground",{dark:lh.fromHex("#BFBFBF").transparent(.4),light:lh.fromHex("#000000").transparent(.6),hcDark:Bm,hcLight:Bm},_(0,"Scrollbar slider background color when clicked on.")),$m=km("progressBar.background",{dark:lh.fromHex("#0E70C0"),light:lh.fromHex("#0E70C0"),hcDark:Bm,hcLight:Bm},_(0,"Background color of the progress bar that can show for long running operations.")),Gm=km("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:lh.black,hcLight:lh.white},_(0,"Editor background color.")),Zm=km("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:lh.white,hcLight:Pm},_(0,"Editor default foreground color.")),Ym=(km("editorStickyScroll.background",{light:Gm,dark:Gm,hcDark:Gm,hcLight:Gm},_(0,"Background color of sticky scroll in the editor")),km("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:lh.fromHex("#0F4A85").transparent(.1)},_(0,"Background color of sticky scroll on hover in the editor")),km("editorStickyScroll.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Border color of sticky scroll in the editor")),km("editorStickyScroll.shadow",{dark:Um,light:Um,hcDark:Um,hcLight:Um},_(0," Shadow color of sticky scroll in the editor")),km("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:lh.white},_(0,"Background color of editor widgets, such as find/replace."))),Xm=km("editorWidget.foreground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"Foreground color of editor widgets, such as find/replace.")),Qm=km("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:Bm,hcLight:Bm},_(0,"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.")),Jm=(km("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},_(0,"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),km("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),km("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},_(0,"Foreground color of error squigglies in the editor."))),ef=km("editorError.border",{dark:null,light:null,hcDark:lh.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},_(0,"If set, color of double underlines for errors in the editor.")),tf=km("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),nf=km("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},_(0,"Foreground color of warning squigglies in the editor.")),of=km("editorWarning.border",{dark:null,light:null,hcDark:lh.fromHex("#FFCC00").transparent(.8),hcLight:lh.fromHex("#FFCC00").transparent(.8)},_(0,"If set, color of double underlines for warnings in the editor.")),sf=(km("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),km("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},_(0,"Foreground color of info squigglies in the editor."))),rf=km("editorInfo.border",{dark:null,light:null,hcDark:lh.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},_(0,"If set, color of double underlines for infos in the editor.")),lf=km("editorHint.foreground",{dark:lh.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},_(0,"Foreground color of hint squigglies in the editor.")),af=(km("editorHint.border",{dark:null,light:null,hcDark:lh.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},_(0,"If set, color of double underlines for hints in the editor.")),km("editorLink.activeForeground",{dark:"#4E94CE",light:lh.blue,hcDark:lh.cyan,hcLight:"#292929"},_(0,"Color of active links."))),df=km("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},_(0,"Color of the editor selection.")),uf=km("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:lh.white},_(0,"Color of the selected text for high contrast.")),cf=km("editor.inactiveSelectionBackground",{light:Nm(df,.5),dark:Nm(df,.5),hcDark:Nm(df,.7),hcLight:Nm(df,.5)},_(0,"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),hf=km("editor.selectionHighlightBackground",{light:Im(df,Gm,.3,.6),dark:Im(df,Gm,.3,.6),hcDark:null,hcLight:null},_(0,"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),gf=(km("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color for regions with the same content as the selection.")),km("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},_(0,"Color of the current search match.")),km("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},_(0,"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0)),pf=(km("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},_(0,"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),km("editor.findMatchBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of the current search match.")),km("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of the other search matches."))),mf=km("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:Nm(Wm,.4),hcLight:Nm(Wm,.4)},_(0,"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),ff=(km("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},_(0,"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),km("editorHoverWidget.background",{light:Ym,dark:Ym,hcDark:Ym,hcLight:Ym},_(0,"Background color of the editor hover."))),_f=(km("editorHoverWidget.foreground",{light:Xm,dark:Xm,hcDark:Xm,hcLight:Xm},_(0,"Foreground color of the editor hover.")),km("editorHoverWidget.border",{light:Qm,dark:Qm,hcDark:Qm,hcLight:Qm},_(0,"Border color of the editor hover."))),vf=(km("editorHoverWidget.statusBarBackground",{dark:Dm(ff,.2),light:Lm(ff,.05),hcDark:Ym,hcLight:Ym},_(0,"Background color of the editor hover status bar.")),km("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:lh.white,hcLight:lh.black},_(0,"Foreground color of inline hints"))),bf=km("editorInlayHint.background",{dark:Nm(Hm,.1),light:Nm(Hm,.1),hcDark:Nm(lh.white,.1),hcLight:Nm(Hm,.1)},_(0,"Background color of inline hints")),wf=km("editorInlayHint.typeForeground",{dark:vf,light:vf,hcDark:vf,hcLight:vf},_(0,"Foreground color of inline hints for types")),Cf=km("editorInlayHint.typeBackground",{dark:bf,light:bf,hcDark:bf,hcLight:bf},_(0,"Background color of inline hints for types")),yf=km("editorInlayHint.parameterForeground",{dark:vf,light:vf,hcDark:vf,hcLight:vf},_(0,"Foreground color of inline hints for parameters")),Sf=km("editorInlayHint.parameterBackground",{dark:bf,light:bf,hcDark:bf,hcLight:bf},_(0,"Background color of inline hints for parameters")),xf=km("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},_(0,"The color used for the lightbulb actions icon.")),kf=(km("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The color used for the lightbulb auto fix actions icon.")),km("editorLightBulbAi.foreground",{dark:xf,light:xf,hcDark:xf,hcLight:xf},_(0,"The color used for the lightbulb AI icon.")),km("editor.snippetTabstopHighlightBackground",{dark:new lh(new oh(124,124,124,.3)),light:new lh(new oh(10,50,100,.2)),hcDark:new lh(new oh(124,124,124,.3)),hcLight:new lh(new oh(10,50,100,.2))},_(0,"Highlight background color of a snippet tabstop.")),km("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Highlight border color of a snippet tabstop.")),km("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Highlight background color of the final tabstop of a snippet.")),km("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new lh(new oh(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},_(0,"Highlight border color of the final tabstop of a snippet.")),new lh(new oh(155,185,85,.2))),Lf=new lh(new oh(255,0,0,.2)),Df=km("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},_(0,"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),Nf=km("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},_(0,"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),Ef=(km("diffEditor.insertedLineBackground",{dark:kf,light:kf,hcDark:null,hcLight:null},_(0,"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),km("diffEditor.removedLineBackground",{dark:Lf,light:Lf,hcDark:null,hcLight:null},_(0,"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),km("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color for the margin where lines got inserted.")),km("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color for the margin where lines got removed.")),km("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Diff overview ruler foreground for inserted content."))),If=km("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Diff overview ruler foreground for removed content.")),Mf=(km("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},_(0,"Outline color for the text that got inserted.")),km("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},_(0,"Outline color for text that got removed.")),km("diffEditor.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Border color between the two text editors.")),km("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},_(0,"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),km("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},_(0,"The background color of unchanged blocks in the diff editor.")),km("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},_(0,"The foreground color of unchanged blocks in the diff editor.")),km("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},_(0,"The background color of unchanged code in the diff editor.")),km("widget.shadow",{dark:Nm(lh.black,.36),light:Nm(lh.black,.16),hcDark:null,hcLight:null},_(0,"Shadow color of widgets such as find/replace inside the editor."))),Tf=km("widget.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Border color of widgets such as find/replace inside the editor.")),Af=km("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},_(0,"Toolbar background when hovering over actions using the mouse")),Rf=(km("toolbar.hoverOutline",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Toolbar outline when hovering over actions using the mouse")),km("toolbar.activeBackground",{dark:Dm(Af,.1),light:Lm(Af,.1),hcDark:null,hcLight:null},_(0,"Toolbar background when holding the mouse over actions")),km("breadcrumb.foreground",{light:Nm(Pm,.8),dark:Nm(Pm,.8),hcDark:Nm(Pm,.8),hcLight:Nm(Pm,.8)},_(0,"Color of focused breadcrumb items."))),Pf=km("breadcrumb.background",{light:Gm,dark:Gm,hcDark:Gm,hcLight:Gm},_(0,"Background color of breadcrumb items.")),Of=km("breadcrumb.focusForeground",{light:Lm(Pm,.2),dark:Dm(Pm,.1),hcDark:Dm(Pm,.1),hcLight:Dm(Pm,.1)},_(0,"Color of focused breadcrumb items.")),Ff=km("breadcrumb.activeSelectionForeground",{light:Lm(Pm,.2),dark:Dm(Pm,.1),hcDark:Dm(Pm,.1),hcLight:Dm(Pm,.1)},_(0,"Color of selected breadcrumb items.")),Bf=(km("breadcrumbPicker.background",{light:Ym,dark:Ym,hcDark:Ym,hcLight:Ym},_(0,"Background color of breadcrumb item picker.")),lh.fromHex("#40C8AE").transparent(.5)),Wf=lh.fromHex("#40A6FF").transparent(.5),Vf=lh.fromHex("#606060").transparent(.4),Hf=.4,zf=km("merge.currentHeaderBackground",{dark:Bf,light:Bf,hcDark:null,hcLight:null},_(0,"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),Uf=(km("merge.currentContentBackground",{dark:Nm(zf,Hf),light:Nm(zf,Hf),hcDark:Nm(zf,Hf),hcLight:Nm(zf,Hf)},_(0,"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),km("merge.incomingHeaderBackground",{dark:Wf,light:Wf,hcDark:null,hcLight:null},_(0,"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),Kf=(km("merge.incomingContentBackground",{dark:Nm(Uf,Hf),light:Nm(Uf,Hf),hcDark:Nm(Uf,Hf),hcLight:Nm(Uf,Hf)},_(0,"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),km("merge.commonHeaderBackground",{dark:Vf,light:Vf,hcDark:null,hcLight:null},_(0,"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),jf=(km("merge.commonContentBackground",{dark:Nm(Kf,Hf),light:Nm(Kf,Hf),hcDark:Nm(Kf,Hf),hcLight:Nm(Kf,Hf)},_(0,"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),km("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},_(0,"Border color on headers and the splitter in inline merge-conflicts."))),qf=(km("editorOverviewRuler.currentContentForeground",{dark:Nm(zf,1),light:Nm(zf,1),hcDark:jf,hcLight:jf},_(0,"Current overview ruler foreground for inline merge-conflicts.")),km("editorOverviewRuler.incomingContentForeground",{dark:Nm(Uf,1),light:Nm(Uf,1),hcDark:jf,hcLight:jf},_(0,"Incoming overview ruler foreground for inline merge-conflicts.")),km("editorOverviewRuler.commonContentForeground",{dark:Nm(Kf,1),light:Nm(Kf,1),hcDark:jf,hcLight:jf},_(0,"Common ancestor overview ruler foreground for inline merge-conflicts.")),km("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},_(0,"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0)),$f=km("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},_(0,"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Gf=km("problemsErrorIcon.foreground",{dark:Jm,light:Jm,hcDark:Jm,hcLight:Jm},_(0,"The color used for the problems error icon.")),Zf=km("problemsWarningIcon.foreground",{dark:nf,light:nf,hcDark:nf,hcLight:nf},_(0,"The color used for the problems warning icon.")),Yf=km("problemsInfoIcon.foreground",{dark:sf,light:sf,hcDark:sf,hcLight:sf},_(0,"The color used for the problems info icon.")),Xf=km("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},_(0,"Minimap marker color for find matches."),!0),Qf=km("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},_(0,"Minimap marker color for repeating editor selections."),!0),Jf=km("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},_(0,"Minimap marker color for the editor selection."),!0),e_=km("minimap.infoHighlight",{dark:sf,light:sf,hcDark:rf,hcLight:rf},_(0,"Minimap marker color for infos.")),t_=km("minimap.warningHighlight",{dark:nf,light:nf,hcDark:of,hcLight:of},_(0,"Minimap marker color for warnings.")),n_=km("minimap.errorHighlight",{dark:new lh(new oh(255,18,18,.7)),light:new lh(new oh(255,18,18,.7)),hcDark:new lh(new oh(255,50,50,1)),hcLight:"#B5200D"},_(0,"Minimap marker color for errors.")),i_=km("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Minimap background color.")),o_=km("minimap.foregroundOpacity",{dark:lh.fromHex("#000f"),light:lh.fromHex("#000f"),hcDark:lh.fromHex("#000f"),hcLight:lh.fromHex("#000f")},_(0,'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),s_=(km("minimapSlider.background",{light:Nm(Km,.5),dark:Nm(Km,.5),hcDark:Nm(Km,.5),hcLight:Nm(Km,.5)},_(0,"Minimap slider background color.")),km("minimapSlider.hoverBackground",{light:Nm(jm,.5),dark:Nm(jm,.5),hcDark:Nm(jm,.5),hcLight:Nm(jm,.5)},_(0,"Minimap slider background color when hovering.")),km("minimapSlider.activeBackground",{light:Nm(qm,.5),dark:Nm(qm,.5),hcDark:Nm(qm,.5),hcLight:Nm(qm,.5)},_(0,"Minimap slider background color when clicked on.")),km("charts.foreground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color used in charts.")),km("charts.lines",{dark:Nm(Pm,.5),light:Nm(Pm,.5),hcDark:Nm(Pm,.5),hcLight:Nm(Pm,.5)},_(0,"The color used for horizontal lines in charts.")),km("charts.red",{dark:Jm,light:Jm,hcDark:Jm,hcLight:Jm},_(0,"The red color used in chart visualizations.")),km("charts.blue",{dark:sf,light:sf,hcDark:sf,hcLight:sf},_(0,"The blue color used in chart visualizations.")),km("charts.yellow",{dark:nf,light:nf,hcDark:nf,hcLight:nf},_(0,"The yellow color used in chart visualizations.")),km("charts.orange",{dark:Xf,light:Xf,hcDark:Xf,hcLight:Xf},_(0,"The orange color used in chart visualizations.")),km("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},_(0,"The green color used in chart visualizations.")),km("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_(0,"The purple color used in chart visualizations.")),km("input.background",{dark:"#3C3C3C",light:lh.white,hcDark:lh.black,hcLight:lh.white},_(0,"Input box background."))),r_=km("input.foreground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"Input box foreground.")),l_=km("input.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Input box border.")),a_=km("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:Bm,hcLight:Bm},_(0,"Border color of activated options in input fields.")),d_=(km("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},_(0,"Background color of activated options in input fields.")),km("inputOption.activeBackground",{dark:Nm(Fm,.4),light:Nm(Fm,.2),hcDark:lh.transparent,hcLight:lh.transparent},_(0,"Background hover color of options in input fields."))),u_=km("inputOption.activeForeground",{dark:lh.white,light:lh.black,hcDark:Pm,hcLight:Pm},_(0,"Foreground color of activated options in input fields.")),c_=(km("input.placeholderForeground",{light:Nm(Pm,.5),dark:Nm(Pm,.5),hcDark:Nm(Pm,.7),hcLight:Nm(Pm,.7)},_(0,"Input box foreground color for placeholder text.")),km("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:lh.black,hcLight:lh.white},_(0,"Input validation background color for information severity."))),h_=km("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:Pm},_(0,"Input validation foreground color for information severity.")),g_=km("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:Bm,hcLight:Bm},_(0,"Input validation border color for information severity.")),p_=km("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:lh.black,hcLight:lh.white},_(0,"Input validation background color for warning severity.")),m_=km("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:Pm},_(0,"Input validation foreground color for warning severity.")),f_=km("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:Bm,hcLight:Bm},_(0,"Input validation border color for warning severity.")),__=km("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:lh.black,hcLight:lh.white},_(0,"Input validation background color for error severity.")),v_=km("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:Pm},_(0,"Input validation foreground color for error severity.")),b_=km("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:Bm,hcLight:Bm},_(0,"Input validation border color for error severity.")),w_=km("dropdown.background",{dark:"#3C3C3C",light:lh.white,hcDark:lh.black,hcLight:lh.white},_(0,"Dropdown background.")),C_=km("dropdown.listBackground",{dark:null,light:null,hcDark:lh.black,hcLight:lh.white},_(0,"Dropdown list background.")),y_=km("dropdown.foreground",{dark:"#F0F0F0",light:Pm,hcDark:lh.white,hcLight:Pm},_(0,"Dropdown foreground.")),S_=km("dropdown.border",{dark:w_,light:"#CECECE",hcDark:Bm,hcLight:Bm},_(0,"Dropdown border.")),x_=km("button.foreground",{dark:lh.white,light:lh.white,hcDark:lh.white,hcLight:lh.white},_(0,"Button foreground color.")),k_=km("button.separator",{dark:Nm(x_,.4),light:Nm(x_,.4),hcDark:Nm(x_,.4),hcLight:Nm(x_,.4)},_(0,"Button separator color.")),L_=km("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},_(0,"Button background color.")),D_=km("button.hoverBackground",{dark:Dm(L_,.2),light:Lm(L_,.2),hcDark:L_,hcLight:L_},_(0,"Button background color when hovering.")),N_=km("button.border",{dark:Bm,light:Bm,hcDark:Bm,hcLight:Bm},_(0,"Button border color.")),E_=km("button.secondaryForeground",{dark:lh.white,light:lh.white,hcDark:lh.white,hcLight:Pm},_(0,"Secondary button foreground color.")),I_=km("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:lh.white},_(0,"Secondary button background color.")),M_=km("button.secondaryHoverBackground",{dark:Dm(I_,.2),light:Lm(I_,.2),hcDark:null,hcLight:null},_(0,"Secondary button background color when hovering.")),T_=km("checkbox.background",{dark:w_,light:w_,hcDark:w_,hcLight:w_},_(0,"Background color of checkbox widget.")),A_=(km("checkbox.selectBackground",{dark:Ym,light:Ym,hcDark:Ym,hcLight:Ym},_(0,"Background color of checkbox widget when the element it's in is selected.")),km("checkbox.foreground",{dark:y_,light:y_,hcDark:y_,hcLight:y_},_(0,"Foreground color of checkbox widget."))),R_=km("checkbox.border",{dark:S_,light:S_,hcDark:S_,hcLight:S_},_(0,"Border color of checkbox widget.")),P_=(km("checkbox.selectBorder",{dark:Om,light:Om,hcDark:Om,hcLight:Om},_(0,"Border color of checkbox widget when the element it's in is selected.")),km("keybindingLabel.background",{dark:new lh(new oh(128,128,128,.17)),light:new lh(new oh(221,221,221,.4)),hcDark:lh.transparent,hcLight:lh.transparent},_(0,"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut."))),O_=km("keybindingLabel.foreground",{dark:lh.fromHex("#CCCCCC"),light:lh.fromHex("#555555"),hcDark:lh.white,hcLight:Pm},_(0,"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),F_=km("keybindingLabel.border",{dark:new lh(new oh(51,51,51,.6)),light:new lh(new oh(204,204,204,.4)),hcDark:new lh(new oh(111,195,223)),hcLight:Bm},_(0,"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),B_=km("keybindingLabel.bottomBorder",{dark:new lh(new oh(68,68,68,.6)),light:new lh(new oh(187,187,187,.4)),hcDark:new lh(new oh(111,195,223)),hcLight:Pm},_(0,"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),W_=km("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),V_=km("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),H_=km("list.focusOutline",{dark:Fm,light:Fm,hcDark:Wm,hcLight:Wm},_(0,"List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),z_=km("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),U_=km("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:lh.fromHex("#0F4A85").transparent(.1)},_(0,"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),K_=km("list.activeSelectionForeground",{dark:lh.white,light:lh.white,hcDark:null,hcLight:null},_(0,"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),j_=km("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),q_=km("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:lh.fromHex("#0F4A85").transparent(.1)},_(0,"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),$_=km("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),G_=km("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Z_=km("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Y_=km("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),X_=km("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:lh.white.transparent(.1),hcLight:lh.fromHex("#0F4A85").transparent(.1)},_(0,"List/Tree background when hovering over items using the mouse.")),Q_=km("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree foreground when hovering over items using the mouse.")),J_=km("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},_(0,"List/Tree drag and drop background when moving items over other items when using the mouse.")),ev=km("list.dropBetweenBackground",{dark:Om,light:Om,hcDark:null,hcLight:null},_(0,"List/Tree drag and drop border color when moving items between items when using the mouse.")),tv=km("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:Fm,hcLight:Fm},_(0,"List/Tree foreground color of the match highlights when searching inside the list/tree.")),nv=km("list.focusHighlightForeground",{dark:tv,light:(iv=U_,ov=tv,"#BBE7FF",{op:6,if:iv,then:ov,else:"#BBE7FF"}),hcDark:tv,hcLight:tv},_(0,"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var iv,ov;km("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},_(0,"List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),km("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},_(0,"Foreground color of list items containing errors.")),km("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},_(0,"Foreground color of list items containing warnings."));const sv=km("listFilterWidget.background",{light:Lm(Ym,0),dark:Dm(Ym,0),hcDark:Ym,hcLight:Ym},_(0,"Background color of the type filter widget in lists and trees.")),rv=km("listFilterWidget.outline",{dark:lh.transparent,light:lh.transparent,hcDark:"#f38518",hcLight:"#007ACC"},_(0,"Outline color of the type filter widget in lists and trees.")),lv=km("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:Bm,hcLight:Bm},_(0,"Outline color of the type filter widget in lists and trees, when there are no matches.")),av=km("listFilterWidget.shadow",{dark:Mf,light:Mf,hcDark:Mf,hcLight:Mf},_(0,"Shadow color of the type filter widget in lists and trees.")),dv=(km("list.filterMatchBackground",{dark:gf,light:gf,hcDark:null,hcLight:null},_(0,"Background color of the filtered match.")),km("list.filterMatchBorder",{dark:pf,light:pf,hcDark:Bm,hcLight:Wm},_(0,"Border color of the filtered match.")),km("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},_(0,"List/Tree foreground color for items that are deemphasized.")),km("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},_(0,"Tree stroke color for the indentation guides."))),uv=km("tree.inactiveIndentGuidesStroke",{dark:Nm(dv,.4),light:Nm(dv,.4),hcDark:Nm(dv,.4),hcLight:Nm(dv,.4)},_(0,"Tree stroke color for the indentation guides that are not active.")),cv=km("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},_(0,"Table border color between columns.")),hv=km("tree.tableOddRowsBackground",{dark:Nm(Pm,.04),light:Nm(Pm,.04),hcDark:null,hcLight:null},_(0,"Background color for odd table rows.")),gv=km("menu.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Border color of menus.")),pv=km("menu.foreground",{dark:y_,light:y_,hcDark:y_,hcLight:y_},_(0,"Foreground color of menu items.")),mv=km("menu.background",{dark:w_,light:w_,hcDark:w_,hcLight:w_},_(0,"Background color of menu items.")),fv=km("menu.selectionForeground",{dark:K_,light:K_,hcDark:K_,hcLight:K_},_(0,"Foreground color of the selected menu item in menus.")),_v=km("menu.selectionBackground",{dark:U_,light:U_,hcDark:U_,hcLight:U_},_(0,"Background color of the selected menu item in menus.")),vv=km("menu.selectionBorder",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of the selected menu item in menus.")),bv=km("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:Bm,hcLight:Bm},_(0,"Color of a separator menu item in menus.")),wv=km("quickInput.background",{dark:Ym,light:Ym,hcDark:Ym,hcLight:Ym},_(0,"Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),Cv=km("quickInput.foreground",{dark:Xm,light:Xm,hcDark:Xm,hcLight:Xm},_(0,"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),yv=km("quickInputTitle.background",{dark:new lh(new oh(255,255,255,.105)),light:new lh(new oh(0,0,0,.06)),hcDark:"#000000",hcLight:lh.white},_(0,"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),Sv=km("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:lh.white,hcLight:"#0F4A85"},_(0,"Quick picker color for grouping labels.")),xv=km("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:lh.white,hcLight:"#0F4A85"},_(0,"Quick picker color for grouping borders.")),kv=km("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,_(0,"Please use quickInputList.focusBackground instead")),Lv=km("quickInputList.focusForeground",{dark:K_,light:K_,hcDark:K_,hcLight:K_},_(0,"Quick picker foreground color for the focused item.")),Dv=km("quickInputList.focusIconForeground",{dark:j_,light:j_,hcDark:j_,hcLight:j_},_(0,"Quick picker icon foreground color for the focused item.")),Nv=km("quickInputList.focusBackground",{dark:Em(kv,U_),light:Em(kv,U_),hcDark:null,hcLight:null},_(0,"Quick picker background color for the focused item."));var Ev;function Iv(e){return e===Ev.HIGH_CONTRAST_DARK||e===Ev.HIGH_CONTRAST_LIGHT}function Mv(e){return e===Ev.DARK||e===Ev.HIGH_CONTRAST_DARK}km("search.resultsInfoForeground",{light:Pm,dark:Nm(Pm,.65),hcDark:Pm,hcLight:Pm},_(0,"Color of the text in the search viewlet's completion message.")),km("searchEditor.findMatchBackground",{light:Nm(gf,.66),dark:Nm(gf,.66),hcDark:gf,hcLight:gf},_(0,"Color of the Search Editor query matches.")),km("searchEditor.findMatchBorder",{light:Nm(pf,.66),dark:Nm(pf,.66),hcDark:pf,hcLight:pf},_(0,"Border color of the Search Editor query matches.")),function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(Ev||(Ev={}));const Tv=dd("themeService");function Av(e){return{id:e}}function Rv(e){switch(e){case Ev.DARK:return"vs-dark";case Ev.HIGH_CONTRAST_DARK:return"hc-black";case Ev.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const Pv="base.contributions.theming",Ov=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new Ct}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),st((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function Fv(e){return Ov.onColorThemeChange(e)}fu.add(Pv,Ov);class Bv extends lt{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((e=>this.onThemeChange(e))))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}const Wv=km("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color for the highlight of line at the cursor position.")),Vv=km("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:Bm},_(0,"Background color for the border around the line at the cursor position.")),Hv=(km("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},_(0,"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),km("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Background color of the border around highlighted ranges."),!0),km("editor.symbolHighlightBackground",{dark:gf,light:gf,hcDark:null,hcLight:null},_(0,"Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),km("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Background color of the border around highlighted symbols."),!0),km("editorCursor.foreground",{dark:"#AEAFAD",light:lh.black,hcDark:lh.white,hcLight:"#0F4A85"},_(0,"Color of the editor cursor."))),zv=km("editorCursor.background",null,_(0,"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),Uv=km("editorMultiCursor.primary.foreground",{dark:Hv,light:Hv,hcDark:Hv,hcLight:Hv},_(0,"Color of the primary editor cursor when multiple cursors are present.")),Kv=km("editorMultiCursor.primary.background",{dark:zv,light:zv,hcDark:zv,hcLight:zv},_(0,"The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),jv=km("editorMultiCursor.secondary.foreground",{dark:Hv,light:Hv,hcDark:Hv,hcLight:Hv},_(0,"Color of secondary editor cursors when multiple cursors are present.")),qv=km("editorMultiCursor.secondary.background",{dark:zv,light:zv,hcDark:zv,hcLight:zv},_(0,"The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),$v=km("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},_(0,"Color of whitespace characters in the editor.")),Gv=km("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:lh.white,hcLight:"#292929"},_(0,"Color of editor line numbers.")),Zv=km("editorIndentGuide.background",{dark:$v,light:$v,hcDark:$v,hcLight:$v},_(0,"Color of the editor indentation guides."),!1,_(0,"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),Yv=km("editorIndentGuide.activeBackground",{dark:$v,light:$v,hcDark:$v,hcLight:$v},_(0,"Color of the active editor indentation guides."),!1,_(0,"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),Xv=km("editorIndentGuide.background1",{dark:Zv,light:Zv,hcDark:Zv,hcLight:Zv},_(0,"Color of the editor indentation guides (1).")),Qv=km("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (2).")),Jv=km("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (3).")),eb=km("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (4).")),tb=km("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (5).")),nb=km("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (6).")),ib=km("editorIndentGuide.activeBackground1",{dark:Yv,light:Yv,hcDark:Yv,hcLight:Yv},_(0,"Color of the active editor indentation guides (1).")),ob=km("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (2).")),sb=km("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (3).")),rb=km("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (4).")),lb=km("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (5).")),ab=km("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (6).")),db=km("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:Wm,hcLight:Wm},_(0,"Color of editor active line number"),!1,_(0,"Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),ub=(km("editorLineNumber.activeForeground",{dark:db,light:db,hcDark:db,hcLight:db},_(0,"Color of editor active line number")),km("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Color of the final editor line when editor.renderFinalNewline is set to dimmed."))),cb=(km("editorRuler.foreground",{dark:"#5A5A5A",light:lh.lightgrey,hcDark:lh.white,hcLight:"#292929"},_(0,"Color of the editor rulers.")),km("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},_(0,"Foreground color of editor CodeLens")),km("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},_(0,"Background color behind matching brackets")),km("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:Bm,hcLight:Bm},_(0,"Color for matching brackets boxes")),km("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},_(0,"Color of the overview ruler border."))),hb=km("editorOverviewRuler.background",null,_(0,"Background color of the editor overview ruler.")),gb=(km("editorGutter.background",{dark:Gm,light:Gm,hcDark:Gm,hcLight:Gm},_(0,"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),km("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:lh.fromHex("#fff").transparent(.8),hcLight:Bm},_(0,"Border color of unnecessary (unused) source code in the editor.")),km("editorUnnecessaryCode.opacity",{dark:lh.fromHex("#000a"),light:lh.fromHex("#0007"),hcDark:null,hcLight:null},_(0,"Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."))),pb=(km("editorGhostText.border",{dark:null,light:null,hcDark:lh.fromHex("#fff").transparent(.8),hcLight:lh.fromHex("#292929").transparent(.8)},_(0,"Border color of ghost text in the editor.")),km("editorGhostText.foreground",{dark:lh.fromHex("#ffffff56"),light:lh.fromHex("#0007"),hcDark:null,hcLight:null},_(0,"Foreground color of the ghost text in the editor.")),km("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color of the ghost text in the editor.")),new lh(new oh(0,122,204,.6))),mb=km("editorOverviewRuler.rangeHighlightForeground",{dark:pb,light:pb,hcDark:pb,hcLight:pb},_(0,"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),fb=km("editorOverviewRuler.errorForeground",{dark:new lh(new oh(255,18,18,.7)),light:new lh(new oh(255,18,18,.7)),hcDark:new lh(new oh(255,50,50,1)),hcLight:"#B5200D"},_(0,"Overview ruler marker color for errors.")),_b=km("editorOverviewRuler.warningForeground",{dark:nf,light:nf,hcDark:of,hcLight:of},_(0,"Overview ruler marker color for warnings.")),vb=km("editorOverviewRuler.infoForeground",{dark:sf,light:sf,hcDark:rf,hcLight:rf},_(0,"Overview ruler marker color for infos.")),bb=km("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},_(0,"Foreground color of brackets (1). Requires enabling bracket pair colorization.")),wb=km("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},_(0,"Foreground color of brackets (2). Requires enabling bracket pair colorization.")),Cb=km("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},_(0,"Foreground color of brackets (3). Requires enabling bracket pair colorization.")),yb=km("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Sb=km("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Foreground color of brackets (5). Requires enabling bracket pair colorization.")),xb=km("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Foreground color of brackets (6). Requires enabling bracket pair colorization.")),kb=km("editorBracketHighlight.unexpectedBracket.foreground",{dark:new lh(new oh(255,18,18,.8)),light:new lh(new oh(255,18,18,.8)),hcDark:new lh(new oh(255,50,50,1)),hcLight:""},_(0,"Foreground color of unexpected brackets.")),Lb=km("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Db=km("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Nb=km("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Eb=km("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Ib=km("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),Mb=km("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),Tb=km("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Ab=km("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),Rb=km("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),Pb=km("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),Ob=km("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),Fb=km("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));km("editorUnicodeHighlight.border",{dark:nf,light:nf,hcDark:nf,hcLight:nf},_(0,"Border color used to highlight unicode characters.")),km("editorUnicodeHighlight.background",{dark:tf,light:tf,hcDark:tf,hcLight:tf},_(0,"Background color used to highlight unicode characters.")),Fv(((e,t)=>{const n=e.getColor(Gm),i=e.getColor(Wv),o=i&&!i.isTransparent()?i:n;o&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${o}; }`)}));class Bb extends lt{constructor(e){super(),this.textModel=e,this.colorProvider=new Wb,this.onDidChangeEmitter=new Ct,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,n,i){return i||void 0===t?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray():[]}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new nc(1,1,this.textModel.getLineCount(),1),e,t):[]}}class Wb{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}function Vb(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}Fv(((e,t)=>{const n=[bb,wb,Cb,yb,Sb,xb],i=new Wb;t.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${e.getColor(kb)}; }`);const o=n.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let e=0;e<30;e++){const n=o[e%o.length];t.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(e)} { color: ${n}; }`)}}));class Hb{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,i){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=i}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${Vb(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${Vb(this.oldText)}")`:`(replace@${this.oldPosition} "${Vb(this.oldText)}" with "${Vb(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,n){const i=t.length;jh(e,i,n),n+=4;for(let o=0;o0&&(65279===i[0]||65534===i[0])?function(e,t,n){const i=[];let o=0;for(let s=0;s0&&(this.changes=(r=t,null===(s=this.changes)||0===s.length?r:new zb(s,r).compress())),this.afterEOL=n,this.afterVersionId=i,this.afterCursorState=o}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,n){if(jh(e,t?t.length:0,n),n+=4,t)for(const i of t)jh(e,i.selectionStartLineNumber,n),n+=4,jh(e,i.selectionStartColumn,n),n+=4,jh(e,i.positionLineNumber,n),n+=4,jh(e,i.positionColumn,n),n+=4;return n}static _readSelections(e,t,n){const i=Kh(e,t);t+=4;for(let o=0;oe.toString())).join(", ")}matchesResource(e){return(Io.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof Kb}append(e,t,n,i,o){this._data instanceof Kb&&this._data.append(e,t,n,i,o)}close(){this._data instanceof Kb&&(this._data=this._data.serialize())}open(){this._data instanceof Kb||(this._data=Kb.deserialize(this._data))}undo(){if(Io.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Kb&&(this._data=this._data.serialize());const e=Kb.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(Io.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Kb&&(this._data=this._data.serialize());const e=Kb.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof Kb&&(this._data=this._data.serialize()),this._data.byteLength+168}}class qb{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,n){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const e of this._editStackElementsArr){const t=Ub(e.resource);this._editStackElementsMap.set(t,e)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=Ub(e);return this._editStackElementsMap.has(t)}setModel(e){const t=Ub(Io.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=Ub(e.uri);return!!this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).canAppend(e)}append(e,t,n,i,o){const s=Ub(e.uri);this._editStackElementsMap.get(s).append(e,t,n,i,o)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=Ub(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${Ka(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function $b(e){return"\n"===e.getEOL()?0:1}function Gb(e){return!!e&&(e instanceof jb||e instanceof qb)}class Zb{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Gb(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Gb(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const n=this._undoRedoService.getLastElement(this._model.uri);if(Gb(n)&&n.canAppend(this._model))return n;const i=new jb(_(0,"Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(i,t),i}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],$b(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,n,i){const o=this._getOrCreateEditStackElement(e,i),s=this._model.applyEdits(t,!0),r=Zb._computeCursorState(n,s),l=s.map(((e,t)=>({index:t,textChange:e.textChange})));return l.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),o.append(this._model,l.map((e=>e.textChange)),$b(this._model),this._model.getAlternativeVersionId(),r),r}static _computeCursorState(e,t){try{return e?e(t):null}catch(e){return xe(e),null}}}class Yb extends lt{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function Xb(e,t){let n=0,i=0;const o=e.length;for(;ii)throw new Re("Illegal value for lineNumber");const o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(o&&o.offSide);let r=-2,l=-1,a=-2,d=-1;const u=e=>{if(-1!==r&&(-2===r||r>e-1)){r=-1,l=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){r=t,l=e;break}}}if(-2===a){a=-1,d=-1;for(let t=e;t=0){a=t,d=e;break}}}};let c=-2,h=-1,g=-2,p=-1;const m=e=>{if(-2===c){c=-1,h=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){c=t,h=e;break}}}if(-1!==g&&(-2===g||g=0){g=t,p=e;break}}}};let f=0,_=!0,v=0,b=!0,w=0,C=0;for(let o=0;_||b;o++){const r=e-o,g=e+o;o>1&&(r<1||r1&&(g>i||g>n)&&(b=!1),o>5e4&&(_=!1,b=!1);let y=-1;if(_&&r>=1){const e=this._computeIndentLevel(r-1);e>=0?(a=r-1,d=e,y=Math.ceil(e/this.textModel.getOptions().indentSize)):(u(r),y=this._getIndentLevelForWhitespaceLine(s,l,d))}let S=-1;if(b&&g<=i){const e=this._computeIndentLevel(g-1);e>=0?(c=g-1,h=e,S=Math.ceil(e/this.textModel.getOptions().indentSize)):(m(g),S=this._getIndentLevelForWhitespaceLine(s,h,p))}if(0!==o){if(1===o){if(g<=i&&S>=0&&C+1===S){_=!1,f=g,v=g,w=S;continue}if(r>=1&&y>=0&&y-1===C){b=!1,f=r,v=r,w=y;continue}if(f=e,v=e,w=C,0===w)return{startLineNumber:f,endLineNumber:v,indent:w}}_&&(y>=w?f=r:_=!1),b&&(S>=w?v=g:b=!1)}else C=y}return{startLineNumber:f,endLineNumber:v,indent:w}}getLinesBracketGuides(e,t,n,i){var o;const s=[];for(let n=e;n<=t;n++)s.push([]);const r=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new nc(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let l;n&&r.length>0&&(l=null===(o=gh((e<=n.lineNumber&&n.lineNumber<=t?r:this.textModel.bracketPairs.getBracketPairsInRange(nc.fromPositions(n)).toArray()).filter((e=>nc.strictContainsPosition(e.range,n))),(e=>true)))||void 0===o?void 0:o.range);const a=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,d=new nw;for(const n of r){if(!n.closingBracketRange)continue;const o=l&&n.range.equalsRange(l);if(!o&&!i.includeInactive)continue;const r=d.getInlineClassName(n.nestingLevel,n.nestingLevelOfEqualBracketType,a)+(i.highlightActive&&o?" "+d.activeClassName:""),u=n.openingBracketRange.getStartPosition(),c=n.closingBracketRange.getStartPosition(),h=i.horizontalGuides===Qb.Enabled||i.horizontalGuides===Qb.EnabledForActive&&o;if(n.range.startLineNumber===n.range.endLineNumber){h&&s[n.range.startLineNumber-e].push(new Jb(-1,n.openingBracketRange.getEndPosition().column,r,new ew(!1,c.column),-1,-1));continue}const g=this.getVisibleColumnFromPosition(c),p=this.getVisibleColumnFromPosition(n.openingBracketRange.getStartPosition()),m=Math.min(p,g,n.minVisibleColumnIndentation+1);let f=!1;hi(this.textModel.getLineContent(n.closingBracketRange.startLineNumber))=e&&p>m&&s[u.lineNumber-e].push(new Jb(m,-1,r,new ew(!1,u.column),-1,-1)),c.lineNumber<=t&&g>m&&s[c.lineNumber-e].push(new Jb(m,-1,r,new ew(!f,c.column),-1,-1)))}for(const e of s)e.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return s}getVisibleColumnFromPosition(e){return dh.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");const i=this.textModel.getOptions(),o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(o&&o.offSide),r=new Array(t-e+1);let l=-2,a=-1,d=-2,u=-1;for(let o=e;o<=t;o++){const t=o-e,c=this._computeIndentLevel(o-1);if(c>=0)l=o-1,a=c,r[t]=Math.ceil(c/i.indentSize);else{if(-2===l){l=-1,a=-1;for(let e=o-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){l=e,a=t;break}}}if(-1!==d&&(-2===d||d=0){d=e,u=t;break}}}r[t]=this._getIndentLevelForWhitespaceLine(s,a,u)}}return r}_getIndentLevelForWhitespaceLine(e,t,n){const i=this.textModel.getOptions();return-1===t||-1===n?0:t0&&l>0)return;if(a>0&&d>0)return;const u=Math.abs(l-d),c=Math.abs(r-a);if(0===u)return o.spacesDiff=c,void(c>0&&0<=a-1&&a-10?o++:m>1&&s++,ow(r,l,c,p,u),u.looksLikeAlignment&&(!n||t!==u.spacesDiff))continue;const _=u.spacesDiff;_<=8&&d[_]++,r=c,l=p}let c=n;o!==s&&(c=o{const n=d[t];n>e&&(e=n,h=t)})),4===h&&d[4]>0&&d[2]>0&&d[2]>=d[4]/2&&(h=2)}return{insertSpaces:c,tabSize:h}}function rw(e){return(1&e.metadata)>>>0}function lw(e,t){e.metadata=254&e.metadata|t}function aw(e){return(2&e.metadata)>>>1==1}function dw(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function uw(e){return(4&e.metadata)>>>2==1}function cw(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function hw(e){return(64&e.metadata)>>>6==1}function gw(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function pw(e,t){e.metadata=231&e.metadata|t<<3}function mw(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class fw{constructor(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,lw(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,cw(this,!1),gw(this,!1),pw(this,1),mw(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,dw(this,!1)}reset(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i}setOptions(e){this.options=e;const t=this.options.className;cw(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),gw(this,null!==this.options.glyphMarginClassName),pw(this,this.options.stickiness),mw(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const _w=new fw(null,0,0);_w.parent=_w,_w.left=_w,_w.right=_w,lw(_w,0);class vw{constructor(){this.root=_w,this.requestNormalizeDelta=!1}intervalSearch(e,t,n,i,o,s){return this.root===_w?[]:function(e,t,n,i,o,s,r){let l=e.root,a=0,d=0,u=0,c=0;const h=[];let g=0;for(;l!==_w;)if(aw(l))dw(l.left,!1),dw(l.right,!1),l===l.parent.right&&(a-=l.parent.delta),l=l.parent;else{if(!aw(l.left)){if(d=a+l.maxEnd,dn)dw(l,!0);else{if(c=a+l.end,c>=t){l.setCachedOffsets(u,c,s);let e=!0;i&&l.ownerId&&l.ownerId!==i&&(e=!1),o&&uw(l)&&(e=!1),r&&!hw(l)&&(e=!1),e&&(h[g++]=l)}dw(l,!0),l.right===_w||aw(l.right)||(a+=l.delta,l=l.right)}}return dw(e.root,!1),h}(this,e,t,n,i,o,s)}search(e,t,n,i){return this.root===_w?[]:function(e,t,n,i,o){let s=e.root,r=0,l=0,a=0;const d=[];let u=0;for(;s!==_w;){if(aw(s)){dw(s.left,!1),dw(s.right,!1),s===s.parent.right&&(r-=s.parent.delta),s=s.parent;continue}if(s.left!==_w&&!aw(s.left)){s=s.left;continue}l=r+s.start,a=r+s.end,s.setCachedOffsets(l,a,i);let e=!0;t&&s.ownerId&&s.ownerId!==t&&(e=!1),n&&uw(s)&&(e=!1),o&&!hw(s)&&(e=!1),e&&(d[u++]=s),dw(s,!0),s.right===_w||aw(s.right)||(r+=s.delta,s=s.right)}return dw(e.root,!1),d}(this,e,t,n,i)}collectNodesFromOwner(e){return function(e,t){let n=e.root;const i=[];let o=0;for(;n!==_w;)aw(n)?(dw(n.left,!1),dw(n.right,!1),n=n.parent):n.left===_w||aw(n.left)?(n.ownerId===t&&(i[o++]=n),dw(n,!0),n.right===_w||aw(n.right)||(n=n.right)):n=n.left;return dw(e.root,!1),i}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const n=[];let i=0;for(;t!==_w;)aw(t)?(dw(t.left,!1),dw(t.right,!1),t=t.parent):t.left===_w||aw(t.left)?t.right===_w||aw(t.right)?(n[i++]=t,dw(t,!0)):t=t.right:t=t.left;return dw(e.root,!1),n}(this)}insert(e){Cw(this,e),this._normalizeDeltaIfNecessary()}delete(e){yw(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const n=e;let i=0;for(;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;const o=n.start+i,s=n.end+i;n.setCachedOffsets(o,s,t)}acceptReplace(e,t,n,i){const o=function(e,t,n){let i=e.root,o=0,s=0,r=0,l=0;const a=[];let d=0;for(;i!==_w;)if(aw(i))dw(i.left,!1),dw(i.right,!1),i===i.parent.right&&(o-=i.parent.delta),i=i.parent;else{if(!aw(i.left)){if(s=o+i.maxEnd,sn?dw(i,!0):(l=o+i.end,l>=t&&(i.setCachedOffsets(r,l,0),a[d++]=i),dw(i,!0),i.right===_w||aw(i.right)||(o+=i.delta,i=i.right))}return dw(e.root,!1),a}(this,e,e+t);for(let e=0,t=o.length;en?(o.start+=a,o.end+=a,o.delta+=a,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),dw(o,!0)):(dw(o,!0),o.right===_w||aw(o.right)||(s+=o.delta,o=o.right))}dw(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(let s=0,r=o.length;sn)&&1!==i&&(2===i||t)}function ww(e,t,n,i,o){const s=function(e){return(24&e.metadata)>>>3}(e),r=0===s||2===s,l=1===s||2===s,a=n-t,d=i,u=Math.min(a,d),c=e.start;let h=!1;const g=e.end;let p=!1;t<=c&&g<=n&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,h=!0,e.end=t,p=!0);{const e=o?1:a>0?2:0;!h&&bw(c,r,t,e)&&(h=!0),!p&&bw(g,l,t,e)&&(p=!0)}if(u>0&&!o){const e=a>d?2:0;!h&&bw(c,r,t+u,e)&&(h=!0),!p&&bw(g,l,t+u,e)&&(p=!0)}{const i=o?1:0;!h&&bw(c,r,n,i)&&(e.start=t+d,h=!0),!p&&bw(g,l,n,i)&&(e.end=t+d,p=!0)}const m=d-a;h||(e.start=Math.max(0,c+m)),p||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function Cw(e,t){if(e.root===_w)return t.parent=_w,t.left=_w,t.right=_w,lw(t,0),e.root=t,e.root;!function(e,t){let n=0,i=e.root;const o=t.start,s=t.end;for(;;)if(r=o,l=s,a=i.start+n,d=i.end+n,(r===a?l-d:r-a)<0){if(i.left===_w){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===_w){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}var r,l,a,d;t.parent=i,t.left=_w,t.right=_w,lw(t,1)}(e,t),Nw(t.parent);let n=t;for(;n!==e.root&&1===rw(n.parent);)if(n.parent===n.parent.parent.left){const t=n.parent.parent.right;1===rw(t)?(lw(n.parent,0),lw(t,0),lw(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&(n=n.parent,xw(e,n)),lw(n.parent,0),lw(n.parent.parent,1),kw(e,n.parent.parent))}else{const t=n.parent.parent.left;1===rw(t)?(lw(n.parent,0),lw(t,0),lw(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&(n=n.parent,kw(e,n)),lw(n.parent,0),lw(n.parent.parent,1),xw(e,n.parent.parent))}return lw(e.root,0),t}function yw(e,t){let n,i;if(t.left===_w?(n=t.right,i=t,n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===_w?(n=t.left,i=t):(i=function(e){for(;e.left!==_w;)e=e.left;return e}(t.right),n=i.right,n.start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,lw(n,0),t.detach(),Sw(),Dw(n),void(e.root.parent=_w);const o=1===rw(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,lw(i,rw(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==_w&&(i.left.parent=i),i.right!==_w&&(i.right.parent=i)),t.detach(),o)return Nw(n.parent),i!==t&&(Nw(i),Nw(i.parent)),void Sw();let s;for(Nw(n),Nw(n.parent),i!==t&&(Nw(i),Nw(i.parent));n!==e.root&&0===rw(n);)n===n.parent.left?(s=n.parent.right,1===rw(s)&&(lw(s,0),lw(n.parent,1),xw(e,n.parent),s=n.parent.right),0===rw(s.left)&&0===rw(s.right)?(lw(s,1),n=n.parent):(0===rw(s.right)&&(lw(s.left,0),lw(s,1),kw(e,s),s=n.parent.right),lw(s,rw(n.parent)),lw(n.parent,0),lw(s.right,0),xw(e,n.parent),n=e.root)):(s=n.parent.left,1===rw(s)&&(lw(s,0),lw(n.parent,1),kw(e,n.parent),s=n.parent.left),0===rw(s.left)&&0===rw(s.right)?(lw(s,1),n=n.parent):(0===rw(s.left)&&(lw(s.right,0),lw(s,1),xw(e,s),s=n.parent.left),lw(s,rw(n.parent)),lw(n.parent,0),lw(s.left,0),kw(e,n.parent),n=e.root));lw(n,0),Sw()}function Sw(){_w.parent=_w,_w.delta=0,_w.start=0,_w.end=0}function xw(e,t){const n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==_w&&(n.left.parent=t),n.parent=t.parent,t.parent===_w?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,Dw(t),Dw(n)}function kw(e,t){const n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==_w&&(n.right.parent=t),n.parent=t.parent,t.parent===_w?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,Dw(t),Dw(n)}function Lw(e){let t=e.end;if(e.left!==_w){const n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==_w){const n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function Dw(e){e.maxEnd=Lw(e)}function Nw(e){for(;e!==_w;){const t=Lw(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}class Ew{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==Iw)return Mw(this.right);let e=this;for(;e.parent!==Iw&&e.parent.left!==e;)e=e.parent;return e.parent===Iw?Iw:e.parent}prev(){if(this.left!==Iw)return Tw(this.left);let e=this;for(;e.parent!==Iw&&e.parent.right!==e;)e=e.parent;return e.parent===Iw?Iw:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const Iw=new Ew(null,0);function Mw(e){for(;e.left!==Iw;)e=e.left;return e}function Tw(e){for(;e.right!==Iw;)e=e.right;return e}function Aw(e){return e===Iw?0:e.size_left+e.piece.length+Aw(e.right)}function Rw(e){return e===Iw?0:e.lf_left+e.piece.lineFeedCnt+Rw(e.right)}function Pw(){Iw.parent=Iw}function Ow(e,t){const n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==Iw&&(n.left.parent=t),n.parent=t.parent,t.parent===Iw?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function Fw(e,t){const n=t.left;t.left=n.right,n.right!==Iw&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===Iw?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Bw(e,t){let n,i;if(t.left===Iw?(i=t,n=i.right):t.right===Iw?(i=t,n=i.left):(i=Mw(t.right),n=i.right),i===e.root)return e.root=n,n.color=0,t.detach(),Pw(),void(e.root.parent=Iw);const o=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,Hw(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,Hw(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==Iw&&(i.left.parent=i),i.right!==Iw&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,Hw(e,i)),t.detach(),n.parent.left===n){const t=Aw(n),i=Rw(n);if(t!==n.parent.size_left||i!==n.parent.lf_left){const o=t-n.parent.size_left,s=i-n.parent.lf_left;n.parent.size_left=t,n.parent.lf_left=i,Vw(e,n.parent,o,s)}}if(Hw(e,n.parent),o)return void Pw();let s;for(;n!==e.root&&0===n.color;)n===n.parent.left?(s=n.parent.right,1===s.color&&(s.color=0,n.parent.color=1,Ow(e,n.parent),s=n.parent.right),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.right.color&&(s.left.color=0,s.color=1,Fw(e,s),s=n.parent.right),s.color=n.parent.color,n.parent.color=0,s.right.color=0,Ow(e,n.parent),n=e.root)):(s=n.parent.left,1===s.color&&(s.color=0,n.parent.color=1,Fw(e,n.parent),s=n.parent.left),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.left.color&&(s.right.color=0,s.color=1,Ow(e,s),s=n.parent.left),s.color=n.parent.color,n.parent.color=0,s.left.color=0,Fw(e,n.parent),n=e.root));n.color=0,Pw()}function Ww(e,t){for(Hw(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const n=t.parent.parent.right;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&Ow(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Fw(e,t.parent.parent))}else{const n=t.parent.parent.left;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&Fw(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Ow(e,t.parent.parent))}e.root.color=0}function Vw(e,t,n,i){for(;t!==e.root&&t!==Iw;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function Hw(e,t){let n=0,i=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(n=Aw((t=t.parent).left)-t.size_left,i=Rw(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}function zw(e){return e<0?0:e>255?255:0|e}function Uw(e){return e<0?0:e>4294967295?4294967295:0|e}Iw.parent=Iw,Iw.left=Iw,Iw.right=Iw,Iw.color=0;class Kw{constructor(e){const t=zw(e);this._defaultValue=t,this._asciiMap=Kw._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const n=zw(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class jw{constructor(){this._actual=new Kw(0)}add(e){this._actual.set(e,1)}has(e){return 1===this._actual.get(e)}clear(){return this._actual.clear()}}class qw extends Kw{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let t=0,n=e.length;tt)break;n=i}return n}findNextIntlWordAtOrAfterOffset(e,t){for(const n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index=n)break;const i=e.charCodeAt(t);if(110===i||114===i||87===i)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=ui(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(e){return null}if(!t)return null;let n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new Lc(t,this.wordSeparators?Gw(this.wordSeparators,[]):null,n?this.searchString:null)}}function Yw(e,t,n){if(!n)return new xc(e,null);const i=[];for(let e=0,n=t.length;e=e?i=o-1:t[o+1]>=e?(n=o,i=o):n=o+1}return n+1}}class Qw{static findMatches(e,t,n,i,o){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,n,new eC(s.wordSeparators,s.regex),i,o):this._doFindMatchesLineByLine(e,n,s,i,o):[]}static _getMultilineMatchRange(e,t,n,i,o,s){let r,l,a=0;if(i?(a=i.findLineFeedCountBeforeOffset(o),r=t+o+a):r=t+o,i){const e=i.findLineFeedCountBeforeOffset(o+s.length)-a;l=r+s.length+e}else l=r+s.length;const d=e.getPositionAt(r),u=e.getPositionAt(l);return new nc(d.lineNumber,d.column,u.lineNumber,u.column)}static _doFindMatchesMultiline(e,t,n,i,o){const s=e.getOffsetAt(t.getStartPosition()),r=e.getValueInRange(t,1),l="\r\n"===e.getEOL()?new Xw(r):null,a=[];let d,u=0;for(n.reset(0);d=n.next(r);)if(a[u++]=Yw(this._getMultilineMatchRange(e,s,r,l,d.index,d[0]),d,i),u>=o)return a;return a}static _doFindMatchesLineByLine(e,t,n,i,o){const s=[];let r=0;if(t.startLineNumber===t.endLineNumber){const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return r=this._findMatchesInLine(n,l,t.startLineNumber,t.startColumn-1,r,s,i,o),s}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);r=this._findMatchesInLine(n,l,t.startLineNumber,t.startColumn-1,r,s,i,o);for(let l=t.startLineNumber+1;l=l))return o;return o}const d=new eC(e.wordSeparators,e.regex);let u;d.reset(0);do{if(u=d.next(t),u&&(s[o++]=Yw(new nc(n,u.index+1+i,n,u.index+1+u[0].length+i),u,r),o>=l))return o}while(u);return o}static findNextMatch(e,t,n,i){const o=t.parseSearchRequest();if(!o)return null;const s=new eC(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,n,s,i):this._doFindNextMatchLineByLine(e,n,s,i)}static _doFindNextMatchMultiline(e,t,n,i){const o=new cd(t.lineNumber,1),s=e.getOffsetAt(o),r=e.getLineCount(),l=e.getValueInRange(new nc(o.lineNumber,o.column,r,e.getLineMaxColumn(r)),1),a="\r\n"===e.getEOL()?new Xw(l):null;n.reset(t.column-1);const d=n.next(l);return d?Yw(this._getMultilineMatchRange(e,s,l,a,d.index,d[0]),d,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new cd(1,1),n,i):null}static _doFindNextMatchLineByLine(e,t,n,i){const o=e.getLineCount(),s=t.lineNumber,r=e.getLineContent(s),l=this._findFirstMatchInLine(n,r,s,t.column,i);if(l)return l;for(let t=1;t<=o;t++){const r=(s+t-1)%o,l=e.getLineContent(r+1),a=this._findFirstMatchInLine(n,l,r+1,1,i);if(a)return a}return null}static _findFirstMatchInLine(e,t,n,i,o){e.reset(i-1);const s=e.next(t);return s?Yw(new nc(n,s.index+1,n,s.index+1+s[0].length),s,o):null}static findPreviousMatch(e,t,n,i){const o=t.parseSearchRequest();if(!o)return null;const s=new eC(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,n,s,i):this._doFindPreviousMatchLineByLine(e,n,s,i)}static _doFindPreviousMatchMultiline(e,t,n,i){const o=this._doFindMatchesMultiline(e,new nc(1,1,t.lineNumber,t.column),n,i,9990);if(o.length>0)return o[o.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new cd(s,e.getLineMaxColumn(s)),n,i):null}static _doFindPreviousMatchLineByLine(e,t,n,i){const o=e.getLineCount(),s=t.lineNumber,r=e.getLineContent(s).substring(0,t.column-1),l=this._findLastMatchInLine(n,r,s,i);if(l)return l;for(let t=1;t<=o;t++){const r=(o+s-t-1)%o,l=e.getLineContent(r+1),a=this._findLastMatchInLine(n,l,r+1,i);if(a)return a}return null}static _findLastMatchInLine(e,t,n,i){let o,s=null;for(e.reset(0);o=e.next(t);)s=Yw(new nc(n,o.index+1,n,o.index+1+o[0].length),o,i);return s}}function Jw(e,t,n,i,o){return function(e,t,n,i,o){if(0===i)return!0;const s=t.charCodeAt(i-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(o>0){const n=t.charCodeAt(i);if(0!==e.get(n))return!0}return!1}(e,t,0,i,o)&&function(e,t,n,i,o){if(i+o===n)return!0;const s=t.charCodeAt(i+o);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(o>0){const n=t.charCodeAt(i+o-1);if(0!==e.get(n))return!0}return!1}(e,t,n,i,o)}class eC{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(n=this._searchRegex.exec(e),!n)return null;const i=n.index,o=n[0].length;if(i===this._prevMatchStartIndex&&o===this._prevMatchLength){if(0===o){Ei(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=o,!this._wordSeparators||Jw(this._wordSeparators,e,t,i,o))return n}while(n);return null}}const tC=65535;function nC(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class iC{constructor(e,t,n,i,o){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=o}}function oC(e,t=!0){const n=[0];let i=1;for(let t=0,o=e.length;t(e!==Iw&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class aC{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber=e)return n}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const n=this._cache;for(let i=0;i=e)&&(n[i]=null,t=!0)}if(t){const e=[];for(const t of n)null!==t&&e.push(t);this._cache=e}}}class dC{constructor(e,t,n){this.create(e,t,n)}create(e,t,n){this._buffers=[new rC("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Iw,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;let i=null;for(let t=0,n=e.length;t0){e[t].lineStarts||(e[t].lineStarts=oC(e[t].buffer));const n=new sC(t+1,{line:0,column:0},{line:e[t].lineStarts.length-1,column:e[t].buffer.length-e[t].lineStarts[e[t].lineStarts.length-1]},e[t].lineStarts.length-1,e[t].buffer.length);this._buffers.push(e[t]),i=this.rbInsertRight(i,n)}this._searchCache=new aC(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=65535-Math.floor(21845),n=2*t;let i="",o=0;const s=[];if(this.iterate(this.root,(r=>{const l=this.getNodeContent(r),a=l.length;if(o<=t||o+a0){const t=i.replace(/\r\n|\r|\n/g,e);s.push(new rC(t,oC(t)))}this.create(s,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new lC(this,e)}getOffsetAt(e,t){let n=0,i=this.root;for(;i!==Iw;)if(i.left!==Iw&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return n+=i.size_left,n+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,n=0;const i=e;for(;t!==Iw;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const o=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+o.index,0===o.index){const e=this.getOffsetAt(n+1,1);return new cd(n+1,i-e+1)}return new cd(n+1,o.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===Iw){const t=this.getOffsetAt(n+1,1);return new cd(n+1,i-e-t+1)}t=t.right}return new cd(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o}getValueInRange2(e,t){if(e.node===t.node){const n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,o=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(o+e.remainder,o+t.remainder)}let n=e.node;const i=this._buffers[n.piece.bufferIndex].buffer,o=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);let s=i.substring(o+e.remainder,o+n.piece.length);for(n=n.next();n!==Iw;){const e=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===t.node){s+=e.substring(i,i+t.remainder);break}s+=e.substr(i,n.piece.length),n=n.next()}return s}getLinesContent(){const e=[];let t=0,n="",i=!1;return this.iterate(this.root,(o=>{if(o===Iw)return!0;const s=o.piece;let r=s.length;if(0===r)return!0;const l=this._buffers[s.bufferIndex].buffer,a=this._buffers[s.bufferIndex].lineStarts,d=s.start.line,u=s.end.line;let c=a[d]+s.start.column;if(i&&(10===l.charCodeAt(c)&&(c++,r--),e[t++]=n,n="",i=!1,0===r))return!0;if(d===u)return this._EOLNormalized||13!==l.charCodeAt(c+r-1)?n+=l.substr(c,r):(i=!0,n+=l.substr(c,r-1)),!0;n+=this._EOLNormalized?l.substring(c,Math.max(c,a[d+1]-this._EOLLength)):l.substring(c,a[d+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;for(let i=d+1;ie+g,t.reset(0)):(_=c.buffer,v=e=>e,t.reset(g));do{if(m=t.next(_),m){if(v(m.index)>=p)return d;this.positionInBuffer(e,v(m.index)-h,f);const t=this.getLineFeedCnt(e.piece.bufferIndex,o,f),s=f.line===o.line?f.column-o.column+i:f.column+1,r=s+m[0].length;if(u[d++]=Yw(new nc(n+t,s,n+t,r),m,l),v(m.index)+m[0].length>=p)return d;if(d>=a)return d}}while(m);return d}findMatchesLineByLine(e,t,n,i){const o=[];let s=0;const r=new eC(t.wordSeparators,t.regex);let l=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===l)return[];const a=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===a)return[];let d=this.positionInBuffer(l.node,l.remainder);const u=this.positionInBuffer(a.node,a.remainder);if(l.node===a.node)return this.findMatchesInNode(l.node,r,e.startLineNumber,e.startColumn,d,u,t,n,i,s,o),o;let c=e.startLineNumber,h=l.node;for(;h!==a.node;){const a=this.getLineFeedCnt(h.piece.bufferIndex,d,h.piece.end);if(a>=1){const l=this._buffers[h.piece.bufferIndex].lineStarts,u=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start),g=l[d.line+a],p=c===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(h,r,c,p,d,this.positionInBuffer(h,g-u),t,n,i,s,o),s>=i)return o;c+=a}const u=c===e.startLineNumber?e.startColumn-1:0;if(c===e.endLineNumber){const l=this.getLineContent(c).substring(u,e.endColumn-1);return s=this._findMatchesInLine(t,r,l,e.endLineNumber,u,s,o,n,i),o}if(s=this._findMatchesInLine(t,r,this.getLineContent(c).substr(u),c,u,s,o,n,i),s>=i)return o;c++,l=this.nodeAt2(c,1),h=l.node,d=this.positionInBuffer(l.node,l.remainder)}if(c===e.endLineNumber){const l=c===e.startLineNumber?e.startColumn-1:0,a=this.getLineContent(c).substring(l,e.endColumn-1);return s=this._findMatchesInLine(t,r,a,e.endLineNumber,l,s,o,n,i),o}const g=c===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(a.node,r,c,g,d,u,t,n,i,s,o),o}_findMatchesInLine(e,t,n,i,o,s,r,l,a){const d=e.wordSeparators;if(!l&&e.simpleSearch){const t=e.simpleSearch,l=t.length,u=n.length;let c=-l;for(;-1!==(c=n.indexOf(t,c+l));)if((!d||Jw(d,n,u,c,l))&&(r[s++]=new xc(new nc(i,c+1+o,i,c+1+l+o),null),s>=a))return s;return s}let u;t.reset(0);do{if(u=t.next(n),u&&(r[s++]=Yw(new nc(i,u.index+1+o,i,u.index+1+u[0].length+o),u,l),s>=a))return s}while(u);return s}insert(e,t,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==Iw){const{node:n,remainder:i,nodeStartOffset:o}=this.nodeAt(e),s=n.piece,r=s.bufferIndex,l=this.positionInBuffer(n,i);if(0===n.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&o+s.length===e&&t.lengthe){const e=[];let o=new sC(s.bufferIndex,l,s.end,this.getLineFeedCnt(s.bufferIndex,l,s.end),this.offsetInBuffer(r,s.end)-this.offsetInBuffer(r,l));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&10===this.nodeCharCodeAt(n,i)){const e={line:o.start.line+1,column:0};o=new sC(o.bufferIndex,e,o.end,this.getLineFeedCnt(o.bufferIndex,e,o.end),o.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(n,i-1)){const o=this.positionInBuffer(n,i-1);this.deleteNodeTail(n,o),t="\r"+t,0===n.piece.length&&e.push(n)}else this.deleteNodeTail(n,l);else this.deleteNodeTail(n,l);const a=this.createNewPieces(t);o.length>0&&this.rbInsertRight(n,o);let d=n;for(let e=0;e=0;e--)o=this.rbInsertLeft(o,i[e]);this.validateCRLFWithPrevNode(o),this.deleteNodes(n)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]);let o=i;for(let e=1;e=u))break;l=d+1}return n?(n.line=d,n.column=r-c,null):{line:d,column:r-c}}getLineFeedCnt(e,t,n){if(0===n.column)return n.line-t.line;const i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;const o=i[n.line+1],s=i[n.line]+n.column;if(o>s+1)return n.line-t.line;const r=s-1;return 13===this._buffers[e].buffer.charCodeAt(r)?n.line-t.line+1:n.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;ttC){const t=[];for(;e.length>tC;){const n=e.charCodeAt(65534);let i;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,tC),e=e.substring(tC));const o=oC(i);t.push(new sC(this._buffers.length,{line:0,column:0},{line:o.length-1,column:i.length-o[o.length-1]},o.length-1,i.length)),this._buffers.push(new rC(i,o))}const n=oC(e);return t.push(new sC(this._buffers.length,{line:0,column:0},{line:n.length-1,column:e.length-n[n.length-1]},n.length-1,e.length)),this._buffers.push(new rC(e,n)),t}let t=this._buffers[0].buffer.length;const n=oC(e,!1);let i=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},i=this._lastChangeBufferPos;for(let e=0;e=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2),r=this.getAccumulatedValue(n,e-n.lf_left-1),l=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return o+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:o,nodeStartLineNumber:s-(e-1-n.lf_left)}),l.substring(a+i,a+r-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(n,e-n.lf_left-2),o=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=o.substring(s+t,s+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,o+=n.size_left+n.piece.length,n=n.right}}for(n=n.next();n!==Iw;){const e=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){const o=this.getAccumulatedValue(n,0),s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=e.substring(s,s+o-t),i}{const t=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=e.substr(t,n.piece.length)}n=n.next()}return i}computeBufferMetadata(){let e=this.root,t=1,n=0;for(;e!==Iw;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.validate(this._length)}getIndexOf(e,t){const n=e.piece,i=this.positionInBuffer(e,t),o=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(t!==o)return{index:t,remainder:0}}return{index:o,remainder:i.column}}getAccumulatedValue(e,t){if(t<0)return 0;const n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,o=n.start.line+t+1;return o>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[o]-i[n.start.line]-n.start.column}deleteNodeTail(e,t){const n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.end),s=t,r=this.offsetInBuffer(n.bufferIndex,s),l=this.getLineFeedCnt(n.bufferIndex,n.start,s),a=l-i,d=r-o,u=n.length+d;e.piece=new sC(n.bufferIndex,n.start,s,l,u),Vw(this,e,d,a)}deleteNodeHead(e,t){const n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.start),s=t,r=this.getLineFeedCnt(n.bufferIndex,s,n.end),l=r-i,a=o-this.offsetInBuffer(n.bufferIndex,s),d=n.length+a;e.piece=new sC(n.bufferIndex,s,n.end,r,d),Vw(this,e,a,l)}shrinkNode(e,t,n){const i=e.piece,o=i.start,s=i.end,r=i.length,l=i.lineFeedCnt,a=t,d=this.getLineFeedCnt(i.bufferIndex,i.start,a),u=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,o);e.piece=new sC(i.bufferIndex,i.start,a,d,u),Vw(this,e,u-r,d-l);const c=new sC(i.bufferIndex,n,s,this.getLineFeedCnt(i.bufferIndex,n,s),this.offsetInBuffer(i.bufferIndex,s)-this.offsetInBuffer(i.bufferIndex,n)),h=this.rbInsertRight(e,c);this.validateCRLFWithPrevNode(h)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const o=oC(t,!1);for(let e=0;ee)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;const n={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(n),n}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let n=this.root,i=0;for(;n!==Iw;)if(n.left!==Iw&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const o=this.getAccumulatedValue(n,e-n.lf_left-2),s=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(o+t-1,s),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){const o=this.getAccumulatedValue(n,e-n.lf_left-2);if(o+t-1<=n.piece.length)return{node:n,remainder:o+t-1,nodeStartOffset:i};t-=n.piece.length-o;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==Iw;){if(n.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(n,0),i=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,e),nodeStartOffset:i}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===Iw||0===e.piece.lineFeedCnt)return!1;const t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,o=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>o+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(o))}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==Iw&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const n=[],i=this._buffers[e.piece.bufferIndex].lineStarts;let o;o=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,r=e.piece.lineFeedCnt-1;e.piece=new sC(e.piece.bufferIndex,e.piece.start,o,r,s),Vw(this,e,-1,-1),0===e.piece.length&&n.push(e);const l={line:t.piece.start.line+1,column:0},a=t.piece.length-1,d=this.getLineFeedCnt(t.piece.bufferIndex,l,t.piece.end);t.piece=new sC(t.piece.bufferIndex,l,t.piece.end,d,a),Vw(this,t,-1,-1),0===t.piece.length&&n.push(t);const u=this.createNewPieces("\r\n");this.rbInsertRight(e,u[0]);for(let e=0;ee.sortIndex-t.sortIndex))}this._mightContainRTL=i,this._mightContainUnusualLineTerminators=o,this._mightContainNonBasicASCII=s;const h=this._doApplyEdits(l);let g=null;if(t&&u.length>0){u.sort(((e,t)=>t.lineNumber-e.lineNumber)),g=[];for(let e=0,t=u.length;e0&&u[e-1].lineNumber===t)continue;const n=u[e].oldContent,i=this.getLineContent(t);0!==i.length&&i!==n&&-1===hi(i)&&g.push(t)}}return this._onDidChangeContent.fire(),new Dc(c,h,g)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const n=e[0].range,i=e[e.length-1].range,o=new nc(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn);let s=n.startLineNumber,r=n.startColumn;const l=[];for(let n=0,i=e.length;n0&&l.push(i.text),s=o.endLineNumber,r=o.endColumn}const a=l.join(""),[d,u,c]=ah(a);return{sortIndex:0,identifier:e[0].identifier,range:o,rangeOffset:this.getOffsetAt(o.startLineNumber,o.startColumn),rangeLength:this.getValueLengthInRange(o,0),text:a,eolCount:d,firstLineLength:u,lastLineLength:c,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(uC._sortOpsDescending);const t=[];for(let n=0;n0){const e=r.eolCount+1;d=1===e?new nc(l,a,l,a+r.firstLineLength):new nc(l,a,l+e-1,r.lastLineLength+1)}else d=new nc(l,a,l,a);n=d.endLineNumber,i=d.endColumn,t.push(d),o=r}return t}static _sortOpsAscending(e,t){const n=nc.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n}static _sortOpsDescending(e,t){const n=nc.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n}}class cC{constructor(e,t,n,i,o,s,r,l,a){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=o,this._containsRTL=s,this._containsUnusualLineTerminators=r,this._isBasicASCII=l,this._normalizeEOL=a}_getEOL(e){const t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let e=0,i=n.length;e=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let n=1,i=0,o=0,s=0,r=!0;for(let l=0,a=t.length;l126)&&(r=!1)}const l=new iC(nC(e),i,o,s,r);return e.length=0,l}(this._tmpLineStarts,e);this.chunks.push(new rC(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=Pi(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=Wi(e)))}finish(e=!0){return this._finish(),new cC(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=oC(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}class gC extends lt{get isResolved(){return this._isResolved}constructor(e,t,n){super(),this._registry=e,this._languageId=t,this._factory=n,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}class pC{constructor(e,t,n){this.offset=e,this.type=t,this.language=n,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class mC{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class fC{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var _C,vC,bC,wC,CC;!function(e){const t=new Map;t.set(0,Sa.symbolMethod),t.set(1,Sa.symbolFunction),t.set(2,Sa.symbolConstructor),t.set(3,Sa.symbolField),t.set(4,Sa.symbolVariable),t.set(5,Sa.symbolClass),t.set(6,Sa.symbolStruct),t.set(7,Sa.symbolInterface),t.set(8,Sa.symbolModule),t.set(9,Sa.symbolProperty),t.set(10,Sa.symbolEvent),t.set(11,Sa.symbolOperator),t.set(12,Sa.symbolUnit),t.set(13,Sa.symbolValue),t.set(15,Sa.symbolEnum),t.set(14,Sa.symbolConstant),t.set(15,Sa.symbolEnum),t.set(16,Sa.symbolEnumMember),t.set(17,Sa.symbolKeyword),t.set(27,Sa.symbolSnippet),t.set(18,Sa.symbolText),t.set(19,Sa.symbolColor),t.set(20,Sa.symbolFile),t.set(21,Sa.symbolReference),t.set(22,Sa.symbolCustomColor),t.set(23,Sa.symbolFolder),t.set(24,Sa.symbolTypeParameter),t.set(25,Sa.account),t.set(26,Sa.issues),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for CompletionItemKind "+e),n=Sa.symbolProperty),n};const n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",27),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),e.fromString=function(e,t){let i=n.get(e);return void 0!==i||t||(i=9),i}}(_C||(_C={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(vC||(vC={}));class yC{constructor(e,t,n,i){this.range=e,this.text=t,this.completionKind=n,this.isSnippetText=i}equals(e){return nc.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(bC||(bC={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(wC||(wC={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(CC||(CC={}));const SC={17:_(0,"array"),16:_(0,"boolean"),4:_(0,"class"),13:_(0,"constant"),8:_(0,"constructor"),9:_(0,"enumeration"),21:_(0,"enumeration member"),23:_(0,"event"),7:_(0,"field"),0:_(0,"file"),11:_(0,"function"),10:_(0,"interface"),19:_(0,"key"),5:_(0,"method"),1:_(0,"module"),2:_(0,"namespace"),20:_(0,"null"),15:_(0,"number"),18:_(0,"object"),24:_(0,"operator"),3:_(0,"package"),6:_(0,"property"),14:_(0,"string"),22:_(0,"struct"),25:_(0,"type parameter"),12:_(0,"variable")};var xC,kC,LC,DC;!function(e){const t=new Map;t.set(0,Sa.symbolFile),t.set(1,Sa.symbolModule),t.set(2,Sa.symbolNamespace),t.set(3,Sa.symbolPackage),t.set(4,Sa.symbolClass),t.set(5,Sa.symbolMethod),t.set(6,Sa.symbolProperty),t.set(7,Sa.symbolField),t.set(8,Sa.symbolConstructor),t.set(9,Sa.symbolEnum),t.set(10,Sa.symbolInterface),t.set(11,Sa.symbolFunction),t.set(12,Sa.symbolVariable),t.set(13,Sa.symbolConstant),t.set(14,Sa.symbolString),t.set(15,Sa.symbolNumber),t.set(16,Sa.symbolBoolean),t.set(17,Sa.symbolArray),t.set(18,Sa.symbolObject),t.set(19,Sa.symbolKey),t.set(20,Sa.symbolNull),t.set(21,Sa.symbolEnumMember),t.set(22,Sa.symbolStruct),t.set(23,Sa.symbolEvent),t.set(24,Sa.symbolOperator),t.set(25,Sa.symbolTypeParameter),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for SymbolKind "+e),n=Sa.symbolProperty),n}}(xC||(xC={}));class NC{static fromValue(e){switch(e){case"comment":return NC.Comment;case"imports":return NC.Imports;case"region":return NC.Region}return new NC(e)}constructor(e){this.value=e}}NC.Comment=new NC("comment"),NC.Imports=new NC("imports"),NC.Region=new NC("region"),function(e){e[e.AIGenerated=1]="AIGenerated"}(kC||(kC={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&"string"==typeof e.id&&"string"==typeof e.title}}(LC||(LC={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(DC||(DC={}));class EC{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then((e=>{e&&e.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const IC=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),st((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var n;null===(n=this._factories.get(e))||void 0===n||n.dispose();const i=new gC(this,e,t);return this._factories.set(e,i),st((()=>{const t=this._factories.get(e);t&&t===i&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const n=this._factories.get(e);return!n||n.isResolved?null:(await n.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};var MC;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(MC||(MC={}));const TC=new class{clone(){return this}equals(e){return this===e}};function AC(e,t){return new mC([new pC(0,"",e)],t)}function RC(e,t){const n=new Uint32Array(2);return n[0]=0,n[1]=(32768|e|2<<24)>>>0,new fC(n,null===t?TC:t)}class PC{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,n){if(e>=this._store.length)return;if(0===t)return void this.insert(e,n);if(0===n)return void this.delete(e,t);const i=this._store.slice(0,e),o=this._store.slice(e+t),s=function(e,t){const n=[];for(let i=0;i=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const n=[];for(let e=0;e0){const n=this._tokens[this._tokens.length-1];if(n.endLineNumber+1===e)return void n.appendLineTokens(t)}this._tokens.push(new OC(e,[t]))}finalize(){return this._tokens}}class BC{static createEmpty(e,t){const n=BC.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=e.length,i[1]=n,new BC(i,e,t)}constructor(e,t,n){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=n}equals(e){return e instanceof BC&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const i=t<<1,o=i+(n<<1);for(let t=i;t0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],n=$p.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return $p.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return $p.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return $p.getClassNameFromMetadata(t)}getInlineStyle(e,t){const n=this._tokens[1+(e<<1)];return $p.getInlineStyleFromMetadata(n,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return $p.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return BC.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,n){return new WC(this,e,t,n)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let t=0;t>>1)-1;for(;nt&&(i=o)}return n}withInserted(e){if(0===e.length)return this;let t=0,n=0,i="";const o=new Array;let s=0;for(;;){const r=ts){i+=this._text.substring(s,l.offset);const e=this._tokens[1+(t<<1)];o.push(i.length,e),s=l.offset}i+=l.text,o.push(i.length,l.tokenMetadata),n++}}return new BC(new Uint32Array(o),i,this._languageIdCodec)}}BC.defaultTokenMetadata=33587200;class WC{constructor(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(let t=this._firstTokenIndex,i=e.getCount();t=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof WC&&this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class VC{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new zC(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class HC extends VC{constructor(e,t,n,i){super(e,t),this._textModel=n,this._languageIdCodec=i}updateTokensUntilLine(e,t){const n=this._textModel.getLanguageId();for(;;){const i=this.getFirstInvalidLine();if(!i||i.lineNumber>t)break;const o=this._textModel.getLineContent(i.lineNumber),s=jC(this._languageIdCodec,n,this.tokenizationSupport,o,!0,i.startState);e.add(i.lineNumber,s.tokens),this.store.setEndState(i.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const n=this.getStartState(e.lineNumber);if(!n)return 0;const i=this._textModel.getLanguageId(),o=this._textModel.getLineContent(e.lineNumber),s=o.substring(0,e.column-1)+t+o.substring(e.column-1),r=jC(this._languageIdCodec,i,this.tokenizationSupport,s,!0,n),l=new BC(r.tokens,s,this._languageIdCodec);if(0===l.getCount())return 0;const a=l.findTokenIndexAtOffset(e.column-1);return l.getStandardTokenType(a)}tokenizeLineWithEdit(e,t,n){const i=e.lineNumber,o=e.column,s=this.getStartState(i);if(!s)return null;const r=this._textModel.getLineContent(i),l=r.substring(0,o-1)+n+r.substring(o-1+t),a=this._textModel.getLanguageIdAtPosition(i,0),d=jC(this._languageIdCodec,a,this.tokenizationSupport,l,!0,s);return new BC(d.tokens,l,this._languageIdCodec)}hasAccurateTokensForLine(e){return e1&&o>=1;o--){const e=this._textModel.getLineFirstNonWhitespaceColumn(o);if(0!==e&&e0&&n>0&&(n--,t--),this._lineEndStates.replace(e.startLineNumber,n,t)}}class KC{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const n=this._ranges[t];n.start===e?n.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new ch(e+1,n.endExclusive):n.endExclusive===e+1?this._ranges[t]=new ch(n.start,e):this._ranges.splice(t,1,new ch(n.start,e),new ch(e+1,n.endExclusive))}}addRange(e){ch.addRange(e,this._ranges)}addRangeAndResize(e,t){let n=0;for(;!(n>=this._ranges.length||e.start<=this._ranges[n].endExclusive);)n++;let i=n;for(;!(i>=this._ranges.length||e.endExclusivee.toString())).join(" + ")}}function jC(e,t,n,i,o,s){let r=null;if(n)try{r=n.tokenizeEncoded(i,o,s.clone())}catch(e){xe(e)}return r||(r=RC(e.encodeLanguageId(t),s)),BC.convertToEndOffset(r.tokens,i.length),r}class qC{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,qt((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),n=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){var t;const n=null===(t=this._tokenizerWithStateStore)||void 0===t?void 0:t.getFirstInvalidLine();return n?(this._tokenizerWithStateStore.updateTokensUntilLine(e,n.lineNumber),n.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new wh(e,t))}}const $C=new Uint32Array(0).buffer;class GC{static deleteBeginning(e,t){return null===e||e===$C?e:GC.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===$C)return e;const n=ZC(e),i=n[n.length-2];return GC.delete(e,t,i)}static delete(e,t,n){if(null===e||e===$C||t===n)return e;const i=ZC(e),o=i.length>>>1;if(0===t&&i[i.length-2]===n)return $C;const s=BC.findIndexInTokensArray(i,t),r=s>0?i[s-1<<1]:0;if(na&&(i[l++]=t,i[l++]=i[1+(e<<1)],a=t)}if(l===i.length)return e;const u=new Uint32Array(l);return u.set(i.subarray(0,l),0),u.buffer}static append(e,t){if(t===$C)return e;if(e===$C)return t;if(null===e)return e;if(null===t)return null;const n=ZC(e),i=ZC(t),o=i.length>>>1,s=new Uint32Array(n.length+i.length);s.set(n,0);let r=n.length;const l=n[n.length-2];for(let e=0;e>>1;let s=BC.findIndexInTokensArray(i,t);s>0&&i[s-1<<1]===t&&s--;for(let e=s;e0}getTokens(e,t,n){let i=null;if(t1&&(t=$p.getLanguageId(i[1])!==e),!t)return $C}if(!i||0===i.length){const n=new Uint32Array(2);return n[0]=t,n[1]=XC(e),n.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const n=[];for(let e=0;e=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=GC.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=GC.deleteEnding(this._lineTokens[t],e.startColumn-1);const n=e.endLineNumber-1;let i=null;n=this._len||(0!==t?(this._lineTokens[i]=GC.deleteEnding(this._lineTokens[i],e.column-1),this._lineTokens[i]=GC.insert(this._lineTokens[i],e.column-1,n),this._insertLines(e.lineNumber,t)):this._lineTokens[i]=GC.insert(this._lineTokens[i],e.column-1,n))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const n=[];for(let i=0,o=e.length;i>>0}class QC{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let n=e;if(t.length>0){const i=t[0].getRange(),o=t[t.length-1].getRange();if(!i||!o)return e;n=e.plusRange(i).plusRange(o)}let i=null;for(let e=0,t=this._pieces.length;en.endLineNumber){i=i||{index:e};break}if(o.removeTokens(n),o.isEmpty()){this._pieces.splice(e,1),e--,t--;continue}if(o.endLineNumbern.endLineNumber){i=i||{index:e};continue}const[s,r]=o.split(n);s.isEmpty()?i=i||{index:e}:r.isEmpty()||(this._pieces.splice(e,1,s,r),e++,t++,i=i||{index:e})}return i=i||{index:this._pieces.length},t.length>0&&(this._pieces=Uc(this._pieces,i.index,t)),n}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const n=this._pieces;if(0===n.length)return t;const i=n[QC._findFirstPieceWithLine(n,e)].getLineTokens(e);if(!i)return t;const o=t.getCount(),s=i.getCount();let r=0;const l=[];let a=0,d=0;const u=(e,t)=>{e!==d&&(d=e,l[a++]=e,l[a++]=t)};for(let e=0;e>>0,d=~a>>>0;for(;rt)){for(;o>n&&e[o-1].startLineNumber<=t&&t<=e[o-1].endLineNumber;)o--;return o}i=o-1}}return n}acceptEdit(e,t,n,i,o){for(const s of this._pieces)s.acceptEdit(e,t,n,i,o)}}class JC extends Yb{constructor(e,t,n,i,o,s){super(),this._languageService=e,this._languageConfigurationService=t,this._textModel=n,this._bracketPairsTextModelPart=i,this._languageId=o,this._attachedViews=s,this._semanticTokens=new QC(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new Ct),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new Ct),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new Ct),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new ey(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews)),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(this.grammarTokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})))}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,n,i]=ah(t.text);this._semanticTokens.acceptEdit(t.range,e,n,i,t.text.length>0?t.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(e)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this.grammarTokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new Re("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this.grammarTokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this.grammarTokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this.grammarTokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this.grammarTokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,n){return this.grammarTokens.getTokenTypeIfInsertingCharacter(e,t,n)}tokenizeLineWithEdit(e,t,n){return this.grammarTokens.tokenizeLineWithEdit(e,t,n)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const n=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:n.startLineNumber,toLineNumber:n.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),n=this._textModel.getLineContent(t.lineNumber),i=this.getLineTokens(t.lineNumber),o=i.findTokenIndexAtOffset(t.column-1),[s,r]=JC._findLanguageBoundaries(i,o),l=Nh(t.column,this.getLanguageConfiguration(i.getLanguageId(o)).getWordDefinition(),n.substring(s,r),s);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l;if(o>0&&s===t.column-1){const[s,r]=JC._findLanguageBoundaries(i,o-1),l=Nh(t.column,this.getLanguageConfiguration(i.getLanguageId(o-1)).getWordDefinition(),n.substring(s,r),s);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const n=e.getLanguageId(t);let i=0;for(let o=t;o>=0&&e.getLanguageId(o)===n;o--)i=e.getStartOffset(o);let o=e.getLineContent().length;for(let i=t,s=e.getCount();i{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(i.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let n=this._attachedViewStates.get(e);n||(n=new ty((()=>this.refreshRanges(n.lineRanges))),this._attachedViewStates.set(e,n)),n.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){var t;this._tokens.flush(),null===(t=this._debugBackgroundTokens)||void 0===t||t.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new zC(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[n,i]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=IC.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(e){return xe(e),[null,null]}return[e,t]})();if(this._tokenizer=n&&i?new HC(this._textModel.getLineCount(),n,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(e,t)=>{var n;if(!this._tokenizer)return;const i=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==i&&e>=i&&(null===(n=this._tokenizer)||void 0===n||n.store.setEndState(e,t))}};n&&n.createBackgroundTokenizer&&!n.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=n.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new qC(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),(null==n?void 0:n.backgroundTokenizerShouldOnlyVerifyTokens)&&n.createBackgroundTokenizer?(this._debugBackgroundTokens=new YC(this._languageIdCodec),this._debugBackgroundStates=new zC(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=n.createBackgroundTokenizer(this._textModel,{setTokens:e=>{var t;null===(t=this._debugBackgroundTokens)||void 0===t||t.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{var n;null===(n=this._debugBackgroundStates)||void 0===n||n.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var e;null===(e=this._defaultBackgroundTokenizer)||void 0===e||e.handleChanges()}handleDidChangeContent(e){var t,n,i;if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const n of e.changes){const[e,i]=ah(n.text);this._tokens.acceptEdit(n.range,e,i),null===(t=this._debugBackgroundTokens)||void 0===t||t.acceptEdit(n.range,e,i)}null===(n=this._debugBackgroundStates)||void 0===n||n.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),null===(i=this._defaultBackgroundTokenizer)||void 0===i||i.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=wh.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){var n,i;if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const o=new FC,{heuristicTokens:s}=this._tokenizer.tokenizeHeuristically(o,e,t),r=this.setTokens(o.finalize());if(s)for(const e of r.changes)null===(n=this._backgroundTokenizer.value)||void 0===n||n.requestTokens(e.fromLineNumber,e.toLineNumber+1);null===(i=this._defaultBackgroundTokenizer)||void 0===i||i.checkFinished()}forceTokenization(e){var t,n;const i=new FC;null===(t=this._tokenizer)||void 0===t||t.updateTokensUntilLine(i,e),this.setTokens(i.finalize()),null===(n=this._defaultBackgroundTokenizer)||void 0===n||n.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}getLineTokens(e){var t;const n=this._textModel.getLineContent(e),i=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,n);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const o=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,n);!i.equals(o)&&(null===(t=this._debugBackgroundTokenizer.value)||void 0===t?void 0:t.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return i}getTokenTypeIfInsertingCharacter(e,t,n){if(!this._tokenizer)return 0;const i=this._textModel.validatePosition(new cd(e,t));return this.forceTokenization(i.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(i,n)}tokenizeLineWithEdit(e,t,n){if(!this._tokenizer)return null;const i=this._textModel.validatePosition(e);return this.forceTokenization(i.lineNumber),this._tokenizer.tokenizeLineWithEdit(i,t,n)}get hasTokens(){return this._tokens.hasTokens}}class ty extends lt{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new jt((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){Ic(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class ny{constructor(){this.changeType=1}}class iy{static applyInjectedText(e,t){if(!t||0===t.length)return e;let n="",i=0;for(const o of t)n+=e.substring(i,o.column-1),i=o.column-1,n+=o.options.content;return n+=e.substring(i),n}static fromDecorations(e){const t=[];for(const n of e)n.options.before&&n.options.before.content.length>0&&t.push(new iy(n.ownerId,n.range.startLineNumber,n.range.startColumn,n.options.before,0)),n.options.after&&n.options.after.content.length>0&&t.push(new iy(n.ownerId,n.range.endLineNumber,n.range.endColumn,n.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,n,i,o){this.ownerId=e,this.lineNumber=t,this.column=n,this.options=i,this.order=o}}class oy{constructor(e,t,n){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=n}}class sy{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class ry{constructor(e,t,n,i){this.changeType=4,this.injectedTexts=i,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}class ly{constructor(){this.changeType=5}}class ay{constructor(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i,this.resultingSelection=null}containsEvent(e){for(let t=0,n=this.changes.length;t0&&(e[t++]=i,n+=i.length),n>=65536)return e.join("")}}}const wy=()=>{throw new Error("Invalid change accessor")};let Cy=my=class extends lt{static resolveOptions(e,t){if(t.detectIndentation){const n=sw(e,t.tabSize,t.insertSpaces);return new Sc({tabSize:n.tabSize,indentSize:"tabSize",insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new Sc(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return ot(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,n,i=null,o,s,r){super(),this._undoRedoService=o,this._languageService=s,this._languageConfigurationService=r,this._onWillDispose=this._register(new Ct),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new Ry((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new Ct),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new Ct),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new Ct),this._eventEmitter=this._register(new Py),this._languageSelectionListener=this._register(new at),this._deltaDecorationCallCnt=0,this._attachedViews=new Oy,vy++,this.id="$model"+vy,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==i?Io.parse("inmemory://model/"+vy):i,this._attachedEditorCount=0;const{textBuffer:l,disposable:a}=_y(e,n.defaultEOL);this._buffer=l,this._bufferDisposable=a,this._options=my.resolveOptions(this._buffer,n);const d="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new _m(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new tw(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Bb(this)),this._tokenizationTextModelPart=new JC(this._languageService,this._languageConfigurationService,this,this._bracketPairs,d,this._attachedViews);const u=this._buffer.getLineCount(),c=this._buffer.getValueLengthInRange(new nc(1,1,u,this._buffer.getLineLength(u)+1),0);n.largeFileOptimizations?(this._isTooLargeForTokenization=c>my.LARGE_FILE_SIZE_THRESHOLD||u>my.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=c>my.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=c>my._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=Ki(vy),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new xy,this._commandManager=new Zb(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(d)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new uC([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=lt.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new uy(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw Ie();const{textBuffer:t,disposable:n}=_y(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,n)}_createContentChanged2(e,t,n,i,o,s,r,l){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),isEolChange:l,versionId:this.getVersionId(),isUndoing:o,isRedoing:s,isFlush:r}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new xy,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new ay([new ny],this._versionId,!1,!1),this._createContentChanged2(new nc(1,1,o,s),0,i,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new ay([new ly],this._versionId,!1,!1),this._createContentChanged2(new nc(1,1,o,s),0,i,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let n=0,i=t.length;n0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const n=this._buffer.getLineCount();for(let i=1;i<=n;i++){const n=this._buffer.getLineLength(i);n>=1e4?t+=n:e+=n}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,o=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,r=new Sc({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o,bracketPairColorizationOptions:s});if(this._options.equals(r))return;const l=this._options.createChangeEvent(r);this._options=r,this._bracketPairs.handleDidChangeOptions(l),this._decorationProvider.handleDidChangeOptions(l),this._onDidChangeOptions.fire(l)}detectIndentation(e,t){this._assertNotDisposed();const n=sw(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),uh(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(Bi.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Re("Operation would exceed heap memory limits");const n=this.getFullModelRange(),i=this.getValueInRange(n,e);return t?this._buffer.getBOM()+i:i}createSnapshot(e=!1){return new by(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+i:i}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Re("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),n=e.startLineNumber,i=e.startColumn;let o=Math.floor("number"!=typeof n||isNaN(n)?1:n),s=Math.floor("number"!=typeof i||isNaN(i)?1:i);if(o<1)o=1,s=1;else if(o>t)o=t,s=this.getLineMaxColumn(o);else if(s<=1)s=1;else{const e=this.getLineMaxColumn(o);s>=e&&(s=e)}const r=e.endLineNumber,l=e.endColumn;let a=Math.floor("number"!=typeof r||isNaN(r)?1:r),d=Math.floor("number"!=typeof l||isNaN(l)?1:l);if(a<1)a=1,d=1;else if(a>t)a=t,d=this.getLineMaxColumn(a);else if(d<=1)d=1;else{const e=this.getLineMaxColumn(a);d>=e&&(d=e)}return n===o&&i===s&&r===a&&l===d&&e instanceof nc&&!(e instanceof ic)?e:new nc(o,s,a,d)}_isValidPosition(e,t,n){return"number"==typeof e&&"number"==typeof t&&(!isNaN(e)&&!isNaN(t)&&(!(e<1||t<1)&&((0|e)===e&&(0|t)===t&&(!(e>this._buffer.getLineCount())&&(1===t||!(t>this.getLineMaxColumn(e))&&(1!==n||!Li(this._buffer.getLineCharCode(e,t-2))))))))}_validatePosition(e,t,n){const i=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(i<1)return new cd(1,1);if(i>s)return new cd(s,this.getLineMaxColumn(s));if(o<=1)return new cd(i,1);const r=this.getLineMaxColumn(i);return o>=r?new cd(i,r):1===n&&Li(this._buffer.getLineCharCode(i,o-2))?new cd(i,o-1):new cd(i,o)}validatePosition(e){return this._assertNotDisposed(),e instanceof cd&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(n,i,0))return!1;if(!this._isValidPosition(o,s,0))return!1;if(1===t){const e=i>1?this._buffer.getLineCharCode(n,i-2):0,t=s>1&&s<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,s-2):0,r=Li(e),l=Li(t);return!r&&!l}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof nc&&!(e instanceof ic)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),i=t.lineNumber,o=t.column,s=n.lineNumber,r=n.column;{const e=o>1?this._buffer.getLineCharCode(i,o-2):0,t=r>1&&r<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,r-2):0,n=Li(e),l=Li(t);return n||l?i===s&&o===r?new nc(i,o-1,s,r-1):n&&l?new nc(i,o-1,s,r+1):n?new nc(i,o-1,s,r):new nc(i,o,s,r+1):new nc(i,o,s,r)}}modifyPosition(e,t){this._assertNotDisposed();const n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new nc(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)}findMatches(e,t,n,i,o,s,r=999){this._assertNotDisposed();let l=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>nc.isIRange(e)))&&(l=t.map((e=>this.validateRange(e))))),null===l&&(l=[this.getFullModelRange()]),l=l.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const a=[];let d;if(a.push(l.reduce(((e,t)=>nc.areIntersecting(e,t)?e.plusRange(t):(a.push(e),t)))),!n&&e.indexOf("\n")<0){const t=new Zw(e,n,i,o).parseSearchRequest();if(!t)return[];d=e=>this.findMatchesLineByLine(e,t,s,r)}else d=t=>Qw.findMatches(this,new Zw(e,n,i,o),t,s,r);return a.map(d).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,n,i,o,s){this._assertNotDisposed();const r=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){const t=new Zw(e,n,i,o).parseSearchRequest();if(!t)return null;const l=this.getLineCount();let a=new nc(r.lineNumber,r.column,l,this.getLineMaxColumn(l)),d=this.findMatchesLineByLine(a,t,s,1);return Qw.findNextMatch(this,new Zw(e,n,i,o),r,s),d.length>0?d[0]:(a=new nc(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),d=this.findMatchesLineByLine(a,t,s,1),d.length>0?d[0]:null)}return Qw.findNextMatch(this,new Zw(e,n,i,o),r,s)}findPreviousMatch(e,t,n,i,o,s){this._assertNotDisposed();const r=this.validatePosition(t);return Qw.findPreviousMatch(this,new Zw(e,n,i,o),r,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof kc?e:new kc(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let n=0,i=e.length;n({range:this.validateRange(e.range),text:e.text})));let i=!0;if(e)for(let t=0,o=e.length;to.endLineNumber,r=o.startLineNumber>t.endLineNumber;if(!i&&!r){s=!0;break}}if(!s){i=!1;break}}if(i)for(let e=0,i=this._trimAutoWhitespaceLines.length;et.endLineNumber||i===t.startLineNumber&&t.startColumn===o&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(0)||i===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(r.length-1))){s=!1;break}}if(s){const e=new nc(i,1,i,o);t.push(new kc(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,i)}_applyUndo(e,t,n,i){const o=e.map((e=>{const t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new nc(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}}));this._applyUndoRedoEdits(o,t,!0,!1,n,i)}_applyRedo(e,t,n,i){const o=e.map((e=>{const t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new nc(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}}));this._applyUndoRedoEdits(o,t,!1,!0,n,i)}_applyUndoRedoEdits(e,t,n,i,o,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=i,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(o)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const n=this._buffer.getLineCount(),i=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),s=i.changes;if(this._trimAutoWhitespaceLines=i.trimAutoWhitespaceLineNumbers,0!==s.length){for(let e=0,t=s.length;e=0;t--){const n=l+t,i=g+t;v.takeFromEndWhile((e=>e.lineNumber>i));const o=v.takeFromEndWhile((e=>e.lineNumber===i));e.push(new oy(n,this.getLineContent(i),o))}if(ce.lineNumbere.lineNumber===t))}e.push(new ry(i+1,l+u,d,a))}t+=h}this._emitContentChangedEvent(new ay(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===i.reverseEdits?void 0:i.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new oy(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new dy(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,Ay(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>0===t.length&&0===n.length?[]:this._deltaDecorationsImpl(e,t,n)};let i=null;try{i=t(n)}catch(e){xe(e)}return n.addDecoration=wy,n.changeDecoration=wy,n.changeDecorationOptions=wy,n.removeDecoration=wy,n.deltaDecorations=wy,i}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),xe(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,n){const i=e?this._decorations[e]:null;if(!i)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Ty[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(i),delete this._decorations[i.id],null;const o=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(o.startLineNumber,o.startColumn),r=this._buffer.getOffsetAt(o.endLineNumber,o.endColumn);return this._decorationsTree.delete(i),i.reset(this.getVersionId(),s,r,o),i.setOptions(Ty[n]),this._decorationsTree.insert(i),i.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,n=t.length;ethis.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)}getLinesDecorations(e,t,n=0,i=!1,o=!1){const s=this.getLineCount(),r=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),a=this.getLineMaxColumn(l),d=new nc(r,1,l,a),u=this._getDecorationsInRange(d,n,i,o);return qc(u,this._decorationProvider.getDecorationsInRange(d,n,i)),u}getDecorationsInRange(e,t=0,n=!1,i=!1,o=!1){const s=this.validateRange(e),r=this._getDecorationsInRange(s,t,n,o);return qc(r,this._decorationProvider.getDecorationsInRange(s,t,n,i)),r}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return iy.fromDecorations(i).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let n=this._decorationsTree.getAll(this,e,t,!1,!1);return n=n.concat(this._decorationProvider.getAllDecorations(e,t)),n}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,n,i){const o=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,o,s,t,n,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const n=this._decorations[e];if(!n)return;if(n.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(n.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const i=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),s=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),o,s,i),this._decorationsTree.insert(n),this._onDidChangeDecorations.checkAffectedAndFire(n.options),n.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),n.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}_changeDecorationOptionsImpl(e,t){const n=this._decorations[e];if(!n)return;const i=!(!n.options.overviewRuler||!n.options.overviewRuler.color),o=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const s=i!==o,r=function(e){return!!e.after||!!e.before}(t)!==Sy(n);s||r?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,n,i=!1){const o=this.getVersionId(),s=t.length;let r=0;const l=n.length;let a=0;this._onDidChangeDecorations.beginDeferredEmit();try{const d=new Array(l);for(;rthis._setLanguage(e.languageId,t))),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return function(e){let t=0;for(const n of e){if(" "!==n&&"\t"!==n)break;t++}return t}(this.getLineContent(e))+1}};function yy(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Sy(e){return!!e.options.after||!!e.options.before}Cy._MODEL_SYNC_LIMIT=52428800,Cy.LARGE_FILE_SIZE_THRESHOLD=20971520,Cy.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,Cy.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456,Cy.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:yh.tabSize,indentSize:yh.indentSize,insertSpaces:yh.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:yh.trimAutoWhitespace,largeFileOptimizations:yh.largeFileOptimizations,bracketPairColorizationOptions:yh.bracketPairColorizationOptions},Cy=my=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([fy(4,cy),fy(5,Sh),fy(6,Qg)],Cy);class xy{constructor(){this._decorationsTree0=new vw,this._decorationsTree1=new vw,this._injectedTextDecorationsTree=new vw}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const n of t)null===n.range&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,i,o,s){const r=e.getVersionId(),l=this._intervalSearch(t,n,i,o,r,s);return this._ensureNodesHaveRanges(e,l)}_intervalSearch(e,t,n,i,o,s){const r=this._decorationsTree0.intervalSearch(e,t,n,i,o,s),l=this._decorationsTree1.intervalSearch(e,t,n,i,o,s),a=this._injectedTextDecorationsTree.intervalSearch(e,t,n,i,o,s);return r.concat(l).concat(a)}getInjectedTextInInterval(e,t,n,i){const o=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,n,i,!1,o,!1);return this._ensureNodesHaveRanges(e,s).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const n=e.getVersionId(),i=this._injectedTextDecorationsTree.search(t,!1,n,!1);return this._ensureNodesHaveRanges(e,i).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,n,i,o){const s=e.getVersionId(),r=this._search(t,n,i,s,o);return this._ensureNodesHaveRanges(e,r)}_search(e,t,n,i,o){if(n)return this._decorationsTree1.search(e,t,i,o);{const n=this._decorationsTree0.search(e,t,i,o),s=this._decorationsTree1.search(e,t,i,o),r=this._injectedTextDecorationsTree.search(e,t,i,o);return n.concat(s).concat(r)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),i=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(i)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){Sy(e)?this._injectedTextDecorationsTree.insert(e):yy(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Sy(e)?this._injectedTextDecorationsTree.delete(e):yy(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Sy(e)?this._injectedTextDecorationsTree.resolveNode(e,t):yy(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,i){this._decorationsTree0.acceptReplace(e,t,n,i),this._decorationsTree1.acceptReplace(e,t,n,i),this._injectedTextDecorationsTree.acceptReplace(e,t,n,i)}}function ky(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class Ly{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class Dy extends Ly{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:bc.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const n=e?t.getColor(e.id):null;return n?n.toString():""}}class Ny{constructor(e){var t;this.position=null!==(t=null==e?void 0:e.position)&&void 0!==t?t:wc.Center,this.persistLane=null==e?void 0:e.persistLane}}class Ey extends Ly{constructor(e){var t,n;super(e),this.position=e.position,this.sectionHeaderStyle=null!==(t=e.sectionHeaderStyle)&&void 0!==t?t:null,this.sectionHeaderText=null!==(n=e.sectionHeaderText)&&void 0!==n?n:null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?lh.fromHex(e):t.getColor(e.id)}}class Iy{static from(e){return e instanceof Iy?e:new Iy(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class My{static register(e){return new My(e)}static createDynamic(e){return new My(e)}constructor(e){var t,n,i,o,s,r;this.description=e.description,this.blockClassName=e.blockClassName?ky(e.blockClassName):null,this.blockDoesNotCollapse=null!==(t=e.blockDoesNotCollapse)&&void 0!==t?t:null,this.blockIsAfterEnd=null!==(n=e.blockIsAfterEnd)&&void 0!==n?n:null,this.blockPadding=null!==(i=e.blockPadding)&&void 0!==i?i:null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?ky(e.className):null,this.shouldFillLineOnLineBreak=null!==(o=e.shouldFillLineOnLineBreak)&&void 0!==o?o:null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new Dy(e.overviewRuler):null,this.minimap=e.minimap?new Ey(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new Ny(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?ky(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?ky(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?ky(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?e.linesDecorationsTooltip.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?ky(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?ky(e.marginClassName):null,this.inlineClassName=e.inlineClassName?ky(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?ky(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?ky(e.afterContentClassName):null,this.after=e.after?Iy.from(e.after):null,this.before=e.before?Iy.from(e.before):null,this.hideInCommentTokens=null!==(s=e.hideInCommentTokens)&&void 0!==s&&s,this.hideInStringTokens=null!==(r=e.hideInStringTokens)&&void 0!==r&&r}}My.EMPTY=My.register({description:"empty"});const Ty=[My.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),My.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),My.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),My.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function Ay(e){return e instanceof My?e:My.createDynamic(e)}class Ry extends lt{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new Ct),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var e;this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),null===(e=this._affectedInjectedTextLines)||void 0===e||e.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){var t,n;this._affectsMinimap||(this._affectsMinimap=!!(null===(t=e.minimap)||void 0===t?void 0:t.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!(null===(n=e.overviewRuler)||void 0===n?void 0:n.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!e.glyphMarginClassName),this._affectsLineNumber||(this._affectsLineNumber=!!e.lineNumberClassName),this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}}class Py extends lt{constructor(){super(),this._fastEmitter=this._register(new Ct),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new Ct),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}class Oy{constructor(){this._onDidChangeVisibleRanges=new Ct,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new Fy((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class Fy{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const n=e.map((e=>new wh(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:n,stabilized:t})}}const By=km("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},_(0,"Overview ruler marker color for matching brackets."));class Wy{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}}class Vy extends lt{static get(e){return e.getContribution(Vy.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new jt((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition((e=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelContent((e=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModel((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelLanguageConfiguration((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeConfiguration((e=>{e.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((t=>{const n=t.getStartPosition(),i=e.bracketPairs.matchBracket(n);let o=null;if(i)i[0].containsPosition(n)&&!i[1].containsPosition(n)?o=i[1].getStartPosition():i[1].containsPosition(n)&&(o=i[0].getStartPosition());else{const t=e.bracketPairs.findEnclosingBrackets(n);if(t)o=t[1].getStartPosition();else{const t=e.bracketPairs.findNextBracket(n);t&&t.range&&(o=t.range.getStartPosition())}}return o?new ic(o.lineNumber,o.column,o.lineNumber,o.column):new ic(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(),n=[];this._editor.getSelections().forEach((i=>{const o=i.getStartPosition();let s=t.bracketPairs.matchBracket(o);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(o),!s)){const e=t.bracketPairs.findNextBracket(o);e&&e.range&&(s=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let r=null,l=null;if(s){s.sort(nc.compareRangesUsingStarts);const[t,n]=s;if(r=e?t.getStartPosition():t.getEndPosition(),l=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(o)){const e=r;r=l,l=e}}r&&l&&n.push(new ic(r.lineNumber,r.column,l.lineNumber,l.column))})),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach((n=>{const i=n.getPosition();let o=t.bracketPairs.matchBracket(i);o||(o=t.bracketPairs.findEnclosingBrackets(i)),o&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:o[0],text:""},{range:o[1],text:""}]),this._editor.pushUndoStop())}))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const e=[];let t=0;for(const n of this._lastBracketsData){const i=n.brackets;i&&(e[t++]={range:i[0],options:n.options},e[t++]={range:i[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const e=this._editor.getSelections();if(e.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getModel(),n=t.getVersionId();let i=[];this._lastVersionId===n&&(i=this._lastBracketsData);const o=[];let s=0;for(let t=0,n=e.length;t1&&o.sort(cd.compare);const r=[];let l=0,a=0;const d=i.length;for(let e=0,n=o.length;e!0,zy=()=>!1,Uy=e=>" "===e||"\t"===e;class Ky{static shouldRecreate(e){return e.hasChanged(145)||e.hasChanged(131)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(128)||e.hasChanged(50)||e.hasChanged(91)||e.hasChanged(130)}constructor(e,t,n,i){var o;this.languageConfigurationService=i,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const s=n.options,r=s.get(145),l=s.get(50);this.readOnly=s.get(91),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=s.get(116),this.lineHeight=l.lineHeight,this.typicalHalfwidthCharacterWidth=l.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(r.height/this.lineHeight)-2),this.useTabStops=s.get(128),this.wordSeparators=s.get(131),this.emptySelectionClipboard=s.get(37),this.copyWithSyntaxHighlighting=s.get(25),this.multiCursorMergeOverlapping=s.get(77),this.multiCursorPaste=s.get(79),this.multiCursorLimit=s.get(80),this.autoClosingBrackets=s.get(6),this.autoClosingComments=s.get(7),this.autoClosingQuotes=s.get(11),this.autoClosingDelete=s.get(9),this.autoClosingOvertype=s.get(10),this.autoSurround=s.get(14),this.autoIndent=s.get(12),this.wordSegmenterLocales=s.get(130),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const a=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(a)for(const e of a)this.surroundingPairs[e.open]=e.close;const d=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=null!==(o=null==d?void 0:d.blockCommentStartToken)&&void 0!==o?o:null}get electricChars(){var e;if(!this._electricChars){this._electricChars={};const t=null===(e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)||void 0===e?void 0:e.getElectricCharacters();if(t)for(const e of t)this._electricChars[e]=!0}return this._electricChars}onElectricCharacter(e,t,n){const i=Rh(t,n-1),o=this.languageConfigurationService.getLanguageConfiguration(i.languageId).electricCharacter;return o?o.onElectricCharacter(e,i,n-i.firstCharOffset):null}normalizeIndentation(e){return uh(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,n){switch(t){case"beforeWhitespace":return Uy;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,n);case"always":return Hy;case"never":return zy}}_getLanguageDefinedShouldAutoClose(e,t){const n=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return e=>-1!==n.indexOf(e)}visibleColumnFromColumn(e,t){return dh.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,n){const i=dh.columnFromVisibleColumn(e.getLineContent(t),n,this.tabSize),o=e.getLineMinColumn(t);if(is?s:i}}class jy{static fromModelState(e){return new qy(e)}static fromViewState(e){return new $y(e)}static fromModelSelection(e){const t=ic.liftSelection(e),n=new Gy(nc.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return jy.fromModelState(n)}static fromModelSelections(e){const t=[];for(let n=0,i=e.length;no,a=i>s,d=is)continue;if(pi)continue;if(g0&&i--,Xy.columnSelect(e,t,n.fromViewLineNumber,n.fromViewVisualColumn,n.toViewLineNumber,i)}static columnSelectRight(e,t,n){let i=0;const o=Math.min(n.fromViewLineNumber,n.toViewLineNumber),s=Math.max(n.fromViewLineNumber,n.toViewLineNumber);for(let n=o;n<=s;n++){const o=t.getLineMaxColumn(n),s=e.visibleColumnFromColumn(t,new cd(n,o));i=Math.max(i,s)}let r=n.toViewVisualColumn;return re.getLineMinColumn(t.lineNumber))return t.delta(void 0,-Ai(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const n=t.lineNumber-1;return new cd(n,e.getLineMaxColumn(n))}return t}static leftPositionAtomicSoftTabs(e,t,n){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const i=e.getLineMinColumn(t.lineNumber),o=e.getLineContent(t.lineNumber),s=iS.atomicPosition(o,t.column-1,n,0);if(-1!==s&&s+1>=i)return new cd(t.lineNumber,s+1)}return this.leftPosition(e,t)}static left(e,t,n){const i=e.stickyTabStops?sS.leftPositionAtomicSoftTabs(t,n,e.tabSize):sS.leftPosition(t,n);return new oS(i.lineNumber,i.column,0)}static moveLeft(e,t,n,i,o){let s,r;if(n.hasSelection()&&!i)s=n.selection.startLineNumber,r=n.selection.startColumn;else{const i=n.position.delta(void 0,-(o-1)),l=t.normalizePosition(sS.clipPositionColumn(i,t),0),a=sS.left(e,t,l);s=a.lineNumber,r=a.column}return n.move(i,s,r,0)}static clipPositionColumn(e,t){return new cd(e.lineNumber,sS.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,n){return en?n:e}static rightPosition(e,t,n){return nd?(n=d,i=r?t.getLineMaxColumn(n):Math.min(t.getLineMaxColumn(n),i)):i=e.columnFromVisibleColumn(t,n,a),o=h?0:a-dh.visibleColumnFromColumn(t.getLineContent(n),i,e.tabSize),void 0!==l){const e=new cd(n,i),s=t.normalizePosition(e,l);o+=i-s.column,n=s.lineNumber,i=s.column}return new oS(n,i,o)}static down(e,t,n,i,o,s,r){return this.vertical(e,t,n,i,o,n+s,r,4)}static moveDown(e,t,n,i,o){let s,r;n.hasSelection()&&!i?(s=n.selection.endLineNumber,r=n.selection.endColumn):(s=n.position.lineNumber,r=n.position.column);let l,a=0;do{if(l=sS.down(e,t,s+a,r,n.leftoverVisibleColumns,o,!0),t.normalizePosition(new cd(l.lineNumber,l.column),2).lineNumber>s)break}while(a++<10&&s+a1&&this._isBlankLine(t,o);)o--;for(;o>1&&!this._isBlankLine(t,o);)o--;return n.move(i,o,t.getLineMinColumn(o),0)}static moveToNextBlankLine(e,t,n,i){const o=t.getLineCount();let s=n.position.lineNumber;for(;s=u.length+1)return!1;const c=u.charAt(d.column-2),h=i.get(c);if(!h)return!1;if(Yy(c)){if("never"===n)return!1}else if("never"===t)return!1;const g=u.charAt(d.column-1);let p=!1;for(const e of h)e.open===c&&e.close===g&&(p=!0);if(!p)return!1;if("auto"===e){let e=!1;for(let t=0,n=r.length;t1){const e=t.getLineContent(i.lineNumber),o=hi(e),s=-1===o?e.length+1:o+1;if(i.column<=s){const e=n.visibleColumnFromColumn(t,i),o=dh.prevIndentTabStop(e,n.indentSize),s=n.columnFromVisibleColumn(t,i.lineNumber,o);return new nc(i.lineNumber,s,i.lineNumber,i.column)}}return nc.fromPositions(rS.getPositionAfterDeleteLeft(i,t),i)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const n=function(e,t){if(0===e)return 0;const n=function(e,t){const n=new Ii(t,e);let i=n.prevCodePoint();for(;$i(i)||65039===i||8419===i;){if(0===n.offset)return;i=n.prevCodePoint()}if(!Hi(i))return;let o=n.offset;return o>0&&8205===n.prevCodePoint()&&(o=n.offset),o}(e,t);if(void 0!==n)return n;const i=new Ii(t,e);return i.prevCodePoint(),i.offset}(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,n+1)}if(e.lineNumber>1){const n=e.lineNumber-1;return new cd(n,t.getLineMaxColumn(n))}return e}static cut(e,t,n){const i=[];let o=null;n.sort(((e,t)=>cd.compare(e.getStartPosition(),t.getEndPosition())));for(let s=0,r=n.length;s1&&(null==o?void 0:o.endLineNumber)!==e.lineNumber?(n=e.lineNumber-1,l=t.getLineMaxColumn(e.lineNumber-1),a=e.lineNumber,d=t.getLineMaxColumn(e.lineNumber)):(n=e.lineNumber,l=1,a=e.lineNumber,d=t.getLineMaxColumn(e.lineNumber));const u=new nc(n,l,a,d);o=u,u.isEmpty()?i[s]=null:i[s]=new Qy(u,"")}else i[s]=null;else i[s]=new Qy(r,"")}return new Zy(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class lS{static _createWord(e,t,n,i,o){return{start:i,end:o,wordType:t,nextCharClass:n}}static _createIntlWord(e,t){return{start:e.index,end:e.index+e.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(e,t,n){const i=t.getLineContent(n.lineNumber);return this._doFindPreviousWordOnLine(i,e,n)}static _doFindPreviousWordOnLine(e,t,n){let i=0;const o=t.findPrevIntlWordBeforeOrAtOffset(e,n.column-2);for(let s=n.column-2;s>=0;s--){const n=e.charCodeAt(s),r=t.get(n);if(o&&s===o.index)return this._createIntlWord(o,r);if(0===r){if(2===i)return this._createWord(e,i,r,s+1,this._findEndOfWord(e,t,i,s+1));i=1}else if(2===r){if(1===i)return this._createWord(e,i,r,s+1,this._findEndOfWord(e,t,i,s+1));i=2}else if(1===r&&0!==i)return this._createWord(e,i,r,s+1,this._findEndOfWord(e,t,i,s+1))}return 0!==i?this._createWord(e,i,1,0,this._findEndOfWord(e,t,i,0)):null}static _findEndOfWord(e,t,n,i){const o=t.findNextIntlWordAtOrAfterOffset(e,i),s=e.length;for(let r=i;r=0;s--){const i=e.charCodeAt(s),r=t.get(i);if(o&&s===o.index)return s;if(1===r)return s+1;if(1===n&&2===r)return s+1;if(2===n&&0===r)return s+1}return 0}static moveWordLeft(e,t,n,i){let o=n.lineNumber,s=n.column;1===s&&o>1&&(o-=1,s=t.getLineMaxColumn(o));let r=lS._findPreviousWordOnLine(e,t,new cd(o,s));if(0===i)return new cd(o,r?r.start+1:1);if(1===i)return r&&2===r.wordType&&r.end-r.start==1&&0===r.nextCharClass&&(r=lS._findPreviousWordOnLine(e,t,new cd(o,r.start+1))),new cd(o,r?r.start+1:1);if(3===i){for(;r&&2===r.wordType;)r=lS._findPreviousWordOnLine(e,t,new cd(o,r.start+1));return new cd(o,r?r.start+1:1)}return r&&s<=r.end+1&&(r=lS._findPreviousWordOnLine(e,t,new cd(o,r.start+1))),new cd(o,r?r.end+1:1)}static _moveWordPartLeft(e,t){const n=t.lineNumber,i=e.getLineMaxColumn(n);if(1===t.column)return n>1?new cd(n-1,e.getLineMaxColumn(n-1)):t;const o=e.getLineContent(n);for(let e=t.column-1;e>1;e--){const t=o.charCodeAt(e-2),s=o.charCodeAt(e-1);if(95===t&&95!==s)return new cd(n,e);if(45===t&&45!==s)return new cd(n,e);if((wi(t)||bi(t))&&Ci(s))return new cd(n,e);if(Ci(t)&&Ci(s)&&e+1=l.start+1&&(l=lS._findNextWordOnLine(e,t,new cd(o,l.end+1))),s=l?l.start+1:t.getLineMaxColumn(o);return new cd(o,s)}static _moveWordPartRight(e,t){const n=t.lineNumber,i=e.getLineMaxColumn(n);if(t.column===i)return n1?a=1:(l--,a=i.getLineMaxColumn(l)):(d&&a<=d.end+1&&(d=lS._findPreviousWordOnLine(n,i,new cd(l,d.start+1))),d?a=d.end+1:a>1?a=1:(l--,a=i.getLineMaxColumn(l))),new nc(l,a,r.lineNumber,r.column)}static deleteInsideWord(e,t,n){if(!n.isEmpty())return n;const i=new cd(n.positionLineNumber,n.positionColumn);return this._deleteInsideWordWhitespace(t,i)||this._deleteInsideWordDetermineDeleteRange(e,t,i)}static _charAtIsWhitespace(e,t){const n=e.charCodeAt(t);return 32===n||9===n}static _deleteInsideWordWhitespace(e,t){const n=e.getLineContent(t.lineNumber),i=n.length;if(0===i)return null;let o=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(n,o))return null;let s=Math.min(t.column-1,i-1);if(!this._charAtIsWhitespace(n,s))return null;for(;o>0&&this._charAtIsWhitespace(n,o-1);)o--;for(;s+11?new nc(n.lineNumber-1,t.getLineMaxColumn(n.lineNumber-1),n.lineNumber,1):n.lineNumbere.start+1<=n.column&&n.column<=e.end+1,r=(e,t)=>(e=Math.min(e,n.column),t=Math.max(t,n.column),new nc(n.lineNumber,e,n.lineNumber,t)),l=e=>{let t=e.start+1,n=e.end+1,s=!1;for(;n-11&&this._charAtIsWhitespace(i,t-2);)t--;return r(t,n)},a=lS._findPreviousWordOnLine(e,t,n);if(a&&s(a))return l(a);const d=lS._findNextWordOnLine(e,t,n);return d&&s(d)?l(d):a&&d?r(a.end+1,d.start+1):a?r(a.start+1,a.end+1):d?r(d.start+1,d.end+1):r(1,o+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const n=t.getPosition(),i=lS._moveWordPartLeft(e,n);return new nc(n.lineNumber,n.column,i.lineNumber,i.column)}static _findFirstNonWhitespaceChar(e,t){const n=e.length;for(let i=t;i=c.start+1&&(c=lS._findNextWordOnLine(n,i,new cd(l,c.end+1))),c?a=c.start+1:aBoolean(e)))}class uS{static addCursorDown(e,t,n){const i=[];let o=0;for(let s=0,r=t.length;st&&(n=t,i=e.model.getLineMaxColumn(n)),jy.fromModelState(new Gy(new nc(s.lineNumber,1,n,i),2,0,new cd(n,i),0))}const l=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumberl){const n=e.getLineCount();let i=r.lineNumber+1,o=1;return i>n&&(i=n,o=e.getLineMaxColumn(i)),jy.fromViewState(t.viewState.move(!0,i,o,0))}{const e=t.modelState.selectionStart.getEndPosition();return jy.fromModelState(t.modelState.move(!0,e.lineNumber,e.column,0))}}static word(e,t,n,i){const o=e.model.validatePosition(i);return jy.fromModelState(lS.word(e.cursorConfig,e.model,t.modelState,n,o))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new jy(t.modelState,t.viewState);const n=t.viewState.position.lineNumber,i=t.viewState.position.column;return jy.fromViewState(new Gy(new nc(n,i,n,i),0,0,new cd(n,i),0))}static moveTo(e,t,n,i,o){if(n){if(1===t.modelState.selectionStartKind)return this.word(e,t,n,i);if(2===t.modelState.selectionStartKind)return this.line(e,t,n,i,o)}const s=e.model.validatePosition(i),r=o?e.coordinatesConverter.validateViewPosition(new cd(o.lineNumber,o.column),s):e.coordinatesConverter.convertModelPositionToViewPosition(s);return jy.fromViewState(t.viewState.move(n,r.lineNumber,r.column,0))}static simpleMove(e,t,n,i,o,s){switch(n){case 0:return 4===s?this._moveHalfLineLeft(e,t,i):this._moveLeft(e,t,i,o);case 1:return 4===s?this._moveHalfLineRight(e,t,i):this._moveRight(e,t,i,o);case 2:return 2===s?this._moveUpByViewLines(e,t,i,o):this._moveUpByModelLines(e,t,i,o);case 3:return 2===s?this._moveDownByViewLines(e,t,i,o):this._moveDownByModelLines(e,t,i,o);case 4:return 2===s?t.map((t=>jy.fromViewState(sS.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,i)))):t.map((t=>jy.fromModelState(sS.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,i))));case 5:return 2===s?t.map((t=>jy.fromViewState(sS.moveToNextBlankLine(e.cursorConfig,e,t.viewState,i)))):t.map((t=>jy.fromModelState(sS.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,i))));case 6:return this._moveToViewMinColumn(e,t,i);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,i);case 8:return this._moveToViewCenterColumn(e,t,i);case 9:return this._moveToViewMaxColumn(e,t,i);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,i);default:return null}}static viewportMove(e,t,n,i,o){const s=e.getCompletelyVisibleViewRange(),r=e.coordinatesConverter.convertViewRangeToModelRange(s);switch(n){case 11:{const n=this._firstLineNumberInRange(e.model,r,o),s=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],i,n,s)]}case 13:{const n=this._lastLineNumberInRange(e.model,r,o),s=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],i,n,s)]}case 12:{const n=Math.round((r.startLineNumber+r.endLineNumber)/2),o=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],i,n,o)]}case 14:{const n=[];for(let o=0,r=t.length;on.endLineNumber-1?n.endLineNumber-1:ojy.fromViewState(sS.moveLeft(e.cursorConfig,e,t.viewState,n,i))))}static _moveHalfLineLeft(e,t,n){const i=[];for(let o=0,s=t.length;ojy.fromViewState(sS.moveRight(e.cursorConfig,e,t.viewState,n,i))))}static _moveHalfLineRight(e,t,n){const i=[];for(let o=0,s=t.length;o1&&0===o.firstCharOffset){const e=ip(t,n.startLineNumber-1);e.languageId===o.languageId&&(d=e.getLineContent())}const u=s.onEnter(e,d,l,a);if(!u)return null;const c=u.indentAction;let h=u.appendText;const g=u.removeText||0;h?c===Ih.Indent&&(h="\t"+h):h=c===Ih.Indent||c===Ih.IndentOutdent?"\t":"";let p=np(t,n.startLineNumber,n.startColumn);return g&&(p=p.substring(0,p.length-g)),{indentAction:c,appendText:h,removeText:g,indentation:p}}!function(e){e.metadata={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t",constraint:function(e){if(!aa(e))return!1;const t=e;return!(!la(t.to)||!ga(t.select)&&!ha(t.select)||!ga(t.by)&&!la(t.by)||!ga(t.value)&&!ua(t.value))},schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},e.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},e.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},e.parse=function(t){if(!t.to)return null;let n;switch(t.to){case e.RawDirection.Left:n=0;break;case e.RawDirection.Right:n=1;break;case e.RawDirection.Up:n=2;break;case e.RawDirection.Down:n=3;break;case e.RawDirection.PrevBlankLine:n=4;break;case e.RawDirection.NextBlankLine:n=5;break;case e.RawDirection.WrappedLineStart:n=6;break;case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter:n=7;break;case e.RawDirection.WrappedLineColumnCenter:n=8;break;case e.RawDirection.WrappedLineEnd:n=9;break;case e.RawDirection.WrappedLineLastNonWhitespaceCharacter:n=10;break;case e.RawDirection.ViewPortTop:n=11;break;case e.RawDirection.ViewPortBottom:n=13;break;case e.RawDirection.ViewPortCenter:n=12;break;case e.RawDirection.ViewPortIfOutside:n=14;break;default:return null}let i=0;switch(t.by){case e.RawUnit.Line:i=1;break;case e.RawUnit.WrappedLine:i=2;break;case e.RawUnit.Character:i=3;break;case e.RawUnit.HalfLine:i=4}return{direction:n,unit:i,select:!!t.select,value:t.value||1}}}(cS||(cS={}));var gS;const pS=Object.create(null);function mS(e,t){if(t<=0)return"";pS[e]||(pS[e]=["",e]);const n=pS[e];for(let i=n.length;i<=t;i++)n[i]=n[i-1]+e;return n[t]}let fS=gS=class{static unshiftIndent(e,t,n,i,o){const s=dh.visibleColumnFromColumn(e,t,n);if(o){const e=mS(" ",i);return mS(e,dh.prevIndentTabStop(s,i)/i)}return mS("\t",dh.prevRenderTabStop(s,n)/n)}static shiftIndent(e,t,n,i,o){const s=dh.visibleColumnFromColumn(e,t,n);if(o){const e=mS(" ",i);return mS(e,dh.nextIndentTabStop(s,i)/i)}return mS("\t",dh.nextRenderTabStop(s,n)/n)}constructor(e,t,n){this._languageConfigurationService=n,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,n){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,n):e.addEditOperation(t,n)}getEditOperations(e,t){const n=this._selection.startLineNumber;let i=this._selection.endLineNumber;1===this._selection.endColumn&&n!==i&&(i-=1);const{tabSize:o,indentSize:s,insertSpaces:r}=this._opts,l=n===i;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(n))&&(this._useLastEditRangeForCursorEndPosition=!0);let a=0,d=0;for(let u=n;u<=i;u++,a=d){d=0;const i=e.getLineContent(u);let c,h=hi(i);if((!this._opts.isUnshift||0!==i.length&&0!==h)&&(l||this._opts.isUnshift||0!==i.length)){if(-1===h&&(h=i.length),u>1&&dh.visibleColumnFromColumn(i,h+1,o)%s!=0&&e.tokenization.isCheapToTokenize(u-1)){const t=hS(this._opts.autoIndent,e,new nc(u-1,e.getLineMaxColumn(u-1),u-1,e.getLineMaxColumn(u-1)),this._languageConfigurationService);if(t){if(d=a,t.appendText)for(let e=0,n=t.appendText.length;e=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,Qg)],fS);class _S{constructor(e,t,n){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=n}getEditOperations(e,t){t.addTrackedEditOperation(new nc(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new nc(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(e,t){const n=t.getInverseEditOperations(),i=n[0].range,o=n[1].range;return new ic(i.endLineNumber,i.endColumn,o.endLineNumber,o.endColumn-this._charAfterSelection.length)}}class vS{constructor(e,t,n){this._position=e,this._text=t,this._charAfter=n}getEditOperations(e,t){t.addTrackedEditOperation(new nc(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return new ic(n.endLineNumber,n.startColumn,n.endLineNumber,n.endColumn-this._charAfter.length)}}function bS(e,t,n,i=!0,o){if(e<4)return null;const s=o.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!s)return null;if(n<=1)return{indentation:"",action:null};for(let e=n-1;e>0&&""===t.getLineContent(e);e--)if(1===e)return{indentation:"",action:null};const r=function(e,t,n){const i=e.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let o,s=-1;for(o=t-1;o>=1;o--){if(e.tokenization.getLanguageIdAtPosition(o,0)!==i)return s;const t=e.getLineContent(o);if(!n.shouldIgnore(t)&&!/^\s+$/.test(t)&&""!==t)return o;s=o}}return-1}(t,n,s);if(r<0)return null;if(r<1)return{indentation:"",action:null};const l=t.getLineContent(r);if(s.shouldIncrease(l)||s.shouldIndentNextLine(l))return{indentation:gi(l),action:Ih.Indent,line:r};if(s.shouldDecrease(l))return{indentation:gi(l),action:null,line:r};{if(1===r)return{indentation:gi(t.getLineContent(r)),action:null,line:r};const e=r-1,n=s.getIndentMetadata(t.getLineContent(e));if(!(3&n)&&4&n){let n=0;for(let i=e-1;i>0;i--)if(!s.shouldIndentNextLine(t.getLineContent(i))){n=i;break}return{indentation:gi(t.getLineContent(n+1)),action:null,line:n+1}}if(i)return{indentation:gi(t.getLineContent(r)),action:null,line:r};for(let e=r;e>0;e--){const n=t.getLineContent(e);if(s.shouldIncrease(n))return{indentation:gi(n),action:Ih.Indent,line:e};if(s.shouldIndentNextLine(n)){let n=0;for(let i=e-1;i>0;i--)if(!s.shouldIndentNextLine(t.getLineContent(e))){n=i;break}return{indentation:gi(t.getLineContent(n+1)),action:null,line:n+1}}if(s.shouldDecrease(n))return{indentation:gi(n),action:null,line:e}}return{indentation:gi(t.getLineContent(1)),action:null,line:1}}}function wS(e,t,n,i,o,s){if(e<4)return null;const r=s.getLanguageConfiguration(n);if(!r)return null;const l=s.getLanguageConfiguration(n).indentRulesSupport;if(!l)return null;const a=bS(e,t,i,void 0,s),d=t.getLineContent(i);if(a){const n=a.line;if(void 0!==n){let s=!0;for(let e=n;ee.getLineCount()?null:i.getIndentMetadata(e.getLineContent(t)):null}class yS{static indent(e,t,n){if(null===t||null===n)return[];const i=[];for(let t=0,o=n.length;t1){let i;for(i=n-1;i>=1&&!(pi(t.getLineContent(i))>=0);i--);if(i<1)return null;const s=t.getLineMaxColumn(i),r=hS(e.autoIndent,t,new nc(i,s,i,s),e.languageConfigurationService);r&&(o=r.indentation+r.appendText)}return i&&(i===Ih.Indent&&(o=yS.shiftIndent(e,o)),i===Ih.Outdent&&(o=yS.unshiftIndent(e,o)),o=e.normalizeIndentation(o)),o||null}static _replaceJumpToNextIndent(e,t,n,i){let o="";const s=n.getStartPosition();if(e.insertSpaces){const n=e.visibleColumnFromColumn(t,s),i=e.indentSize,r=i-n%i;for(let e=0;ethis._compositionType(n,e,o,s,r,l)));return new Zy(4,a,{shouldPushStackElementBefore:LS(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,n,i,o,s){if(!t.isEmpty())return null;const r=t.getPosition(),l=Math.max(1,r.column-i),a=Math.min(e.getLineMaxColumn(r.lineNumber),r.column+o),d=new nc(r.lineNumber,l,r.lineNumber,a);return e.getValueInRange(d)===n&&0===s?null:new tS(d,n,0,s)}static _typeCommand(e,t,n){return n?new eS(e,t,!0):new Qy(e,t,!0)}static _enter(e,t,n,i){if(0===e.autoIndent)return yS._typeCommand(i,"\n",n);if(!t.tokenization.isCheapToTokenize(i.getStartPosition().lineNumber)||1===e.autoIndent){const o=gi(t.getLineContent(i.startLineNumber)).substring(0,i.startColumn-1);return yS._typeCommand(i,"\n"+e.normalizeIndentation(o),n)}const o=hS(e.autoIndent,t,i,e.languageConfigurationService);if(o){if(o.indentAction===Ih.None)return yS._typeCommand(i,"\n"+e.normalizeIndentation(o.indentation+o.appendText),n);if(o.indentAction===Ih.Indent)return yS._typeCommand(i,"\n"+e.normalizeIndentation(o.indentation+o.appendText),n);if(o.indentAction===Ih.IndentOutdent){const t=e.normalizeIndentation(o.indentation),s=e.normalizeIndentation(o.indentation+o.appendText),r="\n"+s+"\n"+t;return n?new eS(i,r,!0):new tS(i,r,-1,s.length-t.length,!0)}if(o.indentAction===Ih.Outdent){const t=yS.unshiftIndent(e,o.indentation);return yS._typeCommand(i,"\n"+e.normalizeIndentation(t+o.appendText),n)}}const s=gi(t.getLineContent(i.startLineNumber)).substring(0,i.startColumn-1);if(e.autoIndent>=4){const o=function(e,t,n,i,o){if(e<4)return null;t.tokenization.forceTokenization(n.startLineNumber);const s=t.tokenization.getLineTokens(n.startLineNumber),r=Rh(s,n.startColumn-1),l=r.getLineContent();let a,d,u=!1;r.firstCharOffset>0&&s.getLanguageId(0)!==r.languageId?(u=!0,a=l.substr(0,n.startColumn-1-r.firstCharOffset)):a=s.getLineContent().substring(0,n.startColumn-1),d=n.isEmpty()?l.substr(n.startColumn-1-r.firstCharOffset):ip(t,n.endLineNumber,n.endColumn).getLineContent().substr(n.endColumn-1-r.firstCharOffset);const c=o.getLanguageConfiguration(r.languageId).indentRulesSupport;if(!c)return null;const h=a,g=gi(a),p={tokenization:{getLineTokens:e=>t.tokenization.getLineTokens(e),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(e,n)=>t.getLanguageIdAtPosition(e,n)},getLineContent:e=>e===n.startLineNumber?h:t.getLineContent(e)},m=gi(s.getLineContent()),f=bS(e,p,n.startLineNumber+1,void 0,o);if(!f){const e=u?m:g;return{beforeEnter:e,afterEnter:e}}let _=u?m:f.indentation;return f.action===Ih.Indent&&(_=i.shiftIndent(_)),c.shouldDecrease(d)&&(_=i.unshiftIndent(_)),{beforeEnter:u?m:g,afterEnter:_}}(e.autoIndent,t,i,{unshiftIndent:t=>yS.unshiftIndent(e,t),shiftIndent:t=>yS.shiftIndent(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)},e.languageConfigurationService);if(o){let s=e.visibleColumnFromColumn(t,i.getEndPosition());const r=i.endColumn,l=hi(t.getLineContent(i.endLineNumber));if(i=l>=0?i.setEndPosition(i.endLineNumber,Math.max(i.endColumn,l+1)):i.setEndPosition(i.endLineNumber,t.getLineMaxColumn(i.endLineNumber)),n)return new eS(i,"\n"+e.normalizeIndentation(o.afterEnter),!0);{let t=0;return r<=l+1&&(e.insertSpaces||(s=Math.ceil(s/e.indentSize)),t=Math.min(s+1-e.normalizeIndentation(o.afterEnter).length-1,0)),new tS(i,"\n"+e.normalizeIndentation(o.afterEnter),0,t,!0)}}}return yS._typeCommand(i,"\n"+e.normalizeIndentation(s),n)}static _isAutoIndentType(e,t,n){if(e.autoIndent<4)return!1;for(let e=0,i=n.length;eyS.shiftIndent(e,t),unshiftIndent:t=>yS.unshiftIndent(e,t)},e.languageConfigurationService);if(null===s)return null;if(s!==e.normalizeIndentation(o)){const o=t.getLineFirstNonWhitespaceColumn(n.startLineNumber);return 0===o?yS._typeCommand(new nc(n.startLineNumber,1,n.endLineNumber,n.endColumn),e.normalizeIndentation(s)+i,!1):yS._typeCommand(new nc(n.startLineNumber,1,n.endLineNumber,n.endColumn),e.normalizeIndentation(s)+t.getLineContent(n.startLineNumber).substring(o-1,n.startColumn-1)+i,!1)}return null}static _isAutoClosingOvertype(e,t,n,i,o){if("never"===e.autoClosingOvertype)return!1;if(!e.autoClosingPairs.autoClosingPairsCloseSingleChar.has(o))return!1;for(let s=0,r=n.length;s2?a.charCodeAt(l.column-2):0)&&d)return!1;if("auto"===e.autoClosingOvertype){let e=!1;for(let t=0,n=i.length;tt.startsWith(e.open))),r=o.some((e=>t.startsWith(e.close)));return!s&&r}static _findAutoClosingPairOpen(e,t,n,i){const o=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(i);if(!o)return null;let s=null;for(const e of o)if(null===s||e.open.length>s.open.length){let o=!0;for(const s of n)if(t.getValueInRange(new nc(s.lineNumber,s.column-e.open.length+1,s.lineNumber,s.column))+i!==e.open){o=!1;break}o&&(s=e)}return s}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const n=t.close.charAt(t.close.length-1),i=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(n)||[];let o=null;for(const e of i)e.open!==t.open&&t.open.includes(e.open)&&t.close.endsWith(e.close)&&(!o||e.open.length>o.open.length)&&(o=e);return o}static _getAutoClosingPairClose(e,t,n,i,o){for(const e of n)if(!e.isEmpty())return null;const s=n.map((e=>{const t=e.getPosition();return o?{lineNumber:t.lineNumber,beforeColumn:t.column-i.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}})),r=this._findAutoClosingPairOpen(e,t,s.map((e=>new cd(e.lineNumber,e.beforeColumn))),i);if(!r)return null;let l,a;if(Yy(i)?(l=e.autoClosingQuotes,a=e.shouldAutoCloseBefore.quote):e.blockCommentStartToken&&r.open.includes(e.blockCommentStartToken)?(l=e.autoClosingComments,a=e.shouldAutoCloseBefore.comment):(l=e.autoClosingBrackets,a=e.shouldAutoCloseBefore.bracket),"never"===l)return null;const d=this._findContainedAutoClosingPair(e,r),u=d?d.close:"";let c=!0;for(const n of s){const{lineNumber:o,beforeColumn:s,afterColumn:d}=n,h=t.getLineContent(o),g=h.substring(0,s-1),p=h.substring(d-1);if(p.startsWith(u)||(c=!1),p.length>0){const t=p.charAt(0);if(!yS._isBeforeClosingBrace(e,p)&&!a(t))return null}if(1===r.open.length&&("'"===i||'"'===i)&&"always"!==l){const t=Gw(e.wordSeparators,[]);if(g.length>0){const e=g.charCodeAt(g.length-1);if(0===t.get(e))return null}}if(!t.tokenization.isCheapToTokenize(o))return null;t.tokenization.forceTokenization(o);const m=Rh(t.tokenization.getLineTokens(o),s-1);if(!r.shouldAutoClose(m,s-m.firstCharOffset))return null;const f=r.findNeutralCharacter();if(f){const e=t.tokenization.getTokenTypeIfInsertingCharacter(o,s,f);if(!r.isOK(e))return null}}return c?r.close.substring(0,r.close.length-u.length):r.close}static _runAutoClosingOpenCharType(e,t,n,i,o,s,r){const l=[];for(let e=0,t=i.length;enew Qy(new nc(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),"",!1)));return new Zy(4,e,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const d=this._getAutoClosingPairClose(t,n,o,l,!0);return null!==d?this._runAutoClosingOpenCharType(e,t,n,o,l,!0,d):null}static typeWithInterceptors(e,t,n,i,o,s,r){if(!e&&"\n"===r){const e=[];for(let t=0,s=o.length;t{const n=e.get(ud).getFocusedCodeEditor();return!(!n||!n.hasTextFocus())&&this._runEditorCommand(e,n,t)})),e.addImplementation(1e3,"generic-dom-input-textarea",((e,t)=>{const n=Vs();return!!(n&&["input","textarea"].indexOf(n.tagName.toLowerCase())>=0)&&(this.runDOMCommand(n),!0)})),e.addImplementation(0,"generic-dom",((e,t)=>{const n=e.get(ud).getActiveCodeEditor();return!!n&&(n.focus(),this._runEditorCommand(e,n,t))}))}_runEditorCommand(e,t,n){return this.runEditorCommand(e,t,n)||!0}}!function(e){class t extends ES{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[uS.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&2!==t.revealType&&e.revealAllCursors(t.source,!0,!0))}}e.MoveTo=qu(new t({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=qu(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class n extends ES{runCoreEditorCommand(e,t){e.model.pushStackElement();const n=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);null!==n&&(e.setCursorStates(t.source,3,n.viewStates.map((e=>jy.fromViewState(e)))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:n.fromLineNumber,fromViewVisualColumn:n.fromVisualColumn,toViewLineNumber:n.toLineNumber,toViewVisualColumn:n.toVisualColumn}),n.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=qu(new class extends n{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(e,t,n,i){if(void 0===i.position||void 0===i.viewPosition||void 0===i.mouseColumn)return null;const o=e.model.validatePosition(i.position),s=e.coordinatesConverter.validateViewPosition(new cd(i.viewPosition.lineNumber,i.viewPosition.column),o),r=i.doColumnSelect?n.fromViewLineNumber:s.lineNumber,l=i.doColumnSelect?n.fromViewVisualColumn:i.mouseColumn-1;return Xy.columnSelect(e.cursorConfig,e,r,l,s.lineNumber,i.mouseColumn-1)}}),e.CursorColumnSelectLeft=qu(new class extends n{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,i){return Xy.columnSelectLeft(e.cursorConfig,e,n)}}),e.CursorColumnSelectRight=qu(new class extends n{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,i){return Xy.columnSelectRight(e.cursorConfig,e,n)}});class i extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,i){return Xy.columnSelectUp(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectUp=qu(new i({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=qu(new i({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3595,linux:{primary:0}}}));class o extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,i){return Xy.columnSelectDown(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectDown=qu(new o({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=qu(new o({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3596,linux:{primary:0}}}));class s extends ES{constructor(){super({id:"cursorMove",precondition:void 0,metadata:cS.metadata})}runCoreEditorCommand(e,t){const n=cS.parse(t);n&&this._runCursorMove(e,t.source,n)}_runCursorMove(e,t,n){e.model.pushStackElement(),e.setCursorStates(t,3,s._move(e,e.getCursorStates(),n)),e.revealAllCursors(t,!0)}static _move(e,t,n){const i=n.select,o=n.value;switch(n.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return uS.simpleMove(e,t,n.direction,i,o,n.unit);case 11:case 13:case 12:case 14:return uS.viewportMove(e,t,n.direction,i,o);default:return null}}}e.CursorMoveImpl=s,e.CursorMove=qu(new s);class r extends ES{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let n=this._staticArgs;-1===this._staticArgs.value&&(n={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,uS.simpleMove(e,e.getCursorStates(),n.direction,n.select,n.value,n.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=qu(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=qu(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1039}})),e.CursorRight=qu(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=qu(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1041}})),e.CursorUp=qu(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=qu(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=qu(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:11}})),e.CursorPageUpSelect=qu(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1035}})),e.CursorDown=qu(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=qu(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=qu(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:12}})),e.CursorPageDownSelect=qu(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1036}})),e.CreateCursor=qu(new class extends ES{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let n;n=t.wholeLine?uS.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):uS.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);const i=e.getCursorStates();if(i.length>1){const o=n.modelState?n.modelState.position:null,s=n.viewState?n.viewState.position:null;for(let n=0,r=i.length;ns&&(o=s);const r=new nc(o,1,o,e.model.getLineMaxColumn(o));let l=0;if(n.at)switch(n.at){case MS.RawAtArgument.Top:l=3;break;case MS.RawAtArgument.Center:l=1;break;case MS.RawAtArgument.Bottom:l=4}const a=e.coordinatesConverter.convertModelRangeToViewRange(r);e.revealRange(t.source,!1,a,l,0)}}),e.SelectAll=new class extends AS{constructor(){super(tc)}runDOMCommand(e){a&&(e.focus(),e.select()),e.ownerDocument.execCommand("selectAll")}runEditorCommand(e,t,n){const i=t._getViewModel();i&&this.runCoreEditorCommand(i,n)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates("keyboard",3,[uS.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=qu(new class extends ES{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[jy.fromModelSelection(t.selection)]))}})}(TS||(TS={}));const RS=Bd.and(oc.textInputFocus,oc.columnSelection);function PS(e,t){vu.registerKeybindingRule({id:e,primary:t,when:RS,weight:1})}function OS(e){return e.register(),e}var FS,BS;PS(TS.CursorColumnSelectLeft.id,1039),PS(TS.CursorColumnSelectRight.id,1041),PS(TS.CursorColumnSelectUp.id,1040),PS(TS.CursorColumnSelectPageUp.id,1035),PS(TS.CursorColumnSelectDown.id,1042),PS(TS.CursorColumnSelectPageDown.id,1036),function(e){class t extends Hu{runEditorCommand(e,t,n){const i=t._getViewModel();i&&this.runCoreEditingCommand(t,i,n||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=qu(new class extends t{constructor(){super({id:"lineBreakInsert",precondition:oc.writable,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,yS.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection))))}}),e.Outdent=qu(new class extends t{constructor(){super({id:"outdent",precondition:oc.writable,kbOpts:{weight:0,kbExpr:Bd.and(oc.editorTextFocus,oc.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,yS.outdent(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.Tab=qu(new class extends t{constructor(){super({id:"tab",precondition:oc.writable,kbOpts:{weight:0,kbExpr:Bd.and(oc.editorTextFocus,oc.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,yS.tab(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.DeleteLeft=qu(new class extends t{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,n){const[i,o]=rS.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)),t.getCursorAutoClosedCharacters());i&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(2)}}),e.DeleteRight=qu(new class extends t{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,n){const[i,o]=rS.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)));i&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(3)}}),e.Undo=new class extends AS{constructor(){super(Ju)}runDOMCommand(e){e.ownerDocument.execCommand("undo")}runEditorCommand(e,t,n){if(t.hasModel()&&!0!==t.getOption(91))return t.getModel().undo()}},e.Redo=new class extends AS{constructor(){super(ec)}runDOMCommand(e){e.ownerDocument.execCommand("redo")}runEditorCommand(e,t,n){if(t.hasModel()&&!0!==t.getOption(91))return t.getModel().redo()}}}(FS||(FS={}));class WS extends Bu{constructor(e,t,n){super({id:e,precondition:void 0,metadata:n}),this._handlerId=t}runCommand(e,t){const n=e.get(ud).getFocusedCodeEditor();n&&n.trigger("keyboard",this._handlerId,t)}}function VS(e,t){OS(new WS("default:"+e,e)),OS(new WS(e,e,t))}VS("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),VS("replacePreviousChar"),VS("compositionType"),VS("compositionStart"),VS("compositionEnd"),VS("paste"),VS("cut");class HS{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const n=this._selection.startLineNumber,i=this._selection.startColumn,o=this._selection.endColumn;if((!this._isMovingLeft||1!==i)&&(this._isMovingLeft||o!==e.getLineMaxColumn(n)))if(this._isMovingLeft){const s=new nc(n,i-1,n,i),r=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new nc(n,o,n,o),r)}else{const s=new nc(n,o,n,o+1),r=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new nc(n,i,n,i),r)}}computeCursorState(e,t){return this._isMovingLeft?new ic(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new ic(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class zS extends zu{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const n=[],i=t.getSelections();for(const e of i)n.push(new HS(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}$u(class extends zS{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:_(0,"Move Selected Text Left"),alias:"Move Selected Text Left",precondition:oc.writable})}}),$u(class extends zS{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:_(0,"Move Selected Text Right"),alias:"Move Selected Text Right",precondition:oc.writable})}}),$u(class extends zu{constructor(){super({id:"editor.action.transposeLetters",label:_(0,"Transpose Letters"),alias:"Transpose Letters",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const n=t.getModel(),i=[],o=t.getSelections();for(const e of o){if(!e.isEmpty())continue;const t=e.startLineNumber,o=e.startColumn,s=n.getLineMaxColumn(t);if(1===t&&(1===o||2===o&&2===s))continue;const r=o===s?e.getPosition():sS.rightPosition(n,e.getPosition().lineNumber,e.getPosition().column),l=sS.leftPosition(n,r),a=sS.leftPosition(n,l),d=n.getValueInRange(nc.fromPositions(a,l)),u=n.getValueInRange(nc.fromPositions(l,r)),c=nc.fromPositions(a,r);i.push(new Qy(c,u+d))}i.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}});class US{get event(){return this.emitter.event}constructor(e,t,n){const i=e=>this.emitter.fire(e);this.emitter=new Ct({onWillAddFirstListener:()=>e.addEventListener(t,i,n),onDidRemoveLastListener:()=>e.removeEventListener(t,i,n)})}dispose(){this.emitter.dispose()}}!function(e){const t={total:0,min:Number.MAX_VALUE,max:0},n={...t},i={...t},o={...t};let s=0;const r={keydown:0,input:0,render:0};function l(){1===r.keydown&&(performance.mark("keydown/end"),r.keydown=2)}function a(){performance.mark("input/start"),r.input=1,c()}function d(){1===r.input&&(performance.mark("input/end"),r.input=2)}function u(){1===r.render&&(performance.mark("render/end"),r.render=2)}function c(){setTimeout(h)}function h(){2===r.keydown&&2===r.input&&2===r.render&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),g("keydown",t),g("input",n),g("render",i),g("inputlatency",o),s++,performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),r.keydown=0,r.input=0,r.render=0)}function g(e,t){const n=performance.getEntriesByName(e)[0].duration;t.total+=n,t.min=Math.min(t.min,n),t.max=Math.max(t.max,n)}function p(e){return{average:e.total/s,max:e.max,min:e.min}}function m(e){e.total=0,e.min=Number.MAX_VALUE,e.max=0}e.onKeyDown=function(){h(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(l)},e.onBeforeInput=a,e.onInput=function(){0===r.input&&a(),queueMicrotask(d)},e.onKeyUp=function(){h()},e.onSelectionChange=function(){h()},e.onRenderStart=function(){2===r.keydown&&2===r.input&&0===r.render&&(performance.mark("render/start"),r.render=1,queueMicrotask(u),c())},e.getAndClearMeasurements=function(){if(0===s)return;const e={keydown:p(t),input:p(n),render:p(i),total:p(o),sampleCount:s};return m(t),m(n),m(i),m(o),s=0,e}}(BS||(BS={}));class KS{constructor(e,t,n,i,o){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selection=i,this.newlineCountBeforeSelection=o}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const n=e.getValue(),i=e.getSelectionStart(),o=e.getSelectionEnd();let s;return t&&n.substring(0,i)===t.value.substring(0,t.selectionStart)&&(s=t.newlineCountBeforeSelection),new KS(n,i,o,null,s)}collapseSelection(){return this.selectionStart===this.value.length?this:new KS(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,n){t.setValue(e,this.value),n&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){var t,n,i,o,s,r,l,a;if(e<=this.selectionStart){const i=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(null!==(n=null===(t=this.selection)||void 0===t?void 0:t.getStartPosition())&&void 0!==n?n:null,i,-1)}if(e>=this.selectionEnd){const t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(null!==(o=null===(i=this.selection)||void 0===i?void 0:i.getEndPosition())&&void 0!==o?o:null,t,1)}const d=this.value.substring(this.selectionStart,e);if(-1===d.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(null!==(r=null===(s=this.selection)||void 0===s?void 0:s.getStartPosition())&&void 0!==r?r:null,d,1);const u=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(null!==(a=null===(l=this.selection)||void 0===l?void 0:l.getEndPosition())&&void 0!==a?a:null,u,-1)}_finishDeduceEditorPosition(e,t,n){let i=0,o=-1;for(;-1!==(o=t.indexOf("\n",o+1));)i++;return[e,n*t.length,i]}static deduceInput(e,t,n){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const i=Math.min(xi(e.value,t.value),e.selectionStart,t.selectionStart),o=Math.min(ki(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd),s=(e.value.substring(i,e.value.length-o),t.value.substring(i,t.value.length-o)),r=e.selectionStart-i,l=e.selectionEnd-i;if(t.selectionStart-i===t.selectionEnd-i){return{text:s,replacePrevCharCnt:e.selectionStart-i,replaceNextCharCnt:0,positionDelta:0}}return{text:s,replacePrevCharCnt:l-r,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const n=Math.min(xi(e.value,t.value),e.selectionEnd),i=Math.min(ki(e.value,t.value),e.value.length-e.selectionEnd),o=e.value.substring(n,e.value.length-i),s=t.value.substring(n,t.value.length-i),r=(e.selectionStart,e.selectionEnd-n),l=(t.selectionStart,t.selectionEnd-n);return{text:s,replacePrevCharCnt:r,replaceNextCharCnt:o.length-r,positionDelta:l-s.length}}}KS.EMPTY=new KS("",0,0,null,void 0);class jS{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const n=e*t;return new nc(n+1,1,n+t+1,1)}static fromEditorSelection(e,t,n,i){const o=500,s=jS._getPageOfLine(t.startLineNumber,n),r=jS._getRangeForPage(s,n),l=jS._getPageOfLine(t.endLineNumber,n),a=jS._getRangeForPage(l,n);let d=r.intersectRanges(new nc(1,1,t.startLineNumber,t.startColumn));if(i&&e.getValueLengthInRange(d,1)>o){const t=e.modifyPosition(d.getEndPosition(),-500);d=nc.fromPositions(t,d.getEndPosition())}const u=e.getValueInRange(d,1),c=e.getLineCount(),h=e.getLineMaxColumn(c);let g=a.intersectRanges(new nc(t.endLineNumber,t.endColumn,c,h));if(i&&e.getValueLengthInRange(g,1)>o){const t=e.modifyPosition(g.getStartPosition(),o);g=nc.fromPositions(g.getStartPosition(),t)}const p=e.getValueInRange(g,1);let m;if(s===l||s+1===l)m=e.getValueInRange(t,1);else{const n=r.intersectRanges(t),i=a.intersectRanges(t);m=e.getValueInRange(n,1)+String.fromCharCode(8230)+e.getValueInRange(i,1)}return i&&m.length>1e3&&(m=m.substring(0,o)+String.fromCharCode(8230)+m.substring(m.length-o,m.length)),new KS(u+m+p,u.length,u.length+m.length,t,d.endLineNumber-d.startLineNumber)}}const qS=dd("accessibilityService"),$S=new ou("accessibilityModeEnabled",!1);var GS,ZS=function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.Tap="-monaco-textarea-synthetic-tap"}(GS||(GS={}));const YS={forceCopyWithSyntaxHighlighting:!1};class XS{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}XS.INSTANCE=new XS;class QS{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){const t={text:e=e||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let JS=class extends lt{get textAreaState(){return this._textAreaState}constructor(e,t,n,i,o,s){super(),this._host=e,this._textArea=t,this._OS=n,this._browser=i,this._accessibilityService=o,this._logService=s,this._onFocus=this._register(new Ct),this.onFocus=this._onFocus.event,this._onBlur=this._register(new Ct),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new Ct),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new Ct),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new Ct),this.onCut=this._onCut.event,this._onPaste=this._register(new Ct),this.onPaste=this._onPaste.event,this._onType=this._register(new Ct),this.onType=this._onType.event,this._onCompositionStart=this._register(new Ct),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new Ct),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new Ct),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new Ct),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new at),this._asyncTriggerCut=this._register(new jt((()=>this._onCut.fire()),0)),this._textAreaState=KS.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(ft.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new jt((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)):this._asyncFocusGainWriteScreenReaderContent.clear()}))),this._hasFocus=!1,this._currentComposition=null;let r=null;this._register(this._textArea.onKeyDown((e=>{const t=new Ue(e);(114===t.keyCode||this._currentComposition&&1===t.keyCode)&&t.stopPropagation(),t.equals(9)&&t.preventDefault(),r=t,this._onKeyDown.fire(t)}))),this._register(this._textArea.onKeyUp((e=>{const t=new Ue(e);this._onKeyUp.fire(t)}))),this._register(this._textArea.onCompositionStart((e=>{const t=new QS;if(this._currentComposition)this._currentComposition=t;else{if(this._currentComposition=t,2===this._OS&&r&&r.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&("ArrowRight"===r.code||"ArrowLeft"===r.code))return t.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:e.data});this._browser.isAndroid,this._onCompositionStart.fire({data:e.data})}}))),this._register(this._textArea.onCompositionUpdate((e=>{const t=this._currentComposition;if(!t)return;if(this._browser.isAndroid){const t=KS.readFromTextArea(this._textArea,this._textAreaState),n=KS.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(n),void this._onCompositionUpdate.fire(e)}const n=t.handleCompositionUpdate(e.data);this._textAreaState=KS.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(n),this._onCompositionUpdate.fire(e)}))),this._register(this._textArea.onCompositionEnd((e=>{const t=this._currentComposition;if(!t)return;if(this._currentComposition=null,this._browser.isAndroid){const e=KS.readFromTextArea(this._textArea,this._textAreaState),t=KS.deduceAndroidCompositionInput(this._textAreaState,e);return this._textAreaState=e,this._onType.fire(t),void this._onCompositionEnd.fire()}const n=t.handleCompositionUpdate(e.data);this._textAreaState=KS.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(n),this._onCompositionEnd.fire()}))),this._register(this._textArea.onInput((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=KS.readFromTextArea(this._textArea,this._textAreaState),n=KS.deduceInput(this._textAreaState,t,2===this._OS);(0!==n.replacePrevCharCnt||1!==n.text.length||!Li(n.text.charCodeAt(0))&&127!==n.text.charCodeAt(0))&&(this._textAreaState=t,""===n.text&&0===n.replacePrevCharCnt&&0===n.replaceNextCharCnt&&0===n.positionDelta||this._onType.fire(n))}))),this._register(this._textArea.onCut((e=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(e),this._asyncTriggerCut.schedule()}))),this._register(this._textArea.onCopy((e=>{this._ensureClipboardGetsEditorSelection(e)}))),this._register(this._textArea.onPaste((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),e.preventDefault(),!e.clipboardData)return;let[t,n]=ex.getTextData(e.clipboardData);t&&(n=n||XS.INSTANCE.get(t),this._onPaste.fire({text:t,metadata:n}))}))),this._register(this._textArea.onFocus((()=>{const e=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!e&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new jt((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())}))),this._register(this._textArea.onBlur((()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)}))),this._register(this._textArea.onSyntheticTap((()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())})))}_installSelectionChangeListener(){let e=0;return ms(this._textArea.ownerDocument,"selectionchange",(t=>{if(BS.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const n=Date.now(),i=n-e;if(e=n,i<5)return;const o=n-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),o<100)return;if(!this._textAreaState.selection)return;const s=this._textArea.getValue();if(this._textAreaState.value!==s)return;const r=this._textArea.getSelectionStart(),l=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===r&&this._textAreaState.selectionEnd===l)return;const a=this._textAreaState.deduceEditorPosition(r),d=this._host.deduceModelPosition(a[0],a[1],a[2]),u=this._textAreaState.deduceEditorPosition(l),c=this._host.deduceModelPosition(u[0],u[1],u[2]),h=new ic(d.lineNumber,d.column,c.lineNumber,c.column);this._onSelectionChangeRequest.fire(h)}))}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&"render"===e||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${e})`),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),n={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};XS.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,"\n"):t.text,n),e.preventDefault(),e.clipboardData&&ex.setTextData(e.clipboardData,t.text,t.html,n)}};JS=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([ZS(4,qS),ZS(5,Tu)],JS);const ex={getTextData(e){const t=e.getData(xg.text);let n=null;const i=e.getData("vscode-editor-data");if("string"==typeof i)try{n=JSON.parse(i),1!==n.version&&(n=null)}catch(e){}return 0===t.length&&null===n&&e.files.length>0?[Array.prototype.slice.call(e.files,0).map((e=>e.name)).join("\n"),null]:[t,n]},setTextData(e,t,n,i){e.setData(xg.text,t),"string"==typeof n&&e.setData("text/html",n),e.setData("vscode-editor-data",JSON.stringify(i))}};class tx extends lt{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new US(this._actual,"keydown")).event,this.onKeyUp=this._register(new US(this._actual,"keyup")).event,this.onCompositionStart=this._register(new US(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new US(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new US(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new US(this._actual,"beforeinput")).event,this.onInput=this._register(new US(this._actual,"input")).event,this.onCut=this._register(new US(this._actual,"cut")).event,this.onCopy=this._register(new US(this._actual,"copy")).event,this.onPaste=this._register(new US(this._actual,"paste")).event,this.onFocus=this._register(new US(this._actual,"focus")).event,this.onBlur=this._register(new US(this._actual,"blur")).event,this._onSyntheticTap=this._register(new Ct),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown((()=>BS.onKeyDown()))),this._register(this.onBeforeInput((()=>BS.onBeforeInput()))),this._register(this.onInput((()=>BS.onInput()))),this._register(this.onKeyUp((()=>BS.onKeyUp()))),this._register(ms(this._actual,GS.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const e=Ws(this._actual);return e?e.activeElement===this._actual:!!this._actual.isConnected&&Vs()===this._actual}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const n=this._actual;n.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),n.value=t)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,n){const i=this._actual;let o=null;const s=Ws(i);o=s?s.activeElement:Vs();const r=is(o),l=o===i,d=i.selectionStart,u=i.selectionEnd;if(l&&d===t&&u===n)a&&r.parent!==r&&i.focus();else{if(l)return this.setIgnoreSelectionChangeTime("setSelectionRange"),i.setSelectionRange(t,n),void(a&&r.parent!==r&&i.focus());try{const e=function(e){const t=[];for(let n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t}(i);this.setIgnoreSelectionChangeTime("setSelectionRange"),i.focus(),i.setSelectionRange(t,n),function(e,t){for(let n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode}(i,e)}catch(e){}}}}const nx=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let e;e="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(e){for(let t=0;te,asFile:()=>{},value:"string"==typeof e?e:void 0}}class ox{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 Ye.some(this,(([e,t])=>t.asFile()))&&t.push("files"),lx(sx(e),t)}get(e){var t;return null===(t=this._entries.get(this.toKey(e)))||void 0===t?void 0:t[0]}append(e,t){const n=this._entries.get(e);n?n.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 n of t)yield[e,n]}toKey(e){return sx(e)}}function sx(e){return e.toLowerCase()}function rx(e,t){return lx(sx(e),t.map(sx))}function lx(e,t){if("*/*"===e)return t.length>0;if(t.includes(e))return!0;const n=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!n)return!1;const[i,o,s]=n;return"*"===s&&t.some((e=>e.startsWith(o+"/")))}const ax=Object.freeze({create:e=>Vc(e.map((e=>e.toString()))).join("\r\n"),split:e=>e.split("\r\n"),parse:e=>ax.split(e).filter((e=>!e.startsWith("#")))});class dx{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+dx.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new dx((this.value?[this.value,...e]:e).join(dx.sep))}}dx.sep=".",dx.None=new dx("@@none@@"),dx.Empty=new dx("");const ux={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:xg.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"};fu.add("workbench.contributions.dragAndDrop",new class{});class cx{constructor(){}static getInstance(){return cx.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}}function hx(e){const t=new ox;for(const n of e.items){const e=n.type;if("string"===n.kind){const i=new Promise((e=>n.getAsString(e)));t.append(e,ix(i))}else if("file"===n.kind){const i=n.getAsFile();i&&t.append(e,gx(i))}}return t}function gx(e){const t=e.path?Io.parse(e.path):void 0;return function(e,t,n){const i={id:nx(),name:e,uri:t,data:n};return{asString:async()=>"",asFile:()=>i,value:void 0}}(e.name,t,(async()=>new Uint8Array(await e.arrayBuffer())))}cx.INSTANCE=new cx;const px=Object.freeze(["CodeEditors","CodeFiles",ux.RESOURCES,ux.INTERNAL_URI_LIST]);function mx(e,t=!1){const n=hx(e),i=n.get(ux.INTERNAL_URI_LIST);if(i)n.replace(xg.uriList,i);else if(t||!n.has(xg.uriList)){const t=[];for(const n of e.items){const e=n.getAsFile();if(e){const n=e.path;try{n?t.push(Io.file(n).toString()):t.push(Io.parse(e.name,!0).toString())}catch(e){}}}t.length&&n.replace(xg.uriList,ix(ax.create(t)))}for(const e of px)n.delete(e);return n}const fx=dd("IWorkspaceEditService");class _x{constructor(e){this.metadata=e}static convert(e){return e.edits.map((e=>{if(vx.is(e))return vx.lift(e);if(bx.is(e))return bx.lift(e);throw new Error("Unsupported edit")}))}}class vx extends _x{static is(e){return e instanceof vx||aa(e)&&Io.isUri(e.resource)&&aa(e.textEdit)}static lift(e){return e instanceof vx?e:new vx(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,n=void 0,i){super(i),this.resource=e,this.textEdit=t,this.versionId=n}}class bx extends _x{static is(e){return e instanceof bx||aa(e)&&(Boolean(e.newResource)||Boolean(e.oldResource))}static lift(e){return e instanceof bx?e:new bx(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,n={},i){super(i),this.oldResource=e,this.newResource=t,this.options=n}}const wx=dd("ILanguageFeaturesService");class Cx{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const e=this._value.charCodeAt(t);if(!(47===e||this._splitOnBackslash&&92===e))break}return this.next()}hasNext(){return this._to!1),t=(()=>!1)){return new Lx(new xx(e,t))}static forStrings(){return new Lx(new Cx)}static forConfigKeys(){return new Lx(new yx)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const n=this._iter.reset(e);let i;this._root||(this._root=new kx,this._root.segment=n.value());const o=[];for(i=this._root;;){const e=n.cmp(i.segment);if(e>0)i.left||(i.left=new kx,i.left.segment=n.value()),o.push([-1,i]),i=i.left;else if(e<0)i.right||(i.right=new kx,i.right.segment=n.value()),o.push([1,i]),i=i.right;else{if(!n.hasNext())break;n.next(),i.mid||(i.mid=new kx,i.mid.segment=n.value()),o.push([0,i]),i=i.mid}}const s=i.value;i.value=t,i.key=e;for(let e=o.length-1;e>=0;e--){const t=o[e][1];t.updateHeight();const n=t.balanceFactor();if(n<-1||n>1){const n=o[e][0],i=o[e+1][0];if(1===n&&1===i)o[e][1]=t.rotateLeft();else if(-1===n&&-1===i)o[e][1]=t.rotateRight();else if(1===n&&-1===i)t.right=o[e+1][1]=o[e+1][1].rotateRight(),o[e][1]=t.rotateLeft();else{if(-1!==n||1!==i)throw new Error;t.left=o[e+1][1]=o[e+1][1].rotateLeft(),o[e][1]=t.rotateRight()}if(e>0)switch(o[e-1][0]){case-1:o[e-1][1].left=o[e][1];break;case 1:o[e-1][1].right=o[e][1];break;case 0:o[e-1][1].mid=o[e][1]}else this._root=o[0][1]}}return s}get(e){var t;return null===(t=this._getNode(e))||void 0===t?void 0:t.value}_getNode(e){const t=this._iter.reset(e);let n=this._root;for(;n;){const e=t.cmp(n.segment);if(e>0)n=n.left;else if(e<0)n=n.right;else{if(!t.hasNext())break;t.next(),n=n.mid}}return n}has(e){const t=this._getNode(e);return!(void 0===(null==t?void 0:t.value)&&void 0===(null==t?void 0:t.mid))}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){var n;const i=this._iter.reset(e),o=[];let s=this._root;for(;s;){const e=i.cmp(s.segment);if(e>0)o.push([-1,s]),s=s.left;else if(e<0)o.push([1,s]),s=s.right;else{if(!i.hasNext())break;i.next(),o.push([0,s]),s=s.mid}}if(s){if(t?(s.left=void 0,s.mid=void 0,s.right=void 0,s.height=1):(s.key=void 0,s.value=void 0),!s.mid&&!s.value)if(s.left&&s.right){const e=this._min(s.right);if(e.key){const{key:t,value:n,segment:i}=e;this._delete(e.key,!1),s.key=t,s.value=n,s.segment=i}}else{const e=null!==(n=s.left)&&void 0!==n?n:s.right;if(o.length>0){const[t,n]=o[o.length-1];switch(t){case-1:n.left=e;break;case 0:n.mid=e;break;case 1:n.right=e}}else this._root=e}for(let e=o.length-1;e>=0;e--){const t=o[e][1];t.updateHeight();const n=t.balanceFactor();if(n>1?(t.right.balanceFactor()>=0||(t.right=t.right.rotateRight()),o[e][1]=t.rotateLeft()):n<-1&&(t.left.balanceFactor()<=0||(t.left=t.left.rotateLeft()),o[e][1]=t.rotateRight()),e>0)switch(o[e-1][0]){case-1:o[e-1][1].left=o[e][1];break;case 1:o[e-1][1].right=o[e][1];break;case 0:o[e-1][1].mid=o[e][1]}else this._root=o[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let n,i=this._root;for(;i;){const e=t.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!t.hasNext())break;t.next(),n=i.value||n,i=i.mid}}return i&&i.value||n}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const n=this._iter.reset(e);let i=this._root;for(;i;){const e=n.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!n.hasNext())return i.mid?this._entries(i.mid):t?i.value:void 0;n.next(),i=i.mid}}}forEach(e){for(const[t,n]of this)e(n,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const Dx=dd("contextService");function Nx(e){const t=e;return"string"==typeof(null==t?void 0:t.id)&&Io.isUri(t.uri)}const Ex={id:"empty-window"};class Ix{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const Mx=(_(0,"Code Workspace"),"4064f6ec-cb38-4ad0-af64-ee6467e63c82");var Tx=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Ax=function(e,t){return function(n,i){t(n,i,e)}};class Rx{async provideDocumentPasteEdits(e,t,n,i,o){const s=await this.getEdit(n,o);if(s)return{dispose(){},edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}]}}async provideDocumentOnDropEdits(e,t,n,i){const o=await this.getEdit(n,i);return o?[{insertText:o.insertText,title:o.title,kind:o.kind,handledMimeType:o.handledMimeType,yieldTo:o.yieldTo}]:void 0}}class Px extends Rx{constructor(){super(...arguments),this.kind=Px.kind,this.dropMimeTypes=[xg.text],this.pasteMimeTypes=[xg.text]}async getEdit(e,t){const n=e.get(xg.text);if(!n)return;if(e.has(xg.uriList))return;const i=await n.asString();return{handledMimeType:xg.text,title:_(0,"Insert Plain Text"),insertText:i,kind:this.kind}}}Px.id="text",Px.kind=new dx("text.plain");class Ox extends Rx{constructor(){super(...arguments),this.kind=new dx("uri.absolute"),this.dropMimeTypes=[xg.uriList],this.pasteMimeTypes=[xg.uriList]}async getEdit(e,t){const n=await Wx(e);if(!n.length||t.isCancellationRequested)return;let i=0;const o=n.map((({uri:e,originalText:t})=>e.scheme===Ho.file?e.fsPath:(i++,t))).join(" ");let s;return s=i>0?n.length>1?_(0,"Insert Uris"):_(0,"Insert Uri"):n.length>1?_(0,"Insert Paths"):_(0,"Insert Path"),{handledMimeType:xg.uriList,insertText:o,title:s,kind:this.kind}}}let Fx=class extends Rx{constructor(e){super(),this._workspaceContextService=e,this.kind=new dx("uri.relative"),this.dropMimeTypes=[xg.uriList],this.pasteMimeTypes=[xg.uriList]}async getEdit(e,t){const n=await Wx(e);if(!n.length||t.isCancellationRequested)return;const i=Oc(n.map((({uri:e})=>{const t=this._workspaceContextService.getWorkspaceFolder(e);return t?Za(t.uri,e):void 0})));return i.length?{handledMimeType:xg.uriList,insertText:i.join(" "),title:n.length>1?_(0,"Insert Relative Paths"):_(0,"Insert Relative Path"),kind:this.kind}:void 0}};Fx=Tx([Ax(0,Dx)],Fx);class Bx{constructor(){this.kind=new dx("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:xg.text}]}async provideDocumentPasteEdits(e,t,n,i,o){var s;if(i.triggerKind!==bC.PasteAs&&!(null===(s=i.only)||void 0===s?void 0:s.contains(this.kind)))return;const r=n.get("text/html"),l=await(null==r?void 0:r.asString());return l&&!o.isCancellationRequested?{dispose(){},edits:[{insertText:l,yieldTo:this._yieldTo,title:_(0,"Insert HTML"),kind:this.kind}]}:void 0}}async function Wx(e){const t=e.get(xg.uriList);if(!t)return[];const n=await t.asString(),i=[];for(const e of ax.parse(n))try{i.push({uri:Io.parse(e),originalText:e})}catch(e){}return i}let Vx=class extends lt{constructor(e,t){super(),this._register(e.documentOnDropEditProvider.register("*",new Px)),this._register(e.documentOnDropEditProvider.register("*",new Ox)),this._register(e.documentOnDropEditProvider.register("*",new Fx(t)))}};Vx=Tx([Ax(0,wx),Ax(1,Dx)],Vx);let Hx=class extends lt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Px)),this._register(e.documentPasteEditProvider.register("*",new Ox)),this._register(e.documentPasteEditProvider.register("*",new Fx(t))),this._register(e.documentPasteEditProvider.register("*",new Bx))}};Hx=Tx([Ax(0,wx),Ax(1,Dx)],Hx);class zx{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return 95===e||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,n=0,i=this.value.charCodeAt(e);if(t=zx._table[i],"number"==typeof t)return this.pos+=1,{type:t,pos:e,len:1};if(zx.isDigitCharacter(i)){t=8;do{n+=1,i=this.value.charCodeAt(e+n)}while(zx.isDigitCharacter(i));return this.pos+=n,{type:t,pos:e,len:n}}if(zx.isVariableCharacter(i)){t=9;do{i=this.value.charCodeAt(e+ ++n)}while(zx.isVariableCharacter(i)||zx.isDigitCharacter(i));return this.pos+=n,{type:t,pos:e,len:n}}t=10;do{n+=1,i=this.value.charCodeAt(e+n)}while(!isNaN(i)&&void 0===zx._table[i]&&!zx.isDigitCharacter(i)&&!zx.isVariableCharacter(i));return this.pos+=n,{type:t,pos:e,len:n}}}zx._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class Ux{constructor(){this._children=[]}appendChild(e){return e instanceof Kx&&this._children[this._children.length-1]instanceof Kx?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:n}=e,i=n.children.indexOf(e),o=n.children.slice(0);o.splice(i,1,...t),n._children=o,function e(t,n){for(const i of t)i.parent=n,e(i.children,i)}(t,n)}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 Qx)return e;e=e.parent}}toString(){return this.children.reduce(((e,t)=>e+t.toString()),"")}len(){return 0}}class Kx extends Ux{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new Kx(this.value)}}class jx extends Ux{}class qx extends jx{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof $x?this._children[0]:void 0}clone(){const e=new qx(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}class $x extends Ux{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Kx&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new $x;return this.options.forEach(e.appendChild,e),e}}class Gx extends Ux{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let n=!1,i=e.replace(this.regexp,(function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))}));return!n&&this._children.some((e=>e instanceof Zx&&Boolean(e.elseValue)))&&(i=this._replace([])),i}_replace(e){let t="";for(const n of this._children)if(n instanceof Zx){let i=e[n.index]||"";i=n.resolve(i),t+=i}else t+=n.toString();return t}toString(){return""}clone(){const e=new Gx;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map((e=>e.clone())),e}}class Zx extends Ux{constructor(e,t,n,i){super(),this.index=e,this.shorthandName=t,this.ifValue=n,this.elseValue=i}resolve(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":"pascalcase"===this.shorthandName?e?this._toPascalCase(e):"":"camelcase"===this.shorthandName?e?this._toCamelCase(e):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((e=>e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(((e,t)=>0===t?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}clone(){return new Zx(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Yx extends jx{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),void 0!==t&&(this._children=[new Kx(t)],!0)}clone(){const e=new Yx(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}function Xx(e,t){const n=[...e];for(;n.length>0;){const e=n.shift();if(!t(e))break;n.unshift(...e.children)}}class Qx extends Ux{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk((function(n){return n instanceof qx&&(e.push(n),t=!t||t.indexi===e?(n=!0,!1):(t+=i.len(),!0))),n?t:-1}fullLen(e){let t=0;return Xx([e],(e=>(t+=e.len(),!0))),t}enclosingPlaceholders(e){const t=[];let{parent:n}=e;for(;n;)n instanceof qx&&t.push(n),n=n.parent;return t}resolveVariables(e){return this.walk((t=>(t instanceof Yx&&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 Qx;return this._children=this.children.map((e=>e.clone())),e}walk(e){Xx(this.children,e)}}class Jx{constructor(){this._scanner=new zx,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,n){const i=new Qx;return this.parseFragment(e,i),this.ensureFinalTabstop(i,null!=n&&n,null!=t&&t),i}parseFragment(e,t){const n=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const i=new Map,o=[];t.walk((e=>(e instanceof qx&&(e.isFinalTabstop?i.set(0,void 0):!i.has(e.index)&&e.children.length>0?i.set(e.index,e.children):o.push(e)),!0)));const s=(e,n)=>{const o=i.get(e.index);if(!o)return;const r=new qx(e.index);r.transform=e.transform;for(const e of o){const t=e.clone();r.appendChild(t),t instanceof qx&&i.has(t.index)&&!n.has(t.index)&&(n.add(t.index),s(t,n),n.delete(t.index))}t.replace(e,[r])},r=new Set;for(const e of o)s(e,r);return t.children.slice(n)}ensureFinalTabstop(e,t,n){(t||n&&e.placeholders.length>0)&&(e.placeholders.find((e=>0===e.index))||e.appendChild(new qx(0)))}_accept(e,t){if(void 0===e||this._token.type===e){const e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}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(14===this._token.type)return!1;if(5===this._token.type){const e=this._scanner.next();if(0!==e.type&&4!==e.type&&5!==e.type)return!1}this._token=this._scanner.next()}const n=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),n}_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 Kx(t)),!0)}_parseTabstopOrVariableName(e){let t;const n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new qx(Number(t)):new Yx(t)),!0):this._backTo(n)}_parseComplexPlaceholder(e){let t;const n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);const i=new qx(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new Kx("${"+t+":")),i.children.forEach(e.appendChild,e),!0}else{if(!(i.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);{const t=new $x;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(i.appendChild(t),this._accept(4)))return e.appendChild(i),!0}return this._backTo(n),!1}}}}_parseChoiceElement(e){const t=this._token,n=[];for(;2!==this._token.type&&7!==this._token.type;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;n.push(e)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new Kx(n.join(""))),!0)}_parseComplexVariable(e){let t;const n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);const i=new Yx(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new Kx("${"+t+":")),i.children.forEach(e.appendChild,e),!0}}_parseTransform(e){const t=new Gx;let n="",i="";for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,n+=e;else{if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new Kx(e));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,i)}catch(e){return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let n=!1;this._accept(3)&&(n=!0);const i=this._accept(8,!0);if(!i)return this._backTo(t),!1;if(!n)return e.appendChild(new Zx(Number(i))),!0;if(this._accept(4))return e.appendChild(new Zx(Number(i))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){const n=this._accept(9,!0);return n&&this._accept(4)?(e.appendChild(new Zx(Number(i),n)),!0):(this._backTo(t),!1)}if(this._accept(11)){const t=this._until(4);if(t)return e.appendChild(new Zx(Number(i),void 0,t,void 0)),!0}else if(this._accept(12)){const t=this._until(4);if(t)return e.appendChild(new Zx(Number(i),void 0,void 0,t)),!0}else if(this._accept(13)){const t=this._until(1);if(t){const n=this._until(4);if(n)return e.appendChild(new Zx(Number(i),void 0,t,n)),!0}}else{const t=this._until(4);if(t)return e.appendChild(new Zx(Number(i),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return 14!==this._token.type&&(e.appendChild(new Kx(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}function ek(e,t,n){var i,o,s,r;return("string"==typeof n.insertText?""===n.insertText:""===n.insertText.snippet)?{edits:null!==(o=null===(i=n.additionalEdit)||void 0===i?void 0:i.edits)&&void 0!==o?o:[]}:{edits:[...t.map((t=>new vx(e,{range:t,text:"string"==typeof n.insertText?Jx.escape(n.insertText)+"$0":n.insertText.snippet,insertAsSnippet:!0}))),...null!==(r=null===(s=n.additionalEdit)||void 0===s?void 0:s.edits)&&void 0!==r?r:[]]}}function tk(e){var t;function n(e,t){return"mimeType"in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}const i=new Map;for(const o of e)for(const s of null!==(t=o.yieldTo)&&void 0!==t?t:[])for(const t of e)if(t!==o&&n(s,t)){let e=i.get(o);e||(e=[],i.set(o,e)),e.push(t)}if(!i.size)return Array.from(e);const o=new Set,s=[];return function e(t){if(!t.length)return[];const n=t[0];if(s.includes(n))return console.warn("Yield to cycle detected",n),t;if(o.has(n))return e(t.slice(1));let r=[];const l=i.get(n);return l&&(s.push(n),r=e(l),s.pop()),o.add(n),[...r,n,...e(t.slice(1))]}(Array.from(e))}const nk=dd("IEditorCancelService"),ik=new ou("cancellableOperation",!1,_(0,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));yg(nk,class{constructor(){this._tokens=new WeakMap}add(e,t){let n,i=this._tokens.get(e);return i||(i=e.invokeWithinContext((e=>({key:ik.bindTo(e.get(su)),tokens:new gt}))),this._tokens.set(e,i)),i.key.set(!0),n=i.tokens.push(t),()=>{n&&(n(),i.key.set(!i.tokens.isEmpty()),n=void 0)}}cancel(e){const t=this._tokens.get(e);if(!t)return;const n=t.tokens.pop();n&&(n.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);class ok extends Tt{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext((t=>t.get(nk).add(e,this)))}dispose(){this._unregister(),super.dispose()}}qu(new class extends Hu{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:ik})}runEditorCommand(e,t){e.get(nk).cancel(t)}});class sk{constructor(e,t){if(this.flags=t,1&this.flags){const t=e.getModel();this.modelVersionId=t?oi("{0}#{1}",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;4&this.flags?this.position=e.getPosition():this.position=null,2&this.flags?this.selection=e.getSelection():this.selection=null,8&this.flags?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof sk))return!1;const t=e;return this.modelVersionId===t.modelVersionId&&this.scrollLeft===t.scrollLeft&&this.scrollTop===t.scrollTop&&!(!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position))&&!(!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new sk(e,this.flags))}}class rk extends ok{constructor(e,t,n,i){super(e,i),this._listener=new rt,4&t&&this._listener.add(e.onDidChangeCursorPosition((e=>{n&&nc.containsPosition(n,e.position)||this.cancel()}))),2&t&&this._listener.add(e.onDidChangeCursorSelection((e=>{n&&nc.containsRange(n,e.selection)||this.cancel()}))),8&t&&this._listener.add(e.onDidScrollChange((e=>this.cancel()))),1&t&&(this._listener.add(e.onDidChangeModel((e=>this.cancel()))),this._listener.add(e.onDidChangeModelContent((e=>this.cancel()))))}dispose(){this._listener.dispose(),super.dispose()}}class lk extends Tt{constructor(e,t){super(t),this._listener=e.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}var ak=n(8129),dk={};dk.styleTagTransform=Vr(),dk.setAttributes=Or(),dk.insert=Rr().bind(null,"head"),dk.domAPI=Tr(),dk.insertStyleElement=Br(),Ir()(ak.A,dk),ak.A&&ak.A.locals&&ak.A.locals;const uk=My.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:" ",inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class ck extends lt{constructor(e,t,n,i,o){super(),this.typeId=e,this.editor=t,this.range=n,this.delegate=o,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(i),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=mr(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=mr("span.icon");this.domNode.append(t),t.classList.add(...ka.asClassNameArray(Sa.loading),"codicon-modifier-spin");const n=()=>{const e=this.editor.getOption(67);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};n(),this._register(this.editor.onDidChangeConfiguration((e=>{(e.hasChanged(52)||e.hasChanged(67))&&n()}))),this._register(ms(this.domNode,or.CLICK,(e=>{this.delegate.cancel()})))}getId(){return ck.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)}}ck.baseId="editor.widget.inlineProgressWidget";let hk=class extends lt{constructor(e,t,n){super(),this.id=e,this._editor=t,this._instantiationService=n,this._showDelay=500,this._showPromise=this._register(new at),this._currentWidget=new at,this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}async showWhile(e,t,n){const i=this._operationIdPool++;this._currentOperation=i,this.clear(),this._showPromise.value=Ht((()=>{const i=nc.fromPositions(e);this._currentDecorations.set([{range:i,options:uk}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(ck,this.id,this._editor,i,t,n))}),this._showDelay);try{return await n}finally{this._currentOperation===i&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};function gk(e,t={}){const n=pk(t);return fk(n,function(e,t){const n={type:1,children:[]};let i=0,o=n;const s=[],r=new mk(e);for(;!r.eos();){let e=r.next();const n="\\"===e&&0!==_k(r.peek(),t);if(n&&(e=r.next()),n||0===_k(e,t)||e!==r.peek())if("\n"===e)2===o.type&&(o=s.pop()),o.children.push({type:8});else if(2!==o.type){const t={type:2,content:e};o.children.push(t),s.push(o),o=t}else o.content+=e;else{r.advance(),2===o.type&&(o=s.pop());const n=_k(e,t);if(o.type===n||5===o.type&&6===n)o=s.pop();else{const e={type:n,children:[]};5===n&&(e.index=i,i++),o.children.push(e),s.push(o),o=e}}}return 2===o.type&&(o=s.pop()),s.length,n}(e,!!t.renderCodeSegments),t.actionHandler,t.renderCodeSegments),n}function pk(e){const t=e.inline?"span":"div",n=document.createElement(t);return e.className&&(n.className=e.className),n}hk=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,ad)],hk);class mk{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function fk(e,t,n,i){let o;if(2===t.type)o=document.createTextNode(t.content||"");else if(3===t.type)o=document.createElement("b");else if(4===t.type)o=document.createElement("i");else if(7===t.type&&i)o=document.createElement("code");else if(5===t.type&&n){const e=document.createElement("a");n.disposables.add(_s(e,"click",(e=>{n.callback(String(t.index),e)}))),o=e}else 8===t.type?o=document.createElement("br"):1===t.type&&(o=e);o&&e!==o&&e.appendChild(o),o&&Array.isArray(t.children)&&t.children.forEach((e=>{fk(o,e,n,i)}))}function _k(e,t){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return t?7:0;default:return 0}}const vk=new RegExp(`(\\\\)?\\$\\((${ka.iconNameExpression}(?:${ka.iconModifierExpression})?)\\)`,"g");function bk(e){const t=new Array;let n,i=0,o=0;for(;null!==(n=vk.exec(e));){o=n.index||0,ie.length)&&(t=e.length);for(var n=0,i=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.defaults={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var s=/[&<>"']/,r=/[&<>"']/g,l=/[<>"']|&(?!#?\w+;)/,a=/[<>"']|&(?!#?\w+;)/g,d={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(e){return d[e]};function c(e,t){if(t){if(s.test(e))return e.replace(r,u)}else if(l.test(e))return e.replace(a,u);return e}var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function g(e){return e.replace(h,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var p=/(^|[^\[])\^/g;function m(e,t){e="string"==typeof e?e:e.source,t=t||"";var n={replace:function(t,i){return i=(i=i.source||i).replace(p,"$1"),e=e.replace(t,i),n},getRegex:function(){return new RegExp(e,t)}};return n}var f=/[^\w:]/g,_=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function v(e,t,n){if(e){var i;try{i=decodeURIComponent(g(n)).replace(f,"").toLowerCase()}catch(e){return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}t&&!_.test(n)&&(n=function(e,t){b[" "+e]||(w.test(e)?b[" "+e]=e+"/":b[" "+e]=L(e,"/",!0));var n=-1===(e=b[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(C,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(y,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}var b={},w=/^[^:]+:\/*[^/]*$/,C=/^([^:]+:)[\s\S]*$/,y=/^([^:]+:\/*[^/]*)[\s\S]*$/,S={exec:function(){}};function x(e){for(var t,n,i=1;i=0&&"\\"===n[o];)i=!i;return i?"|":" |"})).split(/ \|/),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function E(e,t,n,i){var o=t.href,s=t.title?c(t.title):null,r=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){i.state.inLink=!0;var l={type:"link",raw:n,href:o,title:s,text:r,tokens:i.inlineTokens(r)};return i.state.inLink=!1,l}return{type:"image",raw:n,href:o,title:s,text:c(r)}}var I=function(){function t(t){this.options=t||e.defaults}var n=t.prototype;return n.space=function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}},n.code=function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:L(n,"\n")}}},n.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],i=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var i=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=i.length?e.slice(i.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:i}}},n.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var i=L(n,"#");this.options.pedantic?n=i.trim():i&&!/ $/.test(i)||(n=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}},n.hr=function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}},n.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(n,[]),text:n}}},n.list=function(e){var t=this.rules.block.list.exec(e);if(t){var n,o,s,r,l,a,d,u,c,h,g,p,m=t[1].trim(),f=m.length>1,_={type:"list",raw:"",ordered:f,start:f?+m.slice(0,-1):"",loose:!1,items:[]};m=f?"\\d{1,9}\\"+m.slice(-1):"\\"+m,this.options.pedantic&&(m=f?m:"[*+-]");for(var v=new RegExp("^( {0,3}"+m+")((?:[\t ][^\\n]*)?(?:\\n|$))");e&&(p=!1,t=v.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),u=t[2].split("\n",1)[0],c=e.split("\n",1)[0],this.options.pedantic?(r=2,g=u.trimLeft()):(r=(r=t[2].search(/[^ ]/))>4?1:r,g=u.slice(r),r+=t[1].length),a=!1,!u&&/^ *$/.test(c)&&(n+=c+"\n",e=e.substring(c.length+1),p=!0),!p)for(var b=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),w=new RegExp("^ {0,"+Math.min(3,r-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),C=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:```|~~~)"),y=new RegExp("^ {0,"+Math.min(3,r-1)+"}#");e&&(u=h=e.split("\n",1)[0],this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!C.test(u))&&!y.test(u)&&!b.test(u)&&!w.test(e);){if(u.search(/[^ ]/)>=r||!u.trim())g+="\n"+u.slice(r);else{if(a)break;g+="\n"+u}a||u.trim()||(a=!0),n+=h+"\n",e=e.substring(h.length+1)}_.loose||(d?_.loose=!0:/\n *\n *$/.test(n)&&(d=!0)),this.options.gfm&&(o=/^\[[ xX]\] /.exec(g))&&(s="[ ] "!==o[0],g=g.replace(/^\[[ xX]\] +/,"")),_.items.push({type:"list_item",raw:n,task:!!o,checked:s,loose:!1,text:g}),_.raw+=n}_.items[_.items.length-1].raw=n.trimRight(),_.items[_.items.length-1].text=g.trimRight(),_.raw=_.raw.trimRight();var S=_.items.length;for(l=0;l1)return!0;return!1}));!_.loose&&x.length&&k&&(_.loose=!0,_.items[l].loose=!0)}return _}},n.html=function(e){var t=this.rules.block.html.exec(e);if(t){var n={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};if(this.options.sanitize){var i=this.options.sanitizer?this.options.sanitizer(t[0]):c(t[0]);n.type="paragraph",n.text=i,n.tokens=this.lexer.inline(i)}return n}},n.def=function(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{type:"def",tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}},n.table=function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:k(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var i,o,s,r,l=n.align.length;for(i=0;i/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):c(t[0]):t[0]}},n.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=L(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var o=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,i=0,o=0;o-1){var s=(0===t[0].indexOf("!")?5:4)+t[1].length+o;t[2]=t[2].substring(0,o),t[0]=t[0].substring(0,s).trim(),t[3]=""}}var r=t[2],l="";if(this.options.pedantic){var a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);a&&(r=a[1],l=a[3])}else l=t[3]?t[3].slice(1,-1):"";return r=r.trim(),/^$/.test(n)?r.slice(1):r.slice(1,-1)),E(t,{href:r?r.replace(this.rules.inline._escapes,"$1"):r,title:l?l.replace(this.rules.inline._escapes,"$1"):l},t[0],this.lexer)}},n.reflink=function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=t[i.toLowerCase()])||!i.href){var o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return E(n,i,n[0],this.lexer)}},n.emStrong=function(e,t,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(e);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var o=i[1]||i[2]||"";if(!o||o&&(""===n||this.rules.inline.punctuation.exec(n))){var s,r,l=i[0].length-1,a=l,d=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,t=t.slice(-1*e.length+l);null!=(i=u.exec(t));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6])if(r=s.length,i[3]||i[4])a+=r;else if(!((i[5]||i[6])&&l%3)||(l+r)%3){if(!((a-=r)>0)){if(r=Math.min(r,r+a+d),Math.min(l,r)%2){var c=e.slice(1,l+i.index+r);return{type:"em",raw:e.slice(0,l+i.index+r+1),text:c,tokens:this.lexer.inlineTokens(c)}}var h=e.slice(2,l+i.index+r-1);return{type:"strong",raw:e.slice(0,l+i.index+r+1),text:h,tokens:this.lexer.inlineTokens(h)}}}else d+=r}}},n.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),i=/[^ ]/.test(n),o=/^ /.test(n)&&/ $/.test(n);return i&&o&&(n=n.substring(1,n.length-1)),n=c(n,!0),{type:"codespan",raw:t[0],text:n}}},n.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},n.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}},n.autolink=function(e,t){var n,i,o=this.rules.inline.autolink.exec(e);if(o)return i="@"===o[2]?"mailto:"+(n=c(this.options.mangle?t(o[1]):o[1])):n=c(o[1]),{type:"link",raw:o[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},n.url=function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var i,o;if("@"===n[2])o="mailto:"+(i=c(this.options.mangle?t(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=c(n[0]),o="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:o,tokens:[{type:"text",raw:i,text:i}]}}},n.inlineText=function(e,t){var n,i=this.rules.inline.text.exec(e);if(i)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):c(i[0]):i[0]:c(this.options.smartypants?t(i[0]):i[0]),{type:"text",raw:i[0],text:n}},t}(),M={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:S,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};M.def=m(M.def).replace("label",M._label).replace("title",M._title).getRegex(),M.bullet=/(?:[*+-]|\d{1,9}[.)])/,M.listItemStart=m(/^( *)(bull) */).replace("bull",M.bullet).getRegex(),M.list=m(M.list).replace(/bull/g,M.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+M.def.source+")").getRegex(),M._tag="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|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",M._comment=/|$)/,M.html=m(M.html,"i").replace("comment",M._comment).replace("tag",M._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),M.paragraph=m(M._paragraph).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M._tag).getRegex(),M.blockquote=m(M.blockquote).replace("paragraph",M.paragraph).getRegex(),M.normal=x({},M),M.gfm=x({},M.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),M.gfm.table=m(M.gfm.table).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M._tag).getRegex(),M.gfm.paragraph=m(M._paragraph).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",M.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M._tag).getRegex(),M.pedantic=x({},M.normal,{html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",M._comment).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:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:S,paragraph:m(M.normal._paragraph).replace("hr",M.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",M.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var T={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:S,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:S,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}T._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",T.punctuation=m(T.punctuation).replace(/punctuation/g,T._punctuation).getRegex(),T.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,T.escapedEmSt=/\\\*|\\_/g,T._comment=m(M._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),T.emStrong.lDelim=m(T.emStrong.lDelim).replace(/punct/g,T._punctuation).getRegex(),T.emStrong.rDelimAst=m(T.emStrong.rDelimAst,"g").replace(/punct/g,T._punctuation).getRegex(),T.emStrong.rDelimUnd=m(T.emStrong.rDelimUnd,"g").replace(/punct/g,T._punctuation).getRegex(),T._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,T._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,T._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])?)+(?![-_])/,T.autolink=m(T.autolink).replace("scheme",T._scheme).replace("email",T._email).getRegex(),T._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,T.tag=m(T.tag).replace("comment",T._comment).replace("attribute",T._attribute).getRegex(),T._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,T._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,T._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,T.link=m(T.link).replace("label",T._label).replace("href",T._href).replace("title",T._title).getRegex(),T.reflink=m(T.reflink).replace("label",T._label).replace("ref",M._label).getRegex(),T.nolink=m(T.nolink).replace("ref",M._label).getRegex(),T.reflinkSearch=m(T.reflinkSearch,"g").replace("reflink",T.reflink).replace("nolink",T.nolink).getRegex(),T.normal=x({},T),T.pedantic=x({},T.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",T._label).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",T._label).getRegex()}),T.gfm=x({},T.normal,{escape:m(T.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),!(i=t[t.length-1])||"paragraph"!==i.type&&"text"!==i.type?t.push(n):(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),!(i=t[t.length-1])||"paragraph"!==i.type&&"text"!==i.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(i.raw+="\n"+n.raw,i.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else if(o=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),i=void 0;r.options.extensions.startBlock.forEach((function(e){"number"==typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}(),this.state.top&&(n=this.tokenizer.paragraph(o)))i=t[t.length-1],s&&"paragraph"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(n),s=o.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(n);else if(e){var l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}return this.state.top=!0,t},s.inline=function(e,t){return void 0===t&&(t=[]),this.inlineQueue.push({src:e,tokens:t}),t},s.inlineTokens=function(e,t){var n,i,o,s=this;void 0===t&&(t=[]);var r,l,a,d=e;if(this.tokens.links){var u=Object.keys(this.tokens.links);if(u.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(d));)u.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(d=d.slice(0,r.index)+"["+N("a",r[0].length-2)+"]"+d.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(d));)d=d.slice(0,r.index)+"["+N("a",r[0].length-2)+"]"+d.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.escapedEmSt.exec(d));)d=d.slice(0,r.index)+"++"+d.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(l||(a=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(i){return!!(n=i.call({lexer:s},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)}))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===n.type&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===n.type&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,d,a))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e,R))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e,R))){if(o=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;s.options.extensions.startInline.forEach((function(e){"number"==typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}(),n=this.tokenizer.inlineText(o,A))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(a=n.raw.slice(-1)),l=!0,(i=t[t.length-1])&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(e){var c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}throw new Error(c)}}else e=e.substring(n.raw.length),t.push(n);return t},i=n,o=[{key:"rules",get:function(){return{block:M,inline:T}}}],null&&t(i.prototype,null),o&&t(i,o),Object.defineProperty(i,"prototype",{writable:!1}),n}(),O=function(){function t(t){this.options=t||e.defaults}var n=t.prototype;return n.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,i);null!=o&&o!==e&&(n=!0,e=o)}return e=e.replace(/\n$/,"")+"\n",i?'
'+(n?e:c(e,!0))+"
\n":"
"+(n?e:c(e,!0))+"
\n"},n.blockquote=function(e){return"
\n"+e+"
\n"},n.html=function(e){return e},n.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},n.hr=function(){return this.options.xhtml?"
\n":"
\n"},n.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},n.listitem=function(e){return"
  • "+e+"
  • \n"},n.checkbox=function(e){return" "},n.paragraph=function(e){return"

    "+e+"

    \n"},n.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},n.tablerow=function(e){return"\n"+e+"\n"},n.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},n.strong=function(e){return""+e+""},n.em=function(e){return""+e+""},n.codespan=function(e){return""+e+""},n.br=function(){return this.options.xhtml?"
    ":"
    "},n.del=function(e){return""+e+""},n.link=function(e,t,n){if(null===(e=v(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"+n+""},n.image=function(e,t,n){if(null===(e=v(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">")},n.text=function(e){return e},t}(),F=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),B=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),W=function(){function t(t){this.options=t||e.defaults,this.options.renderer=this.options.renderer||new O,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new F,this.slugger=new B}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var n=t.prototype;return n.parse=function(e,t){void 0===t&&(t=!0);var n,i,o,s,r,l,a,d,u,c,h,p,m,f,_,v,b,w,C,y="",S=e.length;for(n=0;n0&&"paragraph"===_.tokens[0].type?(_.tokens[0].text=w+" "+_.tokens[0].text,_.tokens[0].tokens&&_.tokens[0].tokens.length>0&&"text"===_.tokens[0].tokens[0].type&&(_.tokens[0].tokens[0].text=w+" "+_.tokens[0].tokens[0].text)):_.tokens.unshift({type:"text",text:w}):f+=w),f+=this.parse(_.tokens,m),u+=this.renderer.listitem(f,b,v);y+=this.renderer.list(u,h,p);continue;case"html":y+=this.renderer.html(c.text);continue;case"paragraph":y+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(u=c.tokens?this.parseInline(c.tokens):c.text;n+1An error occurred:

    "+c(e.message+"",!0)+"
    ";throw e}try{var a=P.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(V.walkTokens(a,t.walkTokens)).then((function(){return W.parse(a,t)})).catch(l);V.walkTokens(a,t.walkTokens)}return W.parse(a,t)}catch(e){l(e)}}V.options=V.setOptions=function(t){var n;return x(V.defaults,t),n=V.defaults,e.defaults=n,V},V.getDefaults=o,V.defaults=e.defaults,V.use=function(){for(var e=arguments.length,t=new Array(e),n=0;nAn error occurred:

    "+c(e.message+"",!0)+"
    ";throw e}},V.Parser=W,V.parser=W.parse,V.Renderer=O,V.TextRenderer=F,V.Lexer=P,V.lexer=P.lex,V.Tokenizer=I,V.Slugger=B,V.parse=V;var H=V.options,z=V.setOptions,U=V.use,K=V.walkTokens,j=V.parseInline,q=V,$=W.parse,G=P.lex;e.Lexer=P,e.Parser=W,e.Renderer=O,e.Slugger=B,e.TextRenderer=F,e.Tokenizer=I,e.getDefaults=o,e.lexer=G,e.marked=V,e.options=H,e.parse=q,e.parseInline=j,e.parser=$,e.setOptions=z,e.use=U,e.walkTokens=K,Object.defineProperty(e,"__esModule",{value:!0})},e.amd?e(0,n):"object"==typeof exports?n(exports):n((t="undefined"!=typeof globalThis?globalThis:t||self).marked={})}(),Sk.Lexer||exports.Lexer,Sk.Parser||exports.Parser,Sk.Renderer||exports.Renderer,Sk.Slugger||exports.Slugger,Sk.TextRenderer||exports.TextRenderer,Sk.Tokenizer||exports.Tokenizer,Sk.getDefaults||exports.getDefaults,Sk.lexer||exports.lexer;var xk=Sk.marked||exports.marked;function kk(e){let t=JSON.parse(e);return t=Dk(t),t}function Lk(e,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function Dk(e,t=0){if(!e||t>200)return e;if("object"==typeof e){switch(e.$mid){case 1:return Io.revive(e);case 2:return new RegExp(e.source,e.flags);case 17:return new Date(e.source)}if(e instanceof Hh||e instanceof Uint8Array)return e;if(Array.isArray(e))for(let n=0;n{let i=[],o=[];return e&&(({href:e,dimensions:i}=function(e){const t=[],n=e.split("|").map((e=>e.trim()));e=n[0];const i=n[1];if(i){const e=/height=(\d+)/.exec(i),n=/width=(\d+)/.exec(i),o=e?e[1]:"",s=n?n[1]:"",r=isFinite(parseInt(s)),l=isFinite(parseInt(o));r&&t.push(`width="${s}"`),l&&t.push(`height="${o}"`)}return{href:e,dimensions:t}}(e)),o.push(`src="${id(e)}"`)),n&&o.push(`alt="${id(n)}"`),t&&o.push(`title="${id(t)}"`),i.length&&(o=o.concat(i)),""},paragraph:e=>`

    ${e}

    `,link:(e,t,n)=>"string"!=typeof e?"":(e===n&&(n=od(n)),t="string"==typeof t?id(od(t)):"",`/g,">").replace(/"/g,""").replace(/'/g,"'")}" title="${t||e}" draggable="false">${n}`)});function Ek(e,t={},n={}){var i,o;const s=new rt;let r=!1;const l=pk(t),a=function(t){let n;try{n=kk(decodeURIComponent(t))}catch(e){}return n?(n=pc(n,(t=>e.uris&&e.uris[t]?Io.revive(e.uris[t]):void 0)),encodeURIComponent(JSON.stringify(n))):t},d=function(t,n){const i=e.uris&&e.uris[t];let o=Io.revive(i);return n?t.startsWith(Ho.data+":")?t:(o||(o=Io.parse(t)),qo.uriToBrowserUri(o).toString(!0)):o?Io.parse(t).toString()===o.toString()?t:(o.query&&(o=o.with({query:a(o.query)})),o.toString()):t},u=new xk.Renderer;u.image=Nk.image,u.link=Nk.link,u.paragraph=Nk.paragraph;const c=[],h=[];if(t.codeBlockRendererSync?u.code=(e,n)=>{const i=yk.nextId(),o=t.codeBlockRendererSync(Ik(n),e);return h.push([i,o]),`
    ${si(e)}
    `}:t.codeBlockRenderer&&(u.code=(e,n)=>{const i=yk.nextId(),o=t.codeBlockRenderer(Ik(n),e);return c.push(o.then((e=>[i,e]))),`
    ${si(e)}
    `}),t.actionHandler){const n=function(n){let i=n.target;if("A"===i.tagName||(i=i.parentElement,i&&"A"===i.tagName))try{let o=i.dataset.href;o&&(e.baseUri&&(o=Mk(Io.from(e.baseUri),o)),t.actionHandler.callback(o,n))}catch(e){xe(e)}finally{n.preventDefault()}},i=t.actionHandler.disposables.add(new US(l,"click")),o=t.actionHandler.disposables.add(new US(l,"auxclick"));t.actionHandler.disposables.add(ft.any(i.event,o.event)((e=>{const t=new $e(is(l),e);(t.leftButton||t.middleButton)&&n(t)}))),t.actionHandler.disposables.add(ms(l,"keydown",(e=>{const t=new Ue(e);(t.equals(10)||t.equals(3))&&n(t)})))}e.supportHtml||(n.sanitizer=t=>(e.isTrusted?t.match(/^(]+>)|(<\/\s*span>)$/):void 0)?t:"",n.sanitize=!0,n.silent=!0),n.renderer=u;let g,p=null!==(i=e.value)&&void 0!==i?i:"";if(p.length>1e5&&(p=`${p.substr(0,1e5)}…`),e.supportThemeIcons&&(p=p.replace(Na,(e=>`\\${e}`))),t.fillInIncompleteTokens){const e={...xk.defaults,...n},t=function(e){let t,n;for(t=0;t"string"==typeof e?e:e.outerHTML)).join(""));const m=(new DOMParser).parseFromString(Tk(e,g),"text/html");if(m.body.querySelectorAll("img").forEach((t=>{const n=t.getAttribute("src");if(n){let i=n;try{e.baseUri&&(i=Mk(Io.from(e.baseUri),i))}catch(e){}t.src=d(i,!0)}})),m.body.querySelectorAll("a").forEach((t=>{const n=t.getAttribute("href");if(t.setAttribute("href",""),!n||/^data:|javascript:/i.test(n)||/^command:/i.test(n)&&!e.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(n))t.replaceWith(...t.childNodes);else{let i=d(n,!1);e.baseUri&&(i=Mk(Io.from(e.baseUri),n)),t.dataset.href=i}})),l.innerHTML=Tk(e,m.body.innerHTML),c.length>0)Promise.all(c).then((e=>{var n,i;if(r)return;const o=new Map(e),s=l.querySelectorAll("div[data-code]");for(const e of s){const t=o.get(null!==(n=e.dataset.code)&&void 0!==n?n:"");t&&cr(e,t)}null===(i=t.asyncRenderCallback)||void 0===i||i.call(t)}));else if(h.length>0){const e=new Map(h),t=l.querySelectorAll("div[data-code]");for(const n of t){const t=e.get(null!==(o=n.dataset.code)&&void 0!==o?o:"");t&&cr(n,t)}}if(t.asyncRenderCallback)for(const e of l.getElementsByTagName("img")){const n=s.add(ms(e,"load",(()=>{n.dispose(),t.asyncRenderCallback()})))}return{element:l,dispose:()=>{r=!0,s.dispose()}}}function Ik(e){if(!e)return"";const t=e.split(/[\s+|:|,|\{|\?]/,1);return t.length?t[0]:e}function Mk(e,t){return/^\w[\w\d+.-]*:/.test(t)?t:e.path.endsWith("/")?Ya(e,t).toString():Ya(qa(e),t).toString()}function Tk(e,t){const{config:n,allowedSchemes:i}=function(e){const t=[Ho.http,Ho.https,Ho.mailto,Ho.data,Ho.file,Ho.vscodeFileResource,Ho.vscodeRemote,Ho.vscodeRemoteResource];return e.isTrusted&&t.push(Ho.command),{config:{ALLOWED_TAGS:[...Sr],ALLOWED_ATTR:Ak,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:t}}(e);Xn("uponSanitizeAttribute",((e,t)=>{var n;if("style"!==t.attrName&&"class"!==t.attrName){if("INPUT"===e.tagName&&"checkbox"===(null===(n=e.attributes.getNamedItem("type"))||void 0===n?void 0:n.value)){if("type"===t.attrName&&"checkbox"===t.attrValue||"disabled"===t.attrName||"checked"===t.attrName)return void(t.keepAttr=!0);t.keepAttr=!1}}else{if("SPAN"===e.tagName){if("style"===t.attrName)return void(t.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(t.attrValue));if("class"===t.attrName)return void(t.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(t.attrValue))}t.keepAttr=!1}})),Xn("uponSanitizeElement",((e,t)=>{var n,i;"input"===t.tagName&&("checkbox"===(null===(n=e.attributes.getNamedItem("type"))||void 0===n?void 0:n.value)?e.setAttribute("disabled",""):null===(i=e.parentElement)||void 0===i||i.removeChild(e))}));const o=function(e,t=!1){const n=document.createElement("a");return Xn("afterSanitizeAttributes",(i=>{for(const o of["href","src"])if(i.hasAttribute(o)){const s=i.getAttribute(o);if("href"===o&&s.startsWith("#"))continue;if(n.href=s,!e.includes(n.protocol.replace(/:$/,""))){if(t&&"src"===o&&n.href.startsWith("data:"))continue;i.removeAttribute(o)}}})),st((()=>{Qn("afterSanitizeAttributes")}))}(i);try{return Yn(t,{...n,RETURN_TRUSTED_TYPE:!0})}finally{Qn("uponSanitizeAttribute"),o.dispose()}}const Ak=["align","autoplay","alt","checked","class","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","src","style","target","title","type","width","start"];const Rk=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]),Pk=new ei((()=>{const e=new xk.Renderer;return e.code=e=>e,e.blockquote=e=>e,e.html=e=>"",e.heading=(e,t,n)=>e+"\n",e.hr=()=>"",e.list=(e,t)=>e,e.listitem=e=>e+"\n",e.paragraph=e=>e+"\n",e.table=(e,t)=>e+t+"\n",e.tablerow=e=>e,e.tablecell=(e,t)=>e+" ",e.strong=e=>e,e.em=e=>e,e.codespan=e=>e,e.br=()=>"\n",e.del=e=>e,e.image=(e,t,n)=>"",e.text=e=>e,e.link=(e,t,n)=>n,e}));function Ok(e){let t="";return e.forEach((e=>{t+=e.raw})),t}function Fk(e){var t,n;for(let i=0;iBk(e.raw))))return Kk(e)}}}function Bk(e){return!!e.match(/^[^\[]*\]\([^\)]*$/)}function Wk(e,t){const n=Ok(e);return xk.lexer(n+`\n${t}`)}function Vk(e){return qk(e,"`")}function Hk(e){return qk(e,"_")}function zk(e){return qk(e,")")}function Uk(e){return qk(e,'")')}function Kk(e){return qk(e,"](about:blank)")}function jk(e){return qk(e,"__")}function qk(e,t){const n=Ok(Array.isArray(e)?e:[e]);return xk.lexer(n+t)[0]}function $k(e){const t=Ok(e),n=t.split("\n");let i,o=!1;for(let e=0;e0){const e=o?n.slice(0,-1).join("\n"):t,s=!!e.match(/\|\s*$/),r=e+(s?"":"|")+`\n|${" --- |".repeat(i)}`;return xk.lexer(r)}}var Gk=n(7201),Zk={};function Yk(e,t){var n;const i=globalThis.MonacoEnvironment;if(null==i?void 0:i.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(e,t)}catch(e){return void xe(e)}try{return null===(n=o.trustedTypes)||void 0===n?void 0:n.createPolicy(e,t)}catch(e){return void xe(e)}}Zk.styleTagTransform=Vr(),Zk.setAttributes=Or(),Zk.insert=Rr().bind(null,"head"),Zk.domAPI=Tr(),Zk.insertStyleElement=Br(),Ir()(Gk.A,Zk),Gk.A&&Gk.A.locals&&Gk.A.locals;var Xk=n(6835),Qk={};Qk.styleTagTransform=Vr(),Qk.setAttributes=Or(),Qk.insert=Rr().bind(null,"head"),Qk.domAPI=Tr(),Qk.insertStyleElement=Br(),Ir()(Xk.A,Qk),Xk.A&&Xk.A.locals&&Xk.A.locals;class Jk{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=eL(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=eL(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=eL(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=eL(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=eL(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=eL(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=eL(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=eL(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=eL(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=eL(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=eL(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function eL(e){return"number"==typeof e?`${e}px`:e}function tL(e){return new Jk(e)}function nL(e,t){e instanceof Jk?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px")}const iL={getInitialState:()=>TC,tokenizeEncoded:(e,t,n)=>RC(0,n)};function oL(e,t,n,i,o,s,r){let l="
    ",a=i,d=0,u=!0;for(let c=0,h=t.getCount();c0;)r&&u?(g+=" ",u=!1):(g+=" ",u=!0),e--;break}case 60:g+="<",u=!1;break;case 62:g+=">",u=!1;break;case 38:g+="&",u=!1;break;case 0:g+="�",u=!1;break;case 65279:case 8232:case 8233:case 133:g+="�",u=!1;break;case 13:g+="​",u=!1;break;case 32:r&&u?(g+=" ",u=!1):(g+=" ",u=!0);break;default:g+=String.fromCharCode(t),u=!1}}if(l+=`${g}`,h>o||a>=o)break}return l+="
    ",l}function sL(e,t,n){let i='
    ';const o=ci(e);let s=n.getInitialState();for(let e=0,r=o.length;e0&&(i+="
    ");const l=n.tokenizeEncoded(r,!0,s);BC.convertToEndOffset(l.tokens,r.length);const a=new BC(l.tokens,r,t).inflate();let d=0;for(let e=0,t=a.getCount();e${si(r.substring(d,n))}`,d=n}s=l.endState}return i+="
    ",i}const rL=dd("openerService");var lL,aL=function(e,t){return function(n,i){t(n,i,e)}};let dL=lL=class{constructor(e,t,n){this._options=e,this._languageService=t,this._openerService=n,this._onDidRenderAsync=new Ct,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,n){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const i=new rt,o=i.add(Ek(e,{...this._getRenderOptions(e,i),...t},n));return o.element.classList.add("rendered-markdown"),{element:o.element,dispose:()=>i.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(e,t)=>{var n,i,o;let s;e?s=this._languageService.getLanguageIdByLanguageName(e):this._options.editor&&(s=null===(n=this._options.editor.getModel())||void 0===n?void 0:n.getLanguageId()),s||(s=Kg);const r=await async function(e,t,n){if(!n)return sL(t,e.languageIdCodec,iL);const i=await IC.getOrCreate(n);return sL(t,e.languageIdCodec,i||iL)}(this._languageService,t,s),l=document.createElement("span");return l.innerHTML=null!==(o=null===(i=lL._ttpTokenizer)||void 0===i?void 0:i.createHTML(r))&&void 0!==o?o:r,this._options.editor?nL(l,this._options.editor.getOption(50)):this._options.codeBlockFontFamily&&(l.style.fontFamily=this._options.codeBlockFontFamily),void 0!==this._options.codeBlockFontSize&&(l.style.fontSize=this._options.codeBlockFontSize),l},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:t=>uL(this._openerService,t,e.isTrusted),disposables:t}}}};async function uL(e,t,n){try{return await e.open(t,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:cL(n)})}catch(e){return xe(e),!1}}function cL(e){return!0===e||!(!e||!Array.isArray(e.enabledCommands))&&e.enabledCommands}dL._ttpTokenizer=Yk("tokenizeToString",{createHTML:e=>e}),dL=lL=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([aL(1,Sh),aL(2,rL)],dL);var hL,gL=function(e,t){return function(n,i){t(n,i,e)}};let pL=hL=class{static get(e){return e.getContribution(hL.ID)}constructor(e,t,n){this._openerService=n,this._messageWidget=new at,this._messageListeners=new rt,this._mouseOverMessage=!1,this._editor=e,this._visible=hL.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;null===(e=this._message)||void 0===e||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){let n;Zr(nd(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=nd(e)?Ek(e,{actionHandler:{callback:t=>{this.closeMessage(),uL(this._openerService,t,nd(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new mL(this._editor,t,"string"==typeof e?e:this._message.element),this._messageListeners.add(ft.debounce(this._editor.onDidBlurEditorText,((e,t)=>t),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&Ps(Vs(),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(ms(this._messageWidget.value.getDomNode(),or.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(ms(this._messageWidget.value.getDomNode(),or.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((e=>{e.target.position&&(n?n.containsPosition(e.target.position)||this.closeMessage():n=new nc(t.lineNumber-3,1,e.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(mL.fadeOut(this._messageWidget.value))}};pL.ID="editor.contrib.messageController",pL.MESSAGE_VISIBLE=new ou("messageVisible",!1,_(0,"Whether the editor is currently showing an inline message")),pL=hL=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([gL(1,su),gL(2,rL)],pL),qu(new(Hu.bindToContribution(pL.get))({id:"leaveEditorMessage",precondition:pL.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));class mL{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(n),e.getDomNode().removeEventListener("animationend",t)},n=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:n},i){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const o=document.createElement("div");o.classList.add("anchor","top"),this._domNode.appendChild(o);const s=document.createElement("div");"string"==typeof i?(s.classList.add("message"),s.textContent=i):(i.classList.add("message"),s.appendChild(i)),this._domNode.appendChild(s);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),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",2===e)}}Zu(pL.ID,pL,4);const fL=dd("clipboardService"),_L=dd("progressService");Object.freeze({total(){},worked(){},done(){}});class vL{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}}vL.None=Object.freeze({report(){}});const bL=dd("editorProgressService"),wL={ctrlCmd:!1,alt:!1};var CL,yL;!function(e){e[e.Blur=1]="Blur",e[e.Gesture=2]="Gesture",e[e.Other=3]="Other"}(CL||(CL={})),function(e){e[e.NONE=0]="NONE",e[e.FIRST=1]="FIRST",e[e.SECOND=2]="SECOND",e[e.LAST=3]="LAST"}(yL||(yL={})),new class{constructor(e){this.options=e}};const SL=dd("quickInputService");function xL(e,t,n){let i=null,o=null;if("function"==typeof n.value?(i="value",o=n.value,0!==o.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof n.get&&(i="get",o=n.get),!o)throw new Error("not supported");const s=`$memoize$${t}`;n[i]=function(...e){return this.hasOwnProperty(s)||Object.defineProperty(this,s,{configurable:!1,enumerable:!1,writable:!1,value:o.apply(this,e)}),this[s]}}var kL;!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(kL||(kL={}));class LL extends lt{constructor(){super(),this.dispatched=!1,this.targets=new gt,this.ignoreTargets=new gt,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ft.runAndSubscribe(us,(({window:e,disposables:t})=>{t.add(ms(e.document,"touchstart",(e=>this.onTouchStart(e)),{passive:!1})),t.add(ms(e.document,"touchend",(t=>this.onTouchEnd(e,t)))),t.add(ms(e.document,"touchmove",(e=>this.onTouchMove(e)),{passive:!1}))}),{window:o,disposables:this._store}))}static addTarget(e){return LL.isTouchDevice()?(LL.INSTANCE||(LL.INSTANCE=tt(new LL)),st(LL.INSTANCE.targets.push(e))):lt.None}static ignoreTarget(e){return LL.isTouchDevice()?(LL.INSTANCE||(LL.INSTANCE=tt(new LL)),st(LL.INSTANCE.ignoreTargets.push(e))):lt.None}static isTouchDevice(){return"ontouchstart"in o||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let n=0,i=e.targetTouches.length;n=LL.HOLD_DELAY&&Math.abs(r.initialPageX-Ec(r.rollingPageX))<30&&Math.abs(r.initialPageY-Ec(r.rollingPageY))<30){const e=this.newGestureEvent(kL.Contextmenu,r.initialTarget);e.pageX=Ec(r.rollingPageX),e.pageY=Ec(r.rollingPageY),this.dispatchEvent(e)}else if(1===i){const t=Ec(r.rollingPageX),i=Ec(r.rollingPageY),o=Ec(r.rollingTimestamps)-r.rollingTimestamps[0],s=t-r.rollingPageX[0],l=i-r.rollingPageY[0],a=[...this.targets].filter((e=>r.initialTarget instanceof Node&&e.contains(r.initialTarget)));this.inertia(e,a,n,Math.abs(s)/o,s>0?1:-1,t,Math.abs(l)/o,l>0?1:-1,i)}this.dispatchEvent(this.newGestureEvent(kL.End,r.initialTarget)),delete this.activeTouches[s.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const n=document.createEvent("CustomEvent");return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(e){if(e.type===kL.Tap){const t=(new Date).getTime();let n=0;n=t-this._lastSetTapCountTime>LL.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=t,e.tapCount=n}else e.type!==kL.Change&&e.type!==kL.Contextmenu||(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const t of this.ignoreTargets)if(t.contains(e.initialTarget))return;const t=[];for(const n of this.targets)if(n.contains(e.initialTarget)){let i=0,o=e.initialTarget;for(;o&&o!==n;)i++,o=o.parentElement;t.push([i,n])}t.sort(((e,t)=>e[0]-t[0]));for(const[n,i]of t)i.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,n,i,o,s,r,l,a){this.handle=Cs(e,(()=>{const d=Date.now(),u=d-n;let c=0,h=0,g=!0;i+=LL.SCROLL_FRICTION*u,r+=LL.SCROLL_FRICTION*u,i>0&&(g=!1,c=o*i*u),r>0&&(g=!1,h=l*r*u);const p=this.newGestureEvent(kL.Change);p.translationX=c,p.translationY=h,t.forEach((e=>e.dispatchEvent(p))),g||this.inertia(e,t,d,i,o,s+c,r,l,a+h)}))}onTouchMove(e){const t=Date.now();for(let n=0,i=e.changedTouches.length;n3&&(o.rollingPageX.shift(),o.rollingPageY.shift(),o.rollingTimestamps.shift()),o.rollingPageX.push(i.pageX),o.rollingPageY.push(i.pageY),o.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}LL.SCROLL_FRICTION=-.005,LL.HOLD_DELAY=700,LL.CLEAR_TAP_COUNT_TIME=400,function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);s>3&&r&&Object.defineProperty(t,n,r)}([xL],LL,"isTouchDevice",null);let DL=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const NL=new ei((()=>DL("mouse",!1))),EL=new ei((()=>DL("element",!1)));function IL(e){return"element"===e?EL.value:NL.value}function ML(){return DL("element",!0)}class TL{constructor(e,t,n){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=n}async update(e,t,n){var i;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let o;if(void 0===e||la(e)||e instanceof HTMLElement)o=e;else if(va(e.markdown)){this._hoverWidget||this.show(_(0,"Loading..."),t),this._cancellationTokenSource=new Tt;const n=this._cancellationTokenSource.token;if(o=await e.markdown(n),void 0===o&&(o=e.markdownNotSupportedFallback),this.isDisposed||n.isCancellationRequested)return}else o=null!==(i=e.markdown)&&void 0!==i?i:e.markdownNotSupportedFallback;this.show(o,t,n)}show(e,t,n){const i=this._hoverWidget;if(this.hasContent(e)){const o={content:e,target:this.target,appearance:{showPointer:"element"===this.hoverDelegate.placement,skipFadeInAnimation:!this.fadeInAnimation||!!i},position:{hoverPosition:2},...n};this._hoverWidget=this.hoverDelegate.showHover(o,t)}null==i||i.dispose()}hasContent(e){return!(!e||nd(e)&&!e.value)}get isDisposed(){var e;return null===(e=this._hoverWidget)||void 0===e?void 0:e.isDisposed}dispose(){var e,t;null===(e=this._hoverWidget)||void 0===e||e.dispose(),null===(t=this._cancellationTokenSource)||void 0===t||t.dispose(!0),this._cancellationTokenSource=void 0}}function AL(e,t){for(t=null!=t?t:is(e).document.body;!e.hasAttribute("custom-hover")&&e!==t;)e=e.parentElement;return e}function RL(e,t,n,i){let o,s;t.setAttribute("custom-hover","true"),""!==t.title&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),console.trace("Stack trace:",t.title),t.title="");const r=(t,n)=>{var i;const r=void 0!==s;t&&(null==s||s.dispose(),s=void 0),n&&(null==o||o.dispose(),o=void 0),r&&(null===(i=e.onDidHideHover)||void 0===i||i.call(e),s=void 0)},l=(o,r,l)=>new Ut((async()=>{s&&!s.isDisposed||(s=new TL(e,l||t,o>0),await s.update("function"==typeof n?n():n,r,i))}),o);let a=!1;const d=ms(t,or.MOUSE_DOWN,(()=>{a=!0,r(!0,!0)}),!0),u=ms(t,or.MOUSE_UP,(()=>{a=!1}),!0),c=ms(t,or.MOUSE_LEAVE,(e=>{a=!1,r(!1,e.fromElement===t)}),!0),h=ms(t,or.MOUSE_OVER,(n=>{if(o)return;const i=new rt,s={targetElements:[t],dispose:()=>{}};if(void 0===e.placement||"mouse"===e.placement){const e=e=>{s.x=e.x+10,e.target instanceof HTMLElement&&AL(e.target,t)!==t&&r(!0,!0)};i.add(ms(t,or.MOUSE_MOVE,e,!0))}o=i,n.target instanceof HTMLElement&&AL(n.target,t)!==t||i.add(l(e.delay,!1,s))}),!0);let g;const p=t.tagName.toLowerCase();return"input"!==p&&"textarea"!==p&&(g=ms(t,or.FOCUS,(()=>{if(a||o)return;const n={targetElements:[t],dispose:()=>{}},i=new rt;i.add(ms(t,or.BLUR,(()=>r(!0,!0)),!0)),i.add(l(e.delay,!1,n)),o=i}),!0)),{show:e=>{r(!1,!0),l(0,e)},hide:()=>{r(!0,!0)},update:async(e,t)=>{n=e,await(null==s?void 0:s.update(n,void 0,t))},dispose:()=>{h.dispose(),c.dispose(),d.dispose(),u.dispose(),null==g||g.dispose(),r(!0,!0)}}}var PL=n(8880),OL={};OL.styleTagTransform=Vr(),OL.setAttributes=Or(),OL.insert=Rr().bind(null,"head"),OL.domAPI=Tr(),OL.insertStyleElement=Br(),Ir()(PL.A,OL),PL.A&&PL.A.locals&&PL.A.locals,lh.white.toString(),lh.white.toString();class FL extends lt{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new Ct),this._onDidEscape=this._register(new Ct),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const n=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,i=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=i||"",this._element.style.backgroundColor=n||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),"string"==typeof t.title&&this.setTitle(t.title),"string"==typeof t.ariaLabel&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(LL.addTarget(this._element)),[or.CLICK,kL.Tap].forEach((e=>{this._register(ms(this._element,e,(e=>{this.enabled?this._onDidClick.fire(e):rr(e)})))})),this._register(ms(this._element,or.KEY_DOWN,(e=>{const t=new Ue(e);let n=!1;this.enabled&&(t.equals(3)||t.equals(10))?(this._onDidClick.fire(e),n=!0):t.equals(9)&&(this._onDidEscape.fire(e),this._element.blur(),n=!0),n&&rr(t,!0)}))),this._register(ms(this._element,or.MOUSE_OVER,(e=>{this._element.classList.contains("disabled")||this.updateBackground(!0)}))),this._register(ms(this._element,or.MOUSE_OUT,(e=>{this.updateBackground(!1)}))),this.focusTracker=this._register(ar(this._element)),this._register(this.focusTracker.onDidFocus((()=>{this.enabled&&this.updateBackground(!0)}))),this._register(this.focusTracker.onDidBlur((()=>{this.enabled&&this.updateBackground(!1)})))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let n of bk(e))if("string"==typeof n){if(n=n.trim(),""===n)continue;const e=document.createElement("span");e.textContent=n,t.push(e)}else t.push(n);return t}updateBackground(e){let t;t=this.options.secondary?e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){var t,n,i;if(this._label===e)return;if(nd(this._label)&&nd(e)&&((n=this._label)===(i=e)||n&&i&&n.value===i.value&&n.isTrusted===i.isTrusted&&n.supportThemeIcons===i.supportThemeIcons&&n.supportHtml===i.supportHtml&&(n.baseUri===i.baseUri||n.baseUri&&i.baseUri&&za(Io.from(n.baseUri),Io.from(i.baseUri)))))return;this._element.classList.add("monaco-text-button");const o=this.options.supportShortLabel?this._labelElement:this._element;if(nd(e)){const n=Ek(e,{inline:!0});n.dispose();const i=null===(t=n.element.querySelector("p"))||void 0===t?void 0:t.innerHTML;if(i){const e=Yn(i,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});o.innerHTML=e}else cr(o)}else this.options.supportIcons?cr(o,...this.getContentElements(e)):o.textContent=e;let s="";"string"==typeof this.options.title?s=this.options.title:this.options.title&&(s=function(e){return"string"==typeof e?e:function(e){var t;let n=null!==(t=e.value)&&void 0!==t?t:"";n.length>1e5&&(n=`${n.substr(0,1e5)}…`);const i=xk.parse(n,{renderer:Pk.value}).replace(/&(#\d+|[a-zA-Z]+);/g,(e=>{var t;return null!==(t=Rk.get(e))&&void 0!==t?t:e}));return Tk({isTrusted:!1},i).toString()}(e)}(e)),this.setTitle(s),"string"==typeof this.options.ariaLabel?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",s),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...ka.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){var t;this._hover||""===e?this._hover&&this._hover.update(e):this._hover=this._register(RL(null!==(t=this.options.hoverDelegate)&&void 0!==t?t:IL("mouse"),this._element,e))}}var BL=n(9926),WL={};WL.styleTagTransform=Vr(),WL.setAttributes=Or(),WL.insert=Rr().bind(null,"head"),WL.domAPI=Tr(),WL.insertStyleElement=Br(),Ir()(BL.A,WL),BL.A&&BL.A.locals&&BL.A.locals;const VL=dd("contextViewService"),HL=dd("contextMenuService"),zL=dd("keybindingService");var UL,KL=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},jL=function(e,t){return function(n,i){t(n,i,e)}};let qL=UL=class extends lt{constructor(e,t,n,i,o,s,r,l,a,d){super(),this.typeId=e,this.editor=t,this.showCommand=i,this.range=o,this.edits=s,this.onSelectNewEdit=r,this._contextMenuService=l,this._keybindingService=d,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=n.bindTo(a),this.visibleContext.set(!0),this._register(st((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(st((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((e=>{o.containsPosition(e.position)||this.dispose()}))),this._register(ft.runAndSubscribe(d.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){var e;const t=null===(e=this._keybindingService.lookupKeybinding(this.showCommand.id))||void 0===e?void 0:e.getLabel();this.button.element.title=this.showCommand.label+(t?` (${t})`:"")}create(){this.domNode=mr(".post-edit-widget"),this.button=this._register(new FL(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(ms(this.domNode,or.CLICK,(()=>this.showSelector())))}getId(){return UL.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=Es(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map(((e,t)=>bd({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}})))})}};qL.baseId="editor.widget.postEditWidget",qL=UL=KL([jL(7,HL),jL(8,su),jL(9,zL)],qL);let $L=class extends lt{constructor(e,t,n,i,o,s){super(),this._id=e,this._editor=t,this._visibleContext=n,this._showCommand=i,this._instantiationService=o,this._bulkEditService=s,this._currentWidget=this._register(new at),this._register(ft.any(t.onDidChangeModel,t.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(e,t,n,i,o){const s=this._editor.getModel();if(!s||!e.length)return;const r=t.allEdits.at(t.activeEditIndex);if(!r)return;const l=await i(r,o),a=ek(s.uri,e,l),d=e[0],u=s.deltaDecorations([],[{range:d,options:{description:"paste-line-suffix",stickiness:0}}]);let c,h;try{c=await this._bulkEditService.apply(a,{editor:this._editor,token:o}),h=s.getDecorationRange(u[0])}finally{s.deltaDecorations(u,[])}n&&c.isApplied&&t.allEdits.length>1&&this.show(null!=h?h:d,t,(async s=>{const r=this._editor.getModel();r&&(await r.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:s,allEdits:t.allEdits},n,i,o))}))}show(e,t,n){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(qL,this._id,this._editor,this._visibleContext,this._showCommand,e,t,n))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;null===(e=this._currentWidget.value)||void 0===e||e.showSelector()}};$L=KL([jL(4,ad),jL(5,fx)],$L);var GL,ZL=function(e,t){return function(n,i){t(n,i,e)}};const YL="editor.changePasteType",XL=new ou("pasteWidgetVisible",!1,_(0,"Whether the paste widget is showing")),QL="application/vnd.code.copyMetadata";let JL=GL=class extends lt{static get(e){return e.getContribution(GL.ID)}constructor(e,t,n,i,o,s,r){super(),this._bulkEditService=n,this._clipboardService=i,this._languageFeaturesService=o,this._quickInputService=s,this._progressService=r,this._editor=e;const l=e.getContainerDomNode();this._register(ms(l,"copy",(e=>this.handleCopy(e)))),this._register(ms(l,"cut",(e=>this.handleCopy(e)))),this._register(ms(l,"paste",(e=>this.handlePaste(e)),!0)),this._pasteProgressManager=this._register(new hk("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance($L,"pasteIntoEditor",e,XL,{id:YL,label:_(0,"Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Us().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled&&!this._editor.getOption(91)}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var t,n;if(!this._editor.hasTextFocus())return;if(q&&this._clipboardService.writeResources([]),!e.clipboardData||!this.isPasteAsEnabled())return;const i=this._editor.getModel(),o=this._editor.getSelections();if(!i||!(null==o?void 0:o.length))return;const s=this._editor.getOption(37);let r=o;const l=1===o.length&&o[0].isEmpty();if(l){if(!s)return;r=[new nc(r[0].startLineNumber,1,r[0].startLineNumber,1+i.getLineLength(r[0].startLineNumber))]}const a=null===(t=this._editor._getViewModel())||void 0===t?void 0:t.getPlainTextToCopy(o,s,z),d={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:l,mode:null},u=this._languageFeaturesService.documentPasteEditProvider.ordered(i).filter((e=>!!e.prepareDocumentPaste));if(!u.length)return void this.setCopyMetadata(e.clipboardData,{defaultPastePayload:d});const c=hx(e.clipboardData),h=u.flatMap((e=>{var t;return null!==(t=e.copyMimeTypes)&&void 0!==t?t:[]})),g=nx();this.setCopyMetadata(e.clipboardData,{id:g,providerCopyMimeTypes:h,defaultPastePayload:d});const p=Pt((async e=>{const t=Oc(await Promise.all(u.map((async t=>{try{return await t.prepareDocumentPaste(i,r,c,e)}catch(e){return void console.error(e)}}))));t.reverse();for(const e of t)for(const[t,n]of e)c.replace(t,n);return c}));null===(n=GL._currentCopyOperation)||void 0===n||n.dataTransferPromise.cancel(),GL._currentCopyOperation={handle:g,dataTransferPromise:p}}async handlePaste(e){var t,n,i,o;if(!e.clipboardData||!this._editor.hasTextFocus())return;null===(t=pL.get(this._editor))||void 0===t||t.closeMessage(),null===(n=this._currentPasteOperation)||void 0===n||n.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),r=this._editor.getSelections();if(!(null==r?void 0:r.length)||!s)return;if(!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const l=this.fetchCopyMetadata(e),a=mx(e.clipboardData);a.delete(QL);const d=[...e.clipboardData.types,...null!==(i=null==l?void 0:l.providerCopyMimeTypes)&&void 0!==i?i:[],xg.uriList],u=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((e=>{var t,n;const i=null===(t=this._pasteAsActionContext)||void 0===t?void 0:t.preferred;return!(i&&e.providedPasteEditKinds&&!this.providerMatchesPreference(e,i))&&(null===(n=e.pasteMimeTypes)||void 0===n?void 0:n.some((e=>rx(e,d))))}));u.length?(e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,u,r,a,l):this.doPasteInline(u,r,a,l,e)):(null===(o=this._pasteAsActionContext)||void 0===o?void 0:o.preferred)&&this.showPasteAsNoEditMessage(r,this._pasteAsActionContext.preferred)}showPasteAsNoEditMessage(e,t){var n;null===(n=pL.get(this._editor))||void 0===n||n.showMessage(_(0,"No paste edits for '{0}' found",t instanceof dx?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,n,i,o){const s=Pt((async r=>{const l=this._editor;if(!l.hasModel())return;const a=l.getModel(),d=new rk(l,3,void 0,r);try{if(await this.mergeInDataFromCopy(n,i,d.token),d.token.isCancellationRequested)return;const s=e.filter((e=>this.isSupportedPasteProvider(e,n)));if(!s.length||1===s.length&&s[0]instanceof Px)return this.applyDefaultPasteHandler(n,i,d.token,o);const r={triggerKind:bC.Automatic},u=await this.getPasteEdits(s,n,a,t,r,d.token);if(d.token.isCancellationRequested)return;if(1===u.length&&u[0].provider instanceof Px)return this.applyDefaultPasteHandler(n,i,d.token,o);if(u.length){const e="afterPaste"===l.getOption(85).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:u},e,(async(e,t)=>{var n,i;const o=await(null===(i=(n=e.provider).resolveDocumentPasteEdit)||void 0===i?void 0:i.call(n,e,t));return o&&(e.additionalEdit=o.additionalEdit),e}),d.token)}await this.applyDefaultPasteHandler(n,i,d.token,o)}finally{d.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(t[0].getEndPosition(),_(0,"Running paste handlers. Click to cancel"),s),this._currentPasteOperation=s}showPasteAsPick(e,t,n,i,o){const s=Pt((async r=>{const l=this._editor;if(!l.hasModel())return;const a=l.getModel(),d=new rk(l,3,void 0,r);try{if(await this.mergeInDataFromCopy(i,o,d.token),d.token.isCancellationRequested)return;let s=t.filter((t=>this.isSupportedPasteProvider(t,i,e)));e&&(s=s.filter((t=>this.providerMatchesPreference(t,e))));const r={triggerKind:bC.PasteAs,only:e&&e instanceof dx?e:void 0};let l,u=await this.getPasteEdits(s,i,a,n,r,d.token);if(d.token.isCancellationRequested)return;if(e&&(u=u.filter((t=>e instanceof dx?e.contains(t.kind):e.providerId===t.provider.id))),!u.length)return void(r.only&&this.showPasteAsNoEditMessage(n,r.only));if(e)l=u.at(0);else{const e=await this._quickInputService.pick(u.map((e=>{var t;return{label:e.title,description:null===(t=e.kind)||void 0===t?void 0:t.value,edit:e}})),{placeHolder:_(0,"Select Paste Action")});l=null==e?void 0:e.edit}if(!l)return;const c=ek(a.uri,n,l);await this._bulkEditService.apply(c,{editor:this._editor})}finally{d.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:_(0,"Running paste handlers")},(()=>s))}setCopyMetadata(e,t){e.setData(QL,JSON.stringify(t))}fetchCopyMetadata(e){var t;if(!e.clipboardData)return;const n=e.clipboardData.getData(QL);if(n)try{return JSON.parse(n)}catch(e){return}const[i,o]=ex.getTextData(e.clipboardData);return o?{defaultPastePayload:{mode:o.mode,multicursorText:null!==(t=o.multicursorText)&&void 0!==t?t:null,pasteOnNewLine:!!o.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(e,t,n){var i;if((null==t?void 0:t.id)&&(null===(i=GL._currentCopyOperation)||void 0===i?void 0:i.handle)===t.id){const t=await GL._currentCopyOperation.dataTransferPromise;if(n.isCancellationRequested)return;for(const[n,i]of t)e.replace(n,i)}if(!e.has(xg.uriList)){const t=await this._clipboardService.readResources();if(n.isCancellationRequested)return;t.length&&e.append(xg.uriList,ix(ax.create(t)))}}async getPasteEdits(e,t,n,i,o,s){const r=await Ot(Promise.all(e.map((async e=>{var r,l;try{const a=await(null===(r=e.provideDocumentPasteEdits)||void 0===r?void 0:r.call(e,n,i,t,o,s));return null===(l=null==a?void 0:a.edits)||void 0===l?void 0:l.map((t=>({...t,provider:e})))}catch(e){console.error(e)}}))),s);return tk(Oc(null!=r?r:[]).flat().filter((e=>!o.only||o.only.contains(e.kind))))}async applyDefaultPasteHandler(e,t,n,i){var o,s,r,l;const a=null!==(o=e.get(xg.text))&&void 0!==o?o:e.get("text"),d=null!==(s=await(null==a?void 0:a.asString()))&&void 0!==s?s:"";if(n.isCancellationRequested)return;const u={clipboardEvent:i,text:d,pasteOnNewLine:null!==(r=null==t?void 0:t.defaultPastePayload.pasteOnNewLine)&&void 0!==r&&r,multicursorText:null!==(l=null==t?void 0:t.defaultPastePayload.multicursorText)&&void 0!==l?l:null,mode:null};this._editor.trigger("keyboard","paste",u)}isSupportedPasteProvider(e,t,n){var i;return!!(null===(i=e.pasteMimeTypes)||void 0===i?void 0:i.some((e=>t.matches(e))))&&(!n||this.providerMatchesPreference(e,n))}providerMatchesPreference(e,t){return t instanceof dx?!e.providedPasteEditKinds||e.providedPasteEditKinds.some((e=>t.contains(e))):e.id===t.providerId}};JL.ID="editor.contrib.copyPasteActionController",JL=GL=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([ZL(1,ad),ZL(2,fx),ZL(3,fL),ZL(4,wx),ZL(5,SL),ZL(6,_L)],JL);const eD="9_cutcopypaste",tD=j||document.queryCommandSupported("cut"),nD=j||document.queryCommandSupported("copy"),iD=void 0!==navigator.clipboard&&!a||document.queryCommandSupported("paste");function oD(e){return e.register(),e}const sD=tD?oD(new Wu({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:j?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Su.MenubarEditMenu,group:"2_ccp",title:_(0,"Cu&&t"),order:1},{menuId:Su.EditorContext,group:eD,title:_(0,"Cut"),when:oc.writable,order:1},{menuId:Su.CommandPalette,group:"",title:_(0,"Cut"),order:1},{menuId:Su.SimpleEditorContext,group:eD,title:_(0,"Cut"),when:oc.writable,order:1}]})):void 0,rD=nD?oD(new Wu({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:j?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Su.MenubarEditMenu,group:"2_ccp",title:_(0,"&&Copy"),order:2},{menuId:Su.EditorContext,group:eD,title:_(0,"Copy"),order:2},{menuId:Su.CommandPalette,group:"",title:_(0,"Copy"),order:1},{menuId:Su.SimpleEditorContext,group:eD,title:_(0,"Copy"),order:2}]})):void 0;Lu.appendMenuItem(Su.MenubarEditMenu,{submenu:Su.MenubarCopy,title:v(0,"Copy As"),group:"2_ccp",order:3}),Lu.appendMenuItem(Su.EditorContext,{submenu:Su.EditorContextCopy,title:v(0,"Copy As"),group:eD,order:3}),Lu.appendMenuItem(Su.EditorContext,{submenu:Su.EditorContextShare,title:v(0,"Share"),group:"11_share",order:-1,when:Bd.and(Bd.notEquals("resourceScheme","output"),oc.editorTextFocus)}),Lu.appendMenuItem(Su.EditorTitleContext,{submenu:Su.EditorTitleContextShare,title:v(0,"Share"),group:"11_share",order:-1}),Lu.appendMenuItem(Su.ExplorerContext,{submenu:Su.ExplorerContextShare,title:v(0,"Share"),group:"11_share",order:-1});const lD=iD?oD(new Wu({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:j?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Su.MenubarEditMenu,group:"2_ccp",title:_(0,"&&Paste"),order:4},{menuId:Su.EditorContext,group:eD,title:_(0,"Paste"),when:oc.writable,order:4},{menuId:Su.CommandPalette,group:"",title:_(0,"Paste"),order:1},{menuId:Su.SimpleEditorContext,group:eD,title:_(0,"Paste"),when:oc.writable,order:4}]})):void 0;function aD(e,t){e&&(e.addImplementation(1e4,"code-editor",((e,n)=>{const i=e.get(ud).getFocusedCodeEditor();if(i&&i.hasTextFocus()){const e=i.getOption(37),n=i.getSelection();return n&&n.isEmpty()&&!e||i.getContainerDomNode().ownerDocument.execCommand(t),!0}return!1})),e.addImplementation(0,"generic-dom",((e,n)=>(Us().execCommand(t),!0))))}aD(sD,"cut"),aD(rD,"copy"),lD&&(lD.addImplementation(1e4,"code-editor",((e,t)=>{var n,i;const o=e.get(ud),s=e.get(fL),r=o.getFocusedCodeEditor();return!(!r||!r.hasTextFocus())&&(r.getContainerDomNode().ownerDocument.execCommand("paste")?null!==(i=null===(n=JL.get(r))||void 0===n?void 0:n.finishedPaste())&&void 0!==i?i:Promise.resolve():!q||(async()=>{const e=await s.readText();if(""!==e){const t=XS.INSTANCE.get(e);let n=!1,i=null,o=null;t&&(n=r.getOption(37)&&!!t.isFromEmptySelection,i=void 0!==t.multicursorText?t.multicursorText:null,o=t.mode),r.trigger("keyboard","paste",{text:e,pasteOnNewLine:n,multicursorText:i,mode:o})}})())})),lD.addImplementation(0,"generic-dom",((e,t)=>(Us().execCommand("paste"),!0)))),nD&&$u(class extends zu{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:_(0,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,weight:100}})}run(e,t){t.hasModel()&&(!t.getOption(37)&&t.getSelection().isEmpty()||(YS.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),YS.forceCopyWithSyntaxHighlighting=!1))}});const dD={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0};class uD{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class cD{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class hD{constructor(e,t,n,i){this.id=e,this.name=t,this.defaultValue=n,this.schema=i}applyUpdate(e,t){return pD(e,t)}compute(e,t,n){return n}}class gD{constructor(e,t){this.newValue=e,this.didChange=t}}function pD(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new gD(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const n=Array.isArray(e)&&Array.isArray(t)&&Ic(e,t);return new gD(t,!n)}let n=!1;for(const i in t)if(t.hasOwnProperty(i)){const o=pD(e[i],t[i]);o.didChange&&(e[i]=o.newValue,n=!0)}return new gD(e,n)}class mD{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return pD(e,t)}validate(e){return this.defaultValue}}class fD{constructor(e,t,n,i){this.id=e,this.name=t,this.defaultValue=n,this.schema=i}applyUpdate(e,t){return pD(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,n){return n}}function _D(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class vD extends fD{constructor(e,t,n,i=void 0){void 0!==i&&(i.type="boolean",i.default=n),super(e,t,n,i)}validate(e){return _D(e,this.defaultValue)}}function bD(e,t,n,i){if(void 0===e)return t;let o=parseInt(e,10);return isNaN(o)?t:(o=Math.max(n,o),o=Math.min(i,o),0|o)}class wD extends fD{static clampedInt(e,t,n,i){return bD(e,t,n,i)}constructor(e,t,n,i,o,s=void 0){void 0!==s&&(s.type="integer",s.default=n,s.minimum=i,s.maximum=o),super(e,t,n,s),this.minimum=i,this.maximum=o}validate(e){return wD.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function CD(e,t,n,i){if(void 0===e)return t;const o=yD.float(e,t);return yD.clamp(o,n,i)}class yD extends fD{static clamp(e,t,n){return en?n:e}static float(e,t){if("number"==typeof e)return e;if(void 0===e)return t;const n=parseFloat(e);return isNaN(n)?t:n}constructor(e,t,n,i,o){void 0!==o&&(o.type="number",o.default=n),super(e,t,n,o),this.validationFn=i}validate(e){return this.validationFn(yD.float(e,this.defaultValue))}}class SD extends fD{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,n,i=void 0){void 0!==i&&(i.type="string",i.default=n),super(e,t,n,i)}validate(e){return SD.string(e,this.defaultValue)}}function xD(e,t,n,i){return"string"!=typeof e?t:i&&e in i?i[e]:-1===n.indexOf(e)?t:e}class kD extends fD{constructor(e,t,n,i,o=void 0){void 0!==o&&(o.type="string",o.enum=i,o.default=n),super(e,t,n,o),this._allowedValues=i}validate(e){return xD(e,this.defaultValue,this._allowedValues)}}class LD extends hD{constructor(e,t,n,i,o,s,r=void 0){void 0!==r&&(r.type="string",r.enum=o,r.default=i),super(e,t,n,r),this._allowedValues=o,this._convert=s}validate(e){return"string"!=typeof e||-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)}}var DD,ND;!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(DD||(DD={}));class ED extends hD{constructor(){super(51,"fontLigatures",ED.OFF,{anyOf:[{type:"boolean",description:_(0,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:_(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:_(0,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e||0===e.length?ED.OFF:"true"===e?ED.ON:e:Boolean(e)?ED.ON:ED.OFF}}ED.OFF='"liga" off, "calt" off',ED.ON='"liga" on, "calt" on';class ID extends hD{constructor(){super(54,"fontVariations",ID.OFF,{anyOf:[{type:"boolean",description:_(0,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:_(0,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:_(0,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?ID.OFF:"true"===e?ID.TRANSLATE:e:Boolean(e)?ID.TRANSLATE:ID.OFF}compute(e,t,n){return e.fontInfo.fontVariationSettings}}ID.OFF="normal",ID.TRANSLATE="translate";class MD extends hD{constructor(){super(53,"fontWeight",KD.fontWeight,{anyOf:[{type:"number",minimum:MD.MINIMUM_VALUE,maximum:MD.MAXIMUM_VALUE,errorMessage:_(0,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:MD.SUGGESTION_VALUES}],default:KD.fontWeight,description:_(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(wD.clampedInt(e,KD.fontWeight,MD.MINIMUM_VALUE,MD.MAXIMUM_VALUE))}}MD.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],MD.MINIMUM_VALUE=1,MD.MAXIMUM_VALUE=1e3;class TD extends mD{constructor(){super(145)}compute(e,t,n){return TD.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,n=Math.floor(e.paddingTop/e.lineHeight);let i=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(i=Math.max(i,t-1));const o=(n+e.viewLineCount+i)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:i,desiredRatio:o,minimapLineCount:Math.floor(e.viewLineCount/o)}}static _computeMinimapLayout(e,t){const n=e.outerWidth,i=e.outerHeight,o=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(o*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};const s=t.stableMinimapLayoutInput,r=s&&e.outerHeight===s.outerHeight&&e.lineHeight===s.lineHeight&&e.typicalHalfwidthCharacterWidth===s.typicalHalfwidthCharacterWidth&&e.pixelRatio===s.pixelRatio&&e.scrollBeyondLastLine===s.scrollBeyondLastLine&&e.paddingTop===s.paddingTop&&e.paddingBottom===s.paddingBottom&&e.minimap.enabled===s.minimap.enabled&&e.minimap.side===s.minimap.side&&e.minimap.size===s.minimap.size&&e.minimap.showSlider===s.minimap.showSlider&&e.minimap.renderCharacters===s.minimap.renderCharacters&&e.minimap.maxColumn===s.minimap.maxColumn&&e.minimap.scale===s.minimap.scale&&e.verticalScrollbarWidth===s.verticalScrollbarWidth&&e.isViewportWrapping===s.isViewportWrapping,l=e.lineHeight,a=e.typicalHalfwidthCharacterWidth,d=e.scrollBeyondLastLine,u=e.minimap.renderCharacters;let c=o>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const h=e.minimap.maxColumn,g=e.minimap.size,p=e.minimap.side,m=e.verticalScrollbarWidth,f=e.viewLineCount,_=e.remainingWidth,v=e.isViewportWrapping,b=u?2:3;let w=Math.floor(o*i);const C=w/o;let y=!1,S=!1,x=b*c,k=c/o,L=1;if("fill"===g||"fit"===g){const{typicalViewportLineCount:n,extraLinesBeforeFirstLine:s,extraLinesBeyondLastLine:a,desiredRatio:u,minimapLineCount:h}=TD.computeContainedMinimapLineCount({viewLineCount:f,scrollBeyondLastLine:d,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:i,lineHeight:l,pixelRatio:o});if(f/h>1)y=!0,S=!0,c=1,x=1,k=c/o;else{let i=!1,d=c+1;if("fit"===g){const e=Math.ceil((s+f+a)*x);v&&r&&_<=t.stableFitRemainingWidth?(i=!0,d=t.stableFitMaxMinimapScale):i=e>w}if("fill"===g||i){y=!0;const i=c;x=Math.min(l*o,Math.max(1,Math.floor(1/u))),v&&r&&_<=t.stableFitRemainingWidth&&(d=t.stableFitMaxMinimapScale),c=Math.min(d,Math.max(1,Math.floor(x/b))),c>i&&(L=Math.min(2,c/i)),k=c/o/L,w=Math.ceil(Math.max(n,s+f+a)*x),v?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=_,t.stableFitMaxMinimapScale=c):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const D=Math.floor(h*k),N=Math.min(D,Math.max(0,Math.floor((_-m-2)*k/(a+k)))+8);let E=Math.floor(o*N);const I=E/o;return E=Math.floor(E*L),{renderMinimap:u?1:2,minimapLeft:"left"===p?0:n-N-m,minimapWidth:N,minimapHeightIsEditorHeight:y,minimapIsSampling:S,minimapScale:c,minimapLineHeight:x,minimapCanvasInnerWidth:E,minimapCanvasInnerHeight:w,minimapCanvasOuterWidth:I,minimapCanvasOuterHeight:C}}static computeLayout(e,t){const n=0|t.outerWidth,i=0|t.outerHeight,o=0|t.lineHeight,s=0|t.lineNumbersDigitCount,r=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,a=t.pixelRatio,d=t.viewLineCount,u=e.get(137),c="inherit"===u?e.get(136):u,h="inherit"===c?e.get(132):c,g=e.get(135),p=t.isDominatedByLongLines,m=e.get(57),f=0!==e.get(68).renderType,_=e.get(69),v=e.get(105),b=e.get(84),w=e.get(73),C=e.get(103),y=C.verticalScrollbarSize,S=C.verticalHasArrows,x=C.arrowSize,k=C.horizontalScrollbarSize,L=e.get(43),D="never"!==e.get(110);let N=e.get(66);L&&D&&(N+=16);let E=0;if(f){const e=Math.max(s,_);E=Math.round(e*l)}let I=0;m&&(I=o*t.glyphMarginDecorationLaneCount);let M=0,T=M+I,A=T+E,R=A+N;const P=n-I-E-N;let O=!1,F=!1,B=-1;"inherit"===c&&p?(O=!0,F=!0):"on"===h||"bounded"===h?F=!0:"wordWrapColumn"===h&&(B=g);const W=TD._computeMinimapLayout({outerWidth:n,outerHeight:i,lineHeight:o,typicalHalfwidthCharacterWidth:r,pixelRatio:a,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:w,verticalScrollbarWidth:y,viewLineCount:d,remainingWidth:P,isViewportWrapping:F},t.memory||new cD);0!==W.renderMinimap&&0===W.minimapLeft&&(M+=W.minimapWidth,T+=W.minimapWidth,A+=W.minimapWidth,R+=W.minimapWidth);const V=P-W.minimapWidth,H=Math.max(1,Math.floor((V-y-2)/r)),z=S?x:0;return F&&(B=Math.max(1,H),"bounded"===h&&(B=Math.min(B,g))),{width:n,height:i,glyphMarginLeft:M,glyphMarginWidth:I,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:T,lineNumbersWidth:E,decorationsLeft:A,decorationsWidth:N,contentLeft:R,contentWidth:V,minimap:W,viewportColumn:H,isWordWrapMinified:O,isViewportWrapping:F,wrappingColumn:B,verticalScrollbarWidth:y,horizontalScrollbarHeight:k,overviewRuler:{top:z,width:y,height:i-2*z,right:0}}}}function AD(e){const t=e.get(98);return"editable"===t?e.get(91):"on"!==t}function RD(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(ND||(ND={}));const PD="inUntrustedWorkspace",OD="editor.unicodeHighlight.allowedCharacters",FD="editor.unicodeHighlight.invisibleCharacters",BD="editor.unicodeHighlight.nonBasicASCII",WD="editor.unicodeHighlight.ambiguousCharacters",VD="editor.unicodeHighlight.includeComments",HD="editor.unicodeHighlight.includeStrings",zD="editor.unicodeHighlight.allowedLocales";function UD(e,t,n){const i=n.indexOf(e);return-1===i?t:n[i]}const KD={fontFamily:U?"Menlo, Monaco, 'Courier New', monospace":K?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:U?12:14,lineHeight:0,letterSpacing:0},jD=[];function qD(e){return jD[e.id]=e,e}const $D={acceptSuggestionOnCommitCharacter:qD(new vD(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:_(0,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:qD(new kD(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",_(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:_(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:qD(new class extends hD{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[_(0,"Use platform APIs to detect when a Screen Reader is attached."),_(0,"Optimize for usage with a Screen Reader."),_(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:_(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,n){return 0===n?e.accessibilitySupport:n}}),accessibilityPageSize:qD(new wD(3,"accessibilityPageSize",10,1,1073741824,{description:_(0,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:qD(new SD(4,"ariaLabel",_(0,"Editor content"))),ariaRequired:qD(new vD(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:qD(new vD(8,"screenReaderAnnounceInlineSuggestion",!0,{description:_(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:qD(new kD(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_(0,"Use language configurations to determine when to autoclose brackets."),_(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:_(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:qD(new kD(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_(0,"Use language configurations to determine when to autoclose comments."),_(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:_(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:qD(new kD(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",_(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:_(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:qD(new kD(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",_(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:_(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:qD(new kD(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_(0,"Use language configurations to determine when to autoclose quotes."),_(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:_(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:qD(new LD(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(e){switch(e){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[_(0,"The editor will not insert indentation automatically."),_(0,"The editor will keep the current line's indentation."),_(0,"The editor will keep the current line's indentation and honor language defined brackets."),_(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),_(0,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:_(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:qD(new vD(13,"automaticLayout",!1)),autoSurround:qD(new kD(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[_(0,"Use language configurations to determine when to automatically surround selections."),_(0,"Surround with quotes but not brackets."),_(0,"Surround with brackets but not quotes."),""],description:_(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:qD(new class extends hD{constructor(){const e={enabled:yh.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:yh.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:_(0,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:_(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:_D(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:qD(new class extends hD{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[_(0,"Enables bracket pair guides."),_(0,"Enables bracket pair guides only for the active bracket pair."),_(0,"Disables bracket pair guides.")],default:e.bracketPairs,description:_(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[_(0,"Enables horizontal guides as addition to vertical bracket pair guides."),_(0,"Enables horizontal guides only for the active bracket pair."),_(0,"Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:_(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:_(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:_(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[_(0,"Highlights the active indent guide."),_(0,"Highlights the active indent guide even if bracket guides are highlighted."),_(0,"Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:_(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{bracketPairs:UD(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:UD(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:_D(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:_D(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:UD(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:qD(new vD(116,"stickyTabStops",!1,{description:_(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:qD(new vD(17,"codeLens",!0,{description:_(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:qD(new SD(18,"codeLensFontFamily","",{description:_(0,"Controls the font family for CodeLens.")})),codeLensFontSize:qD(new wD(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:_(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:qD(new vD(20,"colorDecorators",!0,{description:_(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:qD(new kD(148,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[_(0,"Make the color picker appear both on click and hover of the color decorator"),_(0,"Make the color picker appear on hover of the color decorator"),_(0,"Make the color picker appear on click of the color decorator")],description:_(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:qD(new wD(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:_(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:qD(new vD(22,"columnSelection",!1,{description:_(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:qD(new class extends hD{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:_(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:_(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertSpace:_D(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:_D(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:qD(new vD(24,"contextmenu",!0)),copyWithSyntaxHighlighting:qD(new vD(25,"copyWithSyntaxHighlighting",!0,{description:_(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:qD(new LD(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(e){switch(e){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:_(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:qD(new kD(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[_(0,"Smooth caret animation is disabled."),_(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),_(0,"Smooth caret animation is always enabled.")],description:_(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:qD(new LD(28,"cursorStyle",DD.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(e){switch(e){case"line":return DD.Line;case"block":return DD.Block;case"underline":return DD.Underline;case"line-thin":return DD.LineThin;case"block-outline":return DD.BlockOutline;case"underline-thin":return DD.UnderlineThin}}),{description:_(0,"Controls the cursor style.")})),cursorSurroundingLines:qD(new wD(29,"cursorSurroundingLines",0,0,1073741824,{description:_(0,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:qD(new kD(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[_(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),_(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:_(0,"Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:qD(new wD(31,"cursorWidth",0,0,1073741824,{markdownDescription:_(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:qD(new vD(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:qD(new vD(33,"disableMonospaceOptimizations",!1)),domReadOnly:qD(new vD(34,"domReadOnly",!1)),dragAndDrop:qD(new vD(35,"dragAndDrop",!0,{description:_(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:qD(new class extends vD{constructor(){super(37,"emptySelectionClipboard",!0,{description:_(0,"Controls whether copying without a selection copies the current line.")})}compute(e,t,n){return n&&e.emptySelectionClipboard}}),dropIntoEditor:qD(new class extends hD{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:_(0,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:_(0,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[_(0,"Show the drop selector widget after a file is dropped into the editor."),_(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),showDropSelector:xD(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:qD(new class extends hD{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(115,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:_(0,"Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:_(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:_(0,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:_(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),maxLineCount:wD.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:xD(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:_D(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:qD(new kD(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[_(0,"Use a new rendering method with svgs."),_(0,"Use a new rendering method with font characters."),_(0,"Use the stable rendering method.")],description:_(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:qD(new SD(39,"extraEditorClassName","")),fastScrollSensitivity:qD(new yD(40,"fastScrollSensitivity",5,(e=>e<=0?5:e),{markdownDescription:_(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:qD(new class extends hD{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:_(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[_(0,"Never seed search string from the editor selection."),_(0,"Always seed search string from the editor selection, including word at cursor position."),_(0,"Only seed search string from the editor selection.")],description:_(0,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[_(0,"Never turn on Find in Selection automatically (default)."),_(0,"Always turn on Find in Selection automatically."),_(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:_(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:_(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:U},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:_(0,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:_(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{cursorMoveOnType:_D(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":xD(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":xD(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:_D(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:_D(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:_D(t.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:qD(new vD(42,"fixedOverflowWidgets",!1)),folding:qD(new vD(43,"folding",!0,{description:_(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:qD(new kD(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[_(0,"Use a language-specific folding strategy if available, else the indentation-based one."),_(0,"Use the indentation-based folding strategy.")],description:_(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:qD(new vD(45,"foldingHighlight",!0,{description:_(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:qD(new vD(46,"foldingImportsByDefault",!1,{description:_(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:qD(new wD(47,"foldingMaximumRegions",5e3,10,65e3,{description:_(0,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:qD(new vD(48,"unfoldOnClickAfterEndOfLine",!1,{description:_(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:qD(new SD(49,"fontFamily",KD.fontFamily,{description:_(0,"Controls the font family.")})),fontInfo:qD(new class extends mD{constructor(){super(50)}compute(e,t,n){return e.fontInfo}}),fontLigatures2:qD(new ED),fontSize:qD(new class extends fD{constructor(){super(52,"fontSize",KD.fontSize,{type:"number",minimum:6,maximum:100,default:KD.fontSize,description:_(0,"Controls the font size in pixels.")})}validate(e){const t=yD.float(e,this.defaultValue);return 0===t?KD.fontSize:yD.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}}),fontWeight:qD(new MD),fontVariations:qD(new ID),formatOnPaste:qD(new vD(55,"formatOnPaste",!1,{description:_(0,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:qD(new vD(56,"formatOnType",!1,{description:_(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:qD(new vD(57,"glyphMargin",!0,{description:_(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:qD(new class extends hD{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[_(0,"Show Peek view of the results (default)"),_(0,"Go to the primary result and show a Peek view"),_(0,"Go to the primary result and enable Peek-less navigation to others")]},n=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:_(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:_(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:_(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:_(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:_(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:_(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,n,i,o,s;if(!e||"object"!=typeof e)return this.defaultValue;const r=e;return{multiple:xD(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(t=r.multipleDefinitions)&&void 0!==t?t:xD(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(n=r.multipleTypeDefinitions)&&void 0!==n?n:xD(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(i=r.multipleDeclarations)&&void 0!==i?i:xD(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(o=r.multipleImplementations)&&void 0!==o?o:xD(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(s=r.multipleReferences)&&void 0!==s?s:xD(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:SD.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:SD.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:SD.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:SD.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:SD.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:qD(new vD(59,"hideCursorInOverviewRuler",!1,{description:_(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:qD(new class extends hD{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:_(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:_(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:_(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:_(0,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:_(0,"Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),delay:wD.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:_D(t.sticky,this.defaultValue.sticky),hidingDelay:wD.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:_D(t.above,this.defaultValue.above)}}}),inDiffEditor:qD(new vD(61,"inDiffEditor",!1)),letterSpacing:qD(new yD(64,"letterSpacing",KD.letterSpacing,(e=>yD.clamp(e,-5,20)),{description:_(0,"Controls the letter spacing in pixels.")})),lightbulb:qD(new class extends hD{constructor(){const e={enabled:ND.On};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[ND.Off,ND.OnCode,ND.On],default:e.enabled,enumDescriptions:[_(0,"Disable the code action menu."),_(0,"Show the code action menu when the cursor is on lines with code."),_(0,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:_(0,"Enables the Code Action lightbulb in the editor.")}})}validate(e){return e&&"object"==typeof e?{enabled:xD(e.enabled,this.defaultValue.enabled,[ND.Off,ND.OnCode,ND.On])}:this.defaultValue}}),lineDecorationsWidth:qD(new class extends hD{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return"string"==typeof e&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):wD.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,n){return n<0?wD.clampedInt(-n*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}}),lineHeight:qD(new class extends yD{constructor(){super(67,"lineHeight",KD.lineHeight,(e=>yD.clamp(e,0,150)),{markdownDescription:_(0,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,n){return e.fontInfo.lineHeight}}),lineNumbers:qD(new class extends hD{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[_(0,"Line numbers are not rendered."),_(0,"Line numbers are rendered as absolute number."),_(0,"Line numbers are rendered as distance in lines to cursor position."),_(0,"Line numbers are rendered every 10 lines.")],default:"on",description:_(0,"Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,n=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,n=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:n}}}),lineNumbersMinChars:qD(new wD(69,"lineNumbersMinChars",5,1,300)),linkedEditing:qD(new vD(70,"linkedEditing",!1,{description:_(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:qD(new vD(71,"links",!0,{description:_(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:qD(new kD(72,"matchBrackets","always",["always","near","never"],{description:_(0,"Highlight matching brackets.")})),minimap:qD(new class extends hD{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:_(0,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:_(0,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[_(0,"The minimap has the same size as the editor contents (and might scroll)."),_(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),_(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:_(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:_(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:_(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:_(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:_(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:_(0,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:_(0,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:_(0,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:_(0,"Controls the font size of section headers in the minimap.")}})}validate(e){var t;if(!e||"object"!=typeof e)return this.defaultValue;const n=e;return{enabled:_D(n.enabled,this.defaultValue.enabled),autohide:_D(n.autohide,this.defaultValue.autohide),size:xD(n.size,this.defaultValue.size,["proportional","fill","fit"]),side:xD(n.side,this.defaultValue.side,["right","left"]),showSlider:xD(n.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:_D(n.renderCharacters,this.defaultValue.renderCharacters),scale:wD.clampedInt(n.scale,1,1,3),maxColumn:wD.clampedInt(n.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:_D(n.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:_D(n.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:yD.clamp(null!==(t=n.sectionHeaderFontSize)&&void 0!==t?t:this.defaultValue.sectionHeaderFontSize,4,32)}}}),mouseStyle:qD(new kD(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:qD(new yD(75,"mouseWheelScrollSensitivity",1,(e=>0===e?1:e),{markdownDescription:_(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:qD(new vD(76,"mouseWheelZoom",!1,{markdownDescription:_(0,U?"Zoom the font of the editor when using mouse wheel and holding `Cmd`.":"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:qD(new vD(77,"multiCursorMergeOverlapping",!0,{description:_(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:qD(new LD(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(e){return"ctrlCmd"===e?U?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[_(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),_(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:_(0,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:qD(new kD(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[_(0,"Each cursor pastes a single line of the text."),_(0,"Each cursor pastes the full text.")],markdownDescription:_(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:qD(new wD(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:_(0,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:qD(new kD(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[_(0,"Does not highlight occurrences."),_(0,"Highlights occurrences only in the current file."),_(0,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:_(0,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:qD(new vD(82,"overviewRulerBorder",!0,{description:_(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:qD(new wD(83,"overviewRulerLanes",3,0,3)),padding:qD(new class extends hD{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:_(0,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:_(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{top:wD.clampedInt(t.top,0,0,1e3),bottom:wD.clampedInt(t.bottom,0,0,1e3)}}}),pasteAs:qD(new class extends hD{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:_(0,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:_(0,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[_(0,"Show the paste selector widget after content is pasted into the editor."),_(0,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),showPasteSelector:xD(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:qD(new class extends hD{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:_(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:_(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),cycle:_D(t.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:qD(new kD(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[_(0,"Focus the tree when opening peek"),_(0,"Focus the editor when opening peek")],description:_(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:qD(new vD(88,"definitionLinkOpensInPeek",!1,{description:_(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:qD(new class extends hD{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[_(0,"Quick suggestions show inside the suggest widget"),_(0,"Quick suggestions show as ghost text"),_(0,"Quick suggestions are disabled")]}];super(89,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:_(0,"Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:_(0,"Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:_(0,"Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:_(0,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=e}validate(e){if("boolean"==typeof e){const t=e?"on":"off";return{comments:t,strings:t,other:t}}if(!e||"object"!=typeof e)return this.defaultValue;const{other:t,comments:n,strings:i}=e,o=["on","inline","off"];let s,r,l;return s="boolean"==typeof t?t?"on":"off":xD(t,this.defaultValue.other,o),r="boolean"==typeof n?n?"on":"off":xD(n,this.defaultValue.comments,o),l="boolean"==typeof i?i?"on":"off":xD(i,this.defaultValue.strings,o),{other:s,comments:r,strings:l}}}),quickSuggestionsDelay:qD(new wD(90,"quickSuggestionsDelay",10,0,1073741824,{description:_(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:qD(new vD(91,"readOnly",!1)),readOnlyMessage:qD(new class extends hD{constructor(){super(92,"readOnlyMessage",void 0)}validate(e){return e&&"object"==typeof e?e:this.defaultValue}}),renameOnType:qD(new vD(93,"renameOnType",!1,{description:_(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:_(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:qD(new vD(94,"renderControlCharacters",!0,{description:_(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:qD(new kD(95,"renderFinalNewline",K?"dimmed":"on",["off","on","dimmed"],{description:_(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:qD(new kD(96,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",_(0,"Highlights both the gutter and the current line.")],description:_(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:qD(new vD(97,"renderLineHighlightOnlyWhenFocus",!1,{description:_(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:qD(new kD(98,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:qD(new kD(99,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",_(0,"Render whitespace characters except for single spaces between words."),_(0,"Render whitespace characters only on selected text."),_(0,"Render only trailing whitespace characters."),""],description:_(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:qD(new wD(100,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:qD(new vD(101,"roundedSelection",!0,{description:_(0,"Controls whether selections should have rounded corners.")})),rulers:qD(new class extends hD{constructor(){const e=[],t={type:"number",description:_(0,"Number of monospace characters at which this editor ruler will render.")};super(102,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:_(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:_(0,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const n of e)if("number"==typeof n)t.push({column:wD.clampedInt(n,0,0,1e4),color:null});else if(n&&"object"==typeof n){const e=n;t.push({column:wD.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort(((e,t)=>e.column-t.column)),t}return this.defaultValue}}),scrollbar:qD(new class extends hD{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(103,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[_(0,"The vertical scrollbar will be visible only when necessary."),_(0,"The vertical scrollbar will always be visible."),_(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:_(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[_(0,"The horizontal scrollbar will be visible only when necessary."),_(0,"The horizontal scrollbar will always be visible."),_(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:_(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:_(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:_(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:_(0,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:_(0,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e,n=wD.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),i=wD.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:wD.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:RD(t.vertical,this.defaultValue.vertical),horizontal:RD(t.horizontal,this.defaultValue.horizontal),useShadows:_D(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:_D(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:_D(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:_D(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:_D(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:wD.clampedInt(t.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:i,verticalSliderSize:wD.clampedInt(t.verticalSliderSize,i,0,1e3),scrollByPage:_D(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:_D(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:qD(new wD(104,"scrollBeyondLastColumn",4,0,1073741824,{description:_(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:qD(new vD(105,"scrollBeyondLastLine",!0,{description:_(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:qD(new vD(106,"scrollPredominantAxis",!0,{description:_(0,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:qD(new vD(107,"selectionClipboard",!0,{description:_(0,"Controls whether the Linux primary clipboard should be supported."),included:K})),selectionHighlight:qD(new vD(108,"selectionHighlight",!0,{description:_(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:qD(new vD(109,"selectOnLineNumbers",!0)),showFoldingControls:qD(new kD(110,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[_(0,"Always show the folding controls."),_(0,"Never show the folding controls and reduce the gutter size."),_(0,"Only show the folding controls when the mouse is over the gutter.")],description:_(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:qD(new vD(111,"showUnused",!0,{description:_(0,"Controls fading out of unused code.")})),showDeprecated:qD(new vD(140,"showDeprecated",!0,{description:_(0,"Controls strikethrough deprecated variables.")})),inlayHints:qD(new class extends hD{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(141,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:_(0,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[_(0,"Inlay hints are enabled"),_(0,"Inlay hints are showing by default and hide when holding {0}",U?"Ctrl+Option":"Ctrl+Alt"),_(0,"Inlay hints are hidden by default and show when holding {0}",U?"Ctrl+Option":"Ctrl+Alt"),_(0,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:_(0,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:_(0,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:_(0,"Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return"boolean"==typeof t.enabled&&(t.enabled=t.enabled?"on":"off"),{enabled:xD(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:wD.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:SD.string(t.fontFamily,this.defaultValue.fontFamily),padding:_D(t.padding,this.defaultValue.padding)}}}),snippetSuggestions:qD(new kD(112,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[_(0,"Show snippet suggestions on top of other suggestions."),_(0,"Show snippet suggestions below other suggestions."),_(0,"Show snippets suggestions with other suggestions."),_(0,"Do not show snippet suggestions.")],description:_(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:qD(new class extends hD{constructor(){super(113,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:_(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:_(0,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return e&&"object"==typeof e?{selectLeadingAndTrailingWhitespace:_D(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:_D(e.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:qD(new vD(114,"smoothScrolling",!1,{description:_(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:qD(new wD(117,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:qD(new class extends hD{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(118,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[_(0,"Insert suggestion without overwriting text right of the cursor."),_(0,"Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:_(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:_(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:_(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:_(0,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[_(0,"Always select a suggestion when automatically triggering IntelliSense."),_(0,"Never select a suggestion when automatically triggering IntelliSense."),_(0,"Select a suggestion only when triggering IntelliSense from a trigger character."),_(0,"Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:_(0,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:_(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:_(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:_(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:_(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:_(0,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:_(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:_(0,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertMode:xD(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:_D(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:_D(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:_D(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:_D(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:xD(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:_D(t.showIcons,this.defaultValue.showIcons),showStatusBar:_D(t.showStatusBar,this.defaultValue.showStatusBar),preview:_D(t.preview,this.defaultValue.preview),previewMode:xD(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:_D(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:_D(t.showMethods,this.defaultValue.showMethods),showFunctions:_D(t.showFunctions,this.defaultValue.showFunctions),showConstructors:_D(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:_D(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:_D(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:_D(t.showFields,this.defaultValue.showFields),showVariables:_D(t.showVariables,this.defaultValue.showVariables),showClasses:_D(t.showClasses,this.defaultValue.showClasses),showStructs:_D(t.showStructs,this.defaultValue.showStructs),showInterfaces:_D(t.showInterfaces,this.defaultValue.showInterfaces),showModules:_D(t.showModules,this.defaultValue.showModules),showProperties:_D(t.showProperties,this.defaultValue.showProperties),showEvents:_D(t.showEvents,this.defaultValue.showEvents),showOperators:_D(t.showOperators,this.defaultValue.showOperators),showUnits:_D(t.showUnits,this.defaultValue.showUnits),showValues:_D(t.showValues,this.defaultValue.showValues),showConstants:_D(t.showConstants,this.defaultValue.showConstants),showEnums:_D(t.showEnums,this.defaultValue.showEnums),showEnumMembers:_D(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:_D(t.showKeywords,this.defaultValue.showKeywords),showWords:_D(t.showWords,this.defaultValue.showWords),showColors:_D(t.showColors,this.defaultValue.showColors),showFiles:_D(t.showFiles,this.defaultValue.showFiles),showReferences:_D(t.showReferences,this.defaultValue.showReferences),showFolders:_D(t.showFolders,this.defaultValue.showFolders),showTypeParameters:_D(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:_D(t.showSnippets,this.defaultValue.showSnippets),showUsers:_D(t.showUsers,this.defaultValue.showUsers),showIssues:_D(t.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:qD(new class extends hD{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:_(0,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[_(0,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),_(0,"Show the inline suggestion toolbar when hovering over an inline suggestion."),_(0,"Never show the inline suggestion toolbar.")],description:_(0,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:_(0,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:_(0,"Controls the font family of the inline suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),mode:xD(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:xD(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:_D(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:_D(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:SD.string(t.fontFamily,this.defaultValue.fontFamily)}}}),inlineEdit:qD(new class extends hD{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1,backgroundColoring:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:_(0,"Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[_(0,"Show the inline edit toolbar whenever an inline suggestion is shown."),_(0,"Show the inline edit toolbar when hovering over an inline suggestion."),_(0,"Never show the inline edit toolbar.")],description:_(0,"Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:_(0,"Controls the font family of the inline edit.")},"editor.experimentalInlineEdit.backgroundColoring":{type:"boolean",default:e.backgroundColoring,description:_(0,"Controls whether to color the background of inline edits.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),showToolbar:xD(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:SD.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:_D(t.keepOnBlur,this.defaultValue.keepOnBlur),backgroundColoring:_D(t.backgroundColoring,this.defaultValue.backgroundColoring)}}}),inlineCompletionsAccessibilityVerbose:qD(new vD(149,"inlineCompletionsAccessibilityVerbose",!1,{description:_(0,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:qD(new wD(119,"suggestFontSize",0,0,1e3,{markdownDescription:_(0,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:qD(new wD(120,"suggestLineHeight",0,0,1e3,{markdownDescription:_(0,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:qD(new vD(121,"suggestOnTriggerCharacters",!0,{description:_(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:qD(new kD(122,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[_(0,"Always select the first suggestion."),_(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),_(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:_(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:qD(new kD(123,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[_(0,"Tab complete will insert the best matching suggestion when pressing tab."),_(0,"Disable tab completions."),_(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:_(0,"Enables tab completions.")})),tabIndex:qD(new wD(124,"tabIndex",0,-1,1073741824)),unicodeHighlight:qD(new class extends hD{constructor(){const e={nonBasicASCII:PD,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:PD,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(125,"unicodeHighlight",e,{[BD]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,PD],default:e.nonBasicASCII,description:_(0,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[FD]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:_(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[WD]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:_(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[VD]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,PD],default:e.includeComments,description:_(0,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[HD]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,PD],default:e.includeStrings,description:_(0,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[OD]:{restricted:!0,type:"object",default:e.allowedCharacters,description:_(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[zD]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:_(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let n=!1;t.allowedCharacters&&e&&(_c(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},n=!0)),t.allowedLocales&&e&&(_c(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},n=!0));const i=super.applyUpdate(e,t);return n?new gD(i.newValue,!0):i}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{nonBasicASCII:UD(t.nonBasicASCII,PD,[!0,!1,PD]),invisibleCharacters:_D(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:_D(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:UD(t.includeComments,PD,[!0,!1,PD]),includeStrings:UD(t.includeStrings,PD,[!0,!1,PD]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if("object"!=typeof e||!e)return t;const n={};for(const[t,i]of Object.entries(e))!0===i&&(n[t]=!0);return n}}),unusualLineTerminators:qD(new kD(126,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[_(0,"Unusual line terminators are automatically removed."),_(0,"Unusual line terminators are ignored."),_(0,"Unusual line terminators prompt to be removed.")],description:_(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:qD(new vD(127,"useShadowDOM",!0)),useTabStops:qD(new vD(128,"useTabStops",!0,{description:_(0,"Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:qD(new kD(129,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[_(0,"Use the default line break rule."),_(0,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:_(0,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:qD(new class extends hD{constructor(){super(130,"wordSegmenterLocales",[],{anyOf:[{description:_(0,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:_(0,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(e){if("string"==typeof e&&(e=[e]),Array.isArray(e)){const t=[];for(const n of e)if("string"==typeof n)try{Intl.Segmenter.supportedLocalesOf(n).length>0&&t.push(n)}catch(e){}return t}return this.defaultValue}}),wordSeparators:qD(new SD(131,"wordSeparators",xh,{description:_(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:qD(new kD(132,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[_(0,"Lines will never wrap."),_(0,"Lines will wrap at the viewport width."),_(0,"Lines will wrap at `#editor.wordWrapColumn#`."),_(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:_(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:qD(new SD(133,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:qD(new SD(134,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:qD(new wD(135,"wordWrapColumn",80,1,1073741824,{markdownDescription:_(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:qD(new kD(136,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:qD(new kD(137,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:qD(new class extends mD{constructor(){super(142)}compute(e,t,n){const i=["monaco-editor"];return t.get(39)&&i.push(t.get(39)),e.extraEditorClassName&&i.push(e.extraEditorClassName),"default"===t.get(74)?i.push("mouse-default"):"copy"===t.get(74)&&i.push("mouse-copy"),t.get(111)&&i.push("showUnused"),t.get(140)&&i.push("showDeprecated"),i.join(" ")}}),defaultColorDecorators:qD(new vD(147,"defaultColorDecorators",!1,{markdownDescription:_(0,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:qD(new class extends mD{constructor(){super(143)}compute(e,t,n){return e.pixelRatio}}),tabFocusMode:qD(new vD(144,"tabFocusMode",!1,{markdownDescription:_(0,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:qD(new TD),wrappingInfo:qD(new class extends mD{constructor(){super(146)}compute(e,t,n){const i=t.get(145);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:i.isWordWrapMinified,isViewportWrapping:i.isViewportWrapping,wrappingColumn:i.wrappingColumn}}}),wrappingIndent:qD(new class extends hD{constructor(){super(138,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[_(0,"No indentation. Wrapped lines begin at column 1."),_(0,"Wrapped lines get the same indentation as the parent."),_(0,"Wrapped lines get +1 indentation toward the parent."),_(0,"Wrapped lines get +2 indentation toward the parent.")],description:_(0,"Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,n){return 2===t.get(2)?0:n}}),wrappingStrategy:qD(new class extends hD{constructor(){super(139,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[_(0,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),_(0,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:_(0,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return xD(e,"simple",["simple","advanced"])}compute(e,t,n){return 2===t.get(2)?"advanced":n}})},GD=Object.freeze({id:"editor",order:5,type:"object",title:_(0,"Editor"),scope:5}),ZD={...GD,properties:{"editor.tabSize":{type:"number",default:yh.tabSize,minimum:1,markdownDescription:_(0,"The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:_(0,'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:yh.insertSpaces,markdownDescription:_(0,"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:yh.detectIndentation,markdownDescription:_(0,"Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:yh.trimAutoWhitespace,description:_(0,"Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:yh.largeFileOptimizations,description:_(0,"Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[_(0,"Turn off Word Based Suggestions."),_(0,"Only suggest words from the active document."),_(0,"Suggest words from all open documents of the same language."),_(0,"Suggest words from all open documents.")],description:_(0,"Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[_(0,"Semantic highlighting enabled for all color themes."),_(0,"Semantic highlighting disabled for all color themes."),_(0,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:_(0,"Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:_(0,"Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:_(0,"Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:_(0,"Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:_(0,"Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:_(0,"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:_(0,"Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:_(0,"The opening bracket character or string sequence.")},{type:"string",description:_(0,"The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:_(0,"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:_(0,"The opening bracket character or string sequence.")},{type:"string",description:_(0,"The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:dD.maxComputationTime,description:_(0,"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:dD.maxFileSize,description:_(0,"Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:dD.renderSideBySide,description:_(0,"Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:dD.renderSideBySideInlineBreakpoint,description:_(0,"If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:dD.useInlineViewWhenSpaceIsLimited,description:_(0,"If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:dD.renderMarginRevertIcon,description:_(0,"When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:dD.renderGutterMenu,description:_(0,"When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:dD.ignoreTrimWhitespace,description:_(0,"When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:dD.renderIndicators,description:_(0,"Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:dD.diffCodeLens,description:_(0,"Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:dD.diffWordWrap,markdownEnumDescriptions:[_(0,"Lines will never wrap."),_(0,"Lines will wrap at the viewport width."),_(0,"Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:dD.diffAlgorithm,markdownEnumDescriptions:[_(0,"Uses the legacy diffing algorithm."),_(0,"Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:dD.hideUnchangedRegions.enabled,markdownDescription:_(0,"Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:dD.hideUnchangedRegions.revealLineCount,markdownDescription:_(0,"Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:dD.hideUnchangedRegions.minimumLineCount,markdownDescription:_(0,"Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:dD.hideUnchangedRegions.contextLineCount,markdownDescription:_(0,"Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:dD.experimental.showMoves,markdownDescription:_(0,"Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:dD.experimental.showEmptyDecorations,description:_(0,"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}};for(const e of jD){const t=e.schema;if(void 0!==t)if(void 0!==(YD=t).type||void 0!==YD.anyOf)ZD.properties[`editor.${e.name}`]=t;else for(const e in t)Object.hasOwnProperty.call(t,e)&&(ZD.properties[e]=t[e])}var YD;let XD=null;function QD(){return null===XD&&(XD=Object.create(null),Object.keys(ZD.properties).forEach((e=>{XD[e]=!0}))),XD}var JD;fu.as(Dg).registerConfiguration(ZD),function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(JD||(JD={})),function(e){const t="error",n="warning",i="info";e.fromValue=function(o){return o?yi(t,o)?e.Error:yi(n,o)||yi("warn",o)?e.Warning:yi(i,o)?e.Info:e.Ignore:e.Ignore},e.toString=function(o){switch(o){case e.Error:return t;case e.Warning:return n;case e.Info:return i;default:return"ignore"}}}(JD||(JD={}));const eN=JD;var tN=eN;const nN=dd("notificationService"),iN=new class{constructor(){this.QuickFix=new dx("quickfix"),this.Refactor=new dx("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 dx("notebook"),this.Source=new dx("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var oN;function sN(e,t,n){return!(!t.contains(e)||n&&t.contains(n))}!function(e){e.Refactor="refactor",e.RefactorPreview="refactor preview",e.Lightbulb="lightbulb",e.Default="other (default)",e.SourceAction="source action",e.QuickFix="quick fix action",e.FixAll="fix all",e.OrganizeImports="organize imports",e.AutoFix="auto fix",e.QuickFixHover="quick fix hover window",e.OnSave="save participants",e.ProblemsView="problems view"}(oN||(oN={}));class rN{static fromUser(e,t){return e&&"object"==typeof e?new rN(rN.getKindFromUser(e,t.kind),rN.getApplyFromUser(e,t.apply),rN.getPreferredUser(e)):new rN(t.kind,t.apply,!1)}static getApplyFromUser(e,t){switch("string"==typeof e.apply?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return"string"==typeof e.kind?new dx(e.kind):t}static getPreferredUser(e){return"boolean"==typeof e.preferred&&e.preferred}constructor(e,t,n){this.kind=e,this.apply=t,this.preferred=n}}class lN{constructor(e,t,n){this.action=e,this.provider=t,this.highlightRange=n}async resolve(e){var t;if((null===(t=this.provider)||void 0===t?void 0:t.resolveCodeAction)&&!this.action.edit){let t;try{t=await this.provider.resolveCodeAction(this.action,e)}catch(e){ke(e)}t&&(this.action.edit=t.edit)}return this}}const aN="editor.action.codeAction",dN="editor.action.quickFix",uN="editor.action.autoFix",cN="editor.action.refactor",hN="editor.action.sourceAction",gN="editor.action.organizeImports",pN="editor.action.fixAll";class mN extends lt{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:Wc(e.diagnostics)?Wc(t.diagnostics)?mN.codeActionsPreferredComparator(e,t):-1:Wc(t.diagnostics)?1:mN.codeActionsPreferredComparator(e,t)}constructor(e,t,n){super(),this.documentation=t,this._register(n),this.allActions=[...e].sort(mN.codeActionsComparator),this.validActions=this.allActions.filter((({action:e})=>!e.disabled))}get hasAutoFix(){return this.validActions.some((({action:e})=>!!e.kind&&iN.QuickFix.contains(new dx(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 fN={actions:[],documentation:void 0};async function _N(e,t,n,i,o,s){var r;const l=i.filter||{},a={...l,excludes:[...l.excludes||[],iN.Notebook]},d={only:null===(r=l.include)||void 0===r?void 0:r.value,trigger:i.type},u=new lk(t,s),c=2===i.type,h=function(e,t,n){return e.all(t).filter((e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some((e=>function(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some((n=>sN(t,n,e.include)))||!e.includeSourceActions&&iN.Source.contains(t))}(n,new dx(e))))))}(e,t,c?a:l),g=new rt,p=h.map((async e=>{try{o.report(e);const i=await e.provideCodeActions(t,n,d,u.token);if(i&&g.add(i),u.token.isCancellationRequested)return fN;const s=((null==i?void 0:i.actions)||[]).filter((e=>e&&function(e,t){const n=t.kind?new dx(t.kind):void 0;return!(!(!e.include||n&&e.include.contains(n))||e.excludes&&n&&e.excludes.some((t=>sN(n,t,e.include)))||!e.includeSourceActions&&n&&iN.Source.contains(n)||e.onlyIncludePreferredActions&&!t.isPreferred)}(l,e))),r=function(e,t,n){if(!e.documentation)return;const i=e.documentation.map((e=>({kind:new dx(e.kind),command:e.command})));if(n){let e;for(const t of i)t.kind.contains(n)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return null==e?void 0:e.command}for(const e of t)if(e.kind)for(const t of i)if(t.kind.contains(new dx(e.kind)))return t.command}(e,s,l.include);return{actions:s.map((t=>new lN(t,e))),documentation:r}}catch(e){if(Ne(e))throw e;return ke(e),fN}})),m=e.onDidChange((()=>{Ic(e.all(t),h)||u.cancel()}));try{const n=await Promise.all(p),o=n.map((e=>e.actions)).flat(),s=[...Oc(n.map((e=>e.documentation))),...vN(e,t,i,o)];return new mN(o,s,g)}finally{m.dispose(),u.dispose()}}function*vN(e,t,n,i){var o,s,r;if(t&&i.length)for(const l of e.all(t))l._getAdditionalMenuItems&&(yield*null===(o=l._getAdditionalMenuItems)||void 0===o?void 0:o.call(l,{trigger:n.type,only:null===(r=null===(s=n.filter)||void 0===s?void 0:s.include)||void 0===r?void 0:r.value},i.map((e=>e.action))))}var bN;async function wN(e,t,n,i,o=It.None){var s;const r=e.get(fx),l=e.get(wd),a=e.get(Mu),d=e.get(nN);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:n}),await t.resolve(o),!o.isCancellationRequested){if((null===(s=t.action.edit)||void 0===s?void 0:s.edits.length)&&!(await r.apply(t.action.edit,{editor:null==i?void 0:i.editor,label:t.action.title,quotableLabel:t.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:n!==bN.OnSave,showPreview:null==i?void 0:i.preview})).isApplied)return;if(t.action.command)try{await l.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(e){const t=function(e){return"string"==typeof e?e:e instanceof Error&&"string"==typeof e.message?e.message:void 0}(e);d.error("string"==typeof t?t:_(0,"An unknown error occurred while applying the code action"))}}}!function(e){e.OnSave="onSave",e.FromProblemsView="fromProblemsView",e.FromCodeActions="fromCodeActions",e.FromAILightbulb="fromAILightbulb"}(bN||(bN={})),Cd.registerCommand("_executeCodeActionProvider",(async function(e,t,n,i,o){if(!(t instanceof Io))throw Ie();const{codeActionProvider:s}=e.get(wx),r=e.get(hd).getModel(t);if(!r)throw Ie();const l=ic.isISelection(n)?ic.liftSelection(n):nc.isIRange(n)?r.validateRange(n):void 0;if(!l)throw Ie();const a="string"==typeof i?new dx(i):void 0,d=await _N(s,r,l,{type:1,triggerAction:oN.Default,filter:{includeSourceActions:!0,include:a}},vL.None,It.None),u=[],c=Math.min(d.validActions.length,"number"==typeof o?o:0);for(let e=0;ee.action))}finally{setTimeout((()=>d.dispose()),100)}}));var CN;let yN=CN=class{constructor(e){this.keybindingService=e}getResolver(){const e=new ei((()=>this.keybindingService.getKeybindings().filter((e=>CN.codeActionCommands.indexOf(e.command)>=0)).filter((e=>e.resolvedKeybinding)).map((e=>{let t=e.commandArgs;return e.command===gN?t={kind:iN.SourceOrganizeImports.value}:e.command===pN&&(t={kind:iN.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...rN.fromUser(t,{kind:dx.None,apply:"never"})}}))));return t=>{if(t.kind){const n=this.bestKeybindingForCodeAction(t,e.value);return null==n?void 0:n.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const n=new dx(e.kind);return t.filter((e=>e.kind.contains(n))).filter((t=>!t.preferred||e.isPreferred)).reduceRight(((e,t)=>e?e.kind.contains(t.kind)?t:e:t),void 0)}};yN.codeActionCommands=[cN,aN,hN,gN,pN],yN=CN=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,zL)],yN);var SN=n(2171),xN={};xN.styleTagTransform=Vr(),xN.setAttributes=Or(),xN.insert=Rr().bind(null,"head"),xN.domAPI=Tr(),xN.insertStyleElement=Br(),Ir()(SN.A,xN),SN.A&&SN.A.locals&&SN.A.locals;var kN=n(714),LN={};LN.styleTagTransform=Vr(),LN.setAttributes=Or(),LN.insert=Rr().bind(null,"head"),LN.domAPI=Tr(),LN.insertStyleElement=Br(),Ir()(kN.A,LN),kN.A&&kN.A.locals&&kN.A.locals;var DN=n(1029),NN={};NN.styleTagTransform=Vr(),NN.setAttributes=Or(),NN.insert=Rr().bind(null,"head"),NN.domAPI=Tr(),NN.insertStyleElement=Br(),Ir()(DN.A,NN),DN.A&&DN.A.locals&&DN.A.locals,km("symbolIcon.arrayForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.booleanForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_(0,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.colorForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.constantForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_(0,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_(0,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_(0,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.fileForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.folderForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_(0,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.keyForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.keywordForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_(0,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.moduleForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.namespaceForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.nullForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.numberForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.objectForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.operatorForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.packageForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.propertyForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.referenceForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.snippetForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.stringForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.structForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.textForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.typeParameterForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.unitForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const EN=Object.freeze({kind:dx.Empty,title:_(0,"More Actions...")}),IN=Object.freeze([{kind:iN.QuickFix,title:_(0,"Quick Fix")},{kind:iN.RefactorExtract,title:_(0,"Extract"),icon:Sa.wrench},{kind:iN.RefactorInline,title:_(0,"Inline"),icon:Sa.wrench},{kind:iN.RefactorRewrite,title:_(0,"Rewrite"),icon:Sa.wrench},{kind:iN.RefactorMove,title:_(0,"Move"),icon:Sa.wrench},{kind:iN.SurroundWith,title:_(0,"Surround With"),icon:Sa.surroundWith},{kind:iN.Source,title:_(0,"Source Action"),icon:Sa.symbolFile},EN]);var MN=n(4169),TN={};TN.styleTagTransform=Vr(),TN.setAttributes=Or(),TN.insert=Rr().bind(null,"head"),TN.domAPI=Tr(),TN.insertStyleElement=Br(),Ir()(MN.A,TN),MN.A&&MN.A.locals&&MN.A.locals;var AN,RN,PN=function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.Hidden={type:0},e.Showing=class{constructor(e,t,n,i){this.actions=e,this.trigger=t,this.editorPosition=n,this.widgetPosition=i,this.type=1}}}(RN||(RN={}));let ON=AN=class extends lt{constructor(e,t,n){var i,o,s;super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Ct),this.onClick=this._onClick.event,this._state=RN.Hidden,this._iconClasses=[],this._domNode=mr("div.lightBulbWidget"),this._register(LL.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((e=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()}))),this._register((i=this._domNode,o=e=>{if(1!==this.state.type)return;this._editor.focus(),e.preventDefault();const{top:t,height:n}=Es(this._domNode),i=this._editor.getOption(67);let o=Math.floor(i/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1&~e.buttons||this.hide()}))),this._register(ft.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{var e,t,n,i;this._preferredKbLabel=null!==(t=null===(e=this._keybindingService.lookupKeybinding(uN))||void 0===e?void 0:e.getLabel())&&void 0!==t?t:void 0,this._quickFixKbLabel=null!==(i=null===(n=this._keybindingService.lookupKeybinding(dN))||void 0===n?void 0:n.getLabel())&&void 0!==i?i:void 0,this._updateLightBulbTitleAndIcon()})))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(e,t,n){if(e.validActions.length<=0)return this.hide();if(!this._editor.getOptions().get(65).enabled)return this.hide();const i=this._editor.getModel();if(!i)return this.hide();const{lineNumber:o,column:s}=i.validatePosition(n),r=i.getOptions().tabSize,l=this._editor.getOptions().get(50),a=Xb(i.getLineContent(o),r),d=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1);let u=o,c=1;if(!(l.spaceWidth*a>22)){if(o>1&&!d(o-1))u-=1;else if(o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([PN(1,zL),PN(2,wd)],ON);class FN{constructor(e){this.spliceables=e}splice(e,t,n){this.spliceables.forEach((i=>i.splice(e,t,n)))}}function BN(e,t,n){return Math.min(Math.max(e,t),n)}class WN{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class VN{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n{try{e.releasePointerCapture(t)}catch(e){}})))}catch(t){s=is(e)}this._hooks.add(ms(s,or.POINTER_MOVE,(e=>{e.buttons===n?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)}))),this._hooks.add(ms(s,or.POINTER_UP,(e=>this.stopMonitoring(!0))))}}class jN extends lt{onclick(e,t){this._register(ms(e,or.CLICK,(n=>t(new $e(is(e),n)))))}onmousedown(e,t){this._register(ms(e,or.MOUSE_DOWN,(n=>t(new $e(is(e),n)))))}onmouseover(e,t){this._register(ms(e,or.MOUSE_OVER,(n=>t(new $e(is(e),n)))))}onmouseleave(e,t){this._register(ms(e,or.MOUSE_LEAVE,(n=>t(new $e(is(e),n)))))}onkeydown(e,t){this._register(ms(e,or.KEY_DOWN,(e=>t(new Ue(e)))))}onkeyup(e,t){this._register(ms(e,or.KEY_UP,(e=>t(new Ue(e)))))}oninput(e,t){this._register(ms(e,or.INPUT,t))}onblur(e,t){this._register(ms(e,or.BLUR,t))}onfocus(e,t){this._register(ms(e,or.FOCUS,t))}ignoreGesture(e){return LL.ignoreTarget(e)}}class qN extends jN{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",void 0!==e.top&&(this.bgDomNode.style.top="0px"),void 0!==e.left&&(this.bgDomNode.style.left="0px"),void 0!==e.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==e.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...ka.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px",void 0!==e.top&&(this.domNode.style.top=e.top+"px"),void 0!==e.left&&(this.domNode.style.left=e.left+"px"),void 0!==e.bottom&&(this.domNode.style.bottom=e.bottom+"px"),void 0!==e.right&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new KN),this._register(_s(this.bgDomNode,or.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._register(_s(this.domNode,or.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._pointerdownRepeatTimer=this._register(new ys),this._pointerdownScheduleRepeatTimer=this._register(new Ut)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,is(e))}),200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),e.preventDefault())}}class $N extends lt{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Ut)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{var e;null===(e=this._domNode)||void 0===e||e.setClassName(this._visibleClassName)}),0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,null===(t=this._domNode)||void 0===t||t.setClassName(this._invisibleClassName+(e?" fade":"")))}}class GN extends jN{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new $N(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new KN),this._shouldRender=!0,this.domNode=tL(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(ms(this.domNode.domNode,or.POINTER_DOWN,(e=>this._domNodePointerDown(e))))}_createArrow(e){const t=this._register(new qN(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,i){this.slider=tL(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof n&&this.slider.setWidth(n),"number"==typeof i&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(ms(this.slider.domNode,or.POINTER_DOWN,(e=>{0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}))),this.onclick(this.slider.domNode,(e=>{e.leftButton&&e.stopPropagation()}))}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),i=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderPointerPosition(e);n<=o&&o<=i?0===e.button&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&"number"==typeof e.offsetX&&"number"==typeof e.offsetY)t=e.offsetX,n=e.offsetY;else{const i=Es(this.domNode.domNode);t=e.pageX-i.left,n=e.pageY-i.top}const i=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(i):this._scrollbarState.getDesiredScrollPositionFromOffset(i)),0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),i=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{const o=this._sliderOrthogonalPointerPosition(e),s=Math.abs(o-n);if(z&&s>140)return void this._setDesiredScrollPositionNow(i.getScrollPosition());const r=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(i.getDesiredScrollPositionFromDelta(r))}),(()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class ZN{constructor(e,t,n,i,o,s){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=i,this._scrollSize=o,this._scrollPosition=s,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new ZN(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,i,o){const s=Math.max(0,n-e),r=Math.max(0,s-2*t),l=i>0&&i>n;if(!l)return{computedAvailableSize:Math.round(s),computedIsNeeded:l,computedSliderSize:Math.round(r),computedSliderRatio:0,computedSliderPosition:0};const a=Math.round(Math.max(20,Math.floor(n*r/i))),d=(r-a)/(i-n),u=o*d;return{computedAvailableSize:Math.round(s),computedIsNeeded:l,computedSliderSize:Math.round(a),computedSliderRatio:d,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){const e=ZN._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let n=this._scrollPosition;return tthis._host.onMouseWheel(new Ge(null,1,0))}),this._createArrow({className:"scra",icon:Sa.scrollbarButtonRight,top:n,left:void 0,bottom:void 0,right:e,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new Ge(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(2===e.horizontal?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class XN extends GN{constructor(e,t,n){const i=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new ZN(t.verticalHasArrows?t.arrowSize:0,2===t.vertical?0:t.verticalScrollbarSize,0,i.height,i.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const e=(t.arrowSize-11)/2,n=(t.verticalScrollbarSize-11)/2;this._createArrow({className:"scra",icon:Sa.scrollbarButtonUp,top:e,left:n,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new Ge(null,0,1))}),this._createArrow({className:"scra",icon:Sa.scrollbarButtonDown,top:void 0,left:n,bottom:e,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new Ge(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class QN{constructor(e,t,n,i,o,s,r){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,i|=0,o|=0,s|=0,r|=0),this.rawScrollLeft=i,this.rawScrollTop=r,t<0&&(t=0),i+t>n&&(i=n-t),i<0&&(i=0),o<0&&(o=0),r+o>s&&(r=s-o),r<0&&(r=0),this.width=t,this.scrollWidth=n,this.scrollLeft=i,this.height=o,this.scrollHeight=s,this.scrollTop=r}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new QN(this._forceIntegerValues,void 0!==e.width?e.width:this.width,void 0!==e.scrollWidth?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,void 0!==e.height?e.height:this.height,void 0!==e.scrollHeight?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new QN(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==e.scrollTop?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const n=this.width!==e.width,i=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,s=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,l=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:i,scrollLeftChanged:o,heightChanged:s,scrollHeightChanged:r,scrollTopChanged:l}}}class JN extends lt{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new Ct),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new QN(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var n;const i=this._state.withScrollDimensions(e,t);this._setState(i,Boolean(this._smoothScrolling)),null===(n=this._smoothScrolling)||void 0===n||n.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};const n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let i;i=t?new nE(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=i}else{const t=this._state.withScrollPosition(e);this._smoothScrolling=nE.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);return this._setState(t,!0),this._smoothScrolling?e.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(e,t){const n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}}class eE{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}}function tE(e,t){const n=t-e;return function(t){return e+n*(1-(i=1-t,Math.pow(i,3)));var i}}class nE{constructor(e,t,n,i){this.from=e,this.to=t,this.duration=i,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,n){if(Math.abs(e-t)>2.5*n){let r,l;return e0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if(this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(n+=.25),t){const i=Math.abs(e.deltaX),o=Math.abs(e.deltaY),s=Math.abs(t.deltaX),r=Math.abs(t.deltaY),l=Math.max(Math.min(i,s),1),a=Math.max(Math.min(o,r),1),d=Math.max(i,s),u=Math.max(o,r);d%l==0&&u%a==0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}lE.INSTANCE=new lE;class aE extends jN{get options(){return this._options}constructor(e,t,n){super(),this._onScroll=this._register(new Ct),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new Ct),e.style.overflow="hidden",this._options=function(e){const t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:void 0===e.scrollPredominantAxis||e.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:1,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:1,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:void 0!==e.scrollByPage&&e.scrollByPage};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,U&&(t.className+=" mac"),t}(t),this._scrollable=n,this._register(this._scrollable.onScroll((e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)})));const i={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new XN(this._scrollable,this._options,i)),this._horizontalScrollbar=this._register(new YN(this._scrollable,this._options,i)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=tL(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=tL(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=tL(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(e=>this._onMouseOver(e))),this.onmouseleave(this._listenOnDomNode,(e=>this._onMouseLeave(e))),this._hideTimeout=this._register(new Ut),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=it(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,U&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){void 0!==e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),void 0!==e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),void 0!==e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),void 0!==e.horizontal&&(this._options.horizontal=e.horizontal),void 0!==e.vertical&&(this._options.vertical=e.vertical),void 0!==e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),void 0!==e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),void 0!==e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new Ge(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=it(this._mouseWheelToDispose),e)){const e=e=>{this._onMouseWheel(new Ge(e))};this._mouseWheelToDispose.push(ms(this._listenOnDomNode,or.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){var t;if(null===(t=e.browserEvent)||void 0===t?void 0:t.defaultPrevented)return;const n=lE.INSTANCE;n.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let t=e.deltaY*this._options.mouseWheelScrollSensitivity,o=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&o+t===0?o=t=0:Math.abs(t)>=Math.abs(o)?o=0:t=0),this._options.flipAxes&&([t,o]=[o,t]);const s=!U&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!s||o||(o=t,t=0),e.browserEvent&&e.browserEvent.altKey&&(o*=this._options.fastScrollSensitivity,t*=this._options.fastScrollSensitivity);const r=this._scrollable.getFutureScrollPosition();let l={};if(t){const e=50*t,n=r.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(l,n)}if(o){const e=50*o,t=r.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(l,t)}l=this._scrollable.validateScrollPosition(l),(r.scrollLeft!==l.scrollLeft||r.scrollTop!==l.scrollTop)&&(this._options.mouseWheelSmoothScroll&&n.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(l):this._scrollable.setScrollPositionNow(l),i=!0)}let o=i;!o&&this._options.alwaysConsumeMouseWheel&&(o=!0),!o&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(o=!0),o&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,i=n?" left":"",o=t?" top":"",s=n||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${i}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${s}${o}${i}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}class dE extends aE{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const n=new JN({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>Cs(is(e),t)});super(e,t,n),this._register(n)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class uE extends aE{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class cE extends aE{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const n=new JN({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>Cs(is(e),t)});super(e,t,n),this._register(n),this._element=e,this._register(this.onScroll((e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)}))),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function hE(e,t){const n=[];for(const i of t){if(e.start>=i.range.end)continue;if(e.end=t.end||t.start>=e.end)return{start:0,end:0};const n=Math.max(e.start,t.start),i=Math.min(e.end,t.end);return i-n<=0?{start:0,end:0}:{start:n,end:i}}function n(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=n,e.intersects=function(e,i){return!n(t(e,i))},e.relativeComplement=function(e,t){const i=[],o={start:e.start,end:Math.min(t.start,e.end)},s={start:Math.max(t.end,e.start),end:e.end};return n(o)||i.push(o),n(s)||i.push(s),i}}(iE||(iE={}));class pE{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=null!=e?e:0,this._size=this._paddingTop}splice(e,t,n=[]){const i=n.length-t,o=hE({start:0,end:e},this.groups),s=hE({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map((e=>({range:gE(e.range,i),size:e.size}))),r=n.map(((t,n)=>({range:{start:e+n,end:e+n+1},size:t.size})));this.groups=function(...e){return function(e){const t=[];let n=null;for(const i of e){const e=i.range.start,o=i.range.end,s=i.size;n&&s===n.size?n.range.end=o:(n={range:{start:e,end:o},size:s},t.push(n))}return t}(e.reduce(((e,t)=>e.concat(t)),[]))}(o,r,s),this._size=this._paddingTop+this.groups.reduce(((e,t)=>e+t.size*(t.range.end-t.range.start)),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const n of e)this.getRenderer(t).disposeTemplate(n.templateData),n.templateData=null})),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var fE=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r};const _E={CurrentDragAndDropData:void 0},vE={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:e=>[e],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class bE{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class wE{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class CE{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;tn,(null==e?void 0:e.getPosInSet)?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(e,t)=>t+1,(null==e?void 0:e.getRole)?this.getRole=e.getRole.bind(e):this.getRole=e=>"listitem",(null==e?void 0:e.isChecked)?this.isChecked=e.isChecked.bind(e):this.isChecked=e=>{}}}class SE{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const e of this.items)this.measureItemWidth(e);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:Ts(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,n,i=vE){var o,s,r,l,a,d,u,c,h,g,p,m,f;if(this.virtualDelegate=t,this.domId="list_id_"+ ++SE.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Bt(50),this.splicing=!1,this.dragOverAnimationStopDisposable=lt.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=lt.None,this.onDragLeaveTimeout=lt.None,this.disposables=new rt,this._onDidChangeContentHeight=new Ct,this._onDidChangeContentWidth=new Ct,this.onDidChangeContentHeight=ft.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,i.horizontalScrolling&&i.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(null!==(o=i.paddingTop)&&void 0!==o?o:0);for(const e of n)this.renderers.set(e.templateId,e);this.cache=this.disposables.add(new mE(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support","boolean"!=typeof i.mouseSupport||i.mouseSupport),this._horizontalScrolling=null!==(s=i.horizontalScrolling)&&void 0!==s?s:vE.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=void 0===i.paddingBottom?0:i.paddingBottom,this.accessibilityProvider=new yE(i.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(null!==(r=i.transformOptimization)&&void 0!==r?r:vE.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(LL.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new JN({forceIntegerValues:!0,smoothScrollDuration:null!==(l=i.smoothScrolling)&&void 0!==l&&l?125:0,scheduleAtNextAnimationFrame:e=>Cs(is(this.domNode),e)})),this.scrollableElement=this.disposables.add(new uE(this.rowsContainer,{alwaysConsumeMouseWheel:null!==(a=i.alwaysConsumeMouseWheel)&&void 0!==a?a:vE.alwaysConsumeMouseWheel,horizontal:1,vertical:null!==(d=i.verticalScrollMode)&&void 0!==d?d:vE.verticalScrollMode,useShadows:null!==(u=i.useShadows)&&void 0!==u?u:vE.useShadows,mouseWheelScrollSensitivity:i.mouseWheelScrollSensitivity,fastScrollSensitivity:i.fastScrollSensitivity,scrollByPage:i.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(ms(this.rowsContainer,kL.Change,(e=>this.onTouchChange(e)))),this.disposables.add(ms(this.scrollableElement.getDomNode(),"scroll",(e=>e.target.scrollTop=0))),this.disposables.add(ms(this.domNode,"dragover",(e=>this.onDragOver(this.toDragEvent(e))))),this.disposables.add(ms(this.domNode,"drop",(e=>this.onDrop(this.toDragEvent(e))))),this.disposables.add(ms(this.domNode,"dragleave",(e=>this.onDragLeave(this.toDragEvent(e))))),this.disposables.add(ms(this.domNode,"dragend",(e=>this.onDragEnd(e)))),this.setRowLineHeight=null!==(c=i.setRowLineHeight)&&void 0!==c?c:vE.setRowLineHeight,this.setRowHeight=null!==(h=i.setRowHeight)&&void 0!==h?h:vE.setRowHeight,this.supportDynamicHeights=null!==(g=i.supportDynamicHeights)&&void 0!==g?g:vE.supportDynamicHeights,this.dnd=null!==(p=i.dnd)&&void 0!==p?p:this.disposables.add(vE.dnd),this.layout(null===(m=i.initialSize)||void 0===m?void 0:m.height,null===(f=i.initialSize)||void 0===f?void 0:f.width)}updateOptions(e){let t;if(void 0!==e.paddingBottom&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==e.smoothScrolling&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),void 0!==e.horizontalScrolling&&(this.horizontalScrolling=e.horizontalScrolling),void 0!==e.scrollByPage&&(t={...null!=t?t:{},scrollByPage:e.scrollByPage}),void 0!==e.mouseWheelScrollSensitivity&&(t={...null!=t?t:{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),void 0!==e.fastScrollSensitivity&&(t={...null!=t?t:{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),void 0!==e.paddingTop&&e.paddingTop!==this.rangeMap.paddingTop){const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(t,Math.max(0,this.lastRenderTop+n),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new pE(e)}splice(e,t,n=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,n)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,n=[]){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),o={start:e,end:e+t},s=iE.intersect(i,o),r=new Map;for(let e=s.end-1;e>=s.start;e--){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){let n=r.get(t.templateId);n||(n=[],r.set(t.templateId,n));const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),n.push(t.row)}t.row=null,t.stale=!0}const l={start:e+t,end:this.items.length},a=iE.intersect(l,i),d=iE.relativeComplement(l,i),u=n.map((e=>({id:String(this.itemId++),element:e,templateId:this.virtualDelegate.getTemplateId(e),size:this.virtualDelegate.getHeight(e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(e),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:lt.None,checkedDisposable:lt.None,stale:!1})));let c;0===e&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,u),c=this.items,this.items=u):(this.rangeMap.splice(e,t,u),c=this.items.splice(e,t,...u));const h=n.length-t,g=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),p=gE(a,h),m=iE.intersect(g,p);for(let e=m.start;egE(e,h))),v=[{start:e,end:e+n.length},..._].map((e=>iE.intersect(g,e))).reverse();for(const e of v)for(let t=e.end-1;t>=e.start;t--){const e=this.items[t],n=r.get(e.templateId),i=null==n?void 0:n.pop();this.insertItemInDOM(t,i)}for(const e of r.values())for(const t of e)this.cache.release(t);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),c.map((e=>e.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=Cs(is(this.domNode),(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth())):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)void 0!==t.width&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:0===e?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex((t=>t.element===e))}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const n={height:"number"==typeof e?e:As(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,n.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(n),void 0!==t&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof t?t:Ts(this.domNode)})}render(e,t,n,i,o,s=!1){const r=this.getRenderRange(t,n),l=iE.relativeComplement(r,e).reverse(),a=iE.relativeComplement(e,r);if(s){const t=iE.intersect(e,r);for(let e=t.start;e{for(const e of a)for(let t=e.start;t=e.start;t--)this.insertItemInDOM(t)})),void 0!==i&&(this.rowsContainer.style.left=`-${i}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&void 0!==o&&(this.rowsContainer.style.width=`${Math.max(o,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=n}insertItemInDOM(e,t){var n,i,o;const s=this.items[e];if(!s.row)if(t)s.row=t,s.stale=!0;else{const e=this.cache.alloc(s.templateId);s.row=e.row,s.stale||(s.stale=e.isReusingConnectedDomNode)}const r=this.accessibilityProvider.getRole(s.element)||"listitem";s.row.domNode.setAttribute("role",r);const l=this.accessibilityProvider.isChecked(s.element);if("boolean"==typeof l)s.row.domNode.setAttribute("aria-checked",String(!!l));else if(l){const e=e=>s.row.domNode.setAttribute("aria-checked",String(!!e));e(l.value),s.checkedDisposable=l.onDidChange(e)}if(s.stale||!s.row.domNode.parentElement){const t=null!==(o=null===(i=null===(n=this.items.at(e+1))||void 0===n?void 0:n.row)||void 0===i?void 0:i.domNode)&&void 0!==o?o:null;this.rowsContainer.insertBefore(s.row.domNode,t),s.stale=!1}this.updateItemInDOM(s,e);const a=this.renderers.get(s.templateId);if(!a)throw new Error(`No renderer found for template id ${s.templateId}`);null==a||a.renderElement(s.element,e,s.row.templateData,s.size);const d=this.dnd.getDragURI(s.element);s.dragStartDisposable.dispose(),s.row.domNode.draggable=!!d,d&&(s.dragStartDisposable=ms(s.row.domNode,"dragstart",(e=>this.onDragStart(s.element,d,e)))),this.horizontalScrolling&&(this.measureItemWidth(s),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=Ts(e.row.domNode);const t=is(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2==0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const n=this.renderers.get(t.templateId);n&&n.disposeElement&&n.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return ft.map(this.disposables.add(new US(this.domNode,"click")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseDblClick(){return ft.map(this.disposables.add(new US(this.domNode,"dblclick")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseMiddleClick(){return ft.filter(ft.map(this.disposables.add(new US(this.domNode,"auxclick")).event,(e=>this.toMouseEvent(e)),this.disposables),(e=>1===e.browserEvent.button),this.disposables)}get onMouseDown(){return ft.map(this.disposables.add(new US(this.domNode,"mousedown")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOver(){return ft.map(this.disposables.add(new US(this.domNode,"mouseover")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOut(){return ft.map(this.disposables.add(new US(this.domNode,"mouseout")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onContextMenu(){return ft.any(ft.map(this.disposables.add(new US(this.domNode,"contextmenu")).event,(e=>this.toMouseEvent(e)),this.disposables),ft.map(this.disposables.add(new US(this.domNode,kL.Contextmenu)).event,(e=>this.toGestureEvent(e)),this.disposables))}get onTouchStart(){return ft.map(this.disposables.add(new US(this.domNode,"touchstart")).event,(e=>this.toTouchEvent(e)),this.disposables)}get onTap(){return ft.map(this.disposables.add(new US(this.rowsContainer,kL.Tap)).event,(e=>this.toGestureEvent(e)),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),n=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),n=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),n=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),n=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element,sector:this.getTargetSector(e,t)}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,n){var i,o;if(!n.dataTransfer)return;const s=this.dnd.getDragElements(e);if(n.dataTransfer.effectAllowed="copyMove",n.dataTransfer.setData(ux.TEXT,t),n.dataTransfer.setDragImage){let e;this.dnd.getDragLabel&&(e=this.dnd.getDragLabel(s,n)),void 0===e&&(e=String(s.length));const t=mr(".monaco-drag-image");t.textContent=e;const i=(e=>{for(;e&&!e.classList.contains("monaco-workbench");)e=e.parentElement;return e||this.domNode.ownerDocument})(this.domNode);i.appendChild(t),n.dataTransfer.setDragImage(t,-10,-10),setTimeout((()=>i.removeChild(t)),0)}this.domNode.classList.add("dragging"),this.currentDragData=new bE(s),_E.CurrentDragAndDropData=new wE(s),null===(o=(i=this.dnd).onDragStart)||void 0===o||o.call(i,this.currentDragData,n)}onDragOver(e){var t,n;if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),_E.CurrentDragAndDropData&&"vscode-ui"===_E.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(_E.CurrentDragAndDropData)this.currentDragData=_E.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new CE}const i=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop="boolean"==typeof i?i:i.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let o;e.browserEvent.dataTransfer.dropEffect="boolean"!=typeof i&&0===(null===(t=i.effect)||void 0===t?void 0:t.type)?"copy":"move",o="boolean"!=typeof i&&i.feedback?i.feedback:void 0===e.index?[-1]:[e.index],o=Vc(o).filter((e=>e>=-1&&ee-t)),o=-1===o[0]?[-1]:o;let s="boolean"!=typeof i&&i.effect&&i.effect.position?i.effect.position:"drop-target";if(r=this.currentDragFeedback,l=o,(Array.isArray(r)&&Array.isArray(l)?Ic(r,l):r===l)&&this.currentDragFeedbackPosition===s)return!0;var r,l;if(this.currentDragFeedback=o,this.currentDragFeedbackPosition=s,this.currentDragFeedbackDisposable.dispose(),-1===o[0])this.domNode.classList.add(s),this.rowsContainer.classList.add(s),this.currentDragFeedbackDisposable=st((()=>{this.domNode.classList.remove(s),this.rowsContainer.classList.remove(s)}));else{if(o.length>1&&"drop-target"!==s)throw new Error("Can't use multiple feedbacks with position different than 'over'");"drop-target-after"===s&&o[0]{var e;for(const t of o){const n=this.items[t];n.dropTarget=!1,null===(e=n.row)||void 0===e||e.domNode.classList.remove(s)}}))}return!0}onDragLeave(e){var t,n;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=Ht((()=>this.clearDragOverFeedback()),100,this.disposables),this.currentDragData&&(null===(n=(t=this.dnd).onDragLeave)||void 0===n||n.call(t,this.currentDragData,e.element,e.index,e.browserEvent))}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,_E.CurrentDragAndDropData=void 0,t&&e.browserEvent.dataTransfer&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){var t,n;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,_E.CurrentDragAndDropData=void 0,null===(n=(t=this.dnd).onDragEnd)||void 0===n||n.call(t,e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=lt.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const e=Ns(this.domNode).top;this.dragOverAnimationDisposable=function(e,t){const n=()=>{t(),i=Cs(e,n)};let i=Cs(e,n);return st((()=>i.dispose()))}(is(this.domNode),this.animateDragAndDropScrollTop.bind(this,e))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=Ht((()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}),1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(void 0===this.dragOverMouseY)return;const t=this.dragOverMouseY-e,n=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>n&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-n))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(void 0===t)return;const n=e.offsetY/this.items[t].size;return BN(Math.floor(n/.25),0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let n=e;for(;n instanceof HTMLElement&&n!==this.rowsContainer&&t.contains(n);){const e=n.getAttribute("data-index");if(e){const t=Number(e);if(!isNaN(t))return t}n=n.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,n){const i=this.getRenderRange(e,t);let o,s;e===this.elementTop(i.start)?(o=i.start,s=0):i.end-i.start>1&&(o=i.start+1,s=this.elementTop(o)-e);let r=0;for(;;){const l=this.getRenderRange(e,t);let a=!1;for(let e=l.start;e=e.start;t--)this.insertItemInDOM(t);for(let e=l.start;e{const e=EE(i);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());return t?`${this.debugName}.${t[2]}`:n?void 0:`${this.debugName} (mapped)`}},(e=>i(this.read(e),e)))}recomputeInitiallyAndOnChange(e,t){return e.add(IE(this,t)),this}}class PE extends RE{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function OE(e,t){const n=new WE(e,t);try{e(n)}finally{n.finish()}}function FE(e){if(AE)e(AE);else{const t=new WE(e,void 0);AE=t;try{e(t)}finally{t.finish(),AE=void 0}}}function BE(e,t,n){e?t(e):OE(t,n)}class WE{constructor(e,t){var n;this._fn=e,this._getDebugName=t,this.updatingObservers=[],null===(n=void 0)||void 0===n||n.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():EE(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){var e;const t=this.updatingObservers;for(let e=0;e{}),(()=>`Setting ${this.debugName}`)));try{const o=this._value;this._setValue(e),null===(i=void 0)||void 0===i||i.handleObservableChanged(this,{oldValue:o,newValue:e,change:n,didChange:!0,hadValue:!0});for(const e of this.observers)t.updateObserver(e,this),e.handleChange(this,n)}finally{o&&o.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function zE(e,t){return"string"==typeof e?new UE(void 0,e,t):new UE(e,void 0,t)}class UE extends HE{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){var e;null===(e=this._value)||void 0===e||e.dispose()}}const KE=(e,t)=>e===t;function jE(e,t){return void 0!==t?new ZE(new xE(e,void 0,t),t,void 0,void 0,void 0,KE):new ZE(new xE(void 0,void 0,e),e,void 0,void 0,void 0,KE)}function qE(e,t){var n;return new ZE(new xE(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,null!==(n=e.equalityComparer)&&void 0!==n?n:KE)}function $E(e,t){let n,i;void 0===t?(n=e,i=void 0):(i=e,n=t);const o=new rt;return new ZE(new xE(i,void 0,n),(e=>(o.clear(),n(e,o))),void 0,void 0,(()=>o.dispose()),KE)}function GE(e,t){let n,i;void 0===t?(n=e,i=void 0):(i=e,n=t);const o=new rt;return new ZE(new xE(i,void 0,n),(e=>{o.clear();const t=n(e);return t&&o.add(t),t}),void 0,void 0,(()=>o.dispose()),KE)}!function(e){TE=e}(qE);class ZE extends PE{get debugName(){var e;return null!==(e=this._debugNameData.getDebugName(this))&&void 0!==e?e:"(anonymous)"}constructor(e,t,n,i,o=void 0,s){var r,l;super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=n,this._handleChange=i,this._handleLastObserverRemoved=o,this._equalityComparator=s,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=null===(r=this.createChangeSummary)||void 0===r?void 0:r.call(this),null===(l=void 0)||void 0===l||l.handleDerivedCreated(this)}onLastObserverRemoved(){var e;this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),null===(e=this._handleLastObserverRemoved)||void 0===e||e.call(this)}get(){var e;if(0===this.observers.size){const t=this._computeFn(this,null===(e=this.createChangeSummary)||void 0===e?void 0:e.call(this));return this.onLastObserverRemoved(),t}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){var e,t;if(3===this.state)return;const n=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=n;const i=0!==this.state,o=this.value;this.state=3;const s=this.changeSummary;this.changeSummary=null===(e=this.createChangeSummary)||void 0===e?void 0:e.call(this);try{this.value=this._computeFn(this,s)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}const r=i&&!this._equalityComparator(o,this.value);if(null===(t=void 0)||void 0===t||t.handleDerivedRecomputed(this,{oldValue:o,newValue:this.value,change:void 0,didChange:r,hadValue:i}),r)for(const e of this.observers)e.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const e of this.observers)e.handlePossibleChange(this);if(t)for(const e of this.observers)e.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}pu((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const n=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),i=3===this.state;if(n&&(1===this.state||i)&&(this.state=2,i))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function YE(e){return new eI(new xE(void 0,void 0,e),e,void 0,void 0)}function XE(e,t){var n;return new eI(new xE(e.owner,e.debugName,null!==(n=e.debugReferenceFn)&&void 0!==n?n:t),t,void 0,void 0)}function QE(e,t){var n;return new eI(new xE(e.owner,e.debugName,null!==(n=e.debugReferenceFn)&&void 0!==n?n:t),t,e.createEmptyChangeSummary,e.handleChange)}function JE(e){const t=new rt,n=XE({owner:void 0,debugName:void 0,debugReferenceFn:e},(n=>{t.clear(),e(n,t)}));return st((()=>{n.dispose(),t.dispose()}))}class eI{get debugName(){var e;return null!==(e=this._debugNameData.getDebugName(this))&&void 0!==e?e:"(anonymous)"}constructor(e,t,n,i){var o,s;this._debugNameData=e,this._runFn=t,this.createChangeSummary=n,this._handleChange=i,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=null===(o=this.createChangeSummary)||void 0===o?void 0:o.call(this),null===(s=void 0)||void 0===s||s.handleAutorunCreated(this),this._runIfNeeded(),Qe(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),Je(this)}_runIfNeeded(){var e,t,n;if(3===this.state)return;const i=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=i,this.state=3;const o=this.disposed;try{if(!o){null===(e=void 0)||void 0===e||e.handleAutorunTriggered(this);const n=this.changeSummary;this.changeSummary=null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this),this._runFn(this,n)}}finally{o||null===(n=void 0)||void 0===n||n.handleAutorunFinished(this);for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,pu((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}function tI(e){return new nI(e)}!function(e){e.Observer=eI}(YE||(YE={}));class nI extends RE{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}}function iI(e,t){return new oI(e,t)}class oI extends PE{constructor(e,t){super(),this.event=e,this._getValue=t,this.hasValue=!1,this.handleEvent=e=>{var t;const n=this._getValue(e),i=this.value,o=!this.hasValue||i!==n;let s=!1;o&&(this.value=n,this.hasValue&&(s=!0,BE(oI.globalTransaction,(e=>{var t;null===(t=void 0)||void 0===t||t.handleFromEventObservableTriggered(this,{oldValue:i,newValue:n,change:void 0,didChange:o,hadValue:this.hasValue});for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}))),this.hasValue=!0),s||null===(t=void 0)||void 0===t||t.handleFromEventObservableTriggered(this,{oldValue:i,newValue:n,change:void 0,didChange:o,hadValue:this.hasValue})}}getDebugName(){return EE(this._getValue)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}function sI(e,t){return new rI(e,t)}!function(e){e.Observer=oI,e.batchEventsGlobally=function(e,t){let n=!1;void 0===oI.globalTransaction&&(oI.globalTransaction=e,n=!0);try{t()}finally{n&&(oI.globalTransaction=void 0)}}}(iI||(iI={}));class rI extends PE{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{OE((e=>{for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>this.debugName))}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function lI(e){return"string"==typeof e?new aI(e):new aI(void 0,e)}class aI extends PE{get debugName(){var e;return null!==(e=new xE(this._owner,this._debugName,void 0).getDebugName(this))&&void 0!==e?e:"Observable Signal"}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(e)for(const n of this.observers)e.updateObserver(n,this),n.handleChange(this,t);else OE((e=>{this.trigger(e,t)}),(()=>`Trigger signal ${this.debugName}`))}get(){}}function dI(e,t){const n=new uI(!0,t);return e.addObserver(n),t?t(e.get()):e.reportChanges(),st((()=>{e.removeObserver(n)}))}ME=function(e){const t=new uI(!1,void 0);return e.addObserver(t),st((()=>{e.removeObserver(t)}))},function(e){IE=e}(dI);class uI{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}class cI{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach((e=>e.store.dispose())),this._cache.clear()}setItems(e){const t=[],n=new Set(this._cache.keys());for(const i of e){const e=this._keySelector?this._keySelector(i):i;let o=this._cache.get(e);if(o)n.delete(e);else{const t=new rt;o={out:this._map(i,t),store:t},this._cache.set(e,o)}t.push(o.out)}for(const e of n)this._cache.get(e).store.dispose(),this._cache.delete(e);this._items=t}getItems(){return this._items}}var hI,gI,pI=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r};class mI{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,n){const i=this.renderedElements.findIndex((e=>e.templateData===n));if(i>=0){const e=this.renderedElements[i];this.trait.unrender(n),e.index=t}else{const e={index:t,templateData:n};this.renderedElements.push(e)}this.trait.renderIndex(t,n)}splice(e,t,n){const i=[];for(const o of this.renderedElements)o.index=e+t&&i.push({index:o.index+n-t,templateData:o.templateData});this.renderedElements=i}renderIndexes(e){for(const{index:t,templateData:n}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,n)}disposeTemplate(e){const t=this.renderedElements.findIndex((t=>t.templateData===e));t<0||this.renderedElements.splice(t,1)}}class fI{get name(){return this._trait}get renderer(){return new mI(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new Ct,this.onChange=this._onChange.event}splice(e,t,n){const i=n.length-t,o=e+t,s=[];let r=0;for(;r=o;)s.push(this.sortedIndexes[r++]+i);this.renderer.splice(e,t,n.length),this._set(s,s)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(FI),t)}_set(e,t,n){const i=this.indexes,o=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const s=OI(o,e);return this.renderer.renderIndexes(s),this._onChange.fire({indexes:e,browserEvent:n}),i}get(){return this.indexes}contains(e){return Mc(this.sortedIndexes,e,FI)>=0}dispose(){it(this._onChange)}}pI([xL],fI.prototype,"renderer",null);class _I extends fI{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class vI{constructor(e,t,n){this.trait=e,this.view=t,this.identityProvider=n}splice(e,t,n){if(!this.identityProvider)return this.trait.splice(e,t,new Array(n.length).fill(!1));const i=this.trait.get().map((e=>this.identityProvider.getId(this.view.element(e)).toString()));if(0===i.length)return this.trait.splice(e,t,new Array(n.length).fill(!1));const o=new Set(i),s=n.map((e=>o.has(this.identityProvider.getId(e).toString())));this.trait.splice(e,t,s)}}function bI(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function wI(e,t){return!!e.classList.contains(t)||!e.classList.contains("monaco-list")&&!!e.parentElement&&wI(e.parentElement,t)}function CI(e){return wI(e,"monaco-editor")}function yI(e){return wI(e,"monaco-tree-sticky-row")}function SI(e){return e.classList.contains("monaco-tree-sticky-container")}function xI(e){return!!("A"===e.tagName&&e.classList.contains("monaco-button")||"DIV"===e.tagName&&e.classList.contains("monaco-button-dropdown"))||!e.classList.contains("monaco-list")&&!!e.parentElement&&xI(e.parentElement)}class kI{get onKeyDown(){return ft.chain(this.disposables.add(new US(this.view.domNode,"keydown")).event,(e=>e.filter((e=>!bI(e.target))).map((e=>new Ue(e)))))}constructor(e,t,n){this.list=e,this.view=t,this.disposables=new rt,this.multipleSelectionDisposables=new rt,this.multipleSelectionSupport=n.multipleSelectionSupport,this.disposables.add(this.onKeyDown((e=>{switch(e.keyCode){case 3:return this.onEnter(e);case 16:return this.onUpArrow(e);case 18:return this.onDownArrow(e);case 11:return this.onPageUpArrow(e);case 12:return this.onPageDownArrow(e);case 9:return this.onEscape(e);case 31:this.multipleSelectionSupport&&(U?e.metaKey:e.ctrlKey)&&this.onCtrlA(e)}})))}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(zc(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}pI([xL],kI.prototype,"onKeyDown",null),function(e){e[e.Automatic=0]="Automatic",e[e.Trigger=1]="Trigger"}(hI||(hI={})),function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(gI||(gI={}));const LI=new class{mightProducePrintableCharacter(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=98&&e.keyCode<=107||e.keyCode>=85&&e.keyCode<=95)}};class DI{constructor(e,t,n,i,o){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=n,this.keyboardNavigationEventFilter=i,this.delegate=o,this.enabled=!1,this.state=gI.Idle,this.mode=hI.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new rt,this.disposables=new rt,this.updateOptions(e.options)}updateOptions(e){var t,n;null===(t=e.typeNavigationEnabled)||void 0===t||t?this.enable():this.disable(),this.mode=null!==(n=e.typeNavigationMode)&&void 0!==n?n:hI.Automatic}enable(){if(this.enabled)return;let e=!1;const t=ft.chain(this.enabledDisposables.add(new US(this.view.domNode,"keydown")).event,(t=>t.filter((e=>!bI(e.target))).filter((()=>this.mode===hI.Automatic||this.triggered)).map((e=>new Ue(e))).filter((t=>e||this.keyboardNavigationEventFilter(t))).filter((e=>this.delegate.mightProducePrintableCharacter(e))).forEach((e=>rr(e,!0))).map((e=>e.browserEvent.key)))),n=ft.debounce(t,(()=>null),800,void 0,void 0,void 0,this.enabledDisposables);ft.reduce(ft.any(t,n),((e,t)=>null===t?null:(e||"")+t),void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),n(this.onClear,this,this.enabledDisposables),t((()=>e=!0),void 0,this.enabledDisposables),n((()=>e=!1),void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var e;const t=this.list.getFocus();if(t.length>0&&t[0]===this.previouslyFocused){const n=null===(e=this.list.options.accessibilityProvider)||void 0===e?void 0:e.getAriaLabel(this.list.element(t[0]));"string"==typeof n?Zr(n):n&&Zr(n.get())}this.previouslyFocused=-1}onInput(e){if(!e)return this.state=gI.Idle,void(this.triggered=!1);const t=this.list.getFocus(),n=t.length>0?t[0]:0,i=this.state===gI.Idle?1:0;this.state=gI.Typing;for(let t=0;t1&&1===t.length)return this.previouslyFocused=n,this.list.setFocus([o]),void this.list.reveal(o)}}else if(void 0===r||pl(e,r))return this.previouslyFocused=n,this.list.setFocus([o]),void this.list.reveal(o)}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class NI{constructor(e,t){this.list=e,this.view=t,this.disposables=new rt;const n=ft.chain(this.disposables.add(new US(t.domNode,"keydown")).event,(e=>e.filter((e=>!bI(e.target))).map((e=>new Ue(e))))),i=ft.chain(n,(e=>e.filter((e=>!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)))));i(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(0===t.length)return;const n=this.view.domElement(t[0]);if(!n)return;const i=n.querySelector("[tabIndex]");if(!(i&&i instanceof HTMLElement&&-1!==i.tabIndex))return;const o=is(i).getComputedStyle(i);"hidden"!==o.visibility&&"none"!==o.display&&(e.preventDefault(),e.stopPropagation(),i.focus())}dispose(){this.disposables.dispose()}}function EI(e){return U?e.browserEvent.metaKey:e.browserEvent.ctrlKey}function II(e){return e.browserEvent.shiftKey}const MI={isSelectionSingleChangeEvent:EI,isSelectionRangeChangeEvent:II};class TI{constructor(e){this.list=e,this.disposables=new rt,this._onPointer=new Ct,this.onPointer=this._onPointer.event,!1!==e.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||MI),this.mouseSupport=void 0===e.options.mouseSupport||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(LL.addTarget(e.getHTMLElement()))),ft.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||MI))}isSelectionSingleChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(e)}isSelectionRangeChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(e)}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){CI(e.browserEvent.target)||Vs()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(bI(e.browserEvent.target)||CI(e.browserEvent.target))return;const t=void 0===e.index?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport)return;if(bI(e.browserEvent.target)||CI(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;return void 0===t?(this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionChangeEvent(e)?this.changeSelection(e):(this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),nr(n=e.browserEvent)&&2===n.button||this.list.setSelection([t],e.browserEvent),void this._onPointer.fire(e));var n}onDoubleClick(e){if(bI(e.browserEvent.target)||CI(e.browserEvent.target))return;if(this.isSelectionChangeEvent(e))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let n=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(void 0===n){const e=this.list.getFocus()[0];n=null!=e?e:t,this.list.setAnchor(n)}const i=zc(Math.min(n,t),Math.max(n,t)+1),o=this.list.getSelection(),s=function(e,t){const n=e.indexOf(t);if(-1===n)return[];const i=[];let o=n-1;for(;o>=0&&e[o]===t-(n-o);)i.push(e[o--]);for(i.reverse(),o=n;o=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){i++,o++;continue}e[i]e!==t));this.list.setFocus([t]),this.list.setAnchor(t),n.length===i.length?this.list.setSelection([...i,t],e.browserEvent):this.list.setSelection(i,e.browserEvent)}}dispose(){this.disposables.dispose()}}class AI{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){var t,n;const i=this.selectorSuffix&&`.${this.selectorSuffix}`,o=[];e.listBackground&&o.push(`.monaco-list${i} .monaco-list-rows { background: ${e.listBackground}; }`),e.listFocusBackground&&(o.push(`.monaco-list${i}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),o.push(`.monaco-list${i}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&o.push(`.monaco-list${i}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(o.push(`.monaco-list${i}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),o.push(`.monaco-list${i}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&o.push(`.monaco-list${i}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&o.push(`.monaco-list${i}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&o.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${i}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }\n\t\t\t`),e.listFocusAndSelectionForeground&&o.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${i}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }\n\t\t\t`),e.listInactiveFocusForeground&&(o.push(`.monaco-list${i} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),o.push(`.monaco-list${i} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&o.push(`.monaco-list${i} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(o.push(`.monaco-list${i} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),o.push(`.monaco-list${i} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(o.push(`.monaco-list${i} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),o.push(`.monaco-list${i} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&o.push(`.monaco-list${i} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&o.push(`.monaco-list${i}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&o.push(`.monaco-list${i}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const s=yr(e.listFocusAndSelectionOutline,yr(e.listSelectionOutline,null!==(t=e.listFocusOutline)&&void 0!==t?t:""));s&&o.push(`.monaco-list${i}:focus .monaco-list-row.focused.selected { outline: 1px solid ${s}; outline-offset: -1px;}`),e.listFocusOutline&&o.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${i}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${i}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const r=yr(e.listSelectionOutline,null!==(n=e.listInactiveFocusOutline)&&void 0!==n?n:"");r&&o.push(`.monaco-list${i} .monaco-list-row.focused.selected { outline: 1px dotted ${r}; outline-offset: -1px; }`),e.listSelectionOutline&&o.push(`.monaco-list${i} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&o.push(`.monaco-list${i} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&o.push(`.monaco-list${i} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&o.push(`\n\t\t\t\t.monaco-list${i}.drop-target,\n\t\t\t\t.monaco-list${i} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${i} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; }\n\t\t\t`),e.listDropBetweenBackground&&(o.push(`\n\t\t\t.monaco-list${i} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n\t\t\t.monaco-list${i} .monaco-list-row.drop-target-before::before {\n\t\t\t\tcontent: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`),o.push(`\n\t\t\t.monaco-list${i} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n\t\t\t.monaco-list${i} .monaco-list-row.drop-target-after::after {\n\t\t\t\tcontent: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`)),e.tableColumnsBorder&&o.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${e.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),e.tableOddRowsBackgroundColor&&o.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${e.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=o.join("\n")}}const RI={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:lh.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:lh.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:lh.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0},PI={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}}};function OI(e,t){const n=[];let i=0,o=0;for(;i=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){n.push(e[i]),i++,o++;continue}e[i]e-t;class BI{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map((t=>t.renderTemplate(e)))}renderElement(e,t,n,i){let o=0;for(const s of this.renderers)s.renderElement(e,t,n[o++],i)}disposeElement(e,t,n,i){var o;let s=0;for(const r of this.renderers)null===(o=r.disposeElement)||void 0===o||o.call(r,e,t,n[s],i),s+=1}disposeTemplate(e){let t=0;for(const n of this.renderers)n.disposeTemplate(e[t++])}}class WI{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new rt}}renderElement(e,t,n){const i=this.accessibilityProvider.getAriaLabel(e),o=i&&"string"!=typeof i?i:tI(i);n.disposables.add(YE((e=>{this.setAriaLabel(e.readObservable(o),n.container)})));const s=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);"number"==typeof s?n.container.setAttribute("aria-level",`${s}`):n.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,n,i){n.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class VI{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){var n,i;null===(i=(n=this.dnd).onDragStart)||void 0===i||i.call(n,e,t)}onDragOver(e,t,n,i,o){return this.dnd.onDragOver(e,t,n,i,o)}onDragLeave(e,t,n,i){var o,s;null===(s=(o=this.dnd).onDragLeave)||void 0===s||s.call(o,e,t,n,i)}onDragEnd(e){var t,n;null===(n=(t=this.dnd).onDragEnd)||void 0===n||n.call(t,e)}drop(e,t,n,i,o){this.dnd.drop(e,t,n,i,o)}dispose(){this.dnd.dispose()}}class HI{get onDidChangeFocus(){return ft.map(this.eventBufferer.wrapEvent(this.focus.onChange),(e=>this.toListEvent(e)),this.disposables)}get onDidChangeSelection(){return ft.map(this.eventBufferer.wrapEvent(this.selection.onChange),(e=>this.toListEvent(e)),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=ft.chain(this.disposables.add(new US(this.view.domNode,"keydown")).event,(t=>t.map((e=>new Ue(e))).filter((t=>e=58===t.keyCode||t.shiftKey&&68===t.keyCode)).map((e=>rr(e,!0))).filter((()=>!1)))),n=ft.chain(this.disposables.add(new US(this.view.domNode,"keyup")).event,(t=>t.forEach((()=>e=!1)).map((e=>new Ue(e))).filter((e=>58===e.keyCode||e.shiftKey&&68===e.keyCode)).map((e=>rr(e,!0))).map((({browserEvent:e})=>{const t=this.getFocus(),n=t.length?t[0]:void 0;return{index:n,element:void 0!==n?this.view.element(n):void 0,anchor:void 0!==n?this.view.domElement(n):this.view.domNode,browserEvent:e}})))),i=ft.chain(this.view.onContextMenu,(t=>t.filter((t=>!e)).map((({element:e,index:t,browserEvent:n})=>({element:e,index:t,anchor:new $e(is(this.view.domNode),n),browserEvent:n})))));return ft.any(t,n,i)}get onKeyDown(){return this.disposables.add(new US(this.view.domNode,"keydown")).event}get onDidFocus(){return ft.signal(this.disposables.add(new US(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return ft.signal(this.disposables.add(new US(this.view.domNode,"blur",!0)).event)}constructor(e,t,n,i,o=PI){var s,r,l,a;this.user=e,this._options=o,this.focus=new fI("focused"),this.anchor=new fI("anchor"),this.eventBufferer=new Dt,this._ariaLabel="",this.disposables=new rt,this._onDidDispose=new Ct,this.onDidDispose=this._onDidDispose.event;const d=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?null===(s=this._options.accessibilityProvider)||void 0===s?void 0:s.getWidgetRole():"list";this.selection=new _I("listbox"!==d);const u=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=o.accessibilityProvider,this.accessibilityProvider&&(u.push(new WI(this.accessibilityProvider)),null===(l=(r=this.accessibilityProvider).onDidChangeActiveDescendant)||void 0===l||l.call(r,this.onDidChangeActiveDescendant,this,this.disposables)),i=i.map((e=>new BI(e.templateId,[...u,e])));const c={...o,dnd:o.dnd&&new VI(this,o.dnd)};if(this.view=this.createListView(t,n,i,c),this.view.domNode.setAttribute("role",d),o.styleController)this.styleController=o.styleController(this.view.domId);else{const e=$s(this.view.domNode);this.styleController=new AI(e,this.view.domId)}if(this.spliceable=new FN([new vI(this.focus,this.view,o.identityProvider),new vI(this.selection,this.view,o.identityProvider),new vI(this.anchor,this.view,o.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new NI(this,this.view)),("boolean"!=typeof o.keyboardSupport||o.keyboardSupport)&&(this.keyboardController=new kI(this,this.view,o),this.disposables.add(this.keyboardController)),o.keyboardNavigationLabelProvider){const e=o.keyboardNavigationDelegate||LI;this.typeNavigationController=new DI(this,this.view,o.keyboardNavigationLabelProvider,null!==(a=o.keyboardNavigationEventFilter)&&void 0!==a?a:()=>!0,e),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(o),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,n,i){return new SE(e,t,n,i)}createMouseController(e){return new TI(this)}updateOptions(e={}){var t,n;this._options={...this._options,...e},null===(t=this.typeNavigationController)||void 0===t||t.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),null===(n=this.keyboardController)||void 0===n||n.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,n=[]){if(e<0||e>this.view.length)throw new UN(this.user,`Invalid start index: ${e}`);if(t<0)throw new UN(this.user,`Invalid delete count: ${t}`);0===t&&0===n.length||this.eventBufferer.bufferEvents((()=>this.spliceable.splice(e,t,n)))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const t of e)if(t<0||t>=this.length)throw new UN(this.user,`Invalid index ${t}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((e=>this.view.element(e)))}setAnchor(e){if(void 0!==e){if(e<0||e>=this.length)throw new UN(this.user,`Invalid index ${e}`);this.anchor.set([e])}else this.anchor.set([])}getAnchor(){return Hc(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return void 0===e?void 0:this.element(e)}setFocus(e,t){for(const t of e)if(t<0||t>=this.length)throw new UN(this.user,`Invalid index ${t}`);this.focus.set(e,t)}focusNext(e=1,t=!1,n,i){if(0===this.length)return;const o=this.focus.get(),s=this.findNextIndex(o.length>0?o[0]+e:0,t,i);s>-1&&this.setFocus([s],n)}focusPrevious(e=1,t=!1,n,i){if(0===this.length)return;const o=this.focus.get(),s=this.findPreviousIndex(o.length>0?o[0]-e:0,t,i);s>-1&&this.setFocus([s],n)}async focusNextPage(e,t){let n=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);n=0===n?0:n-1;const i=this.getFocus()[0];if(i!==n&&(void 0===i||n>i)){const o=this.findPreviousIndex(n,!1,t);o>-1&&i!==o?this.setFocus([o],e):this.setFocus([n],e)}else{const o=this.view.getScrollTop();let s=o+this.view.renderHeight;n>i&&(s-=this.view.elementHeight(n)),this.view.setScrollTop(s),this.view.getScrollTop()!==o&&(this.setFocus([]),await Vt(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,n=(()=>0)){let i;const o=n(),s=this.view.getScrollTop()+o;i=0===s?this.view.indexAt(s):this.view.indexAfter(s-1);const r=this.getFocus()[0];if(r!==i&&(void 0===r||r>=i)){const n=this.findNextIndex(i,!1,t);n>-1&&r!==n?this.setFocus([n],e):this.setFocus([i],e)}else{const i=s;this.view.setScrollTop(s-this.view.renderHeight-o),this.view.getScrollTop()+n()!==i&&(this.setFocus([]),await Vt(0),await this.focusPreviousPage(e,t,n))}}focusLast(e,t){if(0===this.length)return;const n=this.findPreviousIndex(this.length-1,!1,t);n>-1&&this.setFocus([n],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,n){if(0===this.length)return;const i=this.findNextIndex(e,!1,n);i>-1&&this.setFocus([i],t)}findNextIndex(e,t=!1,n){for(let i=0;i=this.length&&!t)return-1;if(e%=this.length,!n||n(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,n){for(let i=0;ithis.view.element(e)))}reveal(e,t,n=0){if(e<0||e>=this.length)throw new UN(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),o=this.view.elementTop(e),s=this.view.elementHeight(e);if(ua(t)){const e=s-this.view.renderHeight+n;this.view.setScrollTop(e*BN(t,0,1)+o-n)}else{const e=o+s,t=i+this.view.renderHeight;o=t||(o=t&&s>=this.view.renderHeight?this.view.setScrollTop(o-n):e>=t&&this.view.setScrollTop(e-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new UN(this.user,`Invalid index ${e}`);const n=this.view.getScrollTop(),i=this.view.elementTop(e),o=this.view.elementHeight(e);if(in+this.view.renderHeight)return null;const s=o-this.view.renderHeight+t;return Math.abs((n+t-i)/s)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map((e=>this.view.element(e))),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var e;const t=this.focus.get();if(t.length>0){let n;(null===(e=this.accessibilityProvider)||void 0===e?void 0:e.getActiveDescendantId)&&(n=this.accessibilityProvider.getActiveDescendantId(this.view.element(t[0]))),this.view.domNode.setAttribute("aria-activedescendant",n||this.view.getElementDomId(t[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===e.length),this.view.domNode.classList.toggle("selection-single",1===e.length),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}pI([xL],HI.prototype,"onDidChangeFocus",null),pI([xL],HI.prototype,"onDidChangeSelection",null),pI([xL],HI.prototype,"onContextMenu",null),pI([xL],HI.prototype,"onKeyDown",null),pI([xL],HI.prototype,"onDidFocus",null),pI([xL],HI.prototype,"onDidBlur",null);var zI=n(7619),UI={};UI.styleTagTransform=Vr(),UI.setAttributes=Or(),UI.insert=Rr().bind(null,"head"),UI.domAPI=Tr(),UI.insertStyleElement=Br(),Ir()(zI.A,UI),zI.A&&zI.A.locals&&zI.A.locals;const KI=mr,jI="selectOption.entry.template";class qI{get templateId(){return jI}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=dr(e,KI(".option-text")),t.detail=dr(e,KI(".option-detail")),t.decoratorRight=dr(e,KI(".option-decorator-right")),t}renderElement(e,t,n){const i=n,o=e.text,s=e.detail,r=e.decoratorRight,l=e.isDisabled;i.text.textContent=o,i.detail.textContent=s||"",i.decoratorRight.innerText=r||"",l?i.root.classList.add("option-disabled"):i.root.classList.remove("option-disabled")}disposeTemplate(e){}}class $I extends lt{constructor(e,t,n,i,o){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=i,this.selectBoxOptions=o||Object.create(null),"number"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=$I.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding","string"==typeof this.selectBoxOptions.ariaLabel&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),"string"==typeof this.selectBoxOptions.ariaDescription&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new Ct,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(n),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(RL(IL("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return jI}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=mr(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=dr(this.selectDropDownContainer,KI(".select-box-details-pane"));const t=dr(this.selectDropDownContainer,KI(".select-box-dropdown-container-width-control")),n=dr(t,KI(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",dr(n,this.widthControlElement),this._dropDownPosition=0,this.styleElement=$s(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(ms(this.selectDropDownContainer,or.DRAG_START,(e=>{rr(e,!0)})))}registerListeners(){let e;this._register(_s(this.selectElement,"change",(e=>{this.selected=e.target.selectedIndex,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}))),this._register(ms(this.selectElement,or.CLICK,(e=>{rr(e),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(ms(this.selectElement,or.MOUSE_DOWN,(e=>{rr(e)}))),this._register(ms(this.selectElement,"touchstart",(t=>{e=this._isVisible}))),this._register(ms(this.selectElement,"touchend",(t=>{rr(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(ms(this.selectElement,or.KEY_DOWN,(e=>{const t=new Ue(e);let n=!1;U?18!==t.keyCode&&16!==t.keyCode&&10!==t.keyCode&&3!==t.keyCode||(n=!0):(18===t.keyCode&&t.altKey||16===t.keyCode&&t.altKey||10===t.keyCode||3===t.keyCode)&&(n=!0),n&&(this.showSelectDropDown(),rr(e,!0))})))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){Ic(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach(((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled)),"string"==typeof e.description&&(this._hasDetails=!0)}))),void 0!==t&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){var e;null===(e=this.selectList)||void 0===e||e.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join("\n")}styleSelectElement(){var e,t,n;const i=null!==(e=this.styles.selectBackground)&&void 0!==e?e:"",o=null!==(t=this.styles.selectForeground)&&void 0!==t?t:"",s=null!==(n=this.styles.selectBorder)&&void 0!==n?n:"";this.selectElement.style.backgroundColor=i,this.selectElement.style.color=o,this.selectElement.style.borderColor=s}styleList(){var e,t;const n=null!==(e=this.styles.selectBackground)&&void 0!==e?e:"",i=yr(this.styles.selectListBackground,n);this.selectDropDownListContainer.style.backgroundColor=i,this.selectionDetailsPane.style.backgroundColor=i;const o=null!==(t=this.styles.focusBorder)&&void 0!==t?t:"";this.selectDropDownContainer.style.outlineColor=o,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,n){const i=document.createElement("option");return i.value=e,i.text=e,i.disabled=!!n,i}showSelectDropDown(){this.selectionDetailsPane.innerText="",this.contextViewProvider&&!this._isVisible&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{try{e.removeChild(this.selectDropDownContainer)}catch(e){}}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach(((t,n)=>{this.updateDetail(n),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)})),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=is(this.selectElement),n=Es(this.selectElement),i=is(this.selectElement).getComputedStyle(this.selectElement),o=parseFloat(i.getPropertyValue("--dropdown-padding-top"))+parseFloat(i.getPropertyValue("--dropdown-padding-bottom")),s=t.innerHeight-n.top-n.height-(this.selectBoxOptions.minBottomMargin||0),r=n.top-$I.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,l=this.selectElement.offsetWidth,a=this.setWidthControlElement(this.widthControlElement),d=Math.max(a,Math.round(l)).toString()+"px";this.selectDropDownContainer.style.width=d,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let u=this.selectList.contentHeight;this._hasDetails&&void 0===this._cachedMaxDetailsHeight&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const c=this._hasDetails?this._cachedMaxDetailsHeight:0,h=u+o+c,g=Math.floor((s-o-c)/this.getHeight()),p=Math.floor((r-o-c)/this.getHeight());if(e)return!(n.top+n.height>t.innerHeight-22||n.top<$I.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||g<1&&p<1||(g<$I.DEFAULT_MINIMUM_VISIBLE_OPTIONS&&p>g&&this.options.length>g?(this._dropDownPosition=1,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),0));if(n.top+n.height>t.innerHeight-22||n.top<$I.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||0===this._dropDownPosition&&g<1||1===this._dropDownPosition&&p<1)return this.hideSelectDropDown(!0),!1;if(0===this._dropDownPosition){if(this._isVisible&&g+p<1)return this.hideSelectDropDown(!0),!1;h>s&&(u=g*this.getHeight())}else h>r&&(u=p*this.getHeight());return this.selectList.layout(u),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=u+o+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=u+o+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=d,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}return!1}setWidthControlElement(e){let t=0;if(e){let n=0,i=0;this.options.forEach(((e,t)=>{const o=e.detail?e.detail.length:0,s=e.decoratorRight?e.decoratorRight.length:0,r=e.text.length+o+s;r>i&&(n=t,i=r)})),e.textContent=this.options[n].text+(this.options[n].decoratorRight?this.options[n].decoratorRight+" ":""),t=Ms(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=dr(e,KI(".select-box-dropdown-list-container")),this.listRenderer=new qI,this.selectList=new HI("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:e=>{let t=e.text;return e.detail&&(t+=`. ${e.detail}`),e.decoratorRight&&(t+=`. ${e.decoratorRight}`),e.description&&(t+=`. ${e.description}`),t},getWidgetAriaLabel:()=>_(0,"Select Box"),getRole:()=>U?"":"option",getWidgetRole:()=>"listbox"}}),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new US(this.selectDropDownListContainer,"keydown")),n=ft.chain(t.event,(e=>e.filter((()=>this.selectList.length>0)).map((e=>new Ue(e)))));this._register(ft.chain(n,(e=>e.filter((e=>3===e.keyCode))))(this.onEnter,this)),this._register(ft.chain(n,(e=>e.filter((e=>2===e.keyCode))))(this.onEnter,this)),this._register(ft.chain(n,(e=>e.filter((e=>9===e.keyCode))))(this.onEscape,this)),this._register(ft.chain(n,(e=>e.filter((e=>16===e.keyCode))))(this.onUpArrow,this)),this._register(ft.chain(n,(e=>e.filter((e=>18===e.keyCode))))(this.onDownArrow,this)),this._register(ft.chain(n,(e=>e.filter((e=>12===e.keyCode))))(this.onPageDown,this)),this._register(ft.chain(n,(e=>e.filter((e=>11===e.keyCode))))(this.onPageUp,this)),this._register(ft.chain(n,(e=>e.filter((e=>14===e.keyCode))))(this.onHome,this)),this._register(ft.chain(n,(e=>e.filter((e=>13===e.keyCode))))(this.onEnd,this)),this._register(ft.chain(n,(e=>e.filter((e=>e.keyCode>=21&&e.keyCode<=56||e.keyCode>=85&&e.keyCode<=113))))(this.onCharacter,this)),this._register(ms(this.selectList.getHTMLElement(),or.POINTER_UP,(e=>this.onPointerUp(e)))),this._register(this.selectList.onMouseOver((e=>void 0!==e.index&&this.selectList.setFocus([e.index])))),this._register(this.selectList.onDidChangeFocus((e=>this.onListFocus(e)))),this._register(ms(this.selectDropDownContainer,or.FOCUS_OUT,(e=>{this._isVisible&&!Ps(e.relatedTarget,this.selectDropDownContainer)&&this.onListBlur()}))),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;rr(e);const t=e.target;if(!t)return;if(t.classList.contains("slider"))return;const n=t.closest(".monaco-list-row");if(!n)return;const i=Number(n.getAttribute("data-index")),o=n.classList.contains("option-disabled");i>=0&&i{for(let t=0;tthis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){this.selected>0&&(rr(e,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(e){rr(e),this.selectList.focusPreviousPage(),setTimeout((()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)}),1)}onHome(e){rr(e),this.options.length<2||(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){rr(e),this.options.length<2||(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=Ce.toString(e.keyCode);let n=-1;for(let i=0;i{this._register(ms(this.selectElement,e,(e=>{this.selectElement.focus()})))})),this._register(_s(this.selectElement,"click",(e=>{rr(e,!0)}))),this._register(_s(this.selectElement,"change",(e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})}))),this._register(_s(this.selectElement,"keydown",(e=>{let t=!1;U?18!==e.keyCode&&16!==e.keyCode&&10!==e.keyCode||(t=!0):(18===e.keyCode&&e.altKey||10===e.keyCode||3===e.keyCode)&&(t=!0),t&&e.stopPropagation()})))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){this.options&&Ic(this.options,e)||(this.options=e,this.selectElement.options.length=0,this.options.forEach(((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled))}))),void 0!==t&&this.select(t)}select(e){0===this.options.length?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(e)})))}handleActionChangeEvent(e){void 0!==e.enabled&&this.updateEnabled(),void 0!==e.checked&&this.updateChecked(),void 0!==e.class&&this.updateClass(),void 0!==e.label&&(this.updateLabel(),this.updateTooltip()),void 0!==e.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new md)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(LL.addTarget(e));const n=this.options&&this.options.draggable;n&&(e.draggable=!0,a&&this._register(ms(e,or.DRAG_START,(e=>{var t;return null===(t=e.dataTransfer)||void 0===t?void 0:t.setData(ux.TEXT,this._action.label)})))),this._register(ms(t,kL.Tap,(e=>this.onClick(e,!0)))),this._register(ms(t,or.MOUSE_DOWN,(e=>{n||rr(e,!0),this._action.enabled&&0===e.button&&t.classList.add("active")}))),U&&this._register(ms(t,or.CONTEXT_MENU,(e=>{0===e.button&&!0===e.ctrlKey&&this.onClick(e)}))),this._register(ms(t,or.CLICK,(e=>{rr(e,!0),this.options&&this.options.isMenu||this.onClick(e)}))),this._register(ms(t,or.DBLCLICK,(e=>{rr(e,!0)}))),[or.MOUSE_UP,or.MOUSE_OUT].forEach((e=>{this._register(ms(t,e,(e=>{rr(e),t.classList.remove("active")})))}))}onClick(e,t=!1){var n;rr(e,!0);const i=ma(this._context)?(null===(n=this.options)||void 0===n?void 0:n.useEventAsContext)?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,i)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var e,t,n;if(!this.element)return;const i=null!==(e=this.getTooltip())&&void 0!==e?e:"";if(this.updateAriaLabel(),null===(t=this.options.hoverDelegate)||void 0===t?void 0:t.showNativeHover)this.element.title=i;else if(this.customHover||""===i)this.customHover&&this.customHover.update(i);else{const e=null!==(n=this.options.hoverDelegate)&&void 0!==n?n:IL("element");this.customHover=this._store.add(RL(e,this.element,i))}}updateAriaLabel(){var e;if(this.element){const t=null!==(e=this.getTooltip())&&void 0!==e?e:"";this.element.setAttribute("aria-label",t)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class tM extends eM{constructor(e,t,n){super(e,t,n),this.options=n,this.options.icon=void 0!==n.icon&&n.icon,this.options.label=void 0===n.label||n.label,this.cssClass=""}render(e){super.render(e),fa(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const e=document.createElement("span");e.classList.add("keybinding"),e.textContent=this.options.keybinding,this.element.appendChild(e)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===fd.ID?"presentation":this.options.isMenu?"menuitem":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=_(0,"{0} ({1})",e,this.options.keybinding))),null!=e?e:void 0}updateClass(){var e;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):null===(e=this.label)||void 0===e||e.classList.remove("codicon")}updateEnabled(){var e,t;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),null===(e=this.element)||void 0===e||e.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),null===(t=this.element)||void 0===t||t.classList.add("disabled"))}updateAriaLabel(){var e;if(this.label){const t=null!==(e=this.getTooltip())&&void 0!==e?e:"";this.label.setAttribute("aria-label",t)}}updateChecked(){this.label&&(void 0!==this.action.checked?(this.label.classList.toggle("checked",this.action.checked),this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox")):(this.label.classList.remove("checked"),this.label.removeAttribute("aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class nM extends eM{constructor(e,t,n,i,o,s,r){super(e,t),this.selectBox=new XI(n,i,o,s,r),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect((e=>this.runAction(e.selected,e.index))))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){var e;null===(e=this.selectBox)||void 0===e||e.focus()}blur(){var e;null===(e=this.selectBox)||void 0===e||e.blur()}render(e){this.selectBox.render(e)}}class iM extends lt{constructor(e,t={}){var n,i,o,s,r,l,a;let d,u;switch(super(),this._actionRunnerDisposables=this._register(new rt),this.viewItemDisposables=this._register(new ct),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new Ct),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new Ct({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new Ct),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new Ct),this.onWillRun=this._onWillRun.event,this.options=t,this._context=null!==(n=t.context)&&void 0!==n?n:null,this._orientation=null!==(i=this.options.orientation)&&void 0!==i?i:0,this._triggerKeys={keyDown:null!==(s=null===(o=this.options.triggerKeys)||void 0===o?void 0:o.keyDown)&&void 0!==s&&s,keys:null!==(l=null===(r=this.options.triggerKeys)||void 0===r?void 0:r.keys)&&void 0!==l?l:[3,10]},this._hoverDelegate=null!==(a=t.hoverDelegate)&&void 0!==a?a:this._register(ML()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new md,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e)))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",this._orientation){case 0:d=[15],u=[17];break;case 1:d=[16],u=[18],this.domNode.className+=" vertical"}this._register(ms(this.domNode,or.KEY_DOWN,(e=>{const t=new Ue(e);let n=!0;const i="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;d&&(t.equals(d[0])||t.equals(d[1]))?n=this.focusPrevious():u&&(t.equals(u[0])||t.equals(u[1]))?n=this.focusNext():t.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():t.equals(14)?n=this.focusFirst():t.equals(13)?n=this.focusLast():t.equals(2)&&i instanceof eM&&i.trapsArrowNavigation?n=this.focusNext():this.isTriggerKeyEvent(t)?this._triggerKeys.keyDown?this.doTrigger(t):this.triggerKeyDown=!0:n=!1,n&&(t.preventDefault(),t.stopPropagation())}))),this._register(ms(this.domNode,or.KEY_UP,(e=>{const t=new Ue(e);this.isTriggerKeyEvent(t)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(t)),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026)||t.equals(16)||t.equals(18)||t.equals(15)||t.equals(17))&&this.updateFocusedItem()}))),this.focusTracker=this._register(ar(this.domNode)),this._register(this.focusTracker.onDidBlur((()=>{Vs()!==this.domNode&&Ps(Vs(),this.domNode)||(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)}))),this._register(this.focusTracker.onDidFocus((()=>this.updateFocusedItem()))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const e=this.viewItems.find((e=>e instanceof eM&&e.isEnabled()));e instanceof eM&&e.setFocusable(!0)}else this.viewItems.forEach((e=>{e instanceof eM&&e.setFocusable(!1)}))}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach((n=>{t=t||e.equals(n)})),t}updateFocusedItem(){var e,t;for(let n=0;nt.setActionContext(e)))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e)))),this.viewItems.forEach((t=>t.actionRunner=e))}getContainer(){return this.domNode}getAction(e){var t;if("number"==typeof e)return null===(t=this.viewItems[e])||void 0===t?void 0:t.action;if(e instanceof HTMLElement){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let t=0;t{const n=document.createElement("li");let o;n.className="action-item",n.setAttribute("role","presentation");const s={hoverDelegate:this._hoverDelegate,...t};this.options.actionViewItemProvider&&(o=this.options.actionViewItemProvider(e,s)),o||(o=new tM(this.context,e,s)),this.options.allowContextMenu||this.viewItemDisposables.set(o,ms(n,or.CONTEXT_MENU,(e=>{rr(e,!0)}))),o.actionRunner=this._actionRunner,o.setActionContext(this.context),o.render(n),this.focusable&&o instanceof eM&&0===this.viewItems.length&&o.setFocusable(!0),null===i||i<0||i>=this.actionsList.children.length?(this.actionsList.appendChild(n),this.viewItems.push(o)):(this.actionsList.insertBefore(n,this.actionsList.children[i]),this.viewItems.splice(i,0,o),i++)})),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=it(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),gs(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return 0===this.viewItems.length}focus(e){let t,n=!1;if(void 0===e?n=!0:"number"==typeof e?t=e:"boolean"==typeof e&&(n=e),n&&void 0===this.focusedItem){const e=this.viewItems.findIndex((e=>e.isEnabled()));this.focusedItem=-1===e?void 0:e,this.updateFocus(void 0,void 0,!0)}else void 0!==t&&(this.focusedItem=t),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let n;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=t,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,n=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===fd.ID));return this.updateFocus(),!0}focusPrevious(e){if(void 0===this.focusedItem)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let n;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}n=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===fd.ID));return this.updateFocus(!0),!0}updateFocus(e,t,n=!1){var i,o;void 0===this.focusedItem&&this.actionsList.focus({preventScroll:t}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&(null===(i=this.viewItems[this.previouslyFocusedItem])||void 0===i||i.blur());const s=void 0!==this.focusedItem?this.viewItems[this.focusedItem]:void 0;if(s){let i=!0;va(s.focus)||(i=!1),this.options.focusOnlyEnabledItems&&va(s.isEnabled)&&!s.isEnabled()&&(i=!1),s.action.id===fd.ID&&(i=!1),i?(n||this.previouslyFocusedItem!==this.focusedItem)&&(s.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),i&&(null===(o=s.showHover)||void 0===o||o.call(s))}}doTrigger(e){if(void 0===this.focusedItem)return;const t=this.viewItems[this.focusedItem];if(t instanceof eM){const n=null===t._context||void 0===t._context?e:t._context;this.run(t._action,n)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=it(this.viewItems),this.getContainer().remove(),super.dispose()}}var oM=n(6745),sM={};sM.styleTagTransform=Vr(),sM.setAttributes=Or(),sM.insert=Rr().bind(null,"head"),sM.domAPI=Tr(),sM.insertStyleElement=Br(),Ir()(oM.A,sM),oM.A&&oM.A.locals&&oM.A.locals;class rM{constructor(e,t,n=t){this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}toLabel(e,t,n){if(0===t.length)return null;const i=[];for(let o=0,s=t.length;o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},MM=function(e,t){return function(n,i){t(n,i,e)}};const TM="acceptSelectedCodeAction",AM="previewSelectedCodeAction";class RM{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,n){var i,o;n.text.textContent=null!==(o=null===(i=e.group)||void 0===i?void 0:i.title)&&void 0!==o?o:""}disposeTemplate(e){}}let PM=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 n=document.createElement("span");return n.className="title",e.append(n),{container:e,icon:t,text:n,keybinding:new fM(e,ee)}}renderElement(e,t,n){var i,o,s;if((null===(i=e.group)||void 0===i?void 0:i.icon)?(n.icon.className=ka.asClassName(e.group.icon),e.group.icon.color&&(n.icon.style.color=ym(e.group.icon.color.id))):(n.icon.className=ka.asClassName(Sa.lightBulb),n.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;n.text.textContent=VM(e.label),n.keybinding.set(e.keybinding),function(e,...t){e?fr(...t):_r(...t)}(!!e.keybinding,n.keybinding.element);const r=null===(o=this._keybindingService.lookupKeybinding(TM))||void 0===o?void 0:o.getLabel(),l=null===(s=this._keybindingService.lookupKeybinding(AM))||void 0===s?void 0:s.getLabel();n.container.classList.toggle("option-disabled",e.disabled),e.disabled?n.container.title=e.label:r&&l?this._supportsPreview&&e.canPreview?n.container.title=_(0,"{0} to Apply, {1} to Preview",r,l):n.container.title=_(0,"{0} to Apply",r):n.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};PM=IM([MM(1,zL)],PM);class OM extends UIEvent{constructor(){super("acceptSelectedAction")}}class FM extends UIEvent{constructor(){super("previewSelectedAction")}}function BM(e){if("action"===e.kind)return e.label}let WM=class extends lt{constructor(e,t,n,i,o,s){super(),this._delegate=i,this._contextViewService=o,this._keybindingService=s,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Tt),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const r={getHeight:e=>"header"===e.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:e=>e.kind};this._list=this._register(new HI(e,this.domNode,r,[new PM(t,this._keybindingService),new RM],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:BM},accessibilityProvider:{getAriaLabel:e=>{if("action"===e.kind){let t=e.label?VM(null==e?void 0:e.label):"";return e.disabled&&(t=_(0,"{0}, Disabled Reason: {1}",t,e.disabled)),t}return null},getWidgetAriaLabel:()=>_(0,"Action Widget"),getRole:e=>"action"===e.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(xM),this._register(this._list.onMouseClick((e=>this.onListClick(e)))),this._register(this._list.onMouseOver((e=>this.onListHover(e)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((e=>this.onListSelection(e)))),this._allMenuItems=n,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&"action"===e.kind}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter((e=>"header"===e.kind)).length,n=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(n);let i=e;if(this._allMenuItems.length>=50)i=380;else{const t=this._allMenuItems.map(((e,t)=>{const n=this.domNode.ownerDocument.getElementById(this._list.getElementID(t));if(n){n.style.width="auto";const e=n.getBoundingClientRect().width;return n.style.width="",e}return 0}));i=Math.max(...t,e)}const o=Math.min(n,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(o,i),this.domNode.style.height=`${o}px`,this._list.domFocus(),i}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(0===t.length)return;const n=t[0],i=this._list.element(n);if(!this.focusCondition(i))return;const o=e?new FM:new OM;this._list.setSelection([n],o)}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 FM):this._list.setSelection([])}onFocus(){var e,t;const n=this._list.getFocus();if(0===n.length)return;const i=n[0],o=this._list.element(i);null===(t=(e=this._delegate).onFocus)||void 0===t||t.call(e,o.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&"action"===t.kind){const e=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=e?e.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus("number"==typeof e.index?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};function VM(e){return e.replace(/\r\n|\r|\n/g," ")}WM=IM([MM(4,VL),MM(5,zL)],WM);var HM=function(e,t){return function(n,i){t(n,i,e)}};km("actionBar.toggledBackground",{dark:d_,light:d_,hcDark:d_,hcLight:d_},_(0,"Background color for toggled action items in action bar."));const zM={Visible:new ou("codeActionMenuVisible",!1,_(0,"Whether the action widget list is visible"))},UM=dd("actionWidgetService");let KM=class extends lt{get isVisible(){return zM.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,n){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=n,this._list=this._register(new at)}show(e,t,n,i,o,s,r){const l=zM.Visible.bindTo(this._contextKeyService),a=this._instantiationService.createInstance(WM,e,t,n,i);this._contextViewService.showContextView({getAnchor:()=>o,render:e=>(l.set(!0),this._renderWidget(e,a,null!=r?r:[])),onHide:e=>{l.reset(),this._onWidgetClosed(e)}},s,!1)}acceptSelected(e){var t;null===(t=this._list.value)||void 0===t||t.acceptSelected(e)}focusPrevious(){var e,t;null===(t=null===(e=this._list)||void 0===e?void 0:e.value)||void 0===t||t.focusPrevious()}focusNext(){var e,t;null===(t=null===(e=this._list)||void 0===e?void 0:e.value)||void 0===t||t.focusNext()}hide(){var e;null===(e=this._list.value)||void 0===e||e.hide(),this._list.clear()}_renderWidget(e,t,n){var i;const o=document.createElement("div");if(o.classList.add("action-widget"),e.appendChild(o),this._list.value=t,!this._list.value)throw new Error("List has no value");o.appendChild(this._list.value.domNode);const s=new rt,r=document.createElement("div"),l=e.appendChild(r);l.classList.add("context-view-block"),s.add(ms(l,or.MOUSE_DOWN,(e=>e.stopPropagation())));const a=document.createElement("div"),d=e.appendChild(a);d.classList.add("context-view-pointerBlock"),s.add(ms(d,or.POINTER_MOVE,(()=>d.remove()))),s.add(ms(d,or.MOUSE_DOWN,(()=>d.remove())));let u=0;if(n.length){const e=this._createActionBar(".action-widget-action-bar",n);e&&(o.appendChild(e.getContainer().parentElement),s.add(e),u=e.getContainer().offsetWidth)}const c=null===(i=this._list.value)||void 0===i?void 0:i.layout(u);o.style.width=`${c}px`;const h=s.add(ar(e));return s.add(h.onDidBlur((()=>this.hide()))),s}_createActionBar(e,t){if(!t.length)return;const n=mr(e),i=new iM(n);return i.push(t,{icon:!1,label:!0}),i}_onWidgetClosed(e){var t;null===(t=this._list.value)||void 0===t||t.hide(e)}};KM=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([HM(0,VL),HM(1,su),HM(2,ad)],KM),yg(UM,KM,1);const jM=1100;var qM,$M;Iu(class extends Eu{constructor(){super({id:"hideCodeActionWidget",title:v(0,"Hide action widget"),precondition:zM.Visible,keybinding:{weight:jM,primary:9,secondary:[1033]}})}run(e){e.get(UM).hide()}}),Iu(class extends Eu{constructor(){super({id:"selectPrevCodeAction",title:v(0,"Select previous action"),precondition:zM.Visible,keybinding:{weight:jM,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){const t=e.get(UM);t instanceof KM&&t.focusPrevious()}}),Iu(class extends Eu{constructor(){super({id:"selectNextCodeAction",title:v(0,"Select next action"),precondition:zM.Visible,keybinding:{weight:jM,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){const t=e.get(UM);t instanceof KM&&t.focusNext()}}),Iu(class extends Eu{constructor(){super({id:TM,title:v(0,"Accept selected action"),precondition:zM.Visible,keybinding:{weight:jM,primary:3,secondary:[2137]}})}run(e){const t=e.get(UM);t instanceof KM&&t.acceptSelected()}}),Iu(class extends Eu{constructor(){super({id:AM,title:v(0,"Preview selected action"),precondition:zM.Visible,keybinding:{weight:jM,primary:2051}})}run(e){const t=e.get(UM);t instanceof KM&&t.acceptSelected(!0)}}),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(qM||(qM={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=_(0,"Error"),t[e.Warning]=_(0,"Warning"),t[e.Info]=_(0,"Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case eN.Error:return e.Error;case eN.Warning:return e.Warning;case eN.Info:return e.Info;case eN.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return eN.Error;case e.Warning:return eN.Warning;case e.Info:return eN.Info;case e.Hint:return eN.Ignore}}}(qM||(qM={})),function(e){const t="";function n(e,n){const i=[t];return e.source?i.push(e.source.replace("¦","\\¦")):i.push(t),e.code?"string"==typeof e.code?i.push(e.code.replace("¦","\\¦")):i.push(e.code.value.replace("¦","\\¦")):i.push(t),void 0!==e.severity&&null!==e.severity?i.push(qM.toString(e.severity)):i.push(t),e.message&&n?i.push(e.message.replace("¦","\\¦")):i.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?i.push(e.startLineNumber.toString()):i.push(t),void 0!==e.startColumn&&null!==e.startColumn?i.push(e.startColumn.toString()):i.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?i.push(e.endLineNumber.toString()):i.push(t),void 0!==e.endColumn&&null!==e.endColumn?i.push(e.endColumn.toString()):i.push(t),i.push(t),i.join("¦")}e.makeKey=function(e){return n(e,!0)},e.makeKeyOptionalMessage=n}($M||($M={}));const GM=dd("markerService"),ZM=new ou("supportedCodeAction",""),YM="_typescript.applyFixAllCodeAction";class XM extends lt{constructor(e,t,n,i=250){super(),this._editor=e,this._markerService=t,this._signalChange=n,this._delay=i,this._autoTriggerTimer=this._register(new Ut),this._register(this._markerService.onMarkerChanged((e=>this._onMarkerChanges(e)))),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((e=>za(e,t.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:oN.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(1===e.type)return t;const n=this._editor.getOption(65).enabled;if(n!==ND.Off){if(n===ND.On)return t;if(n===ND.OnCode){if(!t.isEmpty())return t;const e=this._editor.getModel(),{lineNumber:n,column:i}=t.getPosition(),o=e.getLineContent(n);if(0===o.length)return;if(1===i){if(/\s/.test(o[0]))return}else if(i===e.getLineMaxColumn(n)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[i-2])&&/\s/.test(o[i-1]))return}return t}}}var QM;!function(e){e.Empty={type:0},e.Triggered=class{constructor(e,t,n){this.trigger=e,this.position=t,this._cancellablePromise=n,this.type=1,this.actions=n.catch((e=>{if(Ne(e))return JM;throw e}))}cancel(){this._cancellablePromise.cancel()}}}(QM||(QM={}));const JM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class eT extends lt{constructor(e,t,n,i,o,s){super(),this._editor=e,this._registry=t,this._markerService=n,this._progressService=o,this._configurationService=s,this._codeActionOracle=this._register(new at),this._state=QM.Empty,this._onDidChangeState=this._register(new Ct),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=ZM.bindTo(i),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((e=>{e.hasChanged(65)&&this._update()}))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(QM.Empty,!0))}_settingEnabledNearbyQuickfixes(){var e;const t=null===(e=this._editor)||void 0===e?void 0:e.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:null==t?void 0:t.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(QM.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(91)){const t=this._registry.all(e).flatMap((e=>{var t;return null!==(t=e.providedCodeActionKinds)&&void 0!==t?t:[]}));this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new XM(this._editor,this._markerService,(t=>{var n;if(!t)return void this.setState(QM.Empty);const i=t.selection.getStartPosition(),o=Pt((async n=>{var i,o,s,r,l,a,d,u,c,h;if(this._settingEnabledNearbyQuickfixes()&&1===t.trigger.type&&(t.trigger.triggerAction===oN.QuickFix||(null===(o=null===(i=t.trigger.filter)||void 0===i?void 0:i.include)||void 0===o?void 0:o.contains(iN.QuickFix)))){const i=await _N(this._registry,e,t.selection,t.trigger,vL.None,n),o=[...i.allActions];if(n.isCancellationRequested)return JM;const g=null===(s=i.validActions)||void 0===s?void 0:s.some((e=>!!e.action.kind&&iN.QuickFix.contains(new dx(e.action.kind)))),p=this._markerService.read({resource:e.uri});if(g){for(const e of i.validActions)(null===(l=null===(r=e.action.command)||void 0===r?void 0:r.arguments)||void 0===l?void 0:l.some((e=>"string"==typeof e&&e.includes(YM))))&&(e.action.diagnostics=[...p.filter((e=>e.relatedInformation))]);return{validActions:i.validActions,allActions:o,documentation:i.documentation,hasAutoFix:i.hasAutoFix,hasAIFix:i.hasAIFix,allAIFixes:i.allAIFixes,dispose:()=>{i.dispose()}}}if(!g&&p.length>0){const s=t.selection.getPosition();let r=s,l=Number.MAX_VALUE;const g=[...i.validActions];for(const m of p){const f=m.endColumn,_=m.endLineNumber,v=m.startLineNumber;if(_===s.lineNumber||v===s.lineNumber){r=new cd(_,f);const m={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:(null===(a=t.trigger.filter)||void 0===a?void 0:a.include)?null===(d=t.trigger.filter)||void 0===d?void 0:d.include:iN.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:(null===(u=t.trigger.context)||void 0===u?void 0:u.notAvailableMessage)||"",position:r}},v=new ic(r.lineNumber,r.column,r.lineNumber,r.column),b=await _N(this._registry,e,v,m,vL.None,n);if(0!==b.validActions.length){for(const e of b.validActions)(null===(h=null===(c=e.action.command)||void 0===c?void 0:c.arguments)||void 0===h?void 0:h.some((e=>"string"==typeof e&&e.includes(YM))))&&(e.action.diagnostics=[...p.filter((e=>e.relatedInformation))]);0===i.allActions.length&&o.push(...b.allActions),Math.abs(s.column-f)n.findIndex((t=>t.action.title===e.action.title))===t));return m.sort(((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0)),{validActions:m,allActions:o,documentation:i.documentation,hasAutoFix:i.hasAutoFix,hasAIFix:i.hasAIFix,allAIFixes:i.allAIFixes,dispose:()=>{i.dispose()}}}}return _N(this._registry,e,t.selection,t.trigger,vL.None,n)}));1===t.trigger.type&&(null===(n=this._progressService)||void 0===n||n.showWhile(o,250));const s=new QM.Triggered(t.trigger,i,o);let r=!1;1===this._state.type&&(r=1===this._state.trigger.type&&1===s.type&&2===s.trigger.type&&this._state.position!==s.position),r||this.setState(s)}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:oN.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;null===(t=this._codeActionOracle.value)||void 0===t||t.trigger(e)}setState(e,t){e!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=e,t||this._disposed||this._onDidChangeState.fire(e))}}var tT,nT=function(e,t){return function(n,i){t(n,i,e)}};let iT=tT=class extends lt{static get(e){return e.getContribution(tT.ID)}constructor(e,t,n,i,o,s,r,l,a,d){super(),this._commandService=r,this._configurationService=l,this._actionWidgetService=a,this._instantiationService=d,this._activeCodeActions=this._register(new at),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new eT(this._editor,o.codeActionProvider,t,n,s,l)),this._register(this._model.onDidChangeState((e=>this.update(e)))),this._lightBulbWidget=new ei((()=>{const e=this._editor.getContribution(ON.ID);return e&&this._register(e.onClick((e=>this.showCodeActionsFromLightbulb(e.actions,e)))),e})),this._resolver=i.createInstance(yN),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&1===e.validActions.length){const t=e.validActions[0],n=t.action.command;return n&&"inlineChat.start"===n.id&&n.arguments&&n.arguments.length>=1&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),void await this._applyCodeAction(t,!1,!1,bN.FromAILightbulb)}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,n){return this.showCodeActionList(t,n,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,n,i){var o;if(!this._editor.hasModel())return;null===(o=pL.get(this._editor))||void 0===o||o.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:n,autoApply:i,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,n,i){try{await this._instantiationService.invokeFunction(wN,e,i,{preview:n,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:oN.QuickFix,filter:{}})}}async update(e){var t,n,i,o,s,r,l;if(1!==e.type)return void(null===(t=this._lightBulbWidget.rawValue)||void 0===t||t.hide());let a;try{a=await e.actions}catch(e){return void xe(e)}if(!this._disposed)if(null===(n=this._lightBulbWidget.value)||void 0===n||n.update(a,e.trigger,e.position),1===e.trigger.type){if(null===(i=e.trigger.filter)||void 0===i?void 0:i.include){const t=this.tryGetValidActionToApply(e.trigger,a);if(t){try{null===(o=this._lightBulbWidget.value)||void 0===o||o.hide(),await this._applyCodeAction(t,!1,!1,bN.FromCodeActions)}finally{a.dispose()}return}if(e.trigger.context){const t=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,a);if(t&&t.action.disabled)return null===(s=pL.get(this._editor))||void 0===s||s.showMessage(t.action.disabled,e.trigger.context.position),void a.dispose()}}const t=!!(null===(r=e.trigger.filter)||void 0===r?void 0:r.include);if(e.trigger.context&&(!a.allActions.length||!t&&!a.validActions.length))return null===(l=pL.get(this._editor))||void 0===l||l.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=a,void a.dispose();this._activeCodeActions.value=a,this.showCodeActionList(a,this.toCoords(e.position),{includeDisabledActions:t,fromLightbulb:!1})}else this._actionWidgetService.isVisible?a.dispose():this._activeCodeActions.value=a}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length)return"first"===e.autoApply&&0===t.validActions.length||"ifSingle"===e.autoApply&&1===t.allActions.length?t.allActions.find((({action:e})=>e.disabled)):void 0}tryGetValidActionToApply(e,t){if(t.validActions.length)return"first"===e.autoApply&&t.validActions.length>0||"ifSingle"===e.autoApply&&1===t.validActions.length?t.validActions[0]:void 0}async showCodeActionList(e,t,n){const i=this._editor.createDecorationsCollection(),o=this._editor.getDomNode();if(!o)return;const s=n.includeDisabledActions&&(this._showDisabled||0===e.validActions.length)?e.allActions:e.validActions;if(!s.length)return;const r=cd.isIPosition(t)?this.toCoords(t):t,l={onSelect:async(e,t)=>{this._applyCodeAction(e,!0,!!t,bN.FromCodeActions),this._actionWidgetService.hide(),i.clear()},onHide:()=>{var e;null===(e=this._editor)||void 0===e||e.focus(),i.clear()},onHover:async(e,t)=>{var n;if(t.isCancellationRequested)return;let i=!1;const o=e.action.kind;if(o){const e=new dx(o);i=[iN.RefactorExtract,iN.RefactorInline,iN.RefactorRewrite].some((t=>t.contains(e)))}return{canPreview:i||!!(null===(n=e.action.edit)||void 0===n?void 0:n.edits.length)}},onFocus:e=>{var t,n;if(e&&e.action){const o=e.action.ranges,s=e.action.diagnostics;if(i.clear(),o&&o.length>0){const e=s&&(null==s?void 0:s.length)>1?s.map((e=>({range:e,options:tT.DECORATION}))):o.map((e=>({range:e,options:tT.DECORATION})));i.set(e)}else if(s&&s.length>0){const e=s.map((e=>({range:e,options:tT.DECORATION})));i.set(e);const o=s[0];o.startLineNumber&&o.startColumn&&Yr(_(0,"Context: {0} at line {1} and column {2}.",null===(n=null===(t=this._editor.getModel())||void 0===t?void 0:t.getWordAtPosition({lineNumber:o.startLineNumber,column:o.startColumn}))||void 0===n?void 0:n.word,o.startLineNumber,o.startColumn))}}else i.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(e,t,n){if(!t)return e.map((e=>{var t;return{kind:"action",item:e,group:EN,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!(null===(t=e.action.edit)||void 0===t?void 0:t.edits.length)}}));const i=IN.map((e=>({group:e,actions:[]})));for(const t of e){const e=t.action.kind?new dx(t.action.kind):dx.None;for(const n of i)if(n.group.kind.contains(e)){n.actions.push(t);break}}const o=[];for(const e of i)if(e.actions.length){o.push({kind:"header",group:e.group});for(const t of e.actions){const i=e.group;o.push({kind:"action",item:t,group:t.action.isAI?{title:i.title,kind:i.kind,icon:Sa.sparkle}:i,label:t.action.title,disabled:!!t.action.disabled,keybinding:n(t.action)})}}return o}(s,this._shouldShowHeaders(),this._resolver.getResolver()),l,r,o,this._getActionBarActions(e,t,n))}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),n=Es(this._editor.getDomNode());return{x:n.left+t.left,y:n.top+t.top+t.height}}_shouldShowHeaders(){var e;const t=null===(e=this._editor)||void 0===e?void 0:e.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:null==t?void 0:t.uri})}_getActionBarActions(e,t,n){if(n.fromLightbulb)return[];const i=e.documentation.map((e=>{var t;return{id:e.id,label:e.title,tooltip:null!==(t=e.tooltip)&&void 0!==t?t:"",class:void 0,enabled:!0,run:()=>{var t;return this._commandService.executeCommand(e.id,...null!==(t=e.arguments)&&void 0!==t?t:[])}}}));return n.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&i.push(this._showDisabled?{id:"hideMoreActions",label:_(0,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,n))}:{id:"showMoreActions",label:_(0,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,n))}),i}};function oT(e){return Bd.regex(ZM.keys()[0],new RegExp("(\\s|^)"+ri(e.value)+"\\b"))}iT.ID="editor.contrib.codeActionController",iT.DECORATION=My.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"}),iT=tT=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([nT(1,GM),nT(2,su),nT(3,ad),nT(4,wx),nT(5,bL),nT(6,wd),nT(7,pg),nT(8,UM),nT(9,ad)],iT),Fv(((e,t)=>{((e,n)=>{n&&t.addRule(`.monaco-editor .quickfix-edit-highlight { background-color: ${n}; }`)})(0,e.getColor(gf));const n=e.getColor(pf);n&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Iv(e.type)?"dotted":"solid"} ${n}; box-sizing: border-box; }`)}));const sT={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:_(0,"Kind of the code action to run.")},apply:{type:"string",description:_(0,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[_(0,"Always apply the first returned code action."),_(0,"Apply the first returned code action if it is the only one."),_(0,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:_(0,"Controls if only preferred code actions should be returned.")}}};function rT(e,t,n,i,o=oN.Default){if(e.hasModel()){const s=iT.get(e);null==s||s.manualTriggerAtCurrentPosition(t,o,n,i)}}Zu(iT.ID,iT,3),Zu(ON.ID,ON,4),$u(class extends zu{constructor(){super({id:dN,label:_(0,"Quick Fix..."),alias:"Quick Fix...",precondition:Bd.and(oc.writable,oc.hasCodeActionsProvider),kbOpts:{kbExpr:oc.textInputFocus,primary:2137,weight:100}})}run(e,t){return rT(t,_(0,"No code actions available"),void 0,void 0,oN.QuickFix)}}),$u(class extends zu{constructor(){super({id:cN,label:_(0,"Refactor..."),alias:"Refactor...",precondition:Bd.and(oc.writable,oc.hasCodeActionsProvider),kbOpts:{kbExpr:oc.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Bd.and(oc.writable,oT(iN.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:sT}]}})}run(e,t,n){const i=rN.fromUser(n,{kind:iN.Refactor,apply:"never"});return rT(t,"string"==typeof(null==n?void 0:n.kind)?i.preferred?_(0,"No preferred refactorings for '{0}' available",n.kind):_(0,"No refactorings for '{0}' available",n.kind):i.preferred?_(0,"No preferred refactorings available"):_(0,"No refactorings available"),{include:iN.Refactor.contains(i.kind)?i.kind:dx.None,onlyIncludePreferredActions:i.preferred},i.apply,oN.Refactor)}}),$u(class extends zu{constructor(){super({id:hN,label:_(0,"Source Action..."),alias:"Source Action...",precondition:Bd.and(oc.writable,oc.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Bd.and(oc.writable,oT(iN.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:sT}]}})}run(e,t,n){const i=rN.fromUser(n,{kind:iN.Source,apply:"never"});return rT(t,"string"==typeof(null==n?void 0:n.kind)?i.preferred?_(0,"No preferred source actions for '{0}' available",n.kind):_(0,"No source actions for '{0}' available",n.kind):i.preferred?_(0,"No preferred source actions available"):_(0,"No source actions available"),{include:iN.Source.contains(i.kind)?i.kind:dx.None,includeSourceActions:!0,onlyIncludePreferredActions:i.preferred},i.apply,oN.SourceAction)}}),$u(class extends zu{constructor(){super({id:gN,label:_(0,"Organize Imports"),alias:"Organize Imports",precondition:Bd.and(oc.writable,oT(iN.SourceOrganizeImports)),kbOpts:{kbExpr:oc.textInputFocus,primary:1581,weight:100}})}run(e,t){return rT(t,_(0,"No organize imports action available"),{include:iN.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",oN.OrganizeImports)}}),$u(class extends zu{constructor(){super({id:uN,label:_(0,"Auto Fix..."),alias:"Auto Fix...",precondition:Bd.and(oc.writable,oT(iN.QuickFix)),kbOpts:{kbExpr:oc.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return rT(t,_(0,"No auto fixes available"),{include:iN.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",oN.AutoFix)}}),$u(class extends zu{constructor(){super({id:pN,label:_(0,"Fix All"),alias:"Fix All",precondition:Bd.and(oc.writable,oT(iN.SourceFixAll))})}run(e,t){return rT(t,_(0,"No fix all action available"),{include:iN.SourceFixAll,includeSourceActions:!0},"ifSingle",oN.FixAll)}}),qu(new class extends Hu{constructor(){super({id:aN,precondition:Bd.and(oc.writable,oc.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:sT}]}})}runEditorCommand(e,t,n){const i=rN.fromUser(n,{kind:dx.Empty,apply:"ifSingle"});return rT(t,"string"==typeof(null==n?void 0:n.kind)?i.preferred?_(0,"No preferred code actions for '{0}' available",n.kind):_(0,"No code actions for '{0}' available",n.kind):i.preferred?_(0,"No preferred code actions available"):_(0,"No code actions available"),{include:i.kind,includeSourceActions:!0,onlyIncludePreferredActions:i.preferred},i.apply)}}),fu.as(Dg).registerConfiguration({...GD,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:_(0,"Enable/disable showing group headers in the Code Action menu."),default:!0}}}),fu.as(Dg).registerConfiguration({...GD,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:_(0,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});const lT=dd("markerDecorationsService");let aT=class{constructor(e,t){}dispose(){}};aT.ID="editor.contrib.markerDecorations",aT=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,lT)],aT),Zu(aT.ID,aT,0);var dT=n(6049),uT={};uT.styleTagTransform=Vr(),uT.setAttributes=Or(),uT.insert=Rr().bind(null,"head"),uT.domAPI=Tr(),uT.insertStyleElement=Br(),Ir()(dT.A,uT),dT.A&&dT.A.locals&&dT.A.locals;class cT extends lt{constructor(e,t){super(),this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let n=!1,i=!1;const o=()=>{if(n&&!i)try{n=!1,i=!0,t()}finally{Cs(is(this._referenceDomElement),(()=>{i=!1,o()}))}};this._resizeObserver=new ResizeObserver((t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,n=!0,o()})),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,i=0;t?(n=t.width,i=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,i=this._referenceDomElement.clientHeight),n=Math.max(5,n),i=Math.max(5,i),this._width===n&&this._height===i||(this._width=n,this._height=i,e&&this._onDidChange.fire())}}class hT extends lt{constructor(e){super(),this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){var n;null===(n=this._mediaQueryList)||void 0===n||n.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class gT extends lt{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new hT(e));this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)})))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d");return(e.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}const pT=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=ls(e);let n=this.mapWindowIdToPixelRatioMonitor.get(t);return n||(n=tt(new gT(e)),this.mapWindowIdToPixelRatioMonitor.set(t,n),tt(ft.once(hs)((({vscodeWindowId:e})=>{e===t&&(null==n||n.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})))),n}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}};class mT{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class fT{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),e.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");nL(t,this._bareFontInfo),e.appendChild(t);const n=document.createElement("div");nL(n,this._bareFontInfo),n.style.fontWeight="bold",e.appendChild(n);const i=document.createElement("div");nL(i,this._bareFontInfo),i.style.fontStyle="italic",e.appendChild(i);const o=[];for(const e of this._requests){let s;0===e.type&&(s=t),2===e.type&&(s=n),1===e.type&&(s=i),s.appendChild(document.createElement("br"));const r=document.createElement("span");fT._render(r,e),s.appendChild(r),o.push(r)}this._container=e,this._testElements=o}static _render(e,t){if(" "===t.chr){let t=" ";for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;ethis._values[e]))}}const yT=new class extends lt{constructor(){super(...arguments),this._cache=new Map,this._evictUntrustedReadingsTimeout=-1,this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}_ensureCache(e){const t=ls(e);let n=this._cache.get(t);return n||(n=new CT,this._cache.set(t,n)),n}_writeToCache(e,t,n){this._ensureCache(e).put(t,n),n.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=e.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)}),5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),n=t.getValues();let i=!1;for(const e of n)e.isTrusted||(i=!0,t.remove(e));i&&this._onDidChange.fire()}readFontInfo(e,t){const n=this._ensureCache(e);if(!n.has(t)){let n=this._actualReadFontInfo(e,t);(n.typicalHalfwidthCharacterWidth<=2||n.typicalFullwidthCharacterWidth<=2||n.spaceWidth<=2||n.maxDigitWidth<=2)&&(n=new wT({pixelRatio:pT.getInstance(e).value,fontFamily:n.fontFamily,fontWeight:n.fontWeight,fontSize:n.fontSize,fontFeatureSettings:n.fontFeatureSettings,fontVariationSettings:n.fontVariationSettings,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,isMonospace:n.isMonospace,typicalHalfwidthCharacterWidth:Math.max(n.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(n.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:n.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(n.spaceWidth,5),middotWidth:Math.max(n.middotWidth,5),wsmiddotWidth:Math.max(n.wsmiddotWidth,5),maxDigitWidth:Math.max(n.maxDigitWidth,5)},!1)),this._writeToCache(e,t,n)}return n.get(t)}_createRequest(e,t,n,i){const o=new mT(e,t);return n.push(o),null==i||i.push(o),o}_actualReadFontInfo(e,t){const n=[],i=[],o=this._createRequest("n",0,n,i),s=this._createRequest("m",0,n,null),r=this._createRequest(" ",0,n,i),l=this._createRequest("0",0,n,i),a=this._createRequest("1",0,n,i),d=this._createRequest("2",0,n,i),u=this._createRequest("3",0,n,i),c=this._createRequest("4",0,n,i),h=this._createRequest("5",0,n,i),g=this._createRequest("6",0,n,i),p=this._createRequest("7",0,n,i),m=this._createRequest("8",0,n,i),f=this._createRequest("9",0,n,i),_=this._createRequest("→",0,n,i),v=this._createRequest("→",0,n,null),b=this._createRequest("·",0,n,i),w=this._createRequest(String.fromCharCode(11825),0,n,null),C="|/-_ilm%";for(let e=0,t=8;e.001){S=!1;break}}let k=!0;return S&&v.width!==x&&(k=!1),v.width>_.width&&(k=!1),new wT({pixelRatio:pT.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:S,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:s.width,canUseHalfwidthRightwardsArrow:k,spaceWidth:r.width,middotWidth:b.width,wsmiddotWidth:w.width,maxDigitWidth:y},!0)}};class ST{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=ST._read(e,this.key);this.migrate(t,(t=>ST._read(e,t)),((t,n)=>ST._write(e,t,n)))}static _read(e,t){if(void 0===e)return;const n=t.indexOf(".");if(n>=0){const i=t.substring(0,n);return this._read(e[i],t.substring(n+1))}return e[t]}static _write(e,t,n){const i=t.indexOf(".");if(i>=0){const o=t.substring(0,i);return e[o]=e[o]||{},void this._write(e[o],t.substring(i+1),n)}e[t]=n}}function xT(e,t){ST.items.push(new ST(e,t))}function kT(e,t){xT(e,((n,i,o)=>{if(void 0!==n)for(const[i,s]of t)if(n===i)return void o(e,s)}))}ST.items=[],kT("wordWrap",[[!0,"on"],[!1,"off"]]),kT("lineNumbers",[[!0,"on"],[!1,"off"]]),kT("cursorBlinking",[["visible","solid"]]),kT("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),kT("renderLineHighlight",[[!0,"line"],[!1,"none"]]),kT("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),kT("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),kT("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),kT("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),kT("autoIndent",[[!1,"advanced"],[!0,"full"]]),kT("matchBrackets",[[!0,"always"],[!1,"never"]]),kT("renderFinalNewline",[[!0,"on"],[!1,"off"]]),kT("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),kT("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),kT("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),xT("autoClosingBrackets",((e,t,n)=>{!1===e&&(n("autoClosingBrackets","never"),void 0===t("autoClosingQuotes")&&n("autoClosingQuotes","never"),void 0===t("autoSurround")&&n("autoSurround","never"))})),xT("renderIndentGuides",((e,t,n)=>{void 0!==e&&(n("renderIndentGuides",void 0),void 0===t("guides.indentation")&&n("guides.indentation",!!e))})),xT("highlightActiveIndentGuide",((e,t,n)=>{void 0!==e&&(n("highlightActiveIndentGuide",void 0),void 0===t("guides.highlightActiveIndentation")&&n("guides.highlightActiveIndentation",!!e))}));const LT={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};xT("suggest.filteredTypes",((e,t,n)=>{if(e&&"object"==typeof e){for(const i of Object.entries(LT))!1===e[i[0]]&&void 0===t(`suggest.${i[1]}`)&&n(`suggest.${i[1]}`,!1);n("suggest.filteredTypes",void 0)}})),xT("quickSuggestions",((e,t,n)=>{if("boolean"==typeof e){const t=e?"on":"off";n("quickSuggestions",{comments:t,strings:t,other:t})}})),xT("experimental.stickyScroll.enabled",((e,t,n)=>{"boolean"==typeof e&&(n("experimental.stickyScroll.enabled",void 0),void 0===t("stickyScroll.enabled")&&n("stickyScroll.enabled",e))})),xT("experimental.stickyScroll.maxLineCount",((e,t,n)=>{"number"==typeof e&&(n("experimental.stickyScroll.maxLineCount",void 0),void 0===t("stickyScroll.maxLineCount")&&n("stickyScroll.maxLineCount",e))})),xT("codeActionsOnSave",((e,t,n)=>{if(e&&"object"==typeof e){let t=!1;const i={};for(const n of Object.entries(e))"boolean"==typeof n[1]?(t=!0,i[n[0]]=n[1]?"explicit":"never"):i[n[0]]=n[1];t&&n("codeActionsOnSave",i)}})),xT("codeActionWidget.includeNearbyQuickfixes",((e,t,n)=>{"boolean"==typeof e&&(n("codeActionWidget.includeNearbyQuickfixes",void 0),void 0===t("codeActionWidget.includeNearbyQuickFixes")&&n("codeActionWidget.includeNearbyQuickFixes",e))})),xT("lightbulb.enabled",((e,t,n)=>{"boolean"==typeof e&&n("lightbulb.enabled",e?void 0:"off")}));const DT=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new Ct,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}};let NT=class extends lt{constructor(e,t,n,i){super(),this._accessibilityService=i,this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new Ct),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new cD,this.isSimpleWidget=e,this._containerObserver=this._register(new cT(n,t.dimension)),this._targetWindowId=is(n).vscodeWindowId,this._rawOptions=AT(t),this._validatedOptions=TT.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(_T.onDidChangeZoomLevel((()=>this._recomputeOptions()))),this._register(DT.onDidChangeTabFocus((()=>this._recomputeOptions()))),this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions()))),this._register(yT.onDidChange((()=>this._recomputeOptions()))),this._register(pT.getInstance(is(n)).onDidChange((()=>this._recomputeOptions()))),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const e=this._computeOptions(),t=TT.checkEquals(this.options,e);null!==t&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=bT.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),n=this._readFontInfo(t),i={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:n,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:DT.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return TT.computeOptions(this._validatedOptions,i)}_readEnvConfiguration(){return{extraEditorClassName:ET(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:d||a,pixelRatio:pT.getInstance(as(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return yT.readFontInfo(as(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=AT(e);TT.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=TT.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=function(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};function ET(){let e="";return c||h||(e+="no-user-select "),c&&(e+="no-minimap-shadow ",e+="enable-user-select "),U&&(e+="mac "),e}NT=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,qS)],NT);class IT{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class MT{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class TT{static validateOptions(e){const t=new IT;for(const n of jD){const i="_never_"===n.name?void 0:e[n.name];t._write(n.id,n.validate(i))}return t}static computeOptions(e,t){const n=new MT;for(const i of jD)n._write(i.id,i.compute(t,n,e._read(i.id)));return n}static _deepEquals(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return!(!Array.isArray(e)||!Array.isArray(t))&&Ic(e,t);if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!TT._deepEquals(e[n],t[n]))return!1;return!0}static checkEquals(e,t){const n=[];let i=!1;for(const o of jD){const s=!TT._deepEquals(e._read(o.id),t._read(o.id));n[o.id]=s,s&&(i=!0)}return i?new uD(n):null}static applyUpdate(e,t){let n=!1;for(const i of jD)if(t.hasOwnProperty(i.name)){const o=i.applyUpdate(e[i.name],t[i.name]);e[i.name]=o.newValue,n=n||o.didChange}return n}}function AT(e){const t=hc(e);return function(e){ST.items.forEach((t=>t.apply(e)))}(t),t}class RT{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new PT(this.x-e.scrollX,this.y-e.scrollY)}}class PT{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new RT(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class OT{constructor(e,t,n,i){this.x=e,this.y=t,this.width=n,this.height=i,this._editorPagePositionBrand=void 0}}class FT{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function BT(e){const t=Es(e);return new OT(t.left,t.top,t.width,t.height)}function WT(e,t,n){const i=t.width/e.offsetWidth,o=t.height/e.offsetHeight,s=(n.x-t.x)/i,r=(n.y-t.y)/o;return new FT(s,r)}class VT extends $e{constructor(e,t,n){super(is(n),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new RT(this.posx,this.posy),this.editorPos=BT(n),this.relativePos=WT(n,this.editorPos,this.pos)}}class HT{constructor(e){this._editorViewDomNode=e}_create(e){return new VT(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return ms(e,"contextmenu",(e=>{t(this._create(e))}))}onMouseUp(e,t){return ms(e,"mouseup",(e=>{t(this._create(e))}))}onMouseDown(e,t){return ms(e,or.MOUSE_DOWN,(e=>{t(this._create(e))}))}onPointerDown(e,t){return ms(e,or.POINTER_DOWN,(e=>{t(this._create(e),e.pointerId)}))}onMouseLeave(e,t){return ms(e,or.MOUSE_LEAVE,(e=>{t(this._create(e))}))}onMouseMove(e,t){return ms(e,"mousemove",(e=>t(this._create(e))))}}class zT{constructor(e){this._editorViewDomNode=e}_create(e){return new VT(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return ms(e,"pointerup",(e=>{t(this._create(e))}))}onPointerDown(e,t){return ms(e,or.POINTER_DOWN,(e=>{t(this._create(e),e.pointerId)}))}onPointerLeave(e,t){return ms(e,or.POINTER_LEAVE,(e=>{t(this._create(e))}))}onPointerMove(e,t){return ms(e,"pointermove",(e=>t(this._create(e))))}}class UT extends lt{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new KN),this._keydownListener=null}startMonitoring(e,t,n,i,o){this._keydownListener=_s(e.ownerDocument,"keydown",(e=>{e.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,e.browserEvent)}),!0),this._globalPointerMoveMonitor.startMonitoring(e,t,n,(e=>{i(new VT(e,!0,this._editorViewDomNode))}),(e=>{this._keydownListener.dispose(),o(e)}))}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class KT{constructor(e){this._editor=e,this._instanceId=++KT._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new jt((()=>this.garbageCollect()),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let n=this._rules.get(t);if(!n){const i=this._counter++;n=new jT(t,`dyn-rule-${this._instanceId}-${i}`,Bs(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,n)}return n}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}KT._idPool=0;class jT{constructor(e,t,n,i){this.key=e,this.className=t,this.properties=i,this._referenceCount=0,this._styleElementDisposables=new rt,this._styleElement=$s(n,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let n=`.${e} {`;for(const e in t){const i=t[e];let o;o="object"==typeof i?ym(i.id):i,n+=`\n\t${qT(e)}: ${o};`}return n+="\n}",n}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function qT(e){return e.replace(/(^[A-Z])/,(([e])=>e.toLowerCase())).replace(/([A-Z])/g,(([e])=>`-${e.toLowerCase()}`))}class $T extends lt{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let n=0,i=e.length;n=s.left?i.width=Math.max(i.width,s.left+s.width-i.left):(t[n++]=i,i=s)}return t[n++]=i,t}static _createHorizontalRangesFromClientRects(e,t,n){if(!e||0===e.length)return null;const i=[];for(let o=0,s=e.length;or)return null;if((t=Math.min(r,Math.max(0,t)))===(i=Math.min(r,Math.max(0,i)))&&n===o&&0===n&&!e.children[t].firstChild){const n=e.children[t].getClientRects();return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(n,s.clientRectDeltaLeft,s.clientRectScale)}t!==i&&i>0&&0===o&&(i--,o=1073741824);let l=e.children[t].firstChild,a=e.children[i].firstChild;if(l&&a||(!l&&0===n&&t>0&&(l=e.children[t-1].firstChild,n=1073741824),!a&&0===o&&i>0&&(a=e.children[i-1].firstChild,o=1073741824)),!l||!a)return null;n=Math.min(l.textContent.length,Math.max(0,n)),o=Math.min(a.textContent.length,Math.max(0,o));const d=this._readClientRects(l,n,a,o,s.endNode);return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(d,s.clientRectDeltaLeft,s.clientRectScale)}}class oA{constructor(e,t,n,i){this.startColumn=e,this.endColumn=t,this.className=n,this.type=i,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const n=e.length;if(n!==t.length)return!1;for(let i=0;i=o||(r[l++]=new oA(Math.max(1,t.startColumn-i+1),Math.min(s+1,t.endColumn-i+1),t.className,t.type));return r}static filter(e,t,n,i){if(0===e.length)return[];const o=[];let s=0;for(let r=0,l=e.length;rt)continue;if(a.isEmpty()&&(0===l.type||3===l.type))continue;const d=a.startLineNumber===t?a.startColumn:n,u=a.endLineNumber===t?a.endColumn:i;o[s++]=new oA(d,u,l.inlineClassName,l.type)}return o}static _typeCompare(e,t){const n=[2,0,1,3];return n[e]-n[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const n=oA._typeCompare(e.type,t.type);return 0!==n?n:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(i,0,e),this.classNames.splice(i,0,t),this.metadata.splice(i,0,n);break}this.count++}}class lA{static normalize(e,t){if(0===t.length)return[];const n=[],i=new rA;let o=0;for(let s=0,r=t.length;s1&&Li(e.charCodeAt(l-2))&&l--,a>1&&Li(e.charCodeAt(a-2))&&a--;const c=l-1,h=a-2;o=i.consumeLowerThan(c,o,n),0===i.count&&(o=c),i.insert(h,d,u)}return i.consumeLowerThan(1073741824,o,n),n}}class aA{constructor(e,t,n,i){this.endIndex=e,this.type=t,this.metadata=n,this.containsRTL=i,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class dA{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class uA{constructor(e,t,n,i,o,s,r,l,a,d,u,c,h,g,p,m,f,_,v){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=i,this.isBasicASCII=o,this.containsRTL=s,this.fauxIndentLength=r,this.lineTokens=l,this.lineDecorations=a.sort(oA.compare),this.tabSize=d,this.startVisibleColumn=u,this.spaceWidth=c,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===m?4:"boundary"===m?1:"selection"===m?2:"trailing"===m?3:0,this.renderControlCharacters=f,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort(((e,t)=>e.startOffset>>16}static getCharIndex(e){return(65535&e)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,n,i){const o=(t<<16|n)>>>0;this._data[e-1]=o,this._horizontalOffset[e-1]=i}getHorizontalOffset(e){return 0===this._horizontalOffset.length?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),n=hA.getPartIndex(t),i=hA.getCharIndex(t);return new cA(n,i)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,n){if(0===this.length)return 0;const i=(e<<16|n)>>>0;let o=0,s=this.length-1;for(;o+1>>1,t=this._data[e];if(t===i)return e;t>i?s=e:o=e}if(o===s)return o;const r=this._data[o],l=this._data[s];if(r===i)return o;if(l===i)return s;const a=hA.getPartIndex(r),d=hA.getCharIndex(r);let u;return u=a!==hA.getPartIndex(l)?t:hA.getCharIndex(l),n-d<=u-n?o:s}}class gA{constructor(e,t,n){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n}}function pA(e,t){if(0===e.lineContent.length){if(e.lineDecorations.length>0){t.appendString("");let n=0,i=0,o=0;for(const s of e.lineDecorations)1!==s.type&&2!==s.type||(t.appendString(''),1===s.type&&(o|=1,n++),2===s.type&&(o|=2,i++));t.appendString("");const s=new hA(1,n+i);return s.setColumnInfo(1,n,0,0),new gA(s,!1,o)}return t.appendString(""),new gA(new hA(0,0),!1,0)}return function(e,t){const n=e.fontIsMonospace,i=e.canUseHalfwidthRightwardsArrow,o=e.containsForeignElements,s=e.lineContent,r=e.len,l=e.isOverflowing,a=e.overflowingCharCount,d=e.parts,u=e.fauxIndentLength,c=e.tabSize,h=e.startVisibleColumn,g=e.containsRTL,p=e.spaceWidth,m=e.renderSpaceCharCode,f=e.renderWhitespace,v=e.renderControlCharacters,b=new hA(r+1,d.length);let w=!1,C=0,y=h,S=0,x=0,k=0;g?t.appendString(''):t.appendString("");for(let e=0,l=d.length;e=u&&(t+=i)}}for(L&&(t.appendString(' style="width:'),t.appendString(String(p*n)),t.appendString('px"')),t.appendASCIICharCode(62);C1?t.appendCharCode(8594):t.appendCharCode(65515);for(let e=2;e<=o;e++)t.appendCharCode(160)}else n=2,o=1,t.appendCharCode(m),t.appendCharCode(8204);S+=n,x+=o,C>=u&&(y+=o)}}else for(t.appendASCIICharCode(62);C=u&&(y+=o)}D?k++:k=0,C>=r&&!w&&l.isPseudoAfter()&&(w=!0,b.setColumnInfo(C+1,e,S,x)),t.appendString("")}return w||b.setColumnInfo(r+1,d.length-1,S,x),l&&(t.appendString(''),t.appendString(_(0,"Show more ({0})",function(e){return e<1024?_(0,"{0} chars",e):e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}(a))),t.appendString("")),t.appendString(""),new gA(b,g,o)}(function(e){const t=e.lineContent;let n,i,o;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(s[r++]=new aA(i,"",0,!1));let l=i;for(let a=0,d=n.getCount();a=o){const n=!!t&&Pi(e.substring(l,o));s[r++]=new aA(o,u,0,n);break}const c=!!t&&Pi(e.substring(l,d));s[r++]=new aA(d,u,0,c),l=d}return s}(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,o);e.renderControlCharacters&&!e.isBasicASCII&&(s=function(e,t){const n=[];let i=new aA(0,"",0,!1),o=0;for(const s of t){const t=s.endIndex;for(;oi.endIndex&&(i=new aA(o,s.type,s.metadata,s.containsRTL),n.push(i)),i=new aA(o+1,"mtkcontrol",s.metadata,!1),n.push(i));o>i.endIndex&&(i=new aA(t,s.type,s.metadata,s.containsRTL),n.push(i))}return n}(t,s)),(4===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine||3===e.renderWhitespace&&!e.continuesWithWrappedLine)&&(s=function(e,t,n,i){const o=e.continuesWithWrappedLine,s=e.fauxIndentLength,r=e.tabSize,l=e.startVisibleColumn,a=e.useMonospaceOptimizations,d=e.selectionsOnLine,u=1===e.renderWhitespace,c=3===e.renderWhitespace,h=e.renderSpaceWidth!==e.spaceWidth,g=[];let p=0,m=0,f=i[m].type,_=i[m].containsRTL,v=i[m].endIndex;const b=i.length;let w,C=!1,y=hi(t);-1===y?(C=!0,y=n,w=n):w=pi(t);let S=!1,x=0,k=d&&d[x],L=l%r;for(let e=s;e=k.endOffset&&(x++,k=d&&d[x]),ew)l=!0;else if(9===o)l=!0;else if(32===o)if(u)if(S)l=!0;else{const i=e+1e),l&&c&&(l=C||e>w),l&&_&&e>=y&&e<=w&&(l=!1),S){if(!l||!a&&L>=r){if(h)for(let t=(p>0?g[p-1].endIndex:s)+1;t<=e;t++)g[p++]=new aA(t,"mtkw",1,!1);else g[p++]=new aA(e,"mtkw",1,!1);L%=r}}else(e===v||l&&e>s)&&(g[p++]=new aA(e,f,0,_),L%=r);for(9===o?L=r:Vi(o)?L+=2:L++,S=l;e===v&&(m++,m0?t.charCodeAt(n-1):0,i=n>1?t.charCodeAt(n-2):0;32===e&&32!==i&&9!==i||(D=!0)}else D=!0;if(D)if(h)for(let e=(p>0?g[p-1].endIndex:s)+1;e<=n;e++)g[p++]=new aA(e,"mtkw",1,!1);else g[p++]=new aA(n,"mtkw",1,!1);else g[p++]=new aA(n,f,0,_);return g}(e,t,o,s));let r=0;if(e.lineDecorations.length>0){for(let t=0,n=e.lineDecorations.length;td&&(d=e.startOffset,l[a++]=new aA(d,u,c,h)),!(e.endOffset+1<=i)){d=i,l[a++]=new aA(d,u+" "+e.className,c|e.metadata,h);break}d=e.endOffset+1,l[a++]=new aA(d,u+" "+e.className,c|e.metadata,h),r++}i>d&&(d=i,l[a++]=new aA(d,u,c,h))}const u=n[n.length-1].endIndex;if(r=50&&(o[s++]=new aA(d+1,t,n,a),u=d+1,d=-1);u!==l&&(o[s++]=new aA(l,t,n,a))}else o[s++]=r;i=l}else for(let e=0,n=t.length;e50){const e=n.type,t=n.metadata,a=n.containsRTL,d=Math.ceil(l/50);for(let n=1;n=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||1564===e}const bA=!!j||!(K||a||c);let wA=!0;class CA{constructor(e,t){this.themeType=t;const n=e.options,i=n.get(50),o=n.get(38);this.renderWhitespace="off"===o?n.get(99):"none",this.renderControlCharacters=n.get(94),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.useMonospaceOptimizations=i.isMonospace&&!n.get(33),this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=n.get(67),this.stopRenderingLineAfter=n.get(117),this.fontLigatures=n.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class yA{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=tL(e)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return!(!Iv(this._options.themeType)&&"selection"!==this._options.renderWhitespace||(this._isMaybeInvalid=!0,0))}renderLine(e,t,n,i,o){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const s=i.getViewLineRenderingData(e),r=this._options,l=oA.filter(s.inlineDecorations,e,s.minColumn,s.maxColumn);let a=null;if(Iv(r.themeType)||"selection"===this._options.renderWhitespace){const t=i.selections;for(const n of t){if(n.endLineNumbere)continue;const t=n.startLineNumber===e?n.startColumn:s.minColumn,i=n.endLineNumber===e?n.endColumn:s.maxColumn;t');const u=pA(d,o);o.appendString("");let c=null;return wA&&bA&&s.isBasicASCII&&r.useMonospaceOptimizations&&0===u.containsForeignElements&&(c=new SA(this._renderedViewLine?this._renderedViewLine.domNode:null,d,u.characterMapping)),c||(c=LA(this._renderedViewLine?this._renderedViewLine.domNode:null,d,u.characterMapping,u.containsRTL,u.containsForeignElements)),this._renderedViewLine=c,!0}layoutLine(e,t,n){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(n))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof SA}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof SA?this._renderedViewLine.monospaceAssumptionsAreValid():wA}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof SA&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,n,i){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),n=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,n));const o=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==o&&t>o+1&&n>o+1)return new nA(!0,[new eA(this.getWidth(i),0)]);-1!==o&&t>o+1&&(t=o+1),-1!==o&&n>o+1&&(n=o+1);const s=this._renderedViewLine.getVisibleRangesForRange(e,t,n,i);return s&&s.length>0?new nA(!1,s):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}yA.CLASS_NAME="view-line";class SA{constructor(e,t,n){this._cachedWidth=-1,this.domNode=e,this.input=t;const i=Math.floor(t.lineContent.length/300);if(i>0){this._keyColumnPixelOffsetCache=new Float32Array(i);for(let e=0;e=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),wA=!1)}return wA}toSlowRenderedLine(){return LA(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,n,i){const o=this._getColumnPixelOffset(e,t,i),s=this._getColumnPixelOffset(e,n,i);return[new eA(o,s-o)]}_getColumnPixelOffset(e,t,n){if(t<=300){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const i=Math.floor((t-1)/300)-1,o=300*(i+1)+1;let s=-1;if(this._keyColumnPixelOffsetCache&&(s=this._keyColumnPixelOffsetCache[i],-1===s&&(s=this._actualReadPixelOffset(e,o,n),this._keyColumnPixelOffsetCache[i]=s)),-1===s){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const r=this._characterMapping.getHorizontalOffset(o),l=this._characterMapping.getHorizontalOffset(t);return s+this._charWidth*(l-r)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,n){if(!this.domNode)return-1;const i=this._characterMapping.getDomPosition(t),o=iA.readHorizontalRanges(this._getReadingTarget(this.domNode),i.partIndex,i.charIndex,i.partIndex,i.charIndex,n);return o&&0!==o.length?o[0].left:-1}getColumnOfNodeOffset(e,t){return DA(this._characterMapping,e,t)}}class xA{constructor(e,t,n,i,o){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!i||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,null==e||e.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(e,t,n,i){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const o=this._readPixelOffset(this.domNode,e,t,i);if(-1===o)return null;const s=this._readPixelOffset(this.domNode,e,n,i);return-1===s?null:[new eA(o,s-o)]}return this._readVisibleRangesForRange(this.domNode,e,t,n,i)}_readVisibleRangesForRange(e,t,n,i,o){if(n===i){const i=this._readPixelOffset(e,t,n,o);return-1===i?null:[new eA(i,0)]}return this._readRawVisibleRangesForRange(e,n,i,o)}_readPixelOffset(e,t,n,i){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(i);const t=this._getReadingTarget(e);return t.firstChild?(i.markDidDomLayout(),t.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){const o=this._pixelOffsetCache[n];if(-1!==o)return o;const s=this._actualReadPixelOffset(e,t,n,i);return this._pixelOffsetCache[n]=s,s}return this._actualReadPixelOffset(e,t,n,i)}_actualReadPixelOffset(e,t,n,i){if(0===this._characterMapping.length){const t=iA.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,i);return t&&0!==t.length?t[0].left:-1}if(n===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(i);const o=this._characterMapping.getDomPosition(n),s=iA.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,o.partIndex,o.charIndex,i);if(!s||0===s.length)return-1;const r=s[0].left;if(this.input.isBasicASCII){const e=this._characterMapping.getHorizontalOffset(n),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-r)<=1)return t}return r}_readRawVisibleRangesForRange(e,t,n,i){if(1===t&&n===this._characterMapping.length)return[new eA(0,this.getWidth(i))];const o=this._characterMapping.getDomPosition(t),s=this._characterMapping.getDomPosition(n);return iA.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,s.partIndex,s.charIndex,i)}getColumnOfNodeOffset(e,t){return DA(this._characterMapping,e,t)}}class kA extends xA{_readVisibleRangesForRange(e,t,n,i,o){const s=super._readVisibleRangesForRange(e,t,n,i,o);if(!s||0===s.length||n===i||1===n&&i===this._characterMapping.length)return s;if(!this.input.containsRTL){const n=this._readPixelOffset(e,t,i,o);if(-1!==n){const e=s[s.length-1];e.left=4&&3===e[0]&&8===e[3]}static isStrictChildOfViewLines(e){return e.length>4&&3===e[0]&&8===e[3]}static isChildOfScrollableElement(e){return e.length>=2&&3===e[0]&&6===e[1]}static isChildOfMinimap(e){return e.length>=2&&3===e[0]&&9===e[1]}static isChildOfContentWidgets(e){return e.length>=4&&3===e[0]&&1===e[3]}static isChildOfOverflowGuard(e){return e.length>=1&&3===e[0]}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&2===e[0]}static isChildOfOverlayWidgets(e){return e.length>=2&&3===e[0]&&4===e[1]}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&5===e[0]}}class RA{constructor(e,t,n){this.viewModel=e.viewModel;const i=e.configuration.options;this.layoutInfo=i.get(145),this.viewDomNode=t.viewDomNode,this.lineHeight=i.get(67),this.stickyTabStops=i.get(116),this.typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=n,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return RA.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){const i=n.verticalOffset+n.height/2,o=e.viewModel.getLineCount();let s,r=null,l=null;return n.afterLineNumber!==o&&(l=new cd(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(r=new cd(n.afterLineNumber,e.viewModel.getLineMaxColumn(n.afterLineNumber))),s=null===l?r:null===r?l:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,WA._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class OA extends PA{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=ZT.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,n,i,o){super(e,t,n,i),this.hitTestResult=new ei((()=>WA.doHitTest(this._ctx,this))),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=o;const s=Boolean(this._eventTarget);this._useHitTestTarget=!s}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&null!==this.hitTestResult.value.hitTarget&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columns.contentLeft+s.width)continue;const n=e.getVerticalOffsetForLineNumber(s.position.lineNumber);if(n<=o&&o<=n+s.height)return t.fulfillContentText(s.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){const e=t.isInContentArea?8:5;return t.fulfillViewZone(e,n.position,n)}return null}static _hitTestTextArea(e,t){return AA.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),i=n.range.getStartPosition();let o=Math.abs(t.relativePos.x);const s={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};if(o-=e.layoutInfo.glyphMarginLeft,o<=e.layoutInfo.glyphMarginWidth){const r=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(n.range.getStartPosition()),l=e.viewModel.glyphLanes.getLanesAtLine(r.lineNumber);return s.glyphMarginLane=l[Math.floor(o/e.lineHeight)],t.fulfillMargin(2,i,n.range,s)}return o-=e.layoutInfo.glyphMarginWidth,o<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,i,n.range,s):(o-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,i,n.range,s))}return null}static _hitTestViewLines(e,t){if(!AA.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new cd(1,1),FA);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const n=e.viewModel.getLineCount(),i=e.viewModel.getLineMaxColumn(n);return t.fulfillContentEmpty(new cd(n,i),FA)}if(AA.isStrictChildOfViewLines(t.targetPath)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(0===e.viewModel.getLineLength(n)){const i=e.getLineWidth(n),o=BA(t.mouseContentHorizontalOffset-i);return t.fulfillContentEmpty(new cd(n,1),o)}const i=e.getLineWidth(n);if(t.mouseContentHorizontalOffset>=i){const o=BA(t.mouseContentHorizontalOffset-i),s=new cd(n,e.viewModel.getLineMaxColumn(n));return t.fulfillContentEmpty(s,o)}}const n=t.hitTestResult.value;return 1===n.type?WA.createMouseTargetFromHitTestPosition(e,t,n.spanNode,n.position,n.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(AA.isChildOfMinimap(t.targetPath)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new cd(n,i))}return null}static _hitTestScrollbarSlider(e,t){if(AA.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){const n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new cd(n,i))}}return null}static _hitTestScrollbar(e,t){if(AA.isChildOfScrollableElement(t.targetPath)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new cd(n,i))}return null}getMouseColumn(e){const t=this._context.configuration.options,n=t.get(145),i=this._context.viewLayout.getCurrentScrollLeft()+e.x-n.contentLeft;return WA._getMouseColumn(i,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,n,i,o){const s=i.lineNumber,r=i.column,l=e.getLineWidth(s);if(t.mouseContentHorizontalOffset>l){const e=BA(t.mouseContentHorizontalOffset-l);return t.fulfillContentEmpty(i,e)}const a=e.visibleRangeForPosition(s,r);if(!a)return t.fulfillUnknown(i);const d=a.left;if(Math.abs(t.mouseContentHorizontalOffset-d)<1)return t.fulfillContentText(i,null,{mightBeForeignElement:!!o,injectedText:o});const u=[];if(u.push({offset:a.left,column:r}),r>1){const t=e.visibleRangeForPosition(s,r-1);t&&u.push({offset:t.left,column:r-1})}if(re.offset-t.offset));const c=t.pos.toClientCoordinates(is(e.viewDomNode)),h=n.getBoundingClientRect(),g=h.left<=c.clientX&&c.clientX<=h.right;let p=null;for(let e=1;eo)){const n=Math.floor((i+o)/2);let s=t.pos.y+(n-t.mouseVerticalOffset);s<=t.editorPos.y&&(s=t.editorPos.y+1),s>=t.editorPos.y+t.editorPos.height&&(s=t.editorPos.y+t.editorPos.height-1);const r=new RT(t.pos.x,s),l=this._actualDoHitTestWithCaretRangeFromPoint(e,r.toClientCoordinates(is(e.viewDomNode)));if(1===l.type)return l}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(is(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const n=Ws(e.viewDomNode);let i;if(i=n?void 0===n.caretRangeFromPoint?function(e,t,n){const i=document.createRange();let o=e.elementFromPoint(t,n);if(null!==o){for(;o&&o.firstChild&&o.firstChild.nodeType!==o.firstChild.TEXT_NODE&&o.lastChild&&o.lastChild.firstChild;)o=o.lastChild;const e=o.getBoundingClientRect(),n=is(o),s=`${n.getComputedStyle(o,null).getPropertyValue("font-style")} ${n.getComputedStyle(o,null).getPropertyValue("font-variant")} ${n.getComputedStyle(o,null).getPropertyValue("font-weight")} ${n.getComputedStyle(o,null).getPropertyValue("font-size")}/${n.getComputedStyle(o,null).getPropertyValue("line-height")} ${n.getComputedStyle(o,null).getPropertyValue("font-family")}`,r=o.innerText;let l,a=e.left,d=0;if(t>e.left+e.width)d=r.length;else{const e=VA.getInstance();for(let n=0;nthis._createMouseTarget(e,t)),(e=>this._getMouseColumn(e)))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(145).height;const i=new HT(this.viewHelper.viewDomNode);this._register(i.onContextMenu(this.viewHelper.viewDomNode,(e=>this._onContextMenu(e,!0)))),this._register(i.onMouseMove(this.viewHelper.viewDomNode,(e=>{this._onMouseMove(e),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=ms(this.viewHelper.viewDomNode.ownerDocument,"mousemove",(e=>{this.viewHelper.viewDomNode.contains(e.target)||this._onMouseLeave(new VT(e,!1,this.viewHelper.viewDomNode))})))}))),this._register(i.onMouseUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(i.onMouseLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e))));let o=0;this._register(i.onPointerDown(this.viewHelper.viewDomNode,((e,t)=>{o=t}))),this._register(ms(this.viewHelper.viewDomNode,or.POINTER_UP,(e=>{this._mouseDownOperation.onPointerUp()}))),this._register(i.onMouseDown(this.viewHelper.viewDomNode,(e=>this._onMouseDown(e,o)))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=lE.INSTANCE;let t=0,n=_T.getZoomLevel(),i=!1,o=0;function s(e){return U?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}this._register(ms(this.viewHelper.viewDomNode,or.MOUSE_WHEEL,(r=>{if(this.viewController.emitMouseWheel(r),!this._context.configuration.options.get(76))return;const l=new Ge(r);if(e.acceptStandardWheelEvent(l),e.isPhysicalMouseWheel()){if(s(r)){const e=_T.getZoomLevel(),t=l.deltaY>0?1:-1;_T.setZoomLevel(e+t),l.preventDefault(),l.stopPropagation()}}else Date.now()-t>50&&(n=_T.getZoomLevel(),i=s(r),o=0),t=Date.now(),o+=l.deltaY,i&&(_T.setZoomLevel(n+o/5),l.preventDefault(),l.stopPropagation())}),{capture:!0,passive:!1}))}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(145)){const e=this._context.configuration.options.get(145).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const n=new PT(e,t).toPageCoordinates(is(this.viewHelper.viewDomNode)),i=BT(this.viewHelper.viewDomNode);if(n.yi.y+i.height||n.xi.x+i.width)return null;const o=WT(this.viewHelper.viewDomNode,i,n);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),i,n,o,null)}_createMouseTarget(e,t){let n=e.target;if(!this.viewHelper.viewDomNode.contains(n)){const t=Ws(this.viewHelper.viewDomNode);t&&(n=t.elementsFromPoint(e.posx,e.posy).find((e=>this.viewHelper.viewDomNode.contains(e))))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?n:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),this._mouseDownOperation.isActive()||e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(d&&(i||s&&r))u(),this._mouseDownOperation.start(n.type,e,t);else if(o)e.preventDefault();else if(l){const i=n.detail;d&&this.viewHelper.shouldSuppressMouseDownOnViewZone(i.viewZoneId)&&(u(),this._mouseDownOperation.start(n.type,e,t),e.preventDefault())}else a&&this.viewHelper.shouldSuppressMouseDownOnWidget(n.detail)&&(u(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:n})}}class zA extends lt{constructor(e,t,n,i,o,s){super(),this._context=e,this._viewController=t,this._viewHelper=n,this._mouseTargetFactory=i,this._createMouseTarget=o,this._getMouseColumn=s,this._mouseMoveMonitor=this._register(new UT(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new UA(this._context,this._viewHelper,this._mouseTargetFactory,((e,t,n)=>this._dispatchMouse(e,t,n)))),this._mouseState=new jA,this._currentSelection=new ic(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):13!==t.type||"above"!==t.outsidePosition&&"below"!==t.outsidePosition?(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)):this._topBottomDragScrolling.start(t,e))}start(e,t,n){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(3===e),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const i=this._findMousePosition(t,!0);if(!i||!i.position)return;this._mouseState.trySetCount(t.detail,i.position),t.detail=this._mouseState.count;const o=this._context.configuration.options;if(!o.get(91)&&o.get(35)&&!o.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===i.type&&i.position&&this._currentSelection.containsPosition(i.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,(e=>this._onMouseDownThenMove(e)),(e=>{const t=this._findMousePosition(this._lastMouseEvent,!1);ir(e)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(i,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,(e=>this._onMouseDownThenMove(e)),(()=>this._stop())))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,n=this._context.viewModel,i=this._context.viewLayout,o=this._getMouseColumn(e);if(e.posyt.y+t.height){const s=e.posy-t.y-t.height,r=i.getCurrentScrollTop()+e.relativePos.y,l=RA.getZoneAtCoord(this._context,r);if(l){const e=this._helpPositionJumpOverViewZone(l);if(e)return TA.createOutsideEditor(o,e,"below",s)}const a=i.getLineNumberAtVerticalOffset(r);return TA.createOutsideEditor(o,new cd(a,n.getLineMaxColumn(a)),"below",s)}const s=i.getLineNumberAtVerticalOffset(i.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const i=e.posx-t.x-t.width;return TA.createOutsideEditor(o,new cd(s,n.getLineMaxColumn(s)),"right",i)}return null}_findMousePosition(e,t){const n=this._getPositionOutsideEditor(e);if(n)return n;const i=this._createMouseTarget(e,t);if(!i.position)return null;if(8===i.type||5===i.type){const e=this._helpPositionJumpOverViewZone(i.detail);if(e)return TA.createViewZone(i.type,i.element,i.mouseColumn,e,i.detail)}return i}_helpPositionJumpOverViewZone(e){const t=new cd(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,i=e.positionAfter;return n&&i?n.isBefore(t)?n:i:null}_dispatchMouse(e,t,n){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:n,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:6===e.type&&null!==e.detail.injectedText})}}class UA extends lt{constructor(e,t,n,i){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=n,this._dispatchMouse=i,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new KA(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class KA extends lt{constructor(e,t,n,i,o,s){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=n,this._dispatchMouse=i,this._position=o,this._mouseEvent=s,this._lastTime=Date.now(),this._animationFrameDisposable=Cs(is(s.browserEvent),(()=>this._execute()))}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(145).height/e,n=this._position.outsideDistance/e;return n<=1.5?Math.max(30,t*(1+n)):n<=3?Math.max(60,t*(2+n)):Math.max(200,t*(7+n))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed()*(this._tick()/1e3)*e,n="above"===this._position.outsidePosition?-t:t;this._context.viewModel.viewLayout.deltaScrollNow(0,n),this._viewHelper.renderNow();const i=this._context.viewLayout.getLinesViewportData(),o="above"===this._position.outsidePosition?i.startLineNumber:i.endLineNumber;let s;{const e=BT(this._viewHelper.viewDomNode),t=this._context.configuration.options.get(145).horizontalScrollbarHeight,n=new RT(this._mouseEvent.pos.x,e.y+e.height-t-.1),i=WT(this._viewHelper.viewDomNode,e,n);s=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),e,n,i,null)}s.position&&s.position.lineNumber===o||(s="above"===this._position.outsidePosition?TA.createOutsideEditor(this._position.mouseColumn,new cd(o,1),"above",this._position.outsideDistance):TA.createOutsideEditor(this._position.mouseColumn,new cd(o,this._context.viewModel.getLineMaxColumn(o)),"below",this._position.outsideDistance)),this._dispatchMouse(s,!0,2),this._animationFrameDisposable=Cs(is(s.element),(()=>this._execute()))}}class jA{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const n=(new Date).getTime();n-this._lastSetMouseDownCountTime>jA.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=n,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}jA.CLEAR_MOUSE_DOWN_COUNT_TIME=400;class qA extends HA{constructor(e,t,n){super(e,t,n),this._register(LL.addTarget(this.viewHelper.linesContentDomNode)),this._register(ms(this.viewHelper.linesContentDomNode,kL.Tap,(e=>this.onTap(e)))),this._register(ms(this.viewHelper.linesContentDomNode,kL.Change,(e=>this.onChange(e)))),this._register(ms(this.viewHelper.linesContentDomNode,kL.Contextmenu,(e=>this._onContextMenu(new VT(e,!1,this.viewHelper.viewDomNode),!1)))),this._lastPointerType="mouse",this._register(ms(this.viewHelper.linesContentDomNode,"pointerdown",(e=>{const t=e.pointerType;this._lastPointerType="mouse"!==t?"touch"===t?"touch":"pen":"mouse"})));const i=new zT(this.viewHelper.viewDomNode);this._register(i.onPointerMove(this.viewHelper.viewDomNode,(e=>this._onMouseMove(e)))),this._register(i.onPointerUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(i.onPointerLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e)))),this._register(i.onPointerDown(this.viewHelper.viewDomNode,((e,t)=>this._onMouseDown(e,t))))}onTap(e){e.initialTarget&&this.viewHelper.linesContentDomNode.contains(e.initialTarget)&&(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),"pen"===this._lastPointerType&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const n=this._createMouseTarget(new VT(e,!1,this.viewHelper.viewDomNode),!1);n.position&&this.viewController.dispatchMouse({position:n.position,mouseColumn:n.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===n.type&&null!==n.detail.injectedText})}_onMouseDown(e,t){"touch"!==e.browserEvent.pointerType&&super._onMouseDown(e,t)}}class $A extends HA{constructor(e,t,n){super(e,t,n),this._register(LL.addTarget(this.viewHelper.linesContentDomNode)),this._register(ms(this.viewHelper.linesContentDomNode,kL.Tap,(e=>this.onTap(e)))),this._register(ms(this.viewHelper.linesContentDomNode,kL.Change,(e=>this.onChange(e)))),this._register(ms(this.viewHelper.linesContentDomNode,kL.Contextmenu,(e=>this._onContextMenu(new VT(e,!1,this.viewHelper.viewDomNode),!1))))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new VT(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const e=document.createEvent("CustomEvent");e.initEvent(GS.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(e),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class GA extends lt{constructor(e,t,n){super(),(G||ae&&Z)&&de?this.handler=this._register(new qA(e,t,n)):o.TouchEvent?this.handler=this._register(new $A(e,t,n)):this.handler=this._register(new HA(e,t,n))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}var ZA=n(6307),YA={};YA.styleTagTransform=Vr(),YA.setAttributes=Or(),YA.insert=Rr().bind(null,"head"),YA.domAPI=Tr(),YA.insertStyleElement=Br(),Ir()(ZA.A,YA),ZA.A&&ZA.A.locals&&ZA.A.locals;var XA=n(6953),QA={};QA.styleTagTransform=Vr(),QA.setAttributes=Or(),QA.insert=Rr().bind(null,"head"),QA.domAPI=Tr(),QA.insertStyleElement=Br(),Ir()(XA.A,QA),XA.A&&XA.A.locals&&XA.A.locals;class JA extends $T{}class eR extends JA{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new cd(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(95);const n=e.get(145);this._lineNumbersLeft=n.lineNumbersLeft,this._lineNumbersWidth=n.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let n=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,n=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(n=!0),n}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cd(e,1));if(1!==t.column)return"";const n=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(2===this._renderLineNumbers){const e=Math.abs(this._lastCursorModelPosition.lineNumber-n);return 0===e?''+n+"":String(e)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===n||n%10==0||n===this._context.viewModel.getLineCount()?String(n):"":String(n)}prepareRender(e){if(0===this._renderLineNumbers)return void(this._renderResult=null);const t=K?this._lineHeight%2==0?" lh-even":" lh-odd":"",n=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,o=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter((e=>!!e.options.lineNumberClassName));o.sort(((e,t)=>nc.compareRangesUsingEnds(e.range,t.range)));let s=0;const r=this._context.viewModel.getLineCount(),l=[];for(let e=n;e<=i;e++){const i=e-n;let a=this._getLineRenderLineNumber(e),d="";for(;s${a}`):l[i]=""}this._renderResult=l}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}eR.CLASS_NAME="line-numbers",Fv(((e,t)=>{const n=e.getColor(Gv),i=e.getColor(ub);i?t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i}; }`):n&&t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${n.transparent(.4)}; }`)}));var tR=n(8731),nR={};nR.styleTagTransform=Vr(),nR.setAttributes=Or(),nR.insert=Rr().bind(null,"head"),nR.domAPI=Tr(),nR.insertStyleElement=Br(),Ir()(tR.A,nR),tR.A&&tR.A.locals&&tR.A.locals;class iR extends GT{constructor(e){super(e);const t=this._context.configuration.options,n=t.get(145);this._canUseLayerHinting=!t.get(32),this._contentLeft=n.contentLeft,this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,this._domNode=tL(document.createElement("div")),this._domNode.setClassName(iR.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=tL(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(iR.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(145);return this._canUseLayerHinting=!t.get(32),this._contentLeft=n.contentLeft,this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const n=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(n),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(n)}}iR.CLASS_NAME="glyph-margin",iR.OUTER_CLASS_NAME="margin";var oR=n(266),sR={};sR.styleTagTransform=Vr(),sR.setAttributes=Or(),sR.insert=Rr().bind(null,"head"),sR.domAPI=Tr(),sR.insertStyleElement=Br(),Ir()(oR.A,sR),oR.A&&oR.A.locals&&oR.A.locals;const rR="monaco-mouse-cursor-text",lR=new class{constructor(){this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}};var aR=function(e,t){return function(n,i){t(n,i,e)}};class dR{constructor(e,t,n,i,o){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=n,this.widthOfHiddenLineTextBefore=i,this.distanceToModelLineEnd=o,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new cd(this.modelLineNumber,this.distanceToModelLineStart+1),n=new cd(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(this._previousPresentation=e||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const uR=a;let cR=class extends GT{constructor(e,t,n,i,o){super(e),this._keybindingService=i,this._instantiationService=o,this._primaryCursorPosition=new cd(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=n,this._scrollLeft=0,this._scrollTop=0;const s=this._context.configuration.options,r=s.get(145);this._setAccessibilityOptions(s),this._contentLeft=r.contentLeft,this._contentWidth=r.contentWidth,this._contentHeight=r.height,this._fontInfo=s.get(50),this._lineHeight=s.get(67),this._emptySelectionClipboard=s.get(37),this._copyWithSyntaxHighlighting=s.get(25),this._visibleTextArea=null,this._selections=[new ic(1,1,1,1)],this._modelSelections=[new ic(1,1,1,1)],this._lastRenderPosition=null,this.textArea=tL(document.createElement("textarea")),ZT.write(this.textArea,7),this.textArea.setClassName(`inputarea ${rR}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:l}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=l*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(s)),this.textArea.setAttribute("aria-required",s.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(s.get(124))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",_(0,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",s.get(91)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=tL(document.createElement("div")),this.textAreaCover.setPosition("absolute");const d={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:e=>this._context.viewModel.getLineMaxColumn(e),getValueInRange:(e,t)=>this._context.viewModel.getValueInRange(e,t),getValueLengthInRange:(e,t)=>this._context.viewModel.getValueLengthInRange(e,t),modifyPosition:(e,t)=>this._context.viewModel.modifyPosition(e,t)},h={getDataToCopy:()=>{const e=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,z),t=this._context.viewModel.model.getEOL(),n=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),i=Array.isArray(e)?e:null,o=Array.isArray(e)?e.join(t):e;let s,r=null;if(YS.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&o.length<65536){const e=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);e&&(s=e.html,r=e.mode)}return{isFromEmptySelection:n,multicursorText:i,text:o,html:s,mode:r}},getScreenReaderContent:()=>{if(1===this._accessibilitySupport){const e=this._selections[0];if(U&&e.isEmpty()){const t=e.getStartPosition();let n=this._getWordBeforePosition(t);if(0===n.length&&(n=this._getCharacterBeforePosition(t)),n.length>0)return new KS(n,n.length,n.length,nc.fromPositions(t),0)}const t=500;if(U&&!e.isEmpty()&&d.getValueLengthInRange(e,0)0)return new KS(n,i,i,nc.fromPositions(t),0)}return KS.EMPTY}return jS.fromEditorSelection(d,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(e,t,n)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(e,t,n)},p=this._register(new tx(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(JS,h,p,ee,{isAndroid:g,isChrome:u,isFirefox:a,isSafari:c})),this._register(this._textAreaInput.onKeyDown((e=>{this._viewController.emitKeyDown(e)}))),this._register(this._textAreaInput.onKeyUp((e=>{this._viewController.emitKeyUp(e)}))),this._register(this._textAreaInput.onPaste((e=>{let t=!1,n=null,i=null;e.metadata&&(t=this._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection,n=void 0!==e.metadata.multicursorText?e.metadata.multicursorText:null,i=e.metadata.mode),this._viewController.paste(e.text,t,n,i)}))),this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()}))),this._register(this._textAreaInput.onType((e=>{e.replacePrevCharCnt||e.replaceNextCharCnt||e.positionDelta?this._viewController.compositionType(e.text,e.replacePrevCharCnt,e.replaceNextCharCnt,e.positionDelta):this._viewController.type(e.text)}))),this._register(this._textAreaInput.onSelectionChangeRequest((e=>{this._viewController.setSelection(e)}))),this._register(this._textAreaInput.onCompositionStart((e=>{const t=this.textArea.domNode,n=this._modelSelections[0],{distanceToModelLineStart:i,widthOfHiddenTextBefore:o}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),i=e.lastIndexOf("\n"),o=e.substring(i+1),s=o.lastIndexOf("\t"),r=o.length-s-1,l=n.getStartPosition(),a=Math.min(l.column-1,r),d=l.column-1-a,u=o.substring(0,o.length-a),{tabSize:c}=this._context.viewModel.model.getOptions(),h=function(e,t,n,i){if(0===t.length)return 0;const o=e.createElement("div");o.style.position="absolute",o.style.top="-50000px",o.style.width="50000px";const s=e.createElement("span");nL(s,n),s.style.whiteSpace="pre",s.style.tabSize=i*n.spaceWidth+"px",s.append(t),o.appendChild(s),e.body.appendChild(o);const r=s.offsetWidth;return e.body.removeChild(o),r}(this.textArea.domNode.ownerDocument,u,this._fontInfo,c);return{distanceToModelLineStart:d,widthOfHiddenTextBefore:h}})(),{distanceToModelLineEnd:s}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),i=e.indexOf("\n"),o=-1===i?e:e.substring(0,i),s=o.indexOf("\t"),r=-1===s?o.length:o.length-s-1,l=n.getEndPosition(),a=Math.min(this._context.viewModel.model.getLineMaxColumn(l.lineNumber)-l.column,r);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(l.lineNumber)-l.column-a}})();this._context.viewModel.revealRange("keyboard",!0,nc.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new dR(this._context,n.startLineNumber,i,o,s),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${rR} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()}))),this._register(this._textAreaInput.onCompositionUpdate((e=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())}))),this._register(this._textAreaInput.onCompositionEnd((()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${rR}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}))),this._register(this._textAreaInput.onFocus((()=>{this._context.viewModel.setHasFocus(!0)}))),this._register(this._textAreaInput.onBlur((()=>{this._context.viewModel.setHasFocus(!1)}))),this._register(lR.onDidChange((()=>{this._ensureReadOnlyAttribute()})))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),n=Gw('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',[]);let i=!0,o=e.column,s=!0,r=e.column,l=0;for(;l<50&&(i||s);){if(i&&o<=1&&(i=!1),i){const e=t.charCodeAt(o-2);0!==n.get(e)?i=!1:o--}if(s&&r>t.length&&(s=!1),s){const e=t.charCodeAt(r-1);0!==n.get(e)?s=!1:r++}l++}return[t.substring(o-1,r-1),e.column-o]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),n=Gw(this._context.configuration.options.get(131),[]);let i=e.column,o=0;for(;i>1;){const s=t.charCodeAt(i-2);if(0!==n.get(s)||o>50)return t.substring(i-1,e.column-1);o++,i--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const t=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!Li(t.charCodeAt(0)))return t}return""}_getAriaLabel(e){var t,n,i;if(1===e.get(2)){const e=null===(t=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))||void 0===t?void 0:t.getAriaLabel(),o=null===(n=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))||void 0===n?void 0:n.getAriaLabel(),s=null===(i=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))||void 0===i?void 0:i.getAriaLabel(),r=_(0,"The editor is not accessible at this time.");return e?_(0,"{0} To enable screen reader optimized mode, use {1}",r,e):o?_(0,"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",r,o):s?_(0,"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",r,s):r}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);2===this._accessibilitySupport&&t===$D.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const n=e.get(145).wrappingColumn;if(-1!==n&&1!==this._accessibilitySupport){const t=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(n*t.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=uR?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(145);this._setAccessibilityOptions(t),this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,this._contentHeight=n.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:i}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=i*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(124))),(e.hasChanged(34)||e.hasChanged(91))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!lR.enabled||e.get(34)&&e.get(91)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){var t;this._primaryCursorPosition=new cd(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),null===(t=this._visibleTextArea)||void 0===t||t.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var e;if(this._visibleTextArea){const e=this._visibleTextArea.visibleTextareaStart,t=this._visibleTextArea.visibleTextareaEnd,n=this._visibleTextArea.startPosition,i=this._visibleTextArea.endPosition;if(n&&i&&e&&t&&t.left>=this._scrollLeft&&e.left<=this._scrollLeft+this._contentWidth){const o=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,s=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let r=this._visibleTextArea.widthOfHiddenLineTextBefore,l=this._contentLeft+e.left-this._scrollLeft,a=t.left-e.left+1;if(lthis._contentWidth&&(a=this._contentWidth);const d=this._context.viewModel.getViewLineData(n.lineNumber),u=d.tokens.findTokenIndexAtOffset(n.column-1),c=u===d.tokens.findTokenIndexAtOffset(i.column-1),h=this._visibleTextArea.definePresentation(c?d.tokens.getPresentation(u):null);this.textArea.domNode.scrollTop=s*this._lineHeight,this.textArea.domNode.scrollLeft=r,this._doRender({lastRenderPosition:null,top:o,left:l,width:a,height:this._lineHeight,useCover:!1,color:(IC.getColorMap()||[])[h.foreground],italic:h.italic,bold:h.bold,underline:h.underline,strikethrough:h.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const t=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(tthis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const n=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(n<0||n>this._contentHeight)this._renderAtTopLeft();else if(U||2===this._accessibilitySupport){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:n,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const i=null!==(e=this._textAreaInput.textAreaState.newlineCountBeforeSelection)&&void 0!==e?e:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=i*this._lineHeight}else this._doRender({lastRenderPosition:this._primaryCursorPosition,top:n,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:uR?0:1,useCover:!1})}_newlinecount(e){let t=0,n=-1;for(;n=e.indexOf("\n",n+1),-1!==n;)t++;return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:uR?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,n=this.textAreaCover;nL(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?lh.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),n.setTop(e.useCover?e.top:0),n.setLeft(e.useCover?e.left:0),n.setWidth(e.useCover?e.width:0),n.setHeight(e.useCover?e.height:0);const i=this._context.configuration.options;i.get(57)?n.setClassName("monaco-editor-background textAreaCover "+iR.OUTER_CLASS_NAME):0!==i.get(68).renderType?n.setClassName("monaco-editor-background textAreaCover "+eR.CLASS_NAME):n.setClassName("monaco-editor-background textAreaCover")}};cR=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([aR(3,zL),aR(4,ad)],cR);class hR{constructor(e,t,n,i){this.configuration=e,this.viewModel=t,this.userInputEvents=n,this.commandDelegate=i}paste(e,t,n,i){this.commandDelegate.paste(e,t,n,i)}type(e){this.commandDelegate.type(e)}compositionType(e,t,n,i){this.commandDelegate.compositionType(e,t,n,i)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){TS.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey||i?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){TS.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){TS.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,n){e=this._validateViewColumn(e),TS.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:n})}_createCursor(e,t){e=this._validateViewColumn(e),TS.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){TS.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){TS.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){TS.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){TS.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){TS.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){TS.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){TS.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){TS.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){TS.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class gR{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new Re("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;const n=this.getStartLineNumber(),i=this.getEndLineNumber();if(ti)return null;let o=0,s=0;for(let r=n;r<=i;r++){const n=r-this._rendLineNumberStart;e<=r&&r<=t&&(0===s?(o=n,s=1):s++)}if(e=i&&t<=o&&(this._lines[t-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(e,t){if(0===this.getCount())return null;const n=t-e+1,i=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=i)return this._rendLineNumberStart+=n,null;if(e>o)return null;if(n+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);const s=[];for(let e=0;en)continue;const r=Math.max(t,s.fromLineNumber),l=Math.min(n,s.toLineNumber);for(let e=r;e<=l;e++){const t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),i=!0}}return i}}class pR{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new gR((()=>this._host.createVisibleLine()))}_createDomNode(){const e=tL(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(145)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,n=t.length;et){const e=t,s=Math.min(n,o.rendLineNumberStart-1);e<=s&&(this._insertLinesBefore(o,e,s,i,t),o.linesLength+=s-e+1)}else if(o.rendLineNumberStart0&&(this._removeLinesBefore(o,e),o.linesLength-=e)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1n){const e=Math.max(0,n-o.rendLineNumberStart+1),t=o.linesLength-1-e+1;t>0&&(this._removeLinesAfter(o,t),o.linesLength-=t)}return this._finishRendering(o,!1,i),o}_renderUntouchedLines(e,t,n,i,o){const s=e.rendLineNumberStart,r=e.lines;for(let e=t;e<=n;e++){const t=s+e;r[e].layoutLine(t,i[t-o],this.viewportData.lineHeight)}}_insertLinesBefore(e,t,n,i,o){const s=[];let r=0;for(let e=t;e<=n;e++)s[r++]=this.host.createVisibleLine();e.lines=s.concat(e.lines)}_removeLinesBefore(e,t){for(let n=0;n=0;t--){const n=e.lines[t];i[t]&&(n.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(e,t,n){const i=document.createElement("div");mR._ttPolicy&&(t=mR._ttPolicy.createHTML(t)),i.innerHTML=t;for(let t=0;te}),mR._sb=new eg(1e5);class fR extends GT{constructor(e){super(e),this._visibleLines=new pR(this),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);nL(this.domNode,t),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ee.shouldRender()));for(let n=0,i=t.length;n'),o.appendString(s),o.appendString(""),!0)}layoutLine(e,t,n){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(n))}}class vR extends fR{constructor(e){super(e);const t=this._context.configuration.options.get(145);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const t=this._context.configuration.options.get(145);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class bR extends fR{constructor(e){super(e);const t=this._context.configuration.options,n=t.get(145);this._contentLeft=n.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),nL(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;nL(this.domNode,t.get(50));const n=t.get(145);return this._contentLeft=n.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class wR{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){var t;null===(t=this.onKeyDown)||void 0===t||t.call(this,e)}emitKeyUp(e){var t;null===(t=this.onKeyUp)||void 0===t||t.call(this,e)}emitContextMenu(e){var t;null===(t=this.onContextMenu)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var t;null===(t=this.onMouseMove)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var t;null===(t=this.onMouseLeave)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var t;null===(t=this.onMouseDown)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var t;null===(t=this.onMouseUp)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var t;null===(t=this.onMouseDrag)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var t;null===(t=this.onMouseDrop)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var e;null===(e=this.onMouseDropCanceled)||void 0===e||e.call(this)}emitMouseWheel(e){var t;null===(t=this.onMouseWheel)||void 0===t||t.call(this,e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return wR.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const n={...e};return n.position&&(n.position=t.convertViewPositionToModelPosition(n.position)),n.range&&(n.range=t.convertViewRangeToModelRange(n.range)),5!==n.type&&8!==n.type||(n.detail=this.convertViewToModelViewZoneData(n.detail,t)),n}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new cd(e.afterLineNumber,1)).lineNumber}}}var CR=n(2035),yR={};yR.styleTagTransform=Vr(),yR.setAttributes=Or(),yR.insert=Rr().bind(null,"head"),yR.domAPI=Tr(),yR.insertStyleElement=Br(),Ir()(CR.A,yR),CR.A&&CR.A.locals&&CR.A.locals;class SR extends GT{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=tL(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const t=this._context.configuration.options.get(145),n=t.contentWidth-t.verticalScrollbarWidth;this.contentWidth!==n&&(this.contentWidth=n,e=!0);const i=t.contentLeft;return this.contentLeft!==i&&(this.contentLeft=i,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){var t;let n=0;const i=e.getDecorationsInViewport();for(const o of i){if(!o.options.blockClassName)continue;let i,s,r=this.blocks[n];r||(r=this.blocks[n]=tL(document.createElement("div")),this.domNode.appendChild(r)),o.options.blockIsAfterEnd?(i=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!1),s=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0)):(i=e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!0),s=o.range.isEmpty()&&!o.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0));const[l,a,d,u]=null!==(t=o.options.blockPadding)&&void 0!==t?t:[0,0,0,0];r.setClassName("blockDecorations-block "+o.options.blockClassName),r.setLeft(this.contentLeft-u),r.setWidth(this.contentWidth+u+a),r.setTop(i-e.scrollTop-l),r.setHeight(s-i+l+d),n++}for(let e=n;e0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,n,i){const o=e.top,s=o,r=e.top+e.height,l=o-n,a=s>=n,d=r,u=i.viewportHeight-r>=n;let c=e.left;return c+t>i.scrollLeft+i.viewportWidth&&(c=i.scrollLeft+i.viewportWidth-t),cr){const e=a-(r-i);a-=e,n-=e}if(a=22,_=h+n<=g.height-22;return this._fixedOverflowWidgets?{fitsAbove:f,aboveTop:Math.max(c,22),fitsBelow:_,belowTop:h,left:m}:{fitsAbove:f,aboveTop:r,fitsBelow:_,belowTop:l,left:p}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new DR(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){var t,n;return{primary:i(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:i((null===(t=this._secondaryAnchor.viewPosition)||void 0===t?void 0:t.lineNumber)===(null===(n=this._primaryAnchor.viewPosition)||void 0===n?void 0:n.lineNumber)?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function i(t,n,i){if(!t)return null;const o=e.visibleRangeForPosition(t);if(!o)return null;const s=1===t.column&&3===n?0:o.left,r=e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop;return new NR(r,s,i)}}_reduceAnchorCoordinates(e,t,n){if(!t)return e;const i=this._context.configuration.options.get(50);let o=t.left;return o=oe.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&ER(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&ER(this._actual.afterRender,this._actual,this._renderData.position)}}class LR{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class DR{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class NR{constructor(e,t,n){this.top=e,this.left=t,this.height=n,this._anchorCoordinateBrand=void 0}}function ER(e,t,...n){try{return e.call(t,...n)}catch(e){return null}}var IR=n(8405),MR={};MR.styleTagTransform=Vr(),MR.setAttributes=Or(),MR.insert=Rr().bind(null,"head"),MR.domAPI=Tr(),MR.insertStyleElement=Br(),Ir()(IR.A,MR),IR.A&&IR.A.locals&&IR.A.locals;class TR extends JA{constructor(e){super(),this._context=e;const t=this._context.configuration.options,n=t.get(145);this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=n.isViewportWrapping,this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new ic(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const e of this._selections)t.add(e.positionLineNumber);const n=Array.from(t);n.sort(((e,t)=>e-t)),Ic(this._cursorLineNumbers,n)||(this._cursorLineNumbers=n,e=!0);const i=this._selections.every((e=>e.isEmpty()));return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(145);return this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=n.isViewportWrapping,this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis())return void(this._renderData=null);const t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,i=[];for(let e=t;e<=n;e++)i[e-t]="";if(this._wordWrap){const o=this._renderOne(e,!1);for(const e of this._cursorLineNumbers){const s=this._context.viewModel.coordinatesConverter,r=s.convertViewPositionToModelPosition(new cd(e,1)).lineNumber,l=s.convertModelPositionToViewPosition(new cd(r,1)).lineNumber,a=s.convertModelPositionToViewPosition(new cd(r,this._context.viewModel.model.getLineMaxColumn(r))).lineNumber,d=Math.max(l,t),u=Math.min(a,n);for(let e=d;e<=u;e++)i[e-t]=o}}const o=this._renderOne(e,!0);for(const e of this._cursorLineNumbers)en||(i[e-t]=o);this._renderData=i}render(e,t){if(!this._renderData)return"";const n=t-e;return n>=this._renderData.length?"":this._renderData[n]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class AR extends TR{_renderOne(e,t){return`
    `}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class RR extends TR{_renderOne(e,t){return`
    `}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}Fv(((e,t)=>{const n=e.getColor(Wv);if(n&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${n}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${n}; border: none; }`)),!n||n.isTransparent()||e.defines(Vv)){const n=e.getColor(Vv);n&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${n}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${n}; }`),Iv(e.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}}));var PR=n(3093),OR={};OR.styleTagTransform=Vr(),OR.setAttributes=Or(),OR.insert=Rr().bind(null,"head"),OR.domAPI=Tr(),OR.insertStyleElement=Br(),Ir()(PR.A,OR),PR.A&&PR.A.locals&&PR.A.locals;class FR extends JA{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let n=[],i=0;for(let e=0,o=t.length;e{if(e.options.zIndext.options.zIndex)return 1;const n=e.options.className,i=t.options.className;return ni?1:nc.compareRangesUsingStarts(e.range,t.range)}));const o=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,r=[];for(let e=o;e<=s;e++)r[e-o]="";this._renderWholeLineDecorations(e,n,r),this._renderNormalDecorations(e,n,r),this._renderResult=r}_renderWholeLineDecorations(e,t,n){const i=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber;for(let e=0,s=t.length;e',l=Math.max(s.range.startLineNumber,i),a=Math.min(s.range.endLineNumber,o);for(let e=l;e<=a;e++)n[e-i]+=r}}_renderNormalDecorations(e,t,n){var i;const o=e.visibleRange.startLineNumber;let s=null,r=!1,l=null,a=!1;for(let d=0,u=t.length;d';r[a]+=d}}}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}class BR extends GT{constructor(e,t,n,i){super(e);const o=this._context.configuration.options,s=o.get(103),r=o.get(75),l=o.get(40),a=o.get(106),d={listenOnDomNode:n.domNode,className:"editor-scrollable "+Rv(e.theme.type),useShadows:!1,lazyRender:!0,vertical:s.vertical,horizontal:s.horizontal,verticalHasArrows:s.verticalHasArrows,horizontalHasArrows:s.horizontalHasArrows,verticalScrollbarSize:s.verticalScrollbarSize,verticalSliderSize:s.verticalSliderSize,horizontalScrollbarSize:s.horizontalScrollbarSize,horizontalSliderSize:s.horizontalSliderSize,handleMouseWheel:s.handleMouseWheel,alwaysConsumeMouseWheel:s.alwaysConsumeMouseWheel,arrowSize:s.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:l,scrollPredominantAxis:a,scrollByPage:s.scrollByPage};this.scrollbar=this._register(new uE(t.domNode,d,this._context.viewLayout.getScrollable())),ZT.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=tL(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const u=(e,t,n)=>{const i={};if(t){const t=e.scrollTop;t&&(i.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(n){const t=e.scrollLeft;t&&(i.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(i,1)};this._register(ms(n.domNode,"scroll",(e=>u(n.domNode,!0,!0)))),this._register(ms(t.domNode,"scroll",(e=>u(t.domNode,!0,!1)))),this._register(ms(i.domNode,"scroll",(e=>u(i.domNode,!0,!1)))),this._register(ms(this.scrollbarDomNode.domNode,"scroll",(e=>u(this.scrollbarDomNode.domNode,!0,!1))))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(145);this.scrollbarDomNode.setLeft(t.contentLeft),"right"===e.get(73).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(103)||e.hasChanged(75)||e.hasChanged(40)){const e=this._context.configuration.options,t=e.get(103),n=e.get(75),i=e.get(40),o=e.get(106),s={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:n,fastScrollSensitivity:i,scrollPredominantAxis:o};this.scrollbar.updateOptions(s)}return e.hasChanged(145)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+Rv(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}var WR=n(8081),VR={};VR.styleTagTransform=Vr(),VR.setAttributes=Or(),VR.insert=Rr().bind(null,"head"),VR.domAPI=Tr(),VR.insertStyleElement=Br(),Ir()(WR.A,VR),WR.A&&WR.A.locals&&WR.A.locals;class HR{constructor(e,t,n,i,o){this.startLineNumber=e,this.endLineNumber=t,this.className=n,this.tooltip=i,this._decorationToRenderBrand=void 0,this.zIndex=null!=o?o:0}}class zR{constructor(e,t,n){this.className=e,this.zIndex=t,this.tooltip=n}}class UR{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class KR extends JA{_render(e,t,n){const i=[];for(let n=e;n<=t;n++)i[n-e]=new UR;if(0===n.length)return i;n.sort(((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.classNamei)continue;const l=Math.max(s,n),a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cd(l,0)),d=this._context.viewModel.glyphLanes.getLanesAtLine(a.lineNumber).indexOf(e.preference.lane);t.push(new $R(l,d,e.preference.zIndex,e))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.laneIndex===t.laneIndex?e.zIndex===t.zIndex?t.type===e.type?0===e.type&&0===t.type?e.className0;){const e=t.peek();if(!e)break;const i=t.takeWhile((t=>t.lineNumber===e.lineNumber&&t.laneIndex===e.laneIndex));if(!i||0===i.length)break;const o=i[0];if(0===o.type){const e=[];for(const t of i){if(t.zIndex!==o.zIndex||t.type!==o.type)break;0!==e.length&&e[e.length-1]===t.className||e.push(t.className)}n.push(o.accept(e.join(" ")))}else o.widget.renderInfo={lineNumber:o.lineNumber,laneIndex:o.laneIndex}}this._decorationGlyphsToRender=n}render(e){if(!this._glyphMargin){for(const e of Object.values(this._widgets))e.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const e=this._managedDomNodes.pop();null==e||e.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const n of Object.values(this._widgets))if(n.renderInfo){const i=e.viewportData.relativeVerticalOffset[n.renderInfo.lineNumber-e.viewportData.startLineNumber],o=this._glyphMarginLeft+n.renderInfo.laneIndex*this._lineHeight;n.domNode.setDisplay("block"),n.domNode.setTop(i),n.domNode.setLeft(o),n.domNode.setWidth(t),n.domNode.setHeight(this._lineHeight)}else n.domNode.setDisplay("none");for(let n=0;nthis._decorationGlyphsToRender.length;){const e=this._managedDomNodes.pop();null==e||e.domNode.remove()}}}class qR{constructor(e,t,n,i){this.lineNumber=e,this.laneIndex=t,this.zIndex=n,this.className=i,this.type=0}accept(e){return new GR(this.lineNumber,this.laneIndex,e)}}class $R{constructor(e,t,n,i){this.lineNumber=e,this.laneIndex=t,this.zIndex=n,this.widget=i,this.type=1}}class GR{constructor(e,t,n){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=n}}var ZR=n(3777),YR={};YR.styleTagTransform=Vr(),YR.setAttributes=Or(),YR.insert=Rr().bind(null,"head"),YR.domAPI=Tr(),YR.insertStyleElement=Br(),Ir()(ZR.A,YR),ZR.A&&ZR.A.locals&&ZR.A.locals;class XR extends JA{constructor(e){super(),this._context=e,this._primaryPosition=null;const t=this._context.configuration.options,n=t.get(146),i=t.get(50);this._spaceWidth=i.spaceWidth,this._maxIndentLeft=-1===n.wrappingColumn?-1:n.wrappingColumn*i.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(146),i=t.get(50);return this._spaceWidth=i.spaceWidth,this._maxIndentLeft=-1===n.wrappingColumn?-1:n.wrappingColumn*i.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){var t;const n=e.selections[0].getPosition();return!(null===(t=this._primaryPosition)||void 0===t?void 0:t.equals(n))&&(this._primaryPosition=n,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){var t,n,i,o;if(!this._bracketPairGuideOptions.indentation&&!1===this._bracketPairGuideOptions.bracketPairs)return void(this._renderResult=null);const s=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,l=e.scrollWidth,a=this._primaryPosition,d=this.getGuidesByLine(s,Math.min(r+1,this._context.viewModel.getLineCount()),a),u=[];for(let a=s;a<=r;a++){const r=a-s,c=d[r];let h="";const g=null!==(n=null===(t=e.visibleRangeForPosition(new cd(a,1)))||void 0===t?void 0:t.left)&&void 0!==n?n:0;for(const t of c){const n=-1===t.column?g+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new cd(a,t.column)).left;if(n>l||this._maxIndentLeft>0&&n>this._maxIndentLeft)break;const s=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=t.horizontalLine?(null!==(o=null===(i=e.visibleRangeForPosition(new cd(a,t.horizontalLine.endColumn)))||void 0===i?void 0:i.left)&&void 0!==o?o:n+this._spaceWidth)-n:this._spaceWidth;h+=`
    `}u[r]=h}this._renderResult=u}getGuidesByLine(e,t,n){const i=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,n,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?Qb.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?Qb.EnabledForActive:Qb.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,o=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let s=0,r=0,l=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&n){const i=this._context.viewModel.getActiveIndentGuide(n.lineNumber,e,t);s=i.startLineNumber,r=i.endLineNumber,l=i.indent}const{indentSize:a}=this._context.viewModel.model.getOptions(),d=[];for(let n=e;n<=t;n++){const t=new Array;d.push(t);const u=i?i[n-e]:[],c=new eh(u),h=o?o[n-e]:0;for(let e=1;e<=h;e++){const i=(e-1)*a+1,o=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===u.length)&&s<=n&&n<=r&&e===l;t.push(...c.takeWhile((e=>e.visibleColumn!0))||[])}return d}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}function QR(e){if(!e||!e.isTransparent())return e}Fv(((e,t)=>{const n=[{bracketColor:bb,guideColor:Lb,guideColorActive:Tb},{bracketColor:wb,guideColor:Db,guideColorActive:Ab},{bracketColor:Cb,guideColor:Nb,guideColorActive:Rb},{bracketColor:yb,guideColor:Eb,guideColorActive:Pb},{bracketColor:Sb,guideColor:Ib,guideColorActive:Ob},{bracketColor:xb,guideColor:Mb,guideColorActive:Fb}],i=new nw,o=[{indentColor:Xv,indentColorActive:ib},{indentColor:Qv,indentColorActive:ob},{indentColor:Jv,indentColorActive:sb},{indentColor:eb,indentColorActive:rb},{indentColor:tb,indentColorActive:lb},{indentColor:nb,indentColorActive:ab}],s=n.map((t=>{var n,i;const o=e.getColor(t.bracketColor),s=e.getColor(t.guideColor),r=e.getColor(t.guideColorActive),l=QR(null!==(n=QR(s))&&void 0!==n?n:null==o?void 0:o.transparent(.3)),a=QR(null!==(i=QR(r))&&void 0!==i?i:o);if(l&&a)return{guideColor:l,guideColorActive:a}})).filter(pa),r=o.map((t=>{const n=e.getColor(t.indentColor),i=e.getColor(t.indentColorActive),o=QR(n),s=QR(i);if(o&&s)return{indentColor:o,indentColorActive:s}})).filter(pa);if(s.length>0){for(let e=0;e<30;e++){const n=s[e%s.length];t.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${n.guideColor}; --guide-color-active: ${n.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${i.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${i.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${i.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let e=0;e<30;e++){const n=r[e%r.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${e} { --indent-color: ${n.indentColor}; --indent-color-active: ${n.indentColorActive}; }`)}t.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),t.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}));var JR=n(5876),eP={};eP.styleTagTransform=Vr(),eP.setAttributes=Or(),eP.insert=Rr().bind(null,"head"),eP.domAPI=Tr(),eP.insertStyleElement=Br(),Ir()(JR.A,eP),JR.A&&JR.A.locals&&JR.A.locals;class tP{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class nP{constructor(){this._currentVisibleRange=new nc(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class iP{constructor(e,t,n,i,o,s,r){this.minimalReveal=e,this.lineNumber=t,this.startColumn=n,this.endColumn=i,this.startScrollTop=o,this.stopScrollTop=s,this.scrollType=r,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class oP{constructor(e,t,n,i,o){this.minimalReveal=e,this.selections=t,this.startScrollTop=n,this.stopScrollTop=i,this.scrollType=o,this.type="selections";let s=t[0].startLineNumber,r=t[0].endLineNumber;for(let e=1,n=t.length;e{this._updateLineWidthsSlow()}),200),this._asyncCheckMonospaceFontAssumptions=new jt((()=>{this._checkMonospaceFontAssumptions()}),2e3),this._lastRenderedData=new nP,this._horizontalRevealRequest=null,this._stickyScrollEnabled=i.get(115).enabled,this._maxNumberStickyLines=i.get(115).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new yA(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(146)&&(this._maxLineWidth=0);const t=this._context.configuration.options,n=t.get(50),i=t.get(146);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._isViewportWrapping=i.isViewportWrapping,this._revealHorizontalRightPadding=t.get(100),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(115).enabled,this._maxNumberStickyLines=t.get(115).maxLineCount,nL(this.domNode,n),this._onOptionsMaybeChanged(),e.hasChanged(145)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new CA(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const e=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let t=e;t<=n;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();let i=!1;for(let e=t;e<=n;e++)i=this._visibleLines.getVisibleLine(e).onSelectionChanged()||i;return i}onDecorationsChanged(e){{const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let n=e;n<=t;n++)this._visibleLines.getVisibleLine(n).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new iP(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new oP(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const i=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(n,i),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopn)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const n=this._getViewLineDomNode(e);if(null===n)return null;const i=this._getLineNumberFor(n);if(-1===i)return null;if(i<1||i>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(i))return new cd(i,1);const o=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(is)return null;let r=this._visibleLines.getVisibleLine(i).getColumnOfNodeOffset(e,t);const l=this._context.viewModel.getLineMinColumn(i);return rn)return-1;const i=new tP(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getWidth(i);return this._updateLineWidthsSlowIfDomDidLayout(i),o}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const n=e.endLineNumber,i=nc.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!i)return null;const o=[];let s=0;const r=new tP(this.domNode.domNode,this._textRangeRestingSpot);let l=0;t&&(l=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cd(i.startLineNumber,1)).lineNumber);const a=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber();for(let e=i.startLineNumber;e<=i.endLineNumber;e++){if(ed)continue;const u=e===i.startLineNumber?i.startColumn:1,c=e!==i.endLineNumber,h=c?this._context.viewModel.getLineMaxColumn(e):i.endColumn,g=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,u,h,r);if(g){if(t&&ethis._visibleLines.getEndLineNumber())return null;const i=new tP(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,n,i);return this._updateLineWidthsSlowIfDomDidLayout(i),o}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new tA(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();let i=1,o=!0;for(let s=t;s<=n;s++){const t=this._visibleLines.getVisibleLine(s);!e||t.getWidthIsFast()?i=Math.max(i,t.getWidth(null)):o=!1}return o&&1===t&&n===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(i),o}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let o=n;o<=i;o++){const n=this._visibleLines.getVisibleLine(o);if(n.needsMonospaceFontCheck()){const i=n.getWidth(null);i>t&&(t=i,e=o)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let e=n;e<=i;e++)this._visibleLines.getVisibleLine(e).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),K&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let n=e;n<=t;n++)if(this._visibleLines.getVisibleLine(n).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let e=o[0].startLineNumber,t=o[0].endLineNumber;for(let n=1,i=o.length;nl){if(!d)return-1;h=u}else if(5===s||6===s)if(6===s&&r<=u&&c<=a)h=r;else{const e=u-Math.max(5*this._lineHeight,.2*l),t=c-l;h=Math.max(t,e)}else if(1===s||2===s)if(2===s&&r<=u&&c<=a)h=r;else{const e=(u+c)/2;h=Math.max(0,e-l/2)}else h=this._computeMinimumScrolling(r,a,u,c,3===s,4===s);return h}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),n=this._context.configuration.options.get(145),i=t.left,o=i+t.width-n.verticalScrollbarWidth;let s=1073741824,r=0;if("range"===e.type){const t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(const e of t.ranges)s=Math.min(s,Math.round(e.left)),r=Math.max(r,Math.round(e.left+e.width))}else for(const t of e.selections){if(t.startLineNumber!==t.endLineNumber)return null;const e=this._visibleRangesForLineRange(t.startLineNumber,t.startColumn,t.endColumn);if(!e)return null;for(const t of e.ranges)s=Math.min(s,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}return e.minimalReveal||(s=Math.max(0,s-sP.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===e.type&&r-s>t.width?null:{scrollLeft:this._computeMinimumScrolling(i,o,s,r),maxHorizontalOffset:r}}_computeMinimumScrolling(e,t,n,i,o,s){o=!!o,s=!!s;const r=(t|=0)-(e|=0);return(i|=0)-(n|=0)t?Math.max(0,i-r):e:n}}sP.HORIZONTAL_EXTRA_PX=30;var rP=n(7375),lP={};lP.styleTagTransform=Vr(),lP.setAttributes=Or(),lP.insert=Rr().bind(null,"head"),lP.domAPI=Tr(),lP.insertStyleElement=Br(),Ir()(rP.A,lP),rP.A&&rP.A.locals&&rP.A.locals;class aP extends KR{constructor(e){super(),this._context=e;const t=this._context.configuration.options.get(145);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options.get(145);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){var t,n;const i=e.getDecorationsInViewport(),o=[];let s=0;for(let e=0,r=i.length;e',s=[];for(let e=t;e<=n;e++){const n=e-t,r=i[n].getDecorations();let l="";for(const e of r){let t='
    ';o[n]=r}this._renderResult=o}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}var hP=n(6493),gP={};gP.styleTagTransform=Vr(),gP.setAttributes=Or(),gP.insert=Rr().bind(null,"head"),gP.domAPI=Tr(),gP.insertStyleElement=Br(),Ir()(hP.A,gP),hP.A&&hP.A.locals&&hP.A.locals;class pP{constructor(e,t,n,i){this._rgba8Brand=void 0,this.r=pP._clamp(e),this.g=pP._clamp(t),this.b=pP._clamp(n),this.a=pP._clamp(i)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:0|e}}pP.Empty=new pP(0,0,0,0);class mP extends lt{static getInstance(){return this._INSTANCE||(this._INSTANCE=tt(new mP)),this._INSTANCE}constructor(){super(),this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(IC.onDidChange((e=>{e.changedColorMap&&this._updateColorMap()})))}_updateColorMap(){const e=IC.getColorMap();if(!e)return this._colors=[pP.Empty],void(this._backgroundIsLight=!0);this._colors=[pP.Empty];for(let t=1;t=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}mP._INSTANCE=null;class fP{constructor(e,t,n,i){this._viewportBrand=void 0,this.top=0|e,this.left=0|t,this.width=0|n,this.height=0|i}}class _P{constructor(e,t){this.tabSize=e,this.data=t}}class vP{constructor(e,t,n,i,o,s,r){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=n,this.maxColumn=i,this.startVisibleColumn=o,this.tokens=s,this.inlineDecorations=r}}class bP{constructor(e,t,n,i,o,s,r,l,a,d){this.minColumn=e,this.maxColumn=t,this.content=n,this.continuesWithWrappedLine=i,this.isBasicASCII=bP.isBasicASCII(n,s),this.containsRTL=bP.containsRTL(n,this.isBasicASCII,o),this.tokens=r,this.inlineDecorations=l,this.tabSize=a,this.startVisibleColumn=d}static isBasicASCII(e,t){return!t||Fi(e)}static containsRTL(e,t,n){return!(t||!n)&&Pi(e)}}class wP{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}}class CP{constructor(e,t,n,i){this.startOffset=e,this.endOffset=t,this.inlineClassName=n,this.inlineClassNameAffectsLetterSpacing=i}toInlineDecoration(e){return new wP(new nc(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class yP{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class SP{constructor(e,t,n){this.color=e,this.zIndex=t,this.data=n}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&Ic(e.data,t.data)}static equalsArr(e,t){return Ic(e,t,SP.equals)}}const xP=(()=>{const e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})();class kP{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=kP.soften(e,.8),this.charDataLight=kP.soften(e,50/60)}static soften(e,t){const n=new Uint8ClampedArray(e.length);for(let i=0,o=e.length;ie.width||n+g>e.height)return void console.warn("bad render request outside image data");const p=d?this.charDataLight:this.charDataNormal,m=((e,t)=>(e-=32)<0||e>96?t<=2?(e+96)%96:95:e)(i,a),f=4*e.width,_=r.r,v=r.g,b=r.b,w=o.r-_,C=o.g-v,y=o.b-b,S=Math.max(s,l),x=e.data;let k=m*c*h,L=n*f+4*t;for(let e=0;ee.width||n+u>e.height)return void console.warn("bad render request outside image data");const c=4*e.width,h=o/255*.5,g=s.r,p=s.g,m=s.b,f=g+(i.r-g)*h,_=p+(i.g-p)*h,v=m+(i.b-m)*h,b=Math.max(o,r),w=e.data;let C=n*c+4*t;for(let e=0;e{const t=new Uint8ClampedArray(e.length/2);for(let n=0;n>1]=LP[e[n]]<<4|15&LP[e[n+1]];return t},NP={1:Ze((()=>DP("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:Ze((()=>DP("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))};class EP{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let n;return n=NP[e]?new kP(NP[e](),e):EP.createFromSampleData(EP.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=n,n}static createSampleData(e){const t=document.createElement("canvas"),n=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",n.fillStyle="#ffffff",n.font=`bold 16px ${e}`,n.textBaseline="middle";let i=0;for(const e of xP)n.fillText(String.fromCharCode(e),i,8),i+=10;return n.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw new Error("Unexpected source in MinimapCharRenderer");const n=EP._downsample(e,t);return new kP(n,t)}static _downsampleChar(e,t,n,i,o){const s=1*o,r=2*o;let l=i,a=0;for(let i=0;i0){const e=255/l;for(let t=0;tEP.create(this.fontScale,l.fontFamily))),this.defaultBackgroundColor=n.getColor(2),this.backgroundColor=MP._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=MP._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const n=e.getColor(i_);return n?new pP(n.rgba.r,n.rgba.g,n.rgba.b,Math.round(255*n.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(o_);return t?pP._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const n=e.getColor(Zm);return n?new pP(n.rgba.r,n.rgba.g,n.rgba.b,Math.round(255*n.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class TP{constructor(e,t,n,i,o,s,r,l,a){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=n,this._computedSliderRatio=i,this.sliderTop=o,this.sliderHeight=s,this.topPaddingLineCount=r,this.startLineNumber=l,this.endLineNumber=a}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),n=Math.min(this.endLineNumber,e.endLineNumber);return t>n?null:[t,n]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,n,i,o,s,r,l,a,d,u){const c=e.pixelRatio,h=e.minimapLineHeight,g=Math.floor(e.canvasInnerHeight/h),p=e.lineHeight;if(e.minimapHeightIsEditorHeight){let t=l*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(t+=Math.max(0,o-e.lineHeight-e.paddingBottom));const n=Math.max(1,Math.floor(o*o/t)),i=Math.max(0,e.minimapHeight-n),s=i/(d-o),u=a*s,c=i>0,h=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),g=Math.floor(e.paddingTop/e.lineHeight);return new TP(a,d,c,s,u,n,g,1,Math.min(r,h))}let m;if(s&&n!==r){const e=n-t+1;m=Math.floor(e*h/c)}else{const e=o/p;m=Math.floor(e*h/c)}const f=Math.floor(e.paddingTop/p);let _,v=Math.floor(e.paddingBottom/p);if(e.scrollBeyondLastLine){const e=o/p;v=Math.max(v,e-1)}_=v>0?(f+r+v-o/p-1)*h/c:Math.max(0,(f+r)*h/c-m),_=Math.min(e.minimapHeight-m,_);const b=_/(d-o),w=a*b;if(g>=f+r+v)return new TP(a,d,_>0,b,w,m,f,1,r);{let n,o;n=t>1?t+f:Math.max(1,a/p);let s=Math.max(1,Math.floor(n-w*c/h));sa&&(s=Math.min(s,u.startLineNumber),o=Math.max(o,u.topPaddingLineCount)),u.scrollTop=e.paddingTop?(t-s+o+_)*h/c:a/e.paddingTop*(o+_)*h/c,new TP(a,d,!0,b,v,m,o,s,l)}}}class AP{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}AP.INVALID=new AP(-1);class RP{constructor(e,t,n){this.renderedLayout=e,this._imageData=t,this._renderedLines=new gR((()=>AP.INVALID)),this._renderedLines._set(e.startLineNumber,n)}linesEquals(e){if(!this.scrollEquals(e))return!1;const t=this._renderedLines._get().lines;for(let e=0,n=t.length;e1){for(let t=0,n=i-1;t0&&this.minimapLines[n-1]>=e;)n--;let i=this.modelLineToMinimapLine(t)-1;for(;i+1t)return null}return[n+1,i+1]}decorationLineRangeToMinimapLineRange(e,t){let n=this.modelLineToMinimapLine(e),i=this.modelLineToMinimapLine(t);return e!==t&&i===n&&(i===this.minimapLines.length?n>1&&n--:i++),[n,i]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let n=this.minimapLines.length,i=0;for(let o=this.minimapLines.length-1;o>=0&&!(this.minimapLines[o]=0&&!(this.minimapLines[n]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:n,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(i)}_recreateLineSampling(){this._minimapSelections=null;const e=Boolean(this._samplingState),[t,n]=OP.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const e of n)switch(e.type){case"deleted":this._actual.onLinesDeleted(e.deleteFromLineNumber,e.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(e.insertFromLineNumber,e.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,n){if(this._samplingState){const i=[];for(let o=0,s=t-e+1;o{var t;return!(null===(t=e.options.minimap)||void 0===t?void 0:t.sectionHeaderStyle)}));if(this._samplingState){const e=[];for(const t of n){if(!t.options.minimap)continue;const n=t.range,i=this._samplingState.modelLineToMinimapLine(n.startLineNumber),o=this._samplingState.modelLineToMinimapLine(n.endLineNumber);e.push(new yP(new nc(i,n.startColumn,o,n.endColumn),t.options))}return e}return n}getSectionHeaderDecorationsInViewport(e,t){const n=this.options.minimapLineHeight,i=this.options.sectionHeaderFontSize/n;return e=Math.floor(Math.max(1,e-i)),this._getMinimapDecorationsInViewport(e,t).filter((e=>{var t;return!!(null===(t=e.options.minimap)||void 0===t?void 0:t.sectionHeaderStyle)}))}_getMinimapDecorationsInViewport(e,t){let n;if(this._samplingState){const i=this._samplingState.minimapLines[e-1],o=this._samplingState.minimapLines[t-1];n=new nc(i,1,o,this._context.viewModel.getLineMaxColumn(o))}else n=new nc(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(n)}getSectionHeaderText(e,t){var n;const i=null===(n=e.options.minimap)||void 0===n?void 0:n.sectionHeaderText;if(!i)return null;const o=this._sectionHeaderCache.get(i);if(o)return o;const s=t(i);return this._sectionHeaderCache.set(i,s),s}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new nc(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class BP extends lt{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(Jf),this._domNode=tL(document.createElement("div")),ZT.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=tL(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=tL(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=tL(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=tL(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=tL(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=_s(this._domNode.domNode,or.POINTER_DOWN,(e=>{if(e.preventDefault(),0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===e.button&&this._lastRenderData){const t=Es(this._slider.domNode),n=t.top+t.height/2;this._startSliderDragging(e,n,this._lastRenderData.renderedLayout)}return}const t=this._model.options.minimapLineHeight,n=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY;let i=Math.floor(n/t)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;i=Math.min(i,this._model.getLineCount()),this._model.revealLineNumber(i)})),this._sliderPointerMoveMonitor=new KN,this._sliderPointerDownListener=_s(this._slider.domNode,or.POINTER_DOWN,(e=>{e.preventDefault(),e.stopPropagation(),0===e.button&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)})),this._gestureDisposable=LL.addTarget(this._domNode.domNode),this._sliderTouchStartListener=ms(this._domNode.domNode,kL.Start,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))}),{passive:!1}),this._sliderTouchMoveListener=ms(this._domNode.domNode,kL.Change,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)}),{passive:!1}),this._sliderTouchEndListener=_s(this._domNode.domNode,kL.End,(e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)}))}_startSliderDragging(e,t,n){if(!(e.target&&e.target instanceof Element))return;const i=e.pageX;this._slider.toggleClassName("active",!0);const o=(e,o)=>{const s=Es(this._domNode.domNode),r=Math.min(Math.abs(o-i),Math.abs(o-s.left),Math.abs(o-s.left-s.width));if(z&&r>140)return void this._model.setScrollTop(n.scrollTop);const l=e-t;this._model.setScrollTop(n.getDesiredScrollTopFromDelta(l))};e.pageY!==t&&o(e.pageY,i),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>o(e.pageY,e.pageX)),(()=>{this._slider.toggleClassName("active",!1)}))}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,n=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(n)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return"always"===this._model.options.showSlider?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new PP(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){var n;return null===(n=this._lastRenderData)||void 0===n||n.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var n;return null===(n=this._lastRenderData)||void 0===n||n.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(Jf),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const t=TP.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(nc.compareRangesUsingStarts);const n=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);n.sort(((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0)));const{canvasInnerWidth:i,canvasInnerHeight:o}=this._model.options,s=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,l=this._model.getOptions().tabSize,a=this._decorationsCanvas.domNode.getContext("2d");a.clearRect(0,0,i,o);const d=new WP(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(a,t,d,e,s),this._renderDecorationsLineHighlights(a,n,d,e,s);const u=new WP(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(a,t,u,e,s,l,r,i),this._renderDecorationsHighlights(a,n,u,e,s,l,r,i),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,n,i,o){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let s=0,r=0;for(const l of t){const t=i.intersectWithViewport(l);if(!t)continue;const[a,d]=t;for(let e=a;e<=d;e++)n.set(e,!0);const u=i.getYForLineNumber(a,o),c=i.getYForLineNumber(d,o);r>=u||(r>s&&e.fillRect(8,s,e.canvas.width,r-s),s=u),r=c}r>s&&e.fillRect(8,s,e.canvas.width,r-s)}_renderDecorationsLineHighlights(e,t,n,i,o){const s=new Map;for(let r=t.length-1;r>=0;r--){const l=t[r],a=l.options.minimap;if(!a||1!==a.position)continue;const d=i.intersectWithViewport(l.range);if(!d)continue;const[u,c]=d,h=a.getColor(this._theme.value);if(!h||h.isTransparent())continue;let g=s.get(h.toString());g||(g=h.transparent(.5).toString(),s.set(h.toString(),g)),e.fillStyle=g;for(let t=u;t<=c;t++){if(n.has(t))continue;n.set(t,!0);const s=i.getYForLineNumber(u,o);e.fillRect(8,s,e.canvas.width,o)}}}_renderSelectionsHighlights(e,t,n,i,o,s,r,l){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const a of t){const t=i.intersectWithViewport(a);if(!t)continue;const[d,u]=t;for(let t=d;t<=u;t++)this.renderDecorationOnLine(e,n,a,this._selectionColor,i,t,o,o,s,r,l)}}_renderDecorationsHighlights(e,t,n,i,o,s,r,l){for(const a of t){const t=a.options.minimap;if(!t)continue;const d=i.intersectWithViewport(a.range);if(!d)continue;const[u,c]=d,h=t.getColor(this._theme.value);if(h&&!h.isTransparent())for(let d=u;d<=c;d++)switch(t.position){case 1:this.renderDecorationOnLine(e,n,a.range,h,i,d,o,o,s,r,l);continue;case 2:{const t=i.getYForLineNumber(d,o),n=2;this.renderDecoration(e,h,n,t,2,o);continue}}}}renderDecorationOnLine(e,t,n,i,o,s,r,l,a,d,u){const c=o.getYForLineNumber(s,l);if(c+r<0||c>this._model.options.canvasInnerHeight)return;const{startLineNumber:h,endLineNumber:g}=n,p=h===s?n.startColumn:1,m=g===s?n.endColumn:this._model.getLineMaxColumn(s),f=this.getXOffsetForPosition(t,s,p,a,d,u),_=this.getXOffsetForPosition(t,s,m,a,d,u);this.renderDecoration(e,i,f,c,_-f,r)}getXOffsetForPosition(e,t,n,i,o,s){if(1===n)return 8;if((n-1)*o>=s)return s;let r=e.get(t);if(!r){const n=this._model.getLineContent(t);r=[8];let l=8;for(let e=1;e=s){r[e]=s;break}r[e]=a,l=a}e.set(t,r)}return n-1e.range.startLineNumber-t.range.startLineNumber));const g=BP._fitSectionHeader.bind(null,c,s-8);for(const r of h){const a=e.getYForLineNumber(r.range.startLineNumber,n)+i,u=a-i,h=u+2,p=this._model.getSectionHeaderText(r,g);BP._renderSectionLabel(c,p,2===(null===(t=r.options.minimap)||void 0===t?void 0:t.sectionHeaderStyle),l,d,s,u,o,a,h)}}static _fitSectionHeader(e,t,n){if(!n)return n;const i=e.measureText(n).width,o=e.measureText("…").width;if(i<=t||i<=o)return n;const s=n.length,r=i/n.length,l=Math.floor((t-o)/r)-1;let a=Math.ceil(l/2);for(;a>0&&/\s/.test(n[a-1]);)--a;return n.substring(0,a)+"…"+n.substring(s-(l-a))}static _renderSectionLabel(e,t,n,i,o,s,r,l,a,d){t&&(e.fillStyle=i,e.fillRect(0,r,s,l),e.fillStyle=o,e.fillText(t,8,a)),n&&(e.beginPath(),e.moveTo(0,d),e.lineTo(s,d),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,n=e.endLineNumber,i=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const t=this._lastRenderData._get();return new RP(e,t.imageData,t.lines)}const o=this._getBuffer();if(!o)return null;const[s,r,l]=BP._renderUntouchedLines(o,e.topPaddingLineCount,t,n,i,this._lastRenderData),a=this._model.getMinimapLinesRenderingData(t,n,l),d=this._model.getOptions().tabSize,u=this._model.options.defaultBackgroundColor,c=this._model.options.backgroundColor,h=this._model.options.foregroundAlpha,g=this._model.tokensColorTracker,p=g.backgroundIsLight(),m=this._model.options.renderMinimap,f=this._model.options.charRenderer(),_=this._model.options.fontScale,v=this._model.options.minimapCharWidth,b=(1===m?2:3)*_,w=i>b?Math.floor((i-b)/2):0,C=c.a/255,y=new pP(Math.round((c.r-u.r)*C+u.r),Math.round((c.g-u.g)*C+u.g),Math.round((c.b-u.b)*C+u.b),255);let S=e.topPaddingLineCount*i;const x=[];for(let e=0,s=n-t+1;e=0&&i_)return;const r=m.charCodeAt(w);if(9===r){const e=c-(w+C)%c;C+=e-1,b+=e*s}else if(32===r)b+=s;else{const c=Vi(r)?2:1;for(let h=0;h_)return}}}}}class WP{constructor(e,t,n){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=n,this._values=[];for(let e=0,t=this._endLineNumber-this._startLineNumber+1;ethis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}var VP=n(213),HP={};HP.styleTagTransform=Vr(),HP.setAttributes=Or(),HP.insert=Rr().bind(null,"head"),HP.domAPI=Tr(),HP.insertStyleElement=Br(),Ir()(VP.A,HP),VP.A&&VP.A.locals&&VP.A.locals;class zP extends GT{constructor(e,t){super(e),this._viewDomNode=t;const n=this._context.configuration.options.get(145);this._widgets={},this._verticalScrollbarWidth=n.verticalScrollbarWidth,this._minimapWidth=n.minimap.minimapWidth,this._horizontalScrollbarHeight=n.horizontalScrollbarHeight,this._editorHeight=n.height,this._editorWidth=n.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=tL(document.createElement("div")),ZT.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=tL(document.createElement("div")),ZT.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options.get(145);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){const t=tL(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const n=this._widgets[e.getId()];return n.preference===t?(this._updateMaxMinWidth(),!1):(n.preference=t,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var e,t;let n=0;const i=Object.keys(this._widgets);for(let o=0,s=i.length;o=3){const t=Math.floor(i/3),n=Math.floor(i/3),o=i-t-n,s=e+t;return[[0,e,s,e,e+t+o,e,s,e],[0,t,o,t+o,n,t+o+n,o+n,t+o+n]]}if(2===n){const t=Math.floor(i/2),n=i-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,n,t+n,t+n,t+n]]}return[[0,e,e,e,e,e,e,e],[0,i,i,i,i,i,i,i]]}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&lh.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class KP extends GT{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=tL(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=IC.onDidChange((e=>{e.changedColorMap&&this._updateSettings(!0)})),this._cursorPositions=[{position:new cd(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new UP(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(t)||(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),0))}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,n=e.selections.length;t1&&(i=0===t?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:i})}return this._cursorPositions.sort(((e,t)=>cd.compare(e.position,t.position))),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return!!e.affectsOverviewRuler&&this._markRenderingIsMaybeNeeded()}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return!!e.scrollHeightChanged&&this._markRenderingIsNeeded()}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(0===this._settings.overviewRulerLanes)return this._domNode.setBackgroundColor(e?lh.Format.CSS.formatHexA(e):""),void this._domNode.setDisplay("none");const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(SP.compareByRenderingProps),1!==this._actualShouldRender||SP.equalsArr(this._renderedDecorations,t)||(this._actualShouldRender=2),1!==this._actualShouldRender||Ic(this._renderedCursorPositions,this._cursorPositions,((e,t)=>e.position.lineNumber===t.position.lineNumber&&e.color===t.color))||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const n=this._settings.canvasWidth,i=this._settings.canvasHeight,o=this._settings.lineHeight,s=this._context.viewLayout,r=i/this._context.viewLayout.getScrollHeight(),l=6*this._settings.pixelRatio|0,a=l/2|0,d=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(d.fillStyle=lh.Format.CSS.formatHexA(e),d.fillRect(0,0,n,i)):(d.clearRect(0,0,n,i),d.fillStyle=lh.Format.CSS.formatHexA(e),d.fillRect(0,0,n,i)):d.clearRect(0,0,n,i);const u=this._settings.x,c=this._settings.w;for(const e of t){const t=e.color,n=e.data;d.fillStyle=t;let h=0,g=0,p=0;for(let e=0,t=n.length/3;ei&&(e=i-a),_=e-a,v=e+a}_>p+1||t!==h?(0!==e&&d.fillRect(u[h],g,c[h],p-g),h=t,g=_,p=v):v>p&&(p=v)}d.fillRect(u[h],g,c[h],p-g)}if(!this._settings.hideCursor){const e=2*this._settings.pixelRatio|0,t=e/2|0,n=this._settings.x[7],o=this._settings.w[7];let l=-100,a=-100,u=null;for(let c=0,h=this._cursorPositions.length;ci&&(p=i-t);const m=p-t,f=m+e;m>a+1||h!==u?(0!==c&&u&&d.fillRect(n,l,o,a-l),l=m,a=f):f>a&&(a=f),u=h,d.fillStyle=h}u&&d.fillRect(n,l,o,a-l)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(d.beginPath(),d.lineWidth=1,d.strokeStyle=this._settings.borderColor,d.moveTo(0,0),d.lineTo(0,i),d.stroke(),d.moveTo(0,0),d.lineTo(n,0),d.stroke())}}class jP{constructor(e,t,n){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|n}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class qP{constructor(e,t,n,i){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=n,this.color=i,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colorn&&(h=n-g);const p=l.color;let m=this._color2Id[p];m||(m=++this._lastAssignedId,this._color2Id[p]=m,this._id2Color[m]=p);const f=new jP(h-g,h+g,m);l.setColorZone(f),s.push(f)}return this._colorZonesInvalid=!1,s.sort(jP.compare),s}}class GP extends $T{constructor(e,t){super(),this._context=e;const n=this._context.configuration.options;this._domNode=tL(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new $P((e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e))),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(n.get(67)),this._zoneManager.setPixelRatio(n.get(143)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(143)&&(this._zoneManager.setPixelRatio(t.get(143)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),n=this._zoneManager.resolveColorZones(),i=this._zoneManager.getId2Color(),o=this._domNode.domNode.getContext("2d");return o.clearRect(0,0,e,t),n.length>0&&this._renderOneLane(o,n,i,e),!0}_renderOneLane(e,t,n,i){let o=0,s=0,r=0;for(const l of t){const t=l.colorId,a=l.from,d=l.to;t!==o?(e.fillRect(0,s,i,r-s),o=t,e.fillStyle=n[o],s=a,r=d):r>=a?r=Math.max(r,d):(e.fillRect(0,s,i,r-s),s=a,r=d)}e.fillRect(0,s,i,r-s)}}var ZP=n(1637),YP={};YP.styleTagTransform=Vr(),YP.setAttributes=Or(),YP.insert=Rr().bind(null,"head"),YP.domAPI=Tr(),YP.insertStyleElement=Br(),Ir()(ZP.A,YP),ZP.A&&ZP.A.locals&&ZP.A.locals;class XP extends GT{constructor(e){super(e),this.domNode=tL(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const e=tL(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(i),this.domNode.appendChild(e),this._renderedRulers.push(e),o--}return}let n=e-t;for(;n>0;){const e=this._renderedRulers.pop();this.domNode.removeChild(e),n--}}render(e){this._ensureRulersCount();for(let t=0,n=this._rulers.length;t0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){const e=this._context.configuration.options.get(145);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){const t=this._context.configuration.options.get(103);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}var tO=n(8829),nO={};nO.styleTagTransform=Vr(),nO.setAttributes=Or(),nO.insert=Rr().bind(null,"head"),nO.domAPI=Tr(),nO.insertStyleElement=Br(),Ir()(tO.A,nO),tO.A&&tO.A.locals&&tO.A.locals;class iO{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class oO{constructor(e,t){this.lineNumber=e,this.ranges=t}}function sO(e){return new iO(e)}function rO(e){return new oO(e.lineNumber,e.ranges.map(sO))}class lO extends JA{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,n=e.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,n){const i=this._typicalHalfwidthCharacterWidth/4;let o=null,s=null;if(n&&n.length>0&&t.length>0){const i=t[0].lineNumber;if(i===e.startLineNumber)for(let e=0;!o&&e=0;e--)n[e].lineNumber===r&&(s=n[e].ranges[0]);o&&!o.startStyle&&(o=null),s&&!s.startStyle&&(s=null)}for(let e=0,n=t.length;e0){const n=t[e-1].ranges[0].left,o=t[e-1].ranges[0].left+t[e-1].ranges[0].width;aO(l-n)n&&(d.top=1),aO(a-o)'}_actualRenderOneSelection(e,t,n,i){if(0===i.length)return;const o=!!i[0].ranges[0].startStyle,s=i[0].lineNumber,r=i[i.length-1].lineNumber;for(let l=0,a=i.length;l1,r)}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t.map((([e,t])=>e+t))}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}function aO(e){return e<0?-e:e}lO.SELECTION_CLASS_NAME="selected-text",lO.SELECTION_TOP_LEFT="top-left-radius",lO.SELECTION_BOTTOM_LEFT="bottom-left-radius",lO.SELECTION_TOP_RIGHT="top-right-radius",lO.SELECTION_BOTTOM_RIGHT="bottom-right-radius",lO.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",lO.ROUNDED_PIECE_WIDTH=10,Fv(((e,t)=>{const n=e.getColor(uf);n&&!n.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${n}; }`)}));var dO,uO=n(2289),cO={};cO.styleTagTransform=Vr(),cO.setAttributes=Or(),cO.insert=Rr().bind(null,"head"),cO.domAPI=Tr(),cO.insertStyleElement=Br(),Ir()(uO.A,cO),uO.A&&uO.A.locals&&uO.A.locals;class hO{constructor(e,t,n,i,o,s,r){this.top=e,this.left=t,this.paddingLeft=n,this.width=i,this.height=o,this.textContent=s,this.textContentClassName=r}}!function(e){e[e.Single=0]="Single",e[e.MultiPrimary=1]="MultiPrimary",e[e.MultiSecondary=2]="MultiSecondary"}(dO||(dO={}));class gO{constructor(e,t){this._context=e;const n=this._context.configuration.options,i=n.get(50);this._cursorStyle=n.get(28),this._lineHeight=n.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(n.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=tL(document.createElement("div")),this._domNode.setClassName(`cursor ${rR}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),nL(this._domNode,i),this._domNode.setDisplay("none"),this._position=new cd(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case dO.Single:this._pluralityClass="";break;case dO.MultiPrimary:this._pluralityClass="cursor-primary";break;case dO.MultiSecondary:this._pluralityClass="cursor-secondary"}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),nL(this._domNode,n),!0}onCursorPositionChanged(e,t){return this._domNode.domNode.style.transitionProperty=t?"none":"",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,n=this._context.viewModel.getLineContent(e),[i,o]=function(e,t){t>0&&Di(e.charCodeAt(t))&&t--;const n=t+Ti(e,t);return[n-Ai(e,n),n]}(n,t-1);return[new cd(e,i+1),n.substring(i,o)]}_prepareRender(e){let t="",n="";const[i,o]=this._getGraphemeAwarePosition();if(this._cursorStyle===DD.Line||this._cursorStyle===DD.LineThin){const s=e.visibleRangeForPosition(i);if(!s||s.outsideRenderedLine)return null;const r=is(this._domNode.domNode);let l;this._cursorStyle===DD.Line?(l=vr(r,this._lineCursorWidth>0?this._lineCursorWidth:2),l>2&&(t=o,n=this._getTokenClassName(i))):l=vr(r,1);let a=s.left,d=0;l>=2&&a>=1&&(d=1,a-=d);const u=e.getVerticalOffsetForLineNumber(i.lineNumber)-e.bigNumbersDelta;return new hO(u,a,d,l,this._lineHeight,t,n)}const s=e.linesVisibleRangesForRange(new nc(i.lineNumber,i.column,i.lineNumber,i.column+o.length),!1);if(!s||0===s.length)return null;const r=s[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;const l=r.ranges[0],a="\t"===o||l.width<1?this._typicalHalfwidthCharacterWidth:l.width;this._cursorStyle===DD.Block&&(t=o,n=this._getTokenClassName(i));let d=e.getVerticalOffsetForLineNumber(i.lineNumber)-e.bigNumbersDelta,u=this._lineHeight;return this._cursorStyle!==DD.Underline&&this._cursorStyle!==DD.UnderlineThin||(d+=this._lineHeight-2,u=2),new hO(d,l.left,0,a,u,t,n)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),n=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(n)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${rR} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class pO extends GT{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new gO(this._context,dO.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=tL(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new Ut,this._cursorFlatBlinkInterval=new ys,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let t=0,n=this._secondaryCursors.length;tt.length){const e=this._secondaryCursors.length-t.length;for(let t=0;t{for(let n=0,i=e.ranges.length;n{this._isVisible?this._hide():this._show()}),pO.BLINK_INTERVAL,is(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=!0,this._updateDomClassName()}),pO.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case DD.Line:e+=" cursor-line-style";break;case DD.Block:e+=" cursor-block-style";break;case DD.Underline:e+=" cursor-underline-style";break;case DD.LineThin:e+=" cursor-line-thin-style";break;case DD.BlockOutline:e+=" cursor-block-outline-style";break;case DD.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return"on"!==this._cursorSmoothCaretAnimation&&"explicit"!==this._cursorSmoothCaretAnimation||(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const n=[{class:".cursor",foreground:Hv,background:zv},{class:".cursor-primary",foreground:Uv,background:Kv},{class:".cursor-secondary",foreground:jv,background:qv}];for(const i of n){const n=e.getColor(i.foreground);if(n){let o=e.getColor(i.background);o||(o=n.opposite()),t.addRule(`.monaco-editor .cursors-layer ${i.class} { background-color: ${n}; border-color: ${n}; color: ${o}; }`),Iv(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${i.class} { border-left: 1px solid ${o}; border-right: 1px solid ${o}; }`)}}}));const mO=()=>{throw new Error("Invalid change accessor")};class fO extends GT{constructor(e){super(e);const t=this._context.configuration.options,n=t.get(145);this._lineHeight=t.get(67),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,this.domNode=tL(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=tL(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const n of e)t.set(n.id,n);let n=!1;return this._context.viewModel.changeWhitespace((e=>{const i=Object.keys(this._zones);for(let o=0,s=i.length;o{const i={addZone:e=>(t=!0,this._addZone(n,e)),removeZone:e=>{e&&(t=this._removeZone(n,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(n,e)||t)}};!function(e,t){try{return e(t)}catch(e){xe(e)}}(e,i),i.addZone=mO,i.removeZone=mO,i.layoutZone=mO})),t}_addZone(e,t){const n=this._computeWhitespaceProps(t),i={whitespaceId:e.insertWhitespace(n.afterViewLineNumber,this._getZoneOrdinal(t),n.heightInPx,n.minWidthInPx),delegate:t,isInHiddenArea:n.isInHiddenArea,isVisible:!1,domNode:tL(t.domNode),marginDomNode:t.marginDomNode?tL(t.marginDomNode):null};return this._safeCallOnComputedHeight(i.delegate,n.heightInPx),i.domNode.setPosition("absolute"),i.domNode.domNode.style.width="100%",i.domNode.setDisplay("none"),i.domNode.setAttribute("monaco-view-zone",i.whitespaceId),this.domNode.appendChild(i.domNode),i.marginDomNode&&(i.marginDomNode.setPosition("absolute"),i.marginDomNode.domNode.style.width="100%",i.marginDomNode.setDisplay("none"),i.marginDomNode.setAttribute("monaco-view-zone",i.whitespaceId),this.marginDomNode.appendChild(i.marginDomNode)),this._zones[i.whitespaceId]=i,this.setShouldRender(),i.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const n=this._zones[t];return delete this._zones[t],e.removeWhitespace(n.whitespaceId),n.domNode.removeAttribute("monaco-visible-view-zone"),n.domNode.removeAttribute("monaco-view-zone"),n.domNode.domNode.parentNode.removeChild(n.domNode.domNode),n.marginDomNode&&(n.marginDomNode.removeAttribute("monaco-visible-view-zone"),n.marginDomNode.removeAttribute("monaco-view-zone"),n.marginDomNode.domNode.parentNode.removeChild(n.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const n=this._zones[t],i=this._computeWhitespaceProps(n.delegate);return n.isInHiddenArea=i.isInHiddenArea,e.changeOneWhitespace(n.whitespaceId,i.afterViewLineNumber,i.heightInPx),this._safeCallOnComputedHeight(n.delegate,i.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){if(this._zones.hasOwnProperty(e)){const t=this._zones[e];return Boolean(t.delegate.suppressMouseDown)}return!1}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){xe(e)}}_safeCallOnDomNodeTop(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){xe(e)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,n={};let i=!1;for(const e of t)this._zones[e.id].isInHiddenArea||(n[e.id]=e,i=!0);const o=Object.keys(this._zones);for(let t=0,i=o.length;tt)continue;const e=n.startLineNumber===t?n.startColumn:i.minColumn,o=n.endLineNumber===t?n.endColumn:i.maxColumn;e=S.endOffset&&(y++,S=n&&n[y]),9!==o&&32!==o)continue;if(c&&!w&&i<=v)continue;if(u&&i>=C&&i<=v&&32===o){const e=i-1>=0?r.charCodeAt(i-1):0,t=i+1=0?r.charCodeAt(i-1):0;if(32===o&&32!==e&&9!==e)continue}if(n&&(!S||S.startOffset>i||S.endOffset<=i))continue;const d=e.visibleRangeForPosition(new cd(t,i+1));d&&(s?(x=Math.max(x,d.left),b+=9===o?this._renderArrow(h,m,d.left):``):b+=9===o?`
    ${_?String.fromCharCode(65515):String.fromCharCode(8594)}
    `:`
    ${String.fromCharCode(f)}
    `)}return s?(x=Math.round(x+m),``+b+""):b}_renderArrow(e,t,n){const i=e/2,o=n,s={x:0,y:t/7/2},r={x:.8*t,y:s.y},l={x:r.x-.2*r.x,y:r.y+.2*r.x},a={x:l.x+.1*r.x,y:l.y+.1*r.x},d={x:a.x+.35*r.x,y:a.y-.35*r.x};return``}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}class wO{constructor(e){const t=e.options,n=t.get(50),i=t.get(38);"off"===i?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===i?(this.renderWhitespace=t.get(99),this.renderWithSVG=!0):(this.renderWhitespace=t.get(99),this.renderWithSVG=!1),this.spaceWidth=n.spaceWidth,this.middotWidth=n.middotWidth,this.wsmiddotWidth=n.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=n.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(117)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class CO{constructor(e,t,n,i){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.lineHeight=0|t.lineHeight,this.whitespaceViewportData=n,this._model=i,this.visibleRange=new nc(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class yO{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class SO{constructor(e,t,n){this.configuration=e,this.theme=new yO(t),this.viewModel=n,this.viewLayout=n.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}let xO=class extends $T{constructor(e,t,n,i,o,s,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new ic(1,1,1,1)],this._renderAnimationFrame=null;const l=new hR(t,i,o,e);this._context=new SO(t,n,i),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(cR,this._context,l,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=tL(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=tL(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=tL(document.createElement("div")),ZT.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new BR(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new sP(this._context,this._linesContent),this._viewZones=new fO(this._context),this._viewParts.push(this._viewZones);const a=new KP(this._context);this._viewParts.push(a);const d=new eO(this._context);this._viewParts.push(d);const u=new vR(this._context);this._viewParts.push(u),u.addDynamicOverlay(new AR(this._context)),u.addDynamicOverlay(new lO(this._context)),u.addDynamicOverlay(new XR(this._context)),u.addDynamicOverlay(new FR(this._context)),u.addDynamicOverlay(new bO(this._context));const c=new bR(this._context);this._viewParts.push(c),c.addDynamicOverlay(new RR(this._context)),c.addDynamicOverlay(new cP(this._context)),c.addDynamicOverlay(new aP(this._context)),c.addDynamicOverlay(new eR(this._context)),this._glyphMarginWidgets=new jR(this._context),this._viewParts.push(this._glyphMarginWidgets);const h=new iR(this._context);h.getDomNode().appendChild(this._viewZones.marginDomNode),h.getDomNode().appendChild(c.getDomNode()),h.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(h),this._contentWidgets=new xR(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new pO(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new zP(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const g=new XP(this._context);this._viewParts.push(g);const p=new SR(this._context);this._viewParts.push(p);const m=new FP(this._context);if(this._viewParts.push(m),a){const e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(a.getDomNode(),e.insertBefore)}this._linesContent.appendChild(u.getDomNode()),this._linesContent.appendChild(g.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(h.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(d.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(m.getDomNode()),this._overflowGuardContainer.appendChild(p.domNode),this.domNode.appendChild(this._overflowGuardContainer),s?(s.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),s.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new GA(this._context,l,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let n=[],i=0;n=n.concat(e.getAllMarginDecorations().map((e=>{var t,n,o;const s=null!==(n=null===(t=e.options.glyphMargin)||void 0===t?void 0:t.position)&&void 0!==n?n:wc.Center;return i=Math.max(i,e.range.endLineNumber),{range:e.range,lane:s,persist:null===(o=e.options.glyphMargin)||void 0===o?void 0:o.persistLane}}))),n=n.concat(this._glyphMarginWidgets.getWidgets().map((t=>{const n=e.validateRange(t.preference.range);return i=Math.max(i,n.endLineNumber),{range:n,lane:t.preference.lane}}))),n.sort(((e,t)=>nc.compareRangesUsingStarts(e.range,t.range))),t.reset(i);for(const e of n)t.push(e.lane,e.range,e.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new MA(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new cd(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const e=this._context.configuration.options.get(145);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(142)+" "+Rv(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new Re;if(null===this._renderAnimationFrame){const e=this._createCoordinatedRendering();this._renderAnimationFrame=LO.INSTANCE.scheduleCoordinatedRendering({window:is(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new Re;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new Re;return e.renderText()},prepareRender:(t,n)=>{if(this._store.isDisposed)throw new Re;return e.prepareRender(t,n)},render:(t,n)=>{if(this._store.isDisposed)throw new Re;return e.render(t,n)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();kO((()=>e.prepareRenderText()));const t=kO((()=>e.renderText()));if(t){const[n,i]=t;kO((()=>e.prepareRender(n,i))),kO((()=>e.render(n,i)))}}_getViewPartsToRender(){const e=[];let t=0;for(const n of this._viewParts)n.shouldRender()&&(e[t++]=n);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}BS.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const n=new CO(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(n),this._viewLines.shouldRender()&&(this._viewLines.renderText(n),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new XT(this._context.viewLayout,n,this._viewLines)]},prepareRender:(e,t)=>{for(const n of e)n.prepareRender(t)},render:(e,t)=>{for(const n of e)n.render(t),n.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const n=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),i=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);this._flushAccumulatedAndRenderNow();const o=this._viewLines.visibleRangeForPosition(new cd(i.lineNumber,i.column));return o?o.left:-1}getTargetAtClientPoint(e,t){const n=this._pointerHandler.getTargetAtClientPoint(e,t);return n?wR.convertViewToModelMouseTarget(n,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new GP(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const e of this._viewParts)e.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){var t,n,i,o,s,r,l,a;this._contentWidgets.setWidgetPosition(e.widget,null!==(n=null===(t=e.position)||void 0===t?void 0:t.position)&&void 0!==n?n:null,null!==(o=null===(i=e.position)||void 0===i?void 0:i.secondaryPosition)&&void 0!==o?o:null,null!==(r=null===(s=e.position)||void 0===s?void 0:s.preference)&&void 0!==r?r:null,null!==(a=null===(l=e.position)||void 0===l?void 0:l.positionAffinity)&&void 0!==a?a:null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){const t=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function kO(e){try{return e()}catch(e){return xe(e),null}}xO=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(6,ad)],xO);class LO{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(-1!==t&&(this._coordinatedRenderings.splice(t,1),0===this._coordinatedRenderings.length)){for(const[e,t]of this._animationFrameRunners)t.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,ws(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const t of e)kO((()=>t.prepareRenderText()));const t=[];for(let n=0,i=e.length;ni.renderText()))}for(let n=0,i=e.length;ni.prepareRender(s,r)))}for(let n=0,i=e.length;ni.render(s,r)))}}}LO.INSTANCE=new LO;class DO{constructor(e,t,n,i,o){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=n,this.breakOffsetsVisibleColumn=i,this.wrappedTextIndentLength=o}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let n=this.breakOffsets[e]-t;return e>0&&(n+=this.wrappedTextIndentLength),n}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let n=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let e=0;ethis.injectionOffsets[e];e++)n0?this.breakOffsets[o-1]:0,0===t)if(e<=s)i=o-1;else{if(!(e>r))break;n=o+1}else if(e=r))break;n=o+1}}let r=e-s;return o>0&&(r+=this.wrappedTextIndentLength),new IO(o,r)}normalizeOutputPosition(e,t,n){if(null!==this.injectionOffsets){const i=this.outputPositionToOffsetInInputWithInjections(e,t),o=this.normalizeOffsetInInputWithInjectionsAroundInjections(i,n);if(o!==i)return this.offsetInInputWithInjectionsToOutputPosition(o,n)}if(0===n){if(e>0&&t===this.getMinOutputOffset(e))return new IO(e-1,this.getMaxOutputOffset(e-1))}else if(1===n&&e0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const n=this.getInjectedTextAtOffset(e);if(!n)return e;if(2===t){if(e===n.offsetInInputWithInjections+n.length&&NO(this.injectionOptions[n.injectedTextIndex].cursorStops))return n.offsetInInputWithInjections+n.length;{let e=n.offsetInInputWithInjections;if(EO(this.injectionOptions[n.injectedTextIndex].cursorStops))return e;let t=n.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[n.injectedTextIndex]&&!NO(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!EO(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===t){let e=n.offsetInInputWithInjections+n.length,t=n.injectedTextIndex;for(;t+1=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}hu()}getInjectedText(e,t){const n=this.outputPositionToOffsetInInputWithInjections(e,t),i=this.getInjectedTextAtOffset(n);return i?{options:this.injectionOptions[i.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,n=this.injectionOptions;if(null!==t){let i=0;for(let o=0;oe)break;if(e<=l)return{injectedTextIndex:o,offsetInInputWithInjections:r,length:s};i+=s}}}}function NO(e){return null==e||e===Cc.Right||e===Cc.Both}function EO(e){return null==e||e===Cc.Left||e===Cc.Both}class IO{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new cd(e+this.outputLineIndex,this.outputOffset+1)}}const MO=Yk("domLineBreaksComputer",{createHTML:e=>e});class TO{static create(e){return new TO(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,n,i,o){const s=[],r=[];return{addRequest:(e,t,n)=>{s.push(e),r.push(t)},finalize:()=>function(e,t,n,i,o,s,r,l){var a;function d(e){const n=l[e];if(n){const i=iy.applyInjectedText(t[e],n),o=n.map((e=>e.options)),s=n.map((e=>e.column-1));return new DO(s,o,[i.length],[],0)}return null}if(-1===o){const e=[];for(let n=0,i=t.length;nu?(r=0,a=0):d=u-e}const c=o.substr(r),h=AO(c,a,i,d,m,g);f[e]=r,_[e]=a,v[e]=c,b[e]=h[0],w[e]=h[1]}const C=m.build(),y=null!==(a=null==MO?void 0:MO.createHTML(C))&&void 0!==a?a:C;p.innerHTML=y,p.style.position="absolute",p.style.top="10000","keepAll"===r?(p.style.wordBreak="keep-all",p.style.overflowWrap="anywhere"):(p.style.wordBreak="inherit",p.style.overflowWrap="break-word"),e.document.body.appendChild(p);const S=document.createRange(),x=Array.prototype.slice.call(p.children,0),k=[];for(let e=0;ee.options)),a=u.map((e=>e.column-1))):(r=null,a=null),k[e]=new DO(a,r,t,s,i)}return e.document.body.removeChild(p),k}(_a(this.targetWindow.deref()),s,e,t,n,i,o,r)}}}function AO(e,t,n,i,o,s){if(0!==s){const e=String(s);o.appendString('
    ');const r=e.length;let l=t,a=0;const d=[],u=[];let c=0");for(let t=0;t"),d[t]=a,u[t]=l;const i=c;c=t+1"),d[e.length]=a,u[e.length]=l,o.appendString("
    "),[d,u]}function RO(e,t,n,i){if(n.length<=1)return null;const o=Array.prototype.slice.call(t.children,0),s=[];try{PO(e,o,i,0,null,n.length-1,null,s)}catch(e){return console.log(e),null}return 0===s.length?null:(s.push(n.length),s)}function PO(e,t,n,i,o,s,r,l){if(i===s)return;if(o=o||OO(e,t,n[i],n[i+1]),r=r||OO(e,t,n[s],n[s+1]),Math.abs(o[0].top-r[0].top)<=.1)return;if(i+1===s)return void l.push(s);const a=i+(s-i)/2|0,d=OO(e,t,n[a],n[a+1]);PO(e,t,n,i,o,a,d,l),PO(e,t,n,a,d,s,r,l)}function OO(e,t,n,i){return e.setStart(t[n/16384|0].firstChild,n%16384),e.setEnd(t[i/16384|0].firstChild,i%16384),e.getClientRects()}class FO extends lt{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new ct),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,n){this._editor=e,this._instantiationService=n;for(const e of t)this._pending.has(e.id)?xe(new Error(`Cannot have two contributions with the same id ${e.id}`)):this._pending.set(e.id,e);this._instantiateSome(0),this._register(vs(is(this._editor.getDomNode()),(()=>{this._instantiateSome(1)}))),this._register(vs(is(this._editor.getDomNode()),(()=>{this._instantiateSome(2)}))),this._register(vs(is(this._editor.getDomNode()),(()=>{this._instantiateSome(3)}),5e3))}saveViewState(){const e={};for(const[t,n]of this._instances)"function"==typeof n.saveViewState&&(e[t]=n.saveViewState());return e}restoreViewState(e){for(const[t,n]of this._instances)"function"==typeof n.restoreViewState&&n.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var e;return vs(is(null===(e=this._editor)||void 0===e?void 0:e.getDomNode()),(()=>{this._instantiateSome(1)}),50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const e of t)this._instantiateById(e.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,n]of this._pending)n.instantiation===e&&t.push(n);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const e=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,e),"function"==typeof e.restoreViewState&&0!==t.instantiation&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(e){xe(e)}}}}class BO{constructor(e,t,n,i,o,s,r){this.id=e,this.label=t,this.alias=n,this.metadata=i,this._precondition=o,this._run=s,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}const WO={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};class VO{static create(e){return new VO(e.get(134),e.get(133))}constructor(e,t){this.classifier=new HO(e,t)}createLineBreaksComputer(e,t,n,i,o){const s=[],r=[],l=[];return{addRequest:(e,t,n)=>{s.push(e),r.push(t),l.push(n)},finalize:()=>{const a=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,d=[];for(let e=0,u=s.length;e=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let zO=[],UO=[];function KO(e,t,n,i,o,s,r,l){if(-1===o)return null;const a=n.length;if(a<=1)return null;const d="keepAll"===l,u=t.breakOffsets,c=t.breakOffsetsVisibleColumn,h=ZO(n,i,o,s,r),g=o-h,p=zO,m=UO;let f=0,_=0,v=0,b=o;const w=u.length;let C=0;if(C>=0){let e=Math.abs(c[C]-b);for(;C+1=e)break;e=t,C++}}for(;Ct&&(t=_,o=v);let r=0,l=0,h=0,y=0;if(o<=b){let v=o,w=0===t?0:n.charCodeAt(t-1),C=0===t?0:e.get(w),S=!0;for(let o=t;o_&&GO(0,C,a,u,d)&&(r=t,l=v),v+=c,v>b){t>_?(h=t,y=v-c):(h=o+1,y=v),v-l>g&&(r=0),S=!1;break}w=a,C=u}if(S){f>0&&(p[f]=u[u.length-1],m[f]=c[u.length-1],f++);break}}if(0===r){let a=o,u=n.charCodeAt(t),c=e.get(u),p=!1;for(let i=t-1;i>=_;i--){const t=i+1,o=n.charCodeAt(i);if(9===o){p=!0;break}let m,f;if(Di(o)?(i--,m=0,f=2):(m=e.get(o),f=Vi(o)?s:1),a<=b){if(0===h&&(h=t,y=a),a<=b-g)break;if(GO(0,m,u,c,d)){r=t,l=a;break}}a-=f,u=o,c=m}if(0!==r){const e=g-(y-l);if(e<=i){const t=n.charCodeAt(h);let o;o=Li(t)?2:qO(t,y,i,s),e-o<0&&(r=0)}}if(p){C--;continue}}if(0===r&&(r=h,l=y),r<=_){const e=n.charCodeAt(_);Li(e)?(r=_+2,l=v+2):(r=_+1,l=v+qO(e,v,i,s))}for(_=r,p[f]=r,v=l,m[f]=l,f++,b=l+g;C<0||C=S)break;S=e,C++}}return 0===f?null:(p.length=f,m.length=f,zO=t.breakOffsets,UO=t.breakOffsetsVisibleColumn,t.breakOffsets=p,t.breakOffsetsVisibleColumn=m,t.wrappedTextIndentLength=h,t)}function jO(e,t,n,i,o,s,r,l){const a=iy.applyInjectedText(t,n);let d,u;if(n&&n.length>0?(d=n.map((e=>e.options)),u=n.map((e=>e.column-1))):(d=null,u=null),-1===o)return d?new DO(u,d,[a.length],[],0):null;const c=a.length;if(c<=1)return d?new DO(u,d,[a.length],[],0):null;const h="keepAll"===l,g=ZO(a,i,o,s,r),p=o-g,m=[],f=[];let _=0,v=0,b=0,w=o,C=a.charCodeAt(0),y=e.get(C),S=qO(C,0,i,s),x=1;Li(C)&&(S+=1,C=a.charCodeAt(1),y=e.get(C),x++);for(let t=x;tw&&((0===v||S-b>p)&&(v=n,b=S-l),m[_]=v,f[_]=b,_++,w=b+p,v=0),C=o,y=r}return 0!==_||n&&0!==n.length?(m[_]=c,f[_]=S,new DO(u,d,m,f,g)):null}function qO(e,t,n,i){return 9===e?n-t%n:Vi(e)||e<32?i:1}function $O(e,t){return t-e%t}function GO(e,t,n,i,o){return 32!==n&&(2===t&&2!==i||1!==t&&1===i||!o&&3===t&&2!==i||!o&&3===i&&1!==t)}function ZO(e,t,n,i,o){let s=0;if(0!==o){const r=hi(e);if(-1!==r){for(let n=0;nn&&(s=0)}}return s}class YO{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Gy(new nc(1,1,1,1),0,0,new cd(1,1),0),new Gy(new nc(1,1,1,1),0,0,new cd(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new jy(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?ic.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):ic.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,n){this._setState(e,t,n)}static _validatePositionWithCache(e,t,n,i){return t.equals(n)?i:e.normalizePosition(t,2)}static _validateViewState(e,t){const n=t.position,i=t.selectionStart.getStartPosition(),o=t.selectionStart.getEndPosition(),s=e.normalizePosition(n,2),r=this._validatePositionWithCache(e,i,n,s),l=this._validatePositionWithCache(e,o,i,r);return n.equals(s)&&i.equals(r)&&o.equals(l)?t:new Gy(nc.fromPositions(r,l),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+i.column-r.column,s,t.leftoverVisibleColumns+n.column-s.column)}_setState(e,t,n){if(n&&(n=YO._validateViewState(e.viewModel,n)),t){const n=e.model.validateRange(t.selectionStart),i=t.selectionStart.equalsRange(n)?t.selectionStartLeftoverVisibleColumns:0,o=e.model.validatePosition(t.position),s=t.position.equals(o)?t.leftoverVisibleColumns:0;t=new Gy(n,t.selectionStartKind,i,o,s)}else{if(!n)return;const i=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(n.selectionStart)),o=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(n.position));t=new Gy(i,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,o,n.leftoverVisibleColumns)}if(n){const i=e.coordinatesConverter.validateViewRange(n.selectionStart,t.selectionStart),o=e.coordinatesConverter.validateViewPosition(n.position,t.position);n=new Gy(i,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,o,t.leftoverVisibleColumns)}else{const i=e.coordinatesConverter.convertModelPositionToViewPosition(new cd(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),o=e.coordinatesConverter.convertModelPositionToViewPosition(new cd(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),s=new nc(i.lineNumber,i.column,o.lineNumber,o.column),r=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);n=new Gy(s,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,r,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=n,this._updateTrackedRange(e)}}class XO{constructor(e){this.context=e,this.cursors=[new YO(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map((e=>e.readSelectionFromMarkers(this.context)))}getAll(){return this.cursors.map((e=>e.asCursorState()))}getViewPositions(){return this.cursors.map((e=>e.viewState.position))}getTopMostViewPosition(){return function(e,t){return vh(e,((e,n)=>-t(e,n)))}(this.cursors,Yc((e=>e.viewState.position),cd.compare)).viewState.position}getBottomMostViewPosition(){return function(e,t){if(0===e.length)return;let n=e[0];for(let i=1;i=0&&(n=o)}return n}(this.cursors,Yc((e=>e.viewState.position),cd.compare)).viewState.position}getSelections(){return this.cursors.map((e=>e.modelState.selection))}getViewSelections(){return this.cursors.map((e=>e.viewState.selection))}setSelections(e){this.setStates(jy.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){null!==e&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,n=e.length;if(tn){const e=t-n;for(let t=0;t=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(1===this.cursors.length)return;const e=this.cursors.slice(0),t=[];for(let n=0,i=e.length;ne.selection),nc.compareRangesUsingStarts));for(let n=0;nl&&e.index--;e.splice(l,1),t.splice(r,1),this._removeSecondaryCursor(l-1),n--}}}}class QO{constructor(e,t,n,i){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=n,this.cursorConfig=i}}class JO{constructor(){this.type=0}}class eF{constructor(){this.type=1}}class tF{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class nF{constructor(e,t,n){this.selections=e,this.modelSelections=t,this.reason=n,this.type=3}}class iF{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class oF{constructor(){this.type=5}}class sF{constructor(e){this.type=6,this.isFocused=e}}class rF{constructor(){this.type=7}}class lF{constructor(){this.type=8}}class aF{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class dF{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class uF{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class cF{constructor(e,t,n,i,o,s,r){this.source=e,this.minimalReveal=t,this.range=n,this.selections=i,this.verticalType=o,this.revealHorizontal=s,this.scrollType=r,this.type=12}}class hF{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class gF{constructor(e){this.theme=e,this.type=14}}class pF{constructor(e){this.type=15,this.ranges=e}}class mF{constructor(){this.type=16}}class fF{constructor(){this.type=17}}class _F extends lt{constructor(){super(),this._onEvent=this._register(new Ct),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,n=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,n=this._eventHandlers.length;t0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const n of t)n.handleEvents(e)}}}class vF{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class bF{constructor(e,t,n,i){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=n,this.contentHeight=i,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new bF(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class wF{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new wF(this.oldHasFocus,e.hasFocus)}}class CF{constructor(e,t,n,i,o,s,r,l){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=n,this._oldScrollTop=i,this.scrollWidth=o,this.scrollLeft=s,this.scrollHeight=r,this.scrollTop=l,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!(this.scrollWidthChanged||this.scrollLeftChanged||this.scrollHeightChanged||this.scrollTopChanged)}attemptToMerge(e){return e.kind!==this.kind?null:new CF(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class yF{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class SF{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class xF{constructor(e,t,n,i,o,s,r){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=n,this.modelVersionId=i,this.source=o,this.reason=s,this.reachedMaxCursorCount=r}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const n=e.length;if(n!==t.length)return!1;for(let i=0;i0){const e=this._cursors.getSelections();for(let t=0;ts&&(i=i.slice(0,s),o=!0);const r=AF.from(this._model,this);return this._cursors.setStates(i),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,n,r,o)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,n,i,o,s){const r=this._cursors.getViewPositions();let l=null,a=null;r.length>1?a=this._cursors.getViewSelections():l=nc.fromPositions(r[0],r[0]),e.emitViewEvent(new cF(t,n,l,a,i,o,s))}revealPrimary(e,t,n,i,o,s){const r=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new cF(t,n,null,r,i,o,s))}saveState(){const e=[],t=this._cursors.getSelections();for(let n=0,i=t.length;n0){const t=jy.fromModelSelections(n.resultingSelection);this.setStates(e,"modelChange",n.isUndoing?5:n.isRedoing?6:2,t)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,jy.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),n=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:n.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,n)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,n,i){this.setStates(e,t,i,jy.fromModelSelections(n))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const n=[],i=[];for(let o=0,s=e.length;o0&&this._pushAutoClosedAction(n,i),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,n,i,o){const s=AF.from(this._model,this);if(s.equals(i))return!1;const r=this._cursors.getSelections(),l=this._cursors.getViewSelections();if(e.emitViewEvent(new nF(l,r,n)),!i||i.cursorState.length!==s.cursorState.length||s.cursorState.some(((e,t)=>!e.modelState.equals(i.cursorState[t].modelState)))){const l=i?i.cursorState.map((e=>e.modelState.selection)):null,a=i?i.modelVersionId:0;e.emitOutgoingEvent(new xF(l,r,a,s.modelVersionId,t||"keyboard",n,o))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let n=0,i=e.length;n=0)return null;const o=i.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!o)return null;const s=o[1],r=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(s);if(!r||1!==r.length)return null;const l=r[0].open,a=i.text.length-o[2].length-1,d=i.text.lastIndexOf(l,a-1);if(-1===d)return null;t.push([d,a])}return t}executeEdits(e,t,n,i){let o=null;"snippet"===t&&(o=this._findAutoClosingPairs(n)),o&&(n[0]._isTracked=!0);const s=[],r=[],l=this._model.pushEditOperations(this.getSelections(),n,(e=>{if(o)for(let t=0,n=o.length;t0&&this._pushAutoClosedAction(s,r)}_executeEdit(e,t,n,i=0){if(this.context.cursorConfig.readOnly)return;const o=AF.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){xe(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,i,o,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return RF.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new FF(this._model,this.getSelections())}endComposition(e,t){const n=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit((()=>{"keyboard"===t&&this._executeEditOperation(yS.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,n,this.getSelections(),this.getAutoClosedCharacters()))}),e,t)}type(e,t,n){this._executeEdit((()=>{if("keyboard"===n){const e=t.length;let n=0;for(;n{this._executeEditOperation(yS.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,i,o))}),e,s);else if(0!==o){const t=this.getSelections().map((e=>{const t=e.getPosition();return new ic(t.lineNumber,t.column+o,t.lineNumber,t.column+o)}));this.setSelections(e,s,t,0)}}paste(e,t,n,i,o){this._executeEdit((()=>{this._executeEditOperation(yS.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,i||[]))}),e,o,4)}cut(e,t){this._executeEdit((()=>{this._executeEditOperation(rS.cut(this.context.cursorConfig,this._model,this.getSelections()))}),e,t)}executeCommand(e,t,n){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Zy(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,n)}executeCommands(e,t,n){this._executeEdit((()=>{this._executeEditOperation(new Zy(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,n)}}class AF{static from(e,t){return new AF(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t=t.length)return!1;if(!t[n].strictContainsRange(e[n]))return!1}return!0}}class PF{static executeCommands(e,t,n){const i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},o=this._innerExecuteCommands(i,n);for(let e=0,t=i.trackedRanges.length;e0&&(s[0]._isTracked=!0);let r=e.model.pushEditOperations(e.selectionsBefore,s,(n=>{const i=[];for(let t=0;te.identifier.minor-t.identifier.minor,s=[];for(let n=0;n0?(i[n].sort(o),s[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>i[n],getTrackedSelection:t=>{const n=parseInt(t,10),i=e.model._getTrackedRange(e.trackedRanges[n]);return 0===e.trackedRangesDirection[n]?new ic(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn):new ic(i.endLineNumber,i.endColumn,i.startLineNumber,i.startColumn)}})):s[n]=e.selectionsBefore[n];return s}));r||(r=e.selectionsBefore);const l=[];for(const e in o)o.hasOwnProperty(e)&&l.push(parseInt(e,10));l.sort(((e,t)=>t-e));for(const e of l)r.splice(e,1);return r}static _arrayIsEmpty(e){for(let t=0,n=e.length;t{nc.isEmpty(e)&&""===s||i.push({identifier:{major:t,minor:o++},range:e,text:s,forceMoveMarkers:r,isAutoWhitespaceEdit:n.insertsAutoWhitespace})};let r=!1;const l={addEditOperation:s,addTrackedEditOperation:(e,t,n)=>{r=!0,s(e,t,n)},trackSelection:(t,n)=>{const i=ic.liftSelection(t);let o;if(i.isEmpty())if("boolean"==typeof n)o=n?2:3;else{const t=e.model.getLineMaxColumn(i.startLineNumber);o=i.startColumn===t?2:3}else o=1;const s=e.trackedRanges.length,r=e.model._setTrackedRange(null,i,o);return e.trackedRanges[s]=r,e.trackedRangesDirection[s]=i.getDirection(),s.toString()}};try{n.getEditOperations(e.model,l)}catch(e){return xe(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:i,hadTrackedEditOperation:r}}static _getLoserCursorMap(e){(e=e.slice(0)).sort(((e,t)=>-nc.compareRangesUsingEnds(e.range,t.range)));const t={};for(let n=1;no.identifier.major?i.identifier.major:o.identifier.major,t[s.toString()]=!0;for(let t=0;t0&&n--}}return t}}class OF{constructor(e,t,n){this.text=e,this.startSelection=t,this.endSelection=n}}class FF{static _capture(e,t){const n=[];for(const i of t){if(i.startLineNumber!==i.endLineNumber)return null;n.push(new OF(e.getLineContent(i.startLineNumber),i.startColumn-1,i.endColumn-1))}return n}constructor(e,t){this._original=FF._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const n=FF._capture(e,t);if(!n)return null;if(this._original.length!==n.length)return null;const i=[];for(let e=0,t=this._original.length;e>>1;t===e[s].afterLineNumber?n{t=!0,e|=0,n|=0,i|=0,o|=0;const s=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new WF(s,e,n,i,o)),s},changeOneWhitespace:(e,n,i)=>{t=!0,n|=0,i|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:i})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(const t of e)this._insertWhitespace(t);for(const e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(const e of n){const t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}const i=new Set;for(const e of n)i.add(e.id);const o=new Map;for(const e of t)o.set(e.id,e);const s=e=>{const t=[];for(const n of e)if(!i.has(n.id)){if(o.has(n.id)){const e=o.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},r=s(this._arr).concat(s(e));r.sort(((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber)),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=VF.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let n=0,i=t.length;nt&&(this._arr[n].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,i=this._arr.length;n=t.length||t[o+1].afterLineNumber>=e)return o;n=o+1|0}else i=o-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;const t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?this._lineHeight*(e-1):0,n+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){return this._checkPendingChanges(),e|=0,this._lineHeight*e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,n=this._arr.length;tthis.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;const t=0|this._lineCount,n=this._lineHeight;let i=1,o=t;for(;i=s+n)i=t+1;else{if(e>=s)return t;o=t}}return i>t?t:i}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const n=this._lineHeight,i=0|this.getLineNumberAtOrAfterVerticalOffset(e),o=0|this.getVerticalOffsetForLineNumber(i);let s=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(i);const l=0|this.getWhitespacesCount();let a,d;-1===r?(r=l,d=s+1,a=0):(d=0|this.getAfterLineNumberForWhitespaceIndex(r),a=0|this.getHeightForWhitespaceIndex(r));let u=o,c=u;const h=5e5;let g=0;o>=h&&(g=Math.floor(o/h)*h,g=Math.floor(g/n)*n,c-=g);const p=[],m=e+(t-e)/2;let f=-1;for(let e=i;e<=s;e++){for(-1===f&&(u<=m&&mm)&&(f=e),u+=n,p[e-i]=c,c+=n;d===e;)c+=a,u+=a,r++,r>=l?d=s+1:(d=0|this.getAfterLineNumberForWhitespaceIndex(r),a=0|this.getHeightForWhitespaceIndex(r));if(u>=t){s=e;break}}-1===f&&(f=s);const _=0|this.getVerticalOffsetForLineNumber(s);let v=i,b=s;return vt&&b--,{bigNumbersDelta:g,startLineNumber:i,endLineNumber:s,relativeVerticalOffset:p,centeredLineNumber:f,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:b,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let n,i;return n=t>=1?this._lineHeight*t:0,i=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+i+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(n)+this.getHeightForWhitespaceIndex(n))return-1;for(;t=o+this.getHeightForWhitespaceIndex(i))t=i+1;else{if(e>=o)return i;n=i}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this.getWhitespacesCount())return null;const n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;const i=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:i}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),i=this.getWhitespacesCount()-1;if(n<0)return[];const o=[];for(let e=n;e<=i;e++){const n=this.getVerticalOffsetForWhitespaceIndex(e),i=this.getHeightForWhitespaceIndex(e);if(n>=t)break;o.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:i})}return o}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}}VF.INSTANCE_COUNT=0;class HF{constructor(e,t,n,i){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(n|=0)<0&&(n=0),(i|=0)<0&&(i=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=i,this.scrollHeight=Math.max(n,i)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class zF extends lt{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new Ct),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new HF(0,0,0,0),this._scrollable=this._register(new JN({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const n=t.contentWidth!==e.contentWidth,i=t.contentHeight!==e.contentHeight;(n||i)&&this._onDidContentSizeChange.fire(new bF(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class UF extends lt{constructor(e,t,n){super(),this._configuration=e;const i=this._configuration.options,o=i.get(145),s=i.get(84);this._linesLayout=new VF(t,i.get(67),s.top,s.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new zF(0,n)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new HF(o.contentWidth,0,o.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(114)?125:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const e=t.get(84);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(145)){const e=t.get(145),n=e.contentWidth,i=e.height,o=this._scrollable.getScrollDimensions(),s=o.contentWidth;this._scrollable.setScrollDimensions(new HF(n,o.contentWidth,i,this._getContentHeight(n,i,s)))}else this._updateHeight();e.hasChanged(114)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const n=this._configuration.options.get(103);return 2===n.horizontal||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){const i=this._configuration.options;let o=this._linesLayout.getLinesTotalHeight();return i.get(105)?o+=Math.max(0,t-i.get(67)-i.get(84).bottom):i.get(103).ignoreHorizontalScrollbarInContentHeight||(o+=this._getHorizontalScrollbarHeight(e,n)),o}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,i=e.contentWidth;this._scrollable.setScrollDimensions(new HF(t,e.contentWidth,n,this._getContentHeight(t,n,i)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new fP(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new fP(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,n=e.get(146),i=e.get(50),o=e.get(145);if(n.isViewportWrapping){const n=e.get(73);return t>o.contentWidth+i.typicalHalfwidthCharacterWidth&&n.enabled&&"right"===n.side?t+o.verticalScrollbarWidth:t}{const n=e.get(104)*i.typicalHalfwidthCharacterWidth,s=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+o.verticalScrollbarWidth,s,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new HF(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}}class KF{constructor(e,t,n,i,o){this.editorId=e,this.model=t,this.configuration=n,this._linesCollection=i,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let n=this._decorationsCache[t];if(!n){const i=e.range,o=e.options;let s;if(o.isWholeLine){const e=this._coordinatesConverter.convertModelPositionToViewPosition(new cd(i.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new cd(i.endLineNumber,this.model.getLineMaxColumn(i.endLineNumber)),1);s=new nc(e.lineNumber,e.column,t.lineNumber,t.column)}else s=this._coordinatesConverter.convertModelRangeToViewRange(i,1);n=new yP(s,o),this._decorationsCache[t]=n}return n}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,n=!1){const i=new nc(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(i,t,n).inlineDecorations[0]}_getDecorationsInRange(e,t,n){const i=this._linesCollection.getDecorationsInRange(e,this.editorId,AD(this.configuration.options),t,n),o=e.startLineNumber,s=e.endLineNumber,r=[];let l=0;const a=[];for(let e=o;e<=s;e++)a[e-o]=[];for(let e=0,t=i.length;e1===e))}function $F(e,t){return GF(e,t.range,(e=>2===e))}function GF(e,t,n){for(let i=t.startLineNumber;i<=t.endLineNumber;i++){const o=e.tokenization.getLineTokens(i),s=i===t.startLineNumber,r=i===t.endLineNumber;let l=s?o.findTokenIndexAtOffset(t.startColumn-1):0;for(;lt.endColumn-1);){if(!n(o.getStandardTokenType(l)))return!1;l++}}return!0}function ZF(e,t){return null===e?t?XF.INSTANCE:QF.INSTANCE:new YF(e,t)}class YF{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();const i=n>0?this._projectionData.breakOffsets[n-1]:0,o=this._projectionData.breakOffsets[n];let s;if(null!==this._projectionData.injectionOffsets){const n=this._projectionData.injectionOffsets.map(((e,t)=>new iy(0,0,e+1,this._projectionData.injectionOptions[t],0)));s=iy.applyInjectedText(e.getLineContent(t),n).substring(i,o)}else s=e.getValueInRange({startLineNumber:t,startColumn:i+1,endLineNumber:t,endColumn:o+1});return n>0&&(s=eB(this._projectionData.wrappedTextIndentLength)+s),s}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n){const i=new Array;return this.getViewLinesData(e,t,n,1,0,[!0],i),i[0]}getViewLinesData(e,t,n,i,o,s,r){this._assertVisible();const l=this._projectionData,a=l.injectionOffsets,d=l.injectionOptions;let u,c=null;if(a){c=[];let e=0,t=0;for(let n=0;n0?l.breakOffsets[n-1]:0,s=l.breakOffsets[n];for(;ts)break;if(o0?l.wrappedTextIndentLength:0,r=t+Math.max(u-o,0),a=t+Math.min(c-o,s-o);r!==a&&i.push(new CP(r,a,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(!(c<=s))break;e+=r,t++}}}u=a?e.tokenization.getLineTokens(t).withInserted(a.map(((e,t)=>({offset:e,text:d[t].content,tokenMetadata:BC.defaultTokenMetadata})))):e.tokenization.getLineTokens(t);for(let e=n;e0?i.wrappedTextIndentLength:0,s=n>0?i.breakOffsets[n-1]:0,r=i.breakOffsets[n],l=e.sliceAndInflate(s,r,o);let a=l.getLineContent();n>0&&(a=eB(i.wrappedTextIndentLength)+a);const d=this._projectionData.getMinOutputOffset(n)+1,u=a.length+1,c=n+1=JF.length)for(let t=1;t<=e;t++)JF[t]=tB(t);return JF[e]}function tB(e){return new Array(e+1).join(" ")}class nB{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Uw(e);const n=this.values,i=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(n.length+o),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Uw(e),t=Uw(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;const o=n.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Uw(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,i=0,o=0,s=0;for(;t<=n;)if(i=t+(n-t)/2|0,o=this.prefixSum[i],s=o-this.values[i],e=o))break;t=i+1}return new oB(i,e-s)}}class iB{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),0===e?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],n=t>0?this._prefixSum[t-1]:0;return new oB(t,e-n)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=Uc(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let i=0;it.lineNumber===e+1));s.addRequest(n[e],i,t?t[e]:null)}const l=s.finalize(),a=[],d=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(nc.compareRangesUsingStarts);let u=1,c=0,h=-1,g=h+1=u&&t<=c,i=ZF(l[e],!n);a[e]=i.getViewLineCount(),this.modelLineProjections[e]=i}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new iB(a)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e)))}setHiddenAreas(e){const t=function(e){if(0===e.length)return[];const t=e.slice();t.sort(nc.compareRangesUsingStarts);const n=[];let i=t[0].startLineNumber,o=t[0].endLineNumber;for(let e=1,s=t.length;eo+1?(n.push(new nc(i,1,o,1)),i=s.startLineNumber,o=s.endLineNumber):s.endLineNumber>o&&(o=s.endLineNumber)}return n.push(new nc(i,1,o,1)),n}(e.map((e=>this.model.validateRange(e)))),n=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(nc.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let i=0;i({range:e,options:My.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,i);const o=t;let s=1,r=0,l=-1,a=l+1=s&&t<=r?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(d=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){const t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return d||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1||e>this.modelLineProjections.length)&&this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,i,o){const s=this.fontInfo.equals(e),r=this.wrappingStrategy===t,l=this.wrappingColumn===n,a=this.wrappingIndent===i,d=this.wordBreak===o;if(s&&r&&l&&a&&d)return!1;const u=s&&r&&!l&&a&&d;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=i,this.wordBreak=o;let c=null;if(u){c=[];for(let e=0,t=this.modelLineProjections.length;e2&&!this.modelLineProjections[t-2].isVisible(),s=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let r=0;const l=[],a=[];for(let e=0,t=i.length;er?(a=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,d=a+r-1,h=d+1,g=h+(o-r)-1,l=!0):ot?t:0|e}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),r=this.model.guides.getActiveIndentGuide(i.lineNumber,o.lineNumber,s.lineNumber),l=this.convertModelPositionToViewPosition(r.startLineNumber,1),a=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:l.lineNumber,endLineNumber:a.lineNumber,indent:r.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,i=t.remainder;return new rB(n+1,i)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),i=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new cd(e.modelLineNumber,i)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),i=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new cd(e.modelLineNumber,i)}getViewLineInfosGroupedByModelRanges(e,t){const n=this.getViewLineInfo(e),i=this.getViewLineInfo(t),o=new Array;let s=this.getModelStartPositionOfViewLine(n),r=new Array;for(let e=n.modelLineNumber;e<=i.modelLineNumber;e++){const t=this.modelLineProjections[e-1];if(t.isVisible()){const o=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,s=e===i.modelLineNumber?i.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=o;t{if(-1!==e.forWrappedLinesAfterColumn&&this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=i.modelLineWrappedLineIdx)return;if(-1!==e.forWrappedLinesBeforeOrAtColumn&&this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumberi.modelLineWrappedLineIdx)return}const n=this.convertModelPositionToViewPosition(i.modelLineNumber,e.horizontalLine.endColumn),o=this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return o.lineNumber===i.modelLineWrappedLineIdx?new Jb(e.visibleColumn,t,e.className,new ew(e.horizontalLine.top,n.column),-1,-1):o.lineNumber!!e)))}}return s}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let o=[];const s=[],r=[],l=n.lineNumber-1,a=i.lineNumber-1;let d=null;for(let e=l;e<=a;e++){const t=this.modelLineProjections[e];if(t.isVisible()){const i=t.getViewLineNumberOfModelPosition(0,e===l?n.column:1),o=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),a=o-i+1;let u=0;a>1&&1===t.getViewLineMinColumn(this.model,e+1,o)&&(u=0===i?1:2),s.push(a),r.push(u),null===d&&(d=new cd(e+1,0))}else null!==d&&(o=o.concat(this.model.guides.getLinesIndentGuides(d.lineNumber,e)),d=null)}null!==d&&(o=o.concat(this.model.guides.getLinesIndentGuides(d.lineNumber,i.lineNumber)),d=null);const u=t-e+1,c=new Array(u);let h=0;for(let e=0,t=o.length;et&&(c=!0,u=t-o+1),a.getViewLinesData(this.model,i+1,d,u,o-e,n,l),o+=u,c)break}return l}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);const i=this.projectedModelLineLineCounts.getIndexOf(e-1),o=i.index,s=i.remainder,r=this.modelLineProjections[o],l=r.getViewLineMinColumn(this.model,o+1,s),a=r.getViewLineMaxColumn(this.model,o+1,s);ta&&(t=a);const d=r.getModelColumnOfViewPosition(s,t);return this.model.validatePosition(new cd(o+1,d)).equals(n)?new cd(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){const n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),i=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new nc(n.lineNumber,n.column,i.lineNumber,i.column)}convertViewPositionToModelPosition(e,t){const n=this.getViewLineInfo(e),i=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new cd(n.modelLineNumber,i))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new nc(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,i=!1,o=!1){const s=this.model.validatePosition(new cd(e,t)),r=s.lineNumber,l=s.column;let a=r-1,d=!1;if(o)for(;a0&&!this.modelLineProjections[a].isVisible();)a--,d=!0;if(0===a&&!this.modelLineProjections[a].isVisible())return new cd(i?0:1,1);const u=1+this.projectedModelLineLineCounts.getPrefixSum(a);let c;return c=d?o?this.modelLineProjections[a].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[a].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(a+1),n):this.modelLineProjections[r-1].getViewPositionOfModelPosition(u,l,n),c}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return nc.fromPositions(n)}{const t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new nc(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){const e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(0===n&&!this.modelLineProjections[n].isVisible())return 1;const i=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(i,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,i,o){const s=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),r=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(r.lineNumber-s.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new nc(s.lineNumber,1,r.lineNumber,r.column),t,n,i,o);let l=[];const a=s.lineNumber-1,d=r.lineNumber-1;let u=null;for(let e=a;e<=d;e++)if(this.modelLineProjections[e].isVisible())null===u&&(u=new cd(e+1,e===a?s.column:1));else if(null!==u){const o=this.model.getLineMaxColumn(e);l=l.concat(this.model.getDecorationsInRange(new nc(u.lineNumber,u.column,e,o),t,n,i)),u=null}null!==u&&(l=l.concat(this.model.getDecorationsInRange(new nc(u.lineNumber,u.column,r.lineNumber,r.column),t,n,i)),u=null),l.sort(((e,t)=>{const n=nc.compareRangesUsingStarts(e.range,t.range);return 0===n?e.idt.id?1:0:n}));const c=[];let h=0,g=null;for(const e of l){const t=e.id;g!==t&&(g=t,c[h++]=e)}return c}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}class rB{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class lB{constructor(e,t){this.modelRange=e,this.viewLines=t}}class aB{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,i){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,i)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class dB{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new uB(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,i){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,n,i)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new dF(t,n)}onModelLinesInserted(e,t,n,i){return new uF(t,n)}onModelLineChanged(e,t,n){return[!1,new aF(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const n=t-e+1,i=new Array(n);for(let e=0;et)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const cB=wc.Right;class hB{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*cB/8))}reset(e){const t=Math.ceil((e+1)*cB/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStart=pB.create(this.model),this.glyphLanes=new hB(0),this.model.isTooLargeForTokenization())this._lines=new dB(this.model);else{const e=this._configuration.options,t=e.get(50),n=e.get(139),s=e.get(146),r=e.get(138),l=e.get(129);this._lines=new sB(this._editorId,this.model,i,o,t,this.model.getOptions().tabSize,n,s.wrappingColumn,r,l)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new TF(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new UF(this._configuration,this.getLineCount(),s)),this._register(this.viewLayout.onDidScroll((e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new hF(e)),this._eventDispatcher.emitOutgoingEvent(new CF(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))}))),this._register(this.viewLayout.onDidContentSizeChange((e=>{this._eventDispatcher.emitOutgoingEvent(e)}))),this._decorations=new KF(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}}))),this._register(mP.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new mF)}))),this._register(this._themeService.onDidColorThemeChange((e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new gF(e))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new nc(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new sF(e)),this._eventDispatcher.emitOutgoingEvent(new wF(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new JO)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new eF)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new cd(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new vB(t,this._viewportStart.startLineDelta)}return new vB(null,0)}_onConfigurationChanged(e,t){const n=this._captureStableViewport(),i=this._configuration.options,o=i.get(50),s=i.get(139),r=i.get(146),l=i.get(138),a=i.get(129);this._lines.setWrappingSettings(o,s,r.wrappingColumn,l,a)&&(e.emitViewEvent(new oF),e.emitViewEvent(new lF),e.emitViewEvent(new iF(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(91)&&(this._decorations.reset(),e.emitViewEvent(new iF(null))),t.hasChanged(98)&&(this._decorations.reset(),e.emitViewEvent(new iF(null))),e.emitViewEvent(new tF(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),Ky.shouldRecreate(t)&&(this.cursorConfig=new Ky(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();let n=!1,i=!1;const o=e instanceof uy?e.rawContentChangedEvent.changes:e.changes,s=e instanceof uy?e.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(const e of o)switch(e.changeType){case 4:for(let t=0;t!e.ownerId||e.ownerId===this._editorId))),r.addRequest(n,i,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter((e=>!e.ownerId||e.ownerId===this._editorId))),r.addRequest(e.detail,t,null);break}}const l=r.finalize(),a=new eh(l);for(const e of o)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new oF),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),n=!0;break;case 3:{const i=this._lines.onModelLinesDeleted(s,e.fromLineNumber,e.toLineNumber);null!==i&&(t.emitViewEvent(i),this.viewLayout.onLinesDeleted(i.fromLineNumber,i.toLineNumber)),n=!0;break}case 4:{const i=a.takeCount(e.detail.length),o=this._lines.onModelLinesInserted(s,e.fromLineNumber,e.toLineNumber,i);null!==o&&(t.emitViewEvent(o),this.viewLayout.onLinesInserted(o.fromLineNumber,o.toLineNumber)),n=!0;break}case 2:{const n=a.dequeue(),[o,r,l,d]=this._lines.onModelLineChanged(s,e.lineNumber,n);i=o,r&&t.emitViewEvent(r),l&&(t.emitViewEvent(l),this.viewLayout.onLinesInserted(l.fromLineNumber,l.toLineNumber)),d&&(t.emitViewEvent(d),this.viewLayout.onLinesDeleted(d.fromLineNumber,d.toLineNumber));break}}null!==s&&this._lines.acceptVersionId(s),this.viewLayout.onHeightMaybeChanged(),!n&&i&&(t.emitViewEvent(new lF),t.emitViewEvent(new iF(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){const t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}try{const t=this._eventDispatcher.beginEmitViewEvents();e instanceof uy&&t.emitOutgoingEvent(new EF(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()}))),this._register(this.model.onDidChangeTokens((e=>{const t=[];for(let n=0,i=e.ranges.length;n{this._eventDispatcher.emitSingleViewEvent(new rF),this.cursorConfig=new Ky(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new NF(e))}))),this._register(this.model.onDidChangeLanguage((e=>{this.cursorConfig=new Ky(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new DF(e))}))),this._register(this.model.onDidChangeOptions((e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new oF),e.emitViewEvent(new lF),e.emitViewEvent(new iF(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new Ky(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new IF(e))}))),this._register(this.model.onDidChangeDecorations((e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new iF(e)),this._eventDispatcher.emitOutgoingEvent(new LF(e))})))}setHiddenAreas(e,t){var n;this.hiddenAreasModel.setHiddenAreas(t,e);const i=this.hiddenAreasModel.getMergedRanges();if(i===this.previousHiddenAreas)return;this.previousHiddenAreas=i;const o=this._captureStableViewport();let s=!1;try{const e=this._eventDispatcher.beginEmitViewEvents();s=this._lines.setHiddenAreas(i),s&&(e.emitViewEvent(new oF),e.emitViewEvent(new lF),e.emitViewEvent(new iF(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const t=null===(n=o.viewportStartModelPosition)||void 0===n?void 0:n.lineNumber,r=t&&i.some((e=>e.startLineNumber<=t&&t<=e.endLineNumber));r||o.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),s&&this._eventDispatcher.emitOutgoingEvent(new SF)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(145),t=this._configuration.options.get(67),n=Math.max(20,Math.round(e.height/t)),i=this.viewLayout.getLinesViewportData(),o=Math.max(1,i.completelyVisibleStartLineNumber-n),s=Math.min(this.getLineCount(),i.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new nc(o,this.getLineMinColumn(o),s,this.getLineMaxColumn(s)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(0===n.length)return[t];const i=[];let o=0,s=t.startLineNumber,r=t.startColumn;const l=t.endLineNumber,a=t.endColumn;for(let e=0,t=n.length;el||(st.toInlineDecoration(e)))]),new bP(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,n,i,s.tokens,t,o,s.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){const i=this._lines.getViewLinesData(e,t,n);return new _P(this.getTabSize(),i)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,AD(this._configuration.options)),n=new mB;for(const i of t){const t=i.options,o=t.overviewRuler;if(!o)continue;const s=o.position;if(0===s)continue;const r=o.getColor(e.value),l=this.coordinatesConverter.getViewLineNumberOfModelPosition(i.range.startLineNumber,i.range.startColumn),a=this.coordinatesConverter.getViewLineNumberOfModelPosition(i.range.endLineNumber,i.range.endColumn);n.accept(r,t.zIndex,l,a,s)}return n.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const e=t.options.overviewRuler;null==e||e.invalidateCachedColor();const n=t.options.minimap;null==n||n.invalidateCachedColor()}}getValueInRange(e,t){const n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){const n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){const n=this.coordinatesConverter.convertViewPositionToModelPosition(e),i=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(i)}deduceModelPositionRelativeToViewPosition(e,t,n){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=n:t+=n);const o=this.model.getOffsetAt(i)+t;return this.model.getPositionAt(o)}getPlainTextToCopy(e,t,n){const i=n?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(nc.compareRangesUsingStarts);let o=!1,s=!1;for(const t of e)t.isEmpty()?o=!0:s=!0;if(!s){if(!t)return"";const n=e.map((e=>e.startLineNumber));let o="";for(let e=0;e0&&n[e-1]===n[e]||(o+=this.model.getLineContent(n[e])+i);return o}if(o&&t){const t=[];let i=0;for(const o of e){const e=o.startLineNumber;o.isEmpty()?e!==i&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(o,n?2:0)),i=e}return 1===t.length?t[0]:t}const r=[];for(const t of e)t.isEmpty()||r.push(this.model.getValueInRange(t,n?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(e,t){const n=this.model.getLanguageId();if(n===Kg)return null;if(1!==e.length)return null;let i=e[0];if(i.isEmpty()){if(!t)return null;const e=i.startLineNumber;i=new nc(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}const o=this._configuration.options.get(50),s=this._getColorMap();let r;return/[:;\\\/<>]/.test(o.fontFamily)||o.fontFamily===KD.fontFamily?r=KD.fontFamily:(r=o.fontFamily,r=r.replace(/"/g,"'"),/[,']/.test(r)||/[+ ]/.test(r)&&(r=`'${r}'`),r=`${r}, ${KD.fontFamily}`),{mode:n,html:`
    `+this._getHTMLToCopy(i,s)+"
    "}}_getHTMLToCopy(e,t){const n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,s=e.endColumn,r=this.getTabSize();let l="";for(let e=n;e<=o;e++){const a=this.model.tokenization.getLineTokens(e),d=a.getLineContent(),u=e===n?i-1:0,c=e===o?s-1:d.length;l+=""===d?"
    ":oL(d,a.inflate(),t,u,c,r,z)}return l}_getColorMap(){const e=IC.getColorMap(),t=["#000000"];if(e)for(let n=1,i=e.length;nthis._cursor.setStates(i,e,t,n)))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector((i=>this._cursor.setSelections(i,e,t,n)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector((t=>this._cursor.restoreState(t,e)))}_executeCursorEdit(e){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new kF):this._withViewEventsCollector(e)}executeEdits(e,t,n){this._executeCursorEdit((i=>this._cursor.executeEdits(i,e,t,n)))}startComposition(){this._executeCursorEdit((e=>this._cursor.startComposition(e)))}endComposition(e){this._executeCursorEdit((t=>this._cursor.endComposition(t,e)))}type(e,t){this._executeCursorEdit((n=>this._cursor.type(n,e,t)))}compositionType(e,t,n,i,o){this._executeCursorEdit((s=>this._cursor.compositionType(s,e,t,n,i,o)))}paste(e,t,n,i){this._executeCursorEdit((o=>this._cursor.paste(o,e,t,n,i)))}cut(e){this._executeCursorEdit((t=>this._cursor.cut(t,e)))}executeCommand(e,t){this._executeCursorEdit((n=>this._cursor.executeCommand(n,e,t)))}executeCommands(e,t){this._executeCursorEdit((n=>this._cursor.executeCommands(n,e,t)))}revealAllCursors(e,t,n=!1){this._withViewEventsCollector((i=>this._cursor.revealAll(i,e,n,0,t,0)))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector((i=>this._cursor.revealPrimary(i,e,n,0,t,0)))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),n=new nc(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new cF(e,!1,n,null,0,!0,0))))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),n=new nc(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new cF(e,!1,n,null,0,!0,0))))}revealRange(e,t,n,i,o){this._withViewEventsCollector((s=>s.emitViewEvent(new cF(e,!1,n,null,i,t,o))))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new fF),this._eventDispatcher.emitOutgoingEvent(new yF))}_withViewEventsCollector(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}}class pB{static create(e){const t=e._setTrackedRange(null,new nc(1,1,1,1),1);return new pB(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,n,i,o){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=i,this._startLineDelta=o}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const n=e.coordinatesConverter.convertViewPositionToModelPosition(new cd(t,e.getLineMinColumn(t))),i=e.model._setTrackedRange(this._modelTrackedRange,new nc(n.lineNumber,n.column,n.lineNumber,n.column),1),o=e.viewLayout.getVerticalOffsetForLineNumber(t),s=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=i,this._startLineDelta=s-o}invalidate(){this._isValid=!1}}class mB{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,i,o){const s=this._asMap[e];if(s){const e=s.data,t=e[e.length-3],r=e[e.length-1];if(t===o&&r+1>=n)return void(i>r&&(e[e.length-1]=i));e.push(o,n,i)}else{const s=new SP(e,t,[o,n,i]);this._asMap[e]=s,this.asArray.push(s)}}}class fB{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const n=this.hiddenAreas.get(e);n&&_B(n,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce(((e,t)=>function(e,t){const n=[];let i=0,o=0;for(;i{this._onDidChangeConfiguration.fire(e);const t=this._configuration.options;if(e.hasChanged(145)){const e=t.get(145);this._onDidLayoutChange.fire(e)}}))),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=a,this._codeEditorService=o,this._commandService=s,this._themeService=l,this._register(new DB(this,this._contextKeyService)),this._register(new NB(this,this._contextKeyService,c)),this._instantiationService=i.createChild(new bB([su,this._contextKeyService])),this._modelData=null,this._focusTracker=new EB(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}))),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},p=Array.isArray(n.contributions)?n.contributions:Yu.getEditorContributions(),this._contributions.initialize(this,p,this._instantiationService);for(const e of Yu.getEditorActions()){if(this._actions.has(e.id)){xe(new Error(`Cannot have two actions with the same id ${e.id}`));continue}const t=new BO(e.id,e.label,e.alias,e.metadata,null!==(h=e.precondition)&&void 0!==h?h:void 0,(t=>this._instantiationService.invokeFunction((n=>Promise.resolve(e.runEditorCommand(n,this,t))))),this._contextKeyService);this._actions.set(t.id,t)}const m=()=>!this._configuration.options.get(91)&&this._configuration.options.get(36).enabled;this._register(new kr(this._domElement,{onDragOver:e=>{if(!m())return;const t=this.getTargetAtClientPoint(e.clientX,e.clientY);(null==t?void 0:t.position)&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!m())return;if(this.removeDropIndicator(),!e.dataTransfer)return;const t=this.getTargetAtClientPoint(e.clientX,e.clientY);(null==t?void 0:t.position)&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){var t;null===(t=this._modelData)||void 0===t||t.view.writeScreenReaderContent(e)}_createConfiguration(e,t,n){return new NT(e,t,this._domElement,n)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return WO.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?lS.getWordAtPosition(this._modelData.model,this._configuration.options.get(131),this._configuration.options.get(130),e):null}getValue(e=null){if(!this._modelData)return"";const t=!(!e||!e.preserveBOM);let n=0;return e&&e.lineEnding&&"\n"===e.lineEnding?n=1:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(n=2),this._modelData.model.getValue(n,t)}setValue(e){this._modelData&&this._modelData.model.setValue(e)}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){var t;const n=e;if(null===this._modelData&&null===n)return;if(this._modelData&&this._modelData.model===n)return;const i={oldModelUrl:(null===(t=this._modelData)||void 0===t?void 0:t.model.uri)||null,newModelUrl:(null==n?void 0:n.uri)||null};this._onWillChangeModel.fire(i);const o=this.hasTextFocus(),s=this._detachModel();this._attachModel(n),o&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(s),this._contributionsDisposable=this._contributions.onAfterModelAttached()}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const n in t)this._removeDecorationType(e+"-"+n)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,n,i){const o=e.model.validatePosition({lineNumber:t,column:n}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(s.lineNumber,i)}getTopForLineNumber(e,t=!1){return this._modelData?wB._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?wB._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,n,i=!1){const o=e.model.validatePosition({lineNumber:t,column:n}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber,i)}getBottomForLineNumber(e,t=!1){return this._modelData?wB._getVerticalOffsetAfterPosition(this._modelData,e,1,t):-1}setHiddenAreas(e,t){var n;null===(n=this._modelData)||void 0===n||n.viewModel.setHiddenAreas(e.map((e=>nc.lift(e))),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),n=this._modelData.model.getOptions().tabSize;return dh.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,n)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!cd.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,n,i){if(!this._modelData)return;if(!nc.isIRange(e))throw new Error("Invalid arguments");const o=this._modelData.model.validateRange(e),s=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(o);this._modelData.viewModel.revealRange("api",n,s,t,i)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,n){if("number"!=typeof e)throw new Error("Invalid arguments");this._sendRevealRange(new nc(e,1,e,1),t,!1,n)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,n,i){if(!cd.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new nc(e.lineNumber,e.column,e.lineNumber,e.column),t,n,i)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const n=ic.isISelection(e),i=nc.isIRange(e);if(!n&&!i)throw new Error("Invalid arguments");if(n)this._setSelectionImpl(e,t);else if(i){const n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const n=new ic(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[n])}revealLines(e,t,n=0){this._revealLines(e,t,0,n)}revealLinesInCenter(e,t,n=0){this._revealLines(e,t,1,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._revealLines(e,t,2,n)}revealLinesNearTop(e,t,n=0){this._revealLines(e,t,5,n)}_revealLines(e,t,n,i){if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new nc(e,1,t,1),n,!1,i)}revealRange(e,t=0,n=!1,i=!0){this._revealRange(e,n?1:0,i,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,n,i){if(!nc.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(nc.lift(e),t,n,i)}setSelections(e,t="api",n=0){if(this._modelData){if(!e||0===e.length)throw new Error("Invalid arguments");for(let t=0,n=e.length;t0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});const n=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(n)}}handleInitialized(){var e;null===(e=this._getViewModel())||void 0===e||e.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter((e=>e.isSupported())),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,n){switch(n=n||{},t){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(e);case"type":{const t=n;return void this._type(e,t.text||"")}case"replacePreviousChar":{const t=n;return void this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0)}case"compositionType":{const t=n;return void this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0)}case"paste":{const t=n;return void this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent)}case"cut":return void this._cut(e)}const i=this.getAction(t);i?Promise.resolve(i.run(n)).then(void 0,xe):this._modelData&&(this._triggerEditorCommand(e,t,n)||this._triggerCommand(t,n))}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,n,i,o){this._modelData&&this._modelData.viewModel.compositionType(t,n,i,o,e)}_paste(e,t,n,i,o,s){if(!this._modelData)return;const r=this._modelData.viewModel,l=r.getSelection().getStartPosition();r.paste(t,n,i,e);const a=r.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({clipboardEvent:s,range:new nc(l.lineNumber,l.column,a.lineNumber,a.column),languageId:o})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,n){const i=Yu.getEditorCommand(t);return!!i&&((n=n||{}).source=e,this._instantiationService.invokeFunction((e=>{Promise.resolve(i.runEditorCommand(e,this,n)).then(void 0,xe)})),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&!this._configuration.options.get(91)&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!!this._modelData&&!this._configuration.options.get(91)&&(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,n){if(!this._modelData)return!1;if(this._configuration.options.get(91))return!1;let i;return i=n?Array.isArray(n)?()=>n:n:()=>null,this._modelData.viewModel.executeEdits(e,t,i),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new IB(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,AD(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,AD(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&0!==e.length&&this._modelData.model.changeDecorations((t=>{t.deltaDecorations(e,[])}))}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations((e=>e.deltaDecorations(t,[]))),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(145)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!(!this._modelData||!this._modelData.hasRealView)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id:"+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const n=this._contentWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(n)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){const t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const n=this._overlayWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(n)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){const t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const n=this._glyphMarginWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(n)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),n=this._configuration.options,i=n.get(145);return{top:wB._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+i.glyphMarginWidth+i.lineNumbersWidth+i.decorationsWidth-this.getScrollLeft(),height:n.get(67)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.view.render(!0,e)}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){nL(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e)return void(this._modelData=null);const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const n=e.onBeforeAttached(),i=new gB(this._id,this._configuration,e,TO.create(is(this._domElement)),VO.create(this._configuration.options),(e=>Cs(is(this._domElement),e)),this.languageConfigurationService,this._themeService,n);t.push(e.onWillDispose((()=>this.setModel(null)))),t.push(i.onEvent((t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(t.reachedMaxCursorCount){const e=_(0,"The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",this.getOption(80));this._notificationService.prompt(tN.Warning,e,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:_(0,"Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const e=[];for(let n=0,i=t.selections.length;n{this._paste("keyboard",e,t,n,i)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,n,i)=>{this._compositionType("keyboard",e,t,n,i)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,n,i)=>{const o={text:e,pasteOnNewLine:t,multicursorText:n,mode:i};this._commandService.executeCommand("paste",o)},type:e=>{const t={text:e};this._commandService.executeCommand("type",t)},compositionType:(e,t,n,i)=>{if(n||i){const o={text:e,replacePrevCharCnt:t,replaceNextCharCnt:n,positionDelta:i};this._commandService.executeCommand("compositionType",o)}else{const n={text:e,replaceCharCnt:t};this._commandService.executeCommand("replacePreviousChar",n)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const n=new wR(e.coordinatesConverter);return n.onKeyDown=e=>this._onKeyDown.fire(e),n.onKeyUp=e=>this._onKeyUp.fire(e),n.onContextMenu=e=>this._onContextMenu.fire(e),n.onMouseMove=e=>this._onMouseMove.fire(e),n.onMouseLeave=e=>this._onMouseLeave.fire(e),n.onMouseDown=e=>this._onMouseDown.fire(e),n.onMouseUp=e=>this._onMouseUp.fire(e),n.onMouseDrag=e=>this._onMouseDrag.fire(e),n.onMouseDrop=e=>this._onMouseDrop.fire(e),n.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),n.onMouseWheel=e=>this._onMouseWheel.fire(e),[new xO(t,this._configuration,this._themeService.getColorTheme(),e,n,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){null==e||e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){var e;if(null===(e=this._contributionsDisposable)||void 0===e||e.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const t=this._modelData.model,n=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),n&&this._domElement.contains(n)&&this._domElement.removeChild(n),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return null!==this._modelData}showDropIndicatorAt(e){const t=[{range:new nc(e.lineNumber,e.column,e.lineNumber,e.column),options:wB.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}};yB.dropIntoEditorDecorationOptions=My.register({description:"workbench-dnd-target",className:"dnd-target"}),yB=wB=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([CB(3,ad),CB(4,ud),CB(5,wd),CB(6,su),CB(7,Tv),CB(8,nN),CB(9,qS),CB(10,Qg),CB(11,wx)],yB);let SB=0;class xB{constructor(e,t,n,i,o,s){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=i,this.listenersToRemove=o,this.attachedView=s}dispose(){it(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class kB extends lt{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new Ct(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new Ct(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class LB extends Ct{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class DB extends lt{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=oc.editorSimpleInput.bindTo(t),this._editorFocus=oc.focus.bindTo(t),this._textInputFocus=oc.textInputFocus.bindTo(t),this._editorTextFocus=oc.editorTextFocus.bindTo(t),this._tabMovesFocus=oc.tabMovesFocus.bindTo(t),this._editorReadonly=oc.readOnly.bindTo(t),this._inDiffEditor=oc.inDiffEditor.bindTo(t),this._editorColumnSelection=oc.columnSelection.bindTo(t),this._hasMultipleSelections=oc.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=oc.hasNonEmptySelection.bindTo(t),this._canUndo=oc.canUndo.bindTo(t),this._canRedo=oc.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromConfig()))),this._register(this._editor.onDidChangeCursorSelection((()=>this._updateFromSelection()))),this._register(this._editor.onDidFocusEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidFocusEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidChangeModel((()=>this._updateFromModel()))),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromModel()))),this._register(DT.onDidChangeTabFocus((e=>this._tabMovesFocus.set(e)))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(DT.getTabFocusMode()),this._editorReadonly.set(e.get(91)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some((e=>!e.isEmpty())))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))}}class NB extends lt{constructor(e,t,n){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=n,this._langId=oc.languageId.bindTo(t),this._hasCompletionItemProvider=oc.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=oc.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=oc.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=oc.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=oc.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=oc.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=oc.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=oc.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=oc.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=oc.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=oc.hasReferenceProvider.bindTo(t),this._hasRenameProvider=oc.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=oc.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=oc.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=oc.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=oc.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=oc.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=oc.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=oc.isInEmbeddedEditor.bindTo(t);const i=()=>this._update();this._register(e.onDidChangeModel(i)),this._register(e.onDidChangeModelLanguage(i)),this._register(n.completionProvider.onDidChange(i)),this._register(n.codeActionProvider.onDidChange(i)),this._register(n.codeLensProvider.onDidChange(i)),this._register(n.definitionProvider.onDidChange(i)),this._register(n.declarationProvider.onDidChange(i)),this._register(n.implementationProvider.onDidChange(i)),this._register(n.typeDefinitionProvider.onDidChange(i)),this._register(n.hoverProvider.onDidChange(i)),this._register(n.documentHighlightProvider.onDidChange(i)),this._register(n.documentSymbolProvider.onDidChange(i)),this._register(n.referenceProvider.onDidChange(i)),this._register(n.renameProvider.onDidChange(i)),this._register(n.documentFormattingEditProvider.onDidChange(i)),this._register(n.documentRangeFormattingEditProvider.onDidChange(i)),this._register(n.signatureHelpProvider.onDidChange(i)),this._register(n.inlayHintsProvider.onDidChange(i)),i()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents((()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()}))}_update(){const e=this._editor.getModel();e?this._contextKeyService.bufferChangeEvents((()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===Ho.walkThroughSnippet||e.uri.scheme===Ho.vscodeChatCodeBlock)})):this.reset()}}class EB extends lt{constructor(e,t){super(),this._onChange=this._register(new Ct),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(ar(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus((()=>{this._hasDomElementFocus=!0,this._update()}))),this._register(this._domFocusTracker.onDidBlur((()=>{this._hasDomElementFocus=!1,this._update()}))),t&&(this._overflowWidgetsDomNode=this._register(ar(t)),this._register(this._overflowWidgetsDomNode.onDidFocus((()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()}))),this._register(this._overflowWidgetsDomNode.onDidBlur((()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()}))))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){var e;return null!==(e=this._hadFocus)&&void 0!==e&&e}}class IB{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,n){return this._editor.onDidChangeModelDecorations((n=>{this._isChangingDecorations||e.call(t,n)}),n)}getRange(e){return this._editor.hasModel()?e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e]):null}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const n of this._decorationIds){const i=e.getDecorationRange(n);i&&t.push(i)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations((t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)}))}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations((n=>{t=n.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)}))}finally{this._isChangingDecorations=!1}return t}}const MB=encodeURIComponent("");function AB(e){return MB+encodeURIComponent(e.toString())+TB}const RB=encodeURIComponent('');Fv(((e,t)=>{const n=e.getColor(Jm);n&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${AB(n)}") repeat-x bottom left; }`);const i=e.getColor(nf);i&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${AB(i)}") repeat-x bottom left; }`);const o=e.getColor(sf);o&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${AB(o)}") repeat-x bottom left; }`);const s=e.getColor(lf);s&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${function(e){return RB+encodeURIComponent(e.toString())+PB}(s)}") no-repeat bottom left; }`);const r=e.getColor(gb);r&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${r.rgba.a}; }`)}));class OB{static capture(e){if(0===e.getScrollTop()||e.hasPendingScrollAnimation())return new OB(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,n=0;const i=e.getVisibleRanges();if(i.length>0){t=i[0].getStartPosition();const o=e.getTopForPosition(t.lineNumber,t.column);n=e.getScrollTop()-o}return new OB(e.getScrollTop(),e.getContentHeight(),t,n,e.getPosition())}constructor(e,t,n,i,o){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=n,this._visiblePositionScrollDelta=i,this._cursorPosition=o}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const n=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+n)}}class FB{constructor(){this.lenses=[],this._disposables=new rt}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const n of e.lenses)this.lenses.push({symbol:n,provider:t})}}async function BB(e,t,n){const i=e.ordered(t),o=new Map,s=new FB,r=i.map((async(e,i)=>{o.set(e,i);try{const i=await Promise.resolve(e.provideCodeLenses(t,n));i&&s.add(i,e)}catch(e){ke(e)}}));return await Promise.all(r),s.lenses=s.lenses.sort(((e,t)=>e.symbol.range.startLineNumbert.symbol.range.startLineNumber?1:o.get(e.provider)o.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0)),s}var WB,VB;Cd.registerCommand("_executeCodeLensProvider",(function(e,...t){let[n,i]=t;fa(Io.isUri(n)),fa("number"==typeof i||!i);const{codeLensProvider:o}=e.get(wx),s=e.get(hd).getModel(n);if(!s)throw Ie();const r=[],l=new rt;return BB(o,s,It.None).then((e=>{l.add(e);const t=[];for(const n of e.lenses)null==i||Boolean(n.symbol.command)?r.push(n.symbol):i-- >0&&n.provider.resolveCodeLens&&t.push(Promise.resolve(n.provider.resolveCodeLens(s,n.symbol,It.None)).then((e=>r.push(e||n.symbol))));return Promise.all(t)})).then((()=>r)).finally((()=>{setTimeout((()=>l.dispose()),100)}))})),function(e){e[e.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",e[e.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"}(WB||(WB={})),function(e){e[e.None=0]="None",e[e.Initialized=1]="Initialized",e[e.Closed=2]="Closed"}(VB||(VB={}));class HB extends lt{constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new St),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=VB.None,this.cache=new Map,this.flushDelayer=this._register(new Wt(HB.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((e=>this.onDidChangeItemsExternal(e))))}onDidChangeItemsExternal(e){var t,n;this._onDidChangeStorage.pause();try{null===(t=e.changed)||void 0===t||t.forEach(((e,t)=>this.acceptExternal(t,e))),null===(n=e.deleted)||void 0===n||n.forEach((e=>this.acceptExternal(e,void 0)))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===VB.Closed)return;let n=!1;ma(t)?n=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),n=!0),n&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const n=this.cache.get(e);return ma(n)?t:n}getBoolean(e,t){const n=this.get(e);return ma(n)?t:"true"===n}getNumber(e,t){const n=this.get(e);return ma(n)?t:parseInt(n,10)}async set(e,t,n=!1){if(this.state===VB.Closed)return;if(ma(t))return this.delete(e,n);const i=aa(t)||Array.isArray(t)?(o=t,JSON.stringify(o,Lk)):String(t);var o;return this.cache.get(e)!==i?(this.cache.set(e,i),this.pendingInserts.set(e,i),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:n}),this.doFlush()):void 0}async delete(e,t=!1){if(this.state!==VB.Closed)return this.cache.delete(e)?(this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()):void 0}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally((()=>{var e;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)null===(e=this.whenFlushedCallbacks.pop())||void 0===e||e()}))}async doFlush(e){return this.options.hint===WB.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger((()=>this.flushPending()),e)}}HB.DEFAULT_FLUSH_DELAY=100;class zB{constructor(){this.onDidChangeItemsExternal=ft.None,this.items=new Map}async updateItems(e){var t,n;null===(t=e.insert)||void 0===t||t.forEach(((e,t)=>this.items.set(t,e))),null===(n=e.delete)||void 0===n||n.forEach((e=>this.items.delete(e)))}}const UB="__$__targetStorageMarker",KB=dd("storageService");var jB;!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(jB||(jB={}));class qB extends lt{constructor(e={flushInterval:qB.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new St),this._onDidChangeTarget=this._register(new St),this._onWillSaveState=this._register(new Ct),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,n){return ft.filter(this._onDidChangeValue.event,(n=>n.scope===e&&(void 0===t||n.key===t)),n)}emitDidChangeValue(e,t){const{key:n,external:i}=t;if(n===UB){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:n,target:this.getKeyTargets(e)[n],external:i})}get(e,t,n){var i;return null===(i=this.getStorage(t))||void 0===i?void 0:i.get(e,n)}getBoolean(e,t,n){var i;return null===(i=this.getStorage(t))||void 0===i?void 0:i.getBoolean(e,n)}getNumber(e,t,n){var i;return null===(i=this.getStorage(t))||void 0===i?void 0:i.getNumber(e,n)}store(e,t,n,i,o=!1){ma(t)?this.remove(e,n,o):this.withPausedEmitters((()=>{var s;this.updateKeyTarget(e,n,i),null===(s=this.getStorage(n))||void 0===s||s.set(e,t,o)}))}remove(e,t,n=!1){this.withPausedEmitters((()=>{var i;this.updateKeyTarget(e,t,void 0),null===(i=this.getStorage(t))||void 0===i||i.delete(e,n)}))}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,n,i=!1){var o,s;const r=this.getKeyTargets(t);"number"==typeof n?r[e]!==n&&(r[e]=n,null===(o=this.getStorage(t))||void 0===o||o.set(UB,JSON.stringify(r),i)):"number"==typeof r[e]&&(delete r[e],null===(s=this.getStorage(t))||void 0===s||s.set(UB,JSON.stringify(r),i))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?function(e){const t=e.get(UB);if(t)try{return JSON.parse(t)}catch(e){}return Object.create(null)}(t):Object.create(null)}}qB.DEFAULT_FLUSH_INTERVAL=6e4;const $B=dd("ICodeLensCache");class GB{constructor(e,t){this.lineCount=e,this.data=t}}let ZB=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new il(20,.75),vs(o,(()=>e.remove("codelens/cache",1)));const t="codelens/cache2",n=e.get(t,1,"{}");this._deserialize(n),ft.once(e.onWillSaveState)((n=>{n.reason===jB.SHUTDOWN&&e.store(t,this._serialize(),1,1)}))}put(e,t){const n=t.lenses.map((e=>{var t;return{range:e.symbol.range,command:e.symbol.command&&{id:"",title:null===(t=e.symbol.command)||void 0===t?void 0:t.title}}})),i=new FB;i.add({lenses:n,dispose:()=>{}},this._fakeProvider);const o=new GB(e.getLineCount(),i);this._cache.set(e.uri.toString(),o)}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,n]of this._cache){const i=new Set;for(const e of n.data.lenses)i.add(e.symbol.range.startLineNumber);e[t]={lineCount:n.lineCount,lines:[...i.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const e in t){const n=t[e],i=[];for(const e of n.lines)i.push({range:new nc(e,1,e,11)});const o=new FB;o.add({lenses:i,dispose(){}},this._fakeProvider),this._cache.set(e,new GB(n.lineCount,o))}}catch(e){}}};ZB=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,KB)],ZB),yg($B,ZB,1);var YB=n(1727),XB={};XB.styleTagTransform=Vr(),XB.setAttributes=Or(),XB.insert=Rr().bind(null,"head"),XB.domAPI=Tr(),XB.insertStyleElement=Br(),Ir()(YB.A,XB),YB.A&&YB.A.locals&&YB.A.locals;class QB{constructor(e,t,n){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=n,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class JB{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-"+JB._idPool++,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const n=[];let i=!1;for(let t=0;t{e.symbol.command&&l.push(e.symbol),n.addDecoration({range:e.symbol.range,options:tW},(e=>this._decorationIds[t]=e)),r=r?nc.plusRange(r,e.symbol.range):nc.lift(e.symbol.range)})),this._viewZone=new QB(r.startLineNumber-1,o,s),this._viewZoneId=i.addZone(this._viewZone),l.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(l,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new JB(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],null==t||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 n=this._editor.getModel().getDecorationRange(e),i=this._data[t].symbol;return!(!n||nc.isEmpty(i.range)!==n.isEmpty())}))}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach(((e,n)=>{t.addDecoration({range:e.symbol.range,options:tW},(e=>this._decorationIds[n]=e))}))}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;tZo(rW.of(t),e)),0)}get(e){const t=this._key(e),n=this._cache.get(t);return n?BN(n.value,this._min,this._max):this.default()}update(e,t){const n=this._key(e);let i=this._cache.get(n);i||(i=new VN(6),this._cache.set(n,i));const o=BN(i.update(t),this._min,this._max);return zo(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${o}ms`),o}_overall(){const e=new WN;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return BN(0|this._overall()||this._default,this._min,this._max)}}let dW=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,n){var i,o,s;const r=null!==(i=null==n?void 0:n.min)&&void 0!==i?i:50,l=null!==(o=null==n?void 0:n.max)&&void 0!==o?o:r**2,a=null!==(s=null==n?void 0:n.key)&&void 0!==s?s:void 0,d=`${rW.of(e)},${r}${a?","+a:""}`;let u=this._data.get(d);return u||(this._isDev?u=new aW(this._logService,t,e,0|this._overallAverage()||1.5*r,r,l):(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),u=new lW(1.5*r)),this._data.set(d,u)),u}_overallAverage(){const e=new WN;for(const t of this._data.values())e.update(t.default());return e.value}};dW=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([oW(0,Tu),oW(1,iW)],dW),yg(sW,dW,1);var uW=function(e,t){return function(n,i){t(n,i,e)}};let cW=class{constructor(e,t,n,i,o,s){this._editor=e,this._languageFeaturesService=t,this._commandService=i,this._notificationService=o,this._codeLensCache=s,this._disposables=new rt,this._localToDispose=new rt,this._lenses=[],this._oldCodeLensModels=new rt,this._provideCodeLensDebounce=n.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=n.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new jt((()=>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((e=>{(e.hasChanged(50)||e.hasChanged(19)||e.hasChanged(18))&&this._updateLensStyle(),e.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(),null===(e=this._currentCodeLensModel)||void 0===e||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=.9*this._editor.getOption(52)|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),n=this._editor.getOption(18),i=this._editor.getOption(50),{style:o}=this._editor.getContainerDomNode();o.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),o.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),o.setProperty("--vscode-editorCodeLens-fontFeatureSettings",i.fontFeatureSettings),n&&(o.setProperty("--vscode-editorCodeLens-fontFamily",n),o.setProperty("--vscode-editorCodeLens-fontFamilyDefault",KD.fontFamily)),this._editor.changeViewZones((t=>{for(const n of this._lenses)n.updateHeight(e,t)}))}_localDispose(){var e,t,n;null===(e=this._getCodeLensModelPromise)||void 0===e||e.cancel(),this._getCodeLensModelPromise=void 0,null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(n=this._currentCodeLensModel)||void 0===n||n.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e)return;if(!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e))return void(t&&Ht((()=>{const n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())}),3e4,this._localToDispose));for(const t of this._languageFeaturesService.codeLensProvider.all(e))if("function"==typeof t.onDidChange){const e=t.onDidChange((()=>n.schedule()));this._localToDispose.add(e)}const n=new jt((()=>{var t;const i=Date.now();null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=Pt((t=>BB(this._languageFeaturesService.codeLensProvider,e,t))),this._getCodeLensModelPromise.then((t=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=t,this._codeLensCache.put(e,t);const o=this._provideCodeLensDebounce.update(e,Date.now()-i);n.delay=o,this._renderCodeLensSymbols(t),this._resolveCodeLensesInViewportSoon()}),xe)}),this._provideCodeLensDebounce.get(e));this._localToDispose.add(n),this._localToDispose.add(st((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{var e;this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const n=[];let i=-1;this._lenses.forEach((e=>{e.isValid()&&i!==e.getLineNumber()?(e.update(t),i=e.getLineNumber()):n.push(e)}));const o=new eW;n.forEach((e=>{e.dispose(o,t),this._lenses.splice(this._lenses.indexOf(e),1)})),o.commit(e)}))})),n.schedule(),this._resolveCodeLensesScheduler.cancel(),null===(e=this._resolveCodeLensesPromise)||void 0===e||e.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{n.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{n.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(st((()=>{if(this._editor.getModel()){const e=OB.capture(this._editor);this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{this._disposeAllLenses(e,t)}))})),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((e=>{if(9!==e.target.type)return;let t=e.target.element;if("SPAN"===(null==t?void 0:t.tagName)&&(t=t.parentElement),"A"===(null==t?void 0:t.tagName))for(const e of this._lenses){const n=e.getCommand(t);if(n){this._commandService.executeCommand(n.id,...n.arguments||[]).catch((e=>this._notificationService.error(e)));break}}}))),n.schedule()}_disposeAllLenses(e,t){const n=new eW;for(const e of this._lenses)e.dispose(n,t);e&&n.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),n=[];let i;for(const o of e.lenses){const e=o.symbol.range.startLineNumber;e<1||e>t||(i&&i[i.length-1].symbol.range.startLineNumber===e?i.push(o):(i=[o],n.push(i)))}if(!n.length&&!this._lenses.length)return;const o=OB.capture(this._editor),s=this._getLayoutInfo();this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const i=new eW;let o=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),o++,r++)}for(;othis._resolveCodeLensesInViewportSoon()))),r++;i.commit(e)}))})),o.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;null===(e=this._resolveCodeLensesPromise)||void 0===e||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const n=[],i=[];if(this._lenses.forEach((e=>{const o=e.computeIfNecessary(t);o&&(n.push(o),i.push(e))})),0===n.length)return;const o=Date.now(),s=Pt((e=>{const o=n.map(((n,o)=>{const s=new Array(n.length),r=n.map(((n,i)=>n.symbol.command||"function"!=typeof n.provider.resolveCodeLens?(s[i]=n.symbol,Promise.resolve(void 0)):Promise.resolve(n.provider.resolveCodeLens(t,n.symbol,e)).then((e=>{s[i]=e}),ke)));return Promise.all(r).then((()=>{e.isCancellationRequested||i[o].isDisposed()||i[o].updateCommands(s)}))}));return Promise.all(o)}));this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then((()=>{const e=this._resolveCodeLensesDebounce.update(t,Date.now()-o);this._resolveCodeLensesScheduler.delay=e,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(e=>{xe(e),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(null===(e=this._currentCodeLensModel)||void 0===e?void 0:e.isDisposed)?void 0:this._currentCodeLensModel}};cW.ID="css.editor.codeLens",cW=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([uW(1,wx),uW(2,sW),uW(3,wd),uW(4,nN),uW(5,$B)],cW),Zu(cW.ID,cW,1),$u(class extends zu{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:oc.hasCodeLensProvider,label:_(0,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const n=e.get(SL),i=e.get(wd),o=e.get(nN),s=t.getSelection().positionLineNumber,r=t.getContribution(cW.ID);if(!r)return;const l=await r.getModel();if(!l)return;const a=[];for(const e of l.lenses)e.symbol.command&&e.symbol.range.startLineNumber===s&&a.push({label:e.symbol.command.title,command:e.symbol.command});if(0===a.length)return;const d=await n.pick(a,{canPickMany:!1,placeHolder:_(0,"Select a command")});if(!d)return;let u=d.command;if(l.isDisposed){const e=await r.getModel(),t=null==e?void 0:e.lenses.find((e=>{var t;return e.symbol.range.startLineNumber===s&&(null===(t=e.symbol.command)||void 0===t?void 0:t.title)===u.title}));if(!t||!t.symbol.command)return;u=t.symbol.command}try{await i.executeCommand(u.id,...u.arguments||[])}catch(e){o.error(e)}}});let hW=!1;function gW(e){q&&(hW||(hW=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(e.message))}class pW{constructor(e,t,n,i){this.vsWorker=e,this.req=t,this.method=n,this.args=i,this.type=0}}class mW{constructor(e,t,n,i){this.vsWorker=e,this.seq=t,this.res=n,this.err=i,this.type=1}}class fW{constructor(e,t,n,i){this.vsWorker=e,this.req=t,this.eventName=n,this.arg=i,this.type=2}}class _W{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}}class vW{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class bW{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const n=String(++this._lastSentReq);return new Promise(((i,o)=>{this._pendingReplies[n]={resolve:i,reject:o},this._send(new pW(this._workerId,n,e,t))}))}listen(e,t){let n=null;const i=new Ct({onWillAddFirstListener:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,i),this._send(new fW(this._workerId,n,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(n),this._send(new vW(this._workerId,n)),n=null}});return i.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;return e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),void t.reject(n)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then((e=>{this._send(new mW(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=Le(e.detail)),this._send(new mW(this._workerId,t,void 0,Le(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,n=this._handler.handleEvent(e.eventName,e.arg)((e=>{this._send(new _W(this._workerId,t,e))}));this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let n=0;n{this._protocol.handleMessage(e)}),(e=>{null==i||i(e)}))),this._protocol=new bW({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t)=>{if("function"!=typeof n[e])return Promise.reject(new Error("Missing method "+e+" on main thread host."));try{return Promise.resolve(n[e].apply(n,t))}catch(e){return Promise.reject(e)}},handleEvent:(e,t)=>{if(yW(e)){const i=n[e].call(n,t);if("function"!=typeof i)throw new Error(`Missing dynamic event ${e} on main thread host.`);return i}if(CW(e)){const t=n[e];if("function"!=typeof t)throw new Error(`Missing event ${e} on main thread host.`);return t}throw new Error(`Malformed event name ${e}`)}}),this._protocol.setWorkerId(this._worker.getId());let o=null;const s=globalThis.require;void 0!==s&&"function"==typeof s.getConfig?o=s.getConfig():void 0!==globalThis.requirejs&&(o=globalThis.requirejs.s.contexts._.config);const r=vc(n);this._onModuleLoaded=this._protocol.sendMessage("$initialize",[this._worker.getId(),JSON.parse(JSON.stringify(o)),t,r]);const l=(e,t)=>this._request(e,t),a=(e,t)=>this._protocol.listen(e,t);this._lazyProxy=new Promise(((e,n)=>{i=n,this._onModuleLoaded.then((t=>{e(function(e,t,n){const i=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},o=e=>function(t){return n(e,t)},s={};for(const t of e)yW(t)?s[t]=o(t):CW(t)?s[t]=n(t,void 0):s[t]=i(t);return s}(t,l,a))}),(e=>{n(e),this._onError("Worker failed to load "+t,e)}))}))}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise(((n,i)=>{this._onModuleLoaded.then((()=>{this._protocol.sendMessage(e,t).then(n,i)}),i)}))}_onError(e,t){console.error(e),console.info(t)}}function CW(e){return"o"===e[0]&&"n"===e[1]&&Ci(e.charCodeAt(2))}function yW(e){return/^onDynamic/.test(e)&&Ci(e.charCodeAt(9))}const SW=Yk("defaultWorkerFactory",{createScriptURL:e=>e});class xW extends lt{constructor(e,t,n,i,o){super(),this.id=t,this.label=n;const s=function(e){const t=globalThis.MonacoEnvironment;if(t){if("function"==typeof t.getWorker)return t.getWorker("workerMain.js",e);if("function"==typeof t.getWorkerUrl){const n=t.getWorkerUrl("workerMain.js",e);return new Worker(SW?SW.createScriptURL(n):n,{name:e})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}(n);"function"==typeof s.then?this.worker=s:this.worker=Promise.resolve(s),this.postMessage(e,[]),this.worker.then((e=>{e.onmessage=function(e){i(e.data)},e.onmessageerror=o,"function"==typeof e.addEventListener&&e.addEventListener("error",o)})),this._register(st((()=>{var e;null===(e=this.worker)||void 0===e||e.then((e=>{e.onmessage=null,e.onmessageerror=null,e.removeEventListener("error",o),e.terminate()})),this.worker=null})))}getId(){return this.id}postMessage(e,t){var n;null===(n=this.worker)||void 0===n||n.then((n=>{try{n.postMessage(e,t)}catch(e){xe(e),xe(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:e}))}}))}}class kW{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,n){const i=++kW.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new xW(e,i,this._label||"anonymous"+i,t,(e=>{gW(e),this._webWorkerFailedBeforeError=e,n(e)}))}}kW.LAST_WORKER_ID=0;class LW{constructor(e,t,n,i){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=i}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class DW{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,i=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new LW(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class TW{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[i,o,s]=TW._getElements(e),[r,l,a]=TW._getElements(t);this._hasStrings=s&&a,this._originalStringElements=i,this._originalElementsOrHash=o,this._modifiedStringElements=r,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(TW._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,i=t.length;n=e&&i>=n&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||n>i){let o;return n<=i?(EW.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o=[new LW(e,0,n,i-n+1)]):e<=t?(EW.Assert(n===i+1,"modifiedStart should only be one more than modifiedEnd"),o=[new LW(e,t-e+1,n,0)]):(EW.Assert(e===t+1,"originalStart should only be one more than originalEnd"),EW.Assert(n===i+1,"modifiedStart should only be one more than modifiedEnd"),o=[]),o}const s=[0],r=[0],l=this.ComputeRecursionPoint(e,t,n,i,s,r,o),a=s[0],d=r[0];if(null!==l)return l;if(!o[0]){const s=this.ComputeDiffRecursive(e,a,n,d,o);let r=[];return r=o[0]?[new LW(a+1,t-(a+1)+1,d+1,i-(d+1)+1)]:this.ComputeDiffRecursive(a+1,t,d+1,i,o),this.ConcatenateChanges(s,r)}return[new LW(e,t-e+1,n,i-n+1)]}WALKTRACE(e,t,n,i,o,s,r,l,a,d,u,c,h,g,p,m,f,_){let v=null,b=null,w=new MW,C=t,y=n,S=h[0]-m[0]-i,x=-1073741824,k=this.m_forwardHistory.length-1;do{const t=S+e;t===C||t=0&&(e=(a=this.m_forwardHistory[k])[0],C=1,y=a.length-1)}while(--k>=-1);if(v=w.getReverseChanges(),_[0]){let e=h[0]+1,t=m[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}b=[new LW(e,c-e+1,t,p-t+1)]}else{w=new MW,C=s,y=r,S=h[0]-m[0]-l,x=1073741824,k=f?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=S+o;e===C||e=d[e+1]?(g=(u=d[e+1]-1)-S-l,u>x&&w.MarkNextChange(),x=u+1,w.AddOriginalElement(u+1,g+1),S=e+1-o):(g=(u=d[e-1])-S-l,u>x&&w.MarkNextChange(),x=u,w.AddModifiedElement(u+1,g+1),S=e-1-o),k>=0&&(o=(d=this.m_reverseHistory[k])[0],C=1,y=d.length-1)}while(--k>=-1);b=w.getChanges()}return this.ConcatenateChanges(v,b)}ComputeRecursionPoint(e,t,n,i,o,s,r){let l=0,a=0,d=0,u=0,c=0,h=0;e--,n--,o[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const g=t-e+(i-n),p=g+1,m=new Int32Array(p),f=new Int32Array(p),_=i-n,v=t-e,b=e-n,w=t-i,C=(v-_)%2==0;m[_]=e,f[v]=t,r[0]=!1;for(let y=1;y<=g/2+1;y++){let g=0,S=0;d=this.ClipDiagonalBound(_-y,y,_,p),u=this.ClipDiagonalBound(_+y,y,_,p);for(let e=d;e<=u;e+=2){l=e===d||eg+S&&(g=l,S=a),!C&&Math.abs(e-v)<=y-1&&l>=f[e])return o[0]=l,s[0]=a,n<=f[e]&&y<=1448?this.WALKTRACE(_,d,u,b,v,c,h,w,m,f,l,t,o,a,i,s,C,r):null}const x=(g-e+(S-n)-y)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(g,x))return r[0]=!0,o[0]=g,s[0]=S,x>0&&y<=1448?this.WALKTRACE(_,d,u,b,v,c,h,w,m,f,l,t,o,a,i,s,C,r):(e++,n++,[new LW(e,t-e+1,n,i-n+1)]);c=this.ClipDiagonalBound(v-y,y,v,p),h=this.ClipDiagonalBound(v+y,y,v,p);for(let g=c;g<=h;g+=2){l=g===c||g=f[g+1]?f[g+1]-1:f[g-1],a=l-(g-v)-w;const p=l;for(;l>e&&a>n&&this.ElementsAreEqual(l,a);)l--,a--;if(f[g]=l,C&&Math.abs(g-_)<=y&&l<=m[g])return o[0]=l,s[0]=a,p>=m[g]&&y<=1448?this.WALKTRACE(_,d,u,b,v,c,h,w,m,f,l,t,o,a,i,s,C,r):null}if(y<=1447){let e=new Int32Array(u-d+2);e[0]=_-d+1,IW.Copy2(m,d,e,1,u-d+1),this.m_forwardHistory.push(e),e=new Int32Array(h-c+2),e[0]=v-c+1,IW.Copy2(f,c,e,1,h-c+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(_,d,u,b,v,c,h,w,m,f,l,t,o,a,i,s,C,r)}PrettifyChanges(e){for(let t=0;t0,r=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;t--){const n=e[t];let i=0,o=0;if(t>0){const n=e[t-1];i=n.originalStart+n.originalLength,o=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,r=n.modifiedLength>0;let l=0,a=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,d=n.modifiedStart-e;if(ta&&(a=u,l=e)}n.originalStart-=l,n.modifiedStart-=l;const d=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],d)&&(e[t-1]=d[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t0&&n>l&&(l=n,a=t,d=e)}return l>0?[a,d]:null}_contiguousSequenceScore(e,t,n){let i=0;for(let o=0;o=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)}ConcatenateChanges(e,t){const n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const i=new Array(e.length+t.length-1);return IW.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],IW.Copy(t,1,i,e.length,t.length-1),i}{const n=new Array(e.length+t.length);return IW.Copy(e,0,n,0,e.length),IW.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(EW.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),EW.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const i=e.originalStart;let o=e.originalLength;const s=e.modifiedStart;let r=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(r=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new LW(i,o,s,r),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,i){if(e>=0&&et&&(t=s),o>n&&(n=o),r>n&&(n=r)}t++,n++;const i=new RW(n,t,0);for(let t=0,n=e.length;t=this._maxCharCode?0:this._states.get(e,t)}}let OW=null,FW=null;class BW{static _createLink(e,t,n,i,o){let s=o-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>i);if(i>0){const e=t.charCodeAt(i-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:s+2},url:t.substring(i,s+1)}}static computeLinks(e,t=function(){return null===OW&&(OW=new PW([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),OW}()){const n=function(){if(null===FW){FW=new Kw(0);const e=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let t=0;t=0?(i+=n?1:-1,i<0?i=e.length-1:i%=e.length,e[i]):null}}var VW,HW,zW,UW,KW,jW,qW,$W,GW,ZW,YW,XW,QW,JW,eV,tV,nV,iV,oV,sV,rV,lV,aV,dV,uV,cV,hV,gV,pV,mV,fV,_V,vV,bV,wV,CV,yV,SV,xV,kV,LV,DV,NV,EV;WW.INSTANCE=new WW,function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(VW||(VW={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(HW||(HW={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(zW||(zW={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(UW||(UW={})),function(e){e[e.Deprecated=1]="Deprecated"}(KW||(KW={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(jW||(jW={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(qW||(qW={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}($W||($W={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(GW||(GW={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(ZW||(ZW={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(YW||(YW={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.definitionLinkOpensInPeek=88]="definitionLinkOpensInPeek",e[e.quickSuggestions=89]="quickSuggestions",e[e.quickSuggestionsDelay=90]="quickSuggestionsDelay",e[e.readOnly=91]="readOnly",e[e.readOnlyMessage=92]="readOnlyMessage",e[e.renameOnType=93]="renameOnType",e[e.renderControlCharacters=94]="renderControlCharacters",e[e.renderFinalNewline=95]="renderFinalNewline",e[e.renderLineHighlight=96]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=97]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=98]="renderValidationDecorations",e[e.renderWhitespace=99]="renderWhitespace",e[e.revealHorizontalRightPadding=100]="revealHorizontalRightPadding",e[e.roundedSelection=101]="roundedSelection",e[e.rulers=102]="rulers",e[e.scrollbar=103]="scrollbar",e[e.scrollBeyondLastColumn=104]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=105]="scrollBeyondLastLine",e[e.scrollPredominantAxis=106]="scrollPredominantAxis",e[e.selectionClipboard=107]="selectionClipboard",e[e.selectionHighlight=108]="selectionHighlight",e[e.selectOnLineNumbers=109]="selectOnLineNumbers",e[e.showFoldingControls=110]="showFoldingControls",e[e.showUnused=111]="showUnused",e[e.snippetSuggestions=112]="snippetSuggestions",e[e.smartSelect=113]="smartSelect",e[e.smoothScrolling=114]="smoothScrolling",e[e.stickyScroll=115]="stickyScroll",e[e.stickyTabStops=116]="stickyTabStops",e[e.stopRenderingLineAfter=117]="stopRenderingLineAfter",e[e.suggest=118]="suggest",e[e.suggestFontSize=119]="suggestFontSize",e[e.suggestLineHeight=120]="suggestLineHeight",e[e.suggestOnTriggerCharacters=121]="suggestOnTriggerCharacters",e[e.suggestSelection=122]="suggestSelection",e[e.tabCompletion=123]="tabCompletion",e[e.tabIndex=124]="tabIndex",e[e.unicodeHighlighting=125]="unicodeHighlighting",e[e.unusualLineTerminators=126]="unusualLineTerminators",e[e.useShadowDOM=127]="useShadowDOM",e[e.useTabStops=128]="useTabStops",e[e.wordBreak=129]="wordBreak",e[e.wordSegmenterLocales=130]="wordSegmenterLocales",e[e.wordSeparators=131]="wordSeparators",e[e.wordWrap=132]="wordWrap",e[e.wordWrapBreakAfterCharacters=133]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=134]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=135]="wordWrapColumn",e[e.wordWrapOverride1=136]="wordWrapOverride1",e[e.wordWrapOverride2=137]="wordWrapOverride2",e[e.wrappingIndent=138]="wrappingIndent",e[e.wrappingStrategy=139]="wrappingStrategy",e[e.showDeprecated=140]="showDeprecated",e[e.inlayHints=141]="inlayHints",e[e.editorClassName=142]="editorClassName",e[e.pixelRatio=143]="pixelRatio",e[e.tabFocusMode=144]="tabFocusMode",e[e.layoutInfo=145]="layoutInfo",e[e.wrappingInfo=146]="wrappingInfo",e[e.defaultColorDecorators=147]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=148]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=149]="inlineCompletionsAccessibilityVerbose"}(XW||(XW={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(QW||(QW={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(JW||(JW={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(eV||(eV={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(tV||(tV={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(nV||(nV={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(iV||(iV={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(oV||(oV={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(sV||(sV={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(rV||(rV={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(lV||(lV={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(aV||(aV={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(dV||(dV={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(uV||(uV={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(cV||(cV={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(hV||(hV={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(gV||(gV={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(pV||(pV={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(mV||(mV={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(fV||(fV={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(_V||(_V={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(vV||(vV={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(bV||(bV={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(wV||(wV={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(CV||(CV={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(yV||(yV={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(SV||(SV={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(xV||(xV={})),function(e){e[e.Deprecated=1]="Deprecated"}(kV||(kV={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(LV||(LV={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(DV||(DV={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(NV||(NV={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(EV||(EV={}));class IV{static chord(e,t){return ye(e,t)}}function MV(){return{editor:void 0,languages:void 0,CancellationTokenSource:Tt,Emitter:Ct,KeyCode:rV,KeyMod:IV,Position:cd,Range:nc,Selection:ic,SelectionDirection:CV,MarkerSeverity:lV,MarkerTag:aV,Uri:Io,Token:pC}}IV.CtrlCmd=2048,IV.Shift=1024,IV.Alt=512,IV.WinCtrl=256;class TV{static computeUnicodeHighlights(e,t,n){const i=n?n.startLineNumber:1,o=n?n.endLineNumber:e.getLineCount(),s=new AV(t),r=s.getCandidateCodePoints();let l;l="allNonBasicAscii"===r?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(`[${ri(Array.from(r).map((e=>String.fromCodePoint(e))).join(""))}]`,"g");const a=new eC(null,l),d=[];let u,c=!1,h=0,g=0,p=0;e:for(let t=i,n=o;t<=n;t++){const n=e.getLineContent(t),i=n.length;a.reset(0);do{if(u=a.next(n),u){let e=u.index,o=u.index+u[0].length;e>0&&Li(n.charCodeAt(e-1))&&e--,o+1=n){c=!0;break e}d.push(new nc(t,e+1,t,o+1))}}}while(u)}return{ranges:d,hasMore:c,ambiguousCharacterCount:h,invisibleCharacterCount:g,nonBasicAsciiCharacterCount:p}}static computeUnicodeHighlightReason(e,t){const n=new AV(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const i=e.codePointAt(0),o=n.ambiguousCharacters.getPrimaryConfusable(i),s=Gi.getLocales().filter((e=>!Gi.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(i)));return{kind:0,confusableWith:String.fromCodePoint(o),notAmbiguousInLocales:s}}case 1:return{kind:2}}}}class AV{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=Gi.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of Zi.codePoints)RV(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let i=!1,o=!1;if(t)for(const e of t){const t=e.codePointAt(0),n=Fi(e);i=i||n,n||this.ambiguousCharacters.isAmbiguous(t)||Zi.isInvisibleCharacter(t)||(o=!0)}return!i&&o?0:this.options.invisibleCharacters&&!RV(e)&&Zi.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}}function RV(e){return" "===e||"\n"===e||"\t"===e}class PV{constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}}class OV{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}class FV{static inverse(e,t,n){const i=[];let o=1,s=1;for(const t of e){const e=new FV(new wh(o,t.original.startLineNumber),new wh(s,t.modified.startLineNumber));e.modified.isEmpty||i.push(e),o=t.original.endLineNumberExclusive,s=t.modified.endLineNumberExclusive}const r=new FV(new wh(o,t+1),new wh(s,n+1));return r.modified.isEmpty||i.push(r),i}static clip(e,t,n){const i=[];for(const o of e){const e=o.original.intersect(t),s=o.modified.intersect(n);e&&!e.isEmpty&&s&&!s.isEmpty&&i.push(new FV(e,s))}return i}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new FV(this.modified,this.original)}join(e){return new FV(this.original.join(e.original),this.modified.join(e.modified))}}class BV extends FV{static fromRangeMappings(e){const t=wh.join(e.map((e=>wh.fromRangeInclusive(e.originalRange)))),n=wh.join(e.map((e=>wh.fromRangeInclusive(e.modifiedRange))));return new BV(t,n,e)}constructor(e,t,n){super(e,t),this.innerChanges=n}flip(){var e;return new BV(this.modified,this.original,null===(e=this.innerChanges)||void 0===e?void 0:e.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new BV(this.original,this.modified,[new WV(this.original.toExclusiveRange(),this.modified.toExclusiveRange())])}}class WV{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new WV(this.modifiedRange,this.originalRange)}}class VV{computeDiff(e,t,n){var i;const o=new qV(e,t,{maxComputationTime:n.maxComputationTimeMs,shouldIgnoreTrimWhitespace:n.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),s=[];let r=null;for(const e of o.changes){let t,n;t=0===e.originalEndLineNumber?new wh(e.originalStartLineNumber+1,e.originalStartLineNumber+1):new wh(e.originalStartLineNumber,e.originalEndLineNumber+1),n=0===e.modifiedEndLineNumber?new wh(e.modifiedStartLineNumber+1,e.modifiedStartLineNumber+1):new wh(e.modifiedStartLineNumber,e.modifiedEndLineNumber+1);let o=new BV(t,n,null===(i=e.charChanges)||void 0===i?void 0:i.map((e=>new WV(new nc(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new nc(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));r&&(r.modified.endLineNumberExclusive!==o.modified.startLineNumber&&r.original.endLineNumberExclusive!==o.original.startLineNumber||(o=new BV(r.original.join(o.original),r.modified.join(o.modified),r.innerChanges&&o.innerChanges?r.innerChanges.concat(o.innerChanges):void 0),s.pop())),s.push(o),r=o}return pu((()=>mu(s,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class KV{constructor(e,t,n,i,o,s,r,l){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=i,this.modifiedStartLineNumber=o,this.modifiedStartColumn=s,this.modifiedEndLineNumber=r,this.modifiedEndColumn=l}static createFromDiffChange(e,t,n){const i=t.getStartLineNumber(e.originalStart),o=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),r=t.getEndColumn(e.originalStart+e.originalLength-1),l=n.getStartLineNumber(e.modifiedStart),a=n.getStartColumn(e.modifiedStart),d=n.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),u=n.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new KV(i,o,s,r,l,a,d,u)}}class jV{constructor(e,t,n,i,o){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=i,this.charChanges=o}static createFromDiffResult(e,t,n,i,o,s,r){let l,a,d,u,c;if(0===t.originalLength?(l=n.getStartLineNumber(t.originalStart)-1,a=0):(l=n.getStartLineNumber(t.originalStart),a=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(d=i.getStartLineNumber(t.modifiedStart)-1,u=0):(d=i.getStartLineNumber(t.modifiedStart),u=i.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&o()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),l=i.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&l.getElements().length>0){let e=HV(s,l,o,!0).changes;r&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let i=1,o=e.length;i1&&r>1&&e.charCodeAt(n-2)===t.charCodeAt(r-2);)n--,r--;(n>1||r>1)&&this._pushTrimWhitespaceCharChange(i,o+1,1,n,s+1,1,r)}{let n=GV(e,1),r=GV(t,1);const l=e.length+1,a=t.length+1;for(;n!0;const t=Date.now();return()=>Date.now()-t{n.push(XV.fromOffsetPairs(e?e.getEndExclusives():QV.zero,i?i.getStarts():new QV(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),n}static fromOffsetPairs(e,t){return new XV(new ch(e.offset1,t.offset1),new ch(e.offset2,t.offset2))}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new XV(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new XV(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new XV(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new XV(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new XV(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),n=this.seq2Range.intersect(e.seq2Range);if(t&&n)return new XV(t,n)}getStarts(){return new QV(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new QV(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class QV{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new QV(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}QV.zero=new QV(0,0),QV.max=new QV(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class JV{isValid(){return!0}}JV.instance=new JV;class eH{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new Re("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&a>0&&3===s.get(l-1,a-1)&&(c+=r.get(l-1,a-1)),c+=i?i(l,a):1):c=-1;const h=Math.max(d,u,c);if(h===c){const e=l>0&&a>0?r.get(l-1,a-1):0;r.set(l,a,e+1),s.set(l,a,3)}else h===d?(r.set(l,a,0),s.set(l,a,1)):h===u&&(r.set(l,a,0),s.set(l,a,2));o.set(l,a,h)}const l=[];let a=e.length,d=t.length;function u(e,t){e+1===a&&t+1===d||l.push(new XV(new ch(e+1,a),new ch(t+1,d))),a=e,d=t}let c=e.length-1,h=t.length-1;for(;c>=0&&h>=0;)3===s.get(c,h)?(u(c,h),c--,h--):1===s.get(c,h)?c--:h--;return u(-1,-1),l.reverse(),new YV(l,!1)}}class sH{compute(e,t,n=JV.instance){if(0===e.length||0===t.length)return YV.trivial(e,t);const i=e,o=t;function s(e,t){for(;ei.length||h>o.length)continue;const g=s(c,h);l.set(d,g);const p=c===r?a.get(d+1):a.get(d-1);if(a.set(d,g!==c?new rH(p,c,h,g-c):p),l.get(d)===i.length&&l.get(d)-d===o.length)break e}}let u=a.get(d);const c=[];let h=i.length,g=o.length;for(;;){const e=u?u.x+u.length:0,t=u?u.y+u.length:0;if(e===h&&t===g||c.push(new XV(new ch(e,h),new ch(t,g))),!u)break;h=u.x,g=u.y,u=u.prev}return c.reverse(),new YV(c,!1)}}class rH{constructor(e,t,n,i){this.prev=e,this.x=t,this.y=n,this.length=i}}class lH{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class aH{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class dH{constructor(e,t,n){this.lines=e,this.considerWhitespaceChanges=n,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let i=!1;t.start>0&&t.endExclusive>=e.length&&(t=new ch(t.start-1,t.endExclusive),i=!0),this.lineRange=t,this.firstCharOffsetByLine[0]=0;for(let t=this.lineRange.start;tString.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=gH(e>0?this.elements[e-1]:-1),n=gH(et<=e));return new cd(this.lineRange.start+t+1,e-this.firstCharOffsetByLine[t]+this.additionalOffsetByLine[t]+1)}translateRange(e){return nc.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!uH(this.elements[e]))return;let t=e;for(;t>0&&uH(this.elements[t-1]);)t--;let n=e;for(;nt<=e.start)))&&void 0!==t?t:0,o=null!==(n=function(t,n){const i=fh(t,(t=>e.endExclusive<=t));return i===t.length?void 0:t[i]}(this.firstCharOffsetByLine))&&void 0!==n?n:this.elements.length;return new ch(i,o)}}function uH(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const cH={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function hH(e){return cH[e]}function gH(e){return 10===e?8:13===e?7:nH(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function pH(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const i=(new sH).compute(new dH([e],new ch(0,1),!1),new dH([t],new ch(0,1),!1),n);let o=0;const s=XV.invert(i.diffs,e.length);for(const t of s)t.seq1Range.forEach((t=>{nH(e.charCodeAt(t))||o++}));const r=function(t){let n=0;for(let i=0;it.length?e:t);return o/r>.6&&r>10}function mH(e,t,n){let i=n;return i=fH(e,t,i),i=fH(e,t,i),i=function(e,t,n){if(!e.getBoundaryScore||!t.getBoundaryScore)return n;for(let i=0;i0?n[i-1]:void 0,s=n[i],r=i+10&&(r=r.delta(l))}o.push(r)}return i.length>0&&o.push(i[i.length-1]),o}function _H(e,t,n,i,o){let s=1;for(;e.seq1Range.start-s>=i.start&&e.seq2Range.start-s>=o.start&&n.isStronglyEqual(e.seq2Range.start-s,e.seq2Range.endExclusive-s)&&s<100;)s++;s--;let r=0;for(;e.seq1Range.start+ra&&(a=d,l=i)}return e.delta(l)}class vH{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:bH(this.lines[e-1]))+(e===this.lines.length?0:bH(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function bH(e){let t=0;for(;te===t)))return new PV([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new PV([new BV(new wh(1,e.length+1),new wh(1,t.length+1),[new WV(new nc(1,1,e.length,e[0].length+1),new nc(1,1,t.length,t[0].length+1))])],[],!1);const i=0===n.maxComputationTimeMs?JV.instance:new eH(n.maxComputationTimeMs),o=!n.ignoreTrimWhitespace,s=new Map;function r(e){let t=s.get(e);return void 0===t&&(t=s.size,s.set(e,t)),t}const l=e.map((e=>r(e.trim()))),a=t.map((e=>r(e.trim()))),d=new vH(l,e),u=new vH(a,t),c=(()=>d.length+u.length<1700?this.dynamicProgrammingDiffing.compute(d,u,i,((n,i)=>e[n]===t[i]?0===t[i].length?.1:1+Math.log(1+t[i].length):.99)):this.myersDiffingAlgorithm.compute(d,u))();let h=c.diffs,g=c.hitTimeout;h=mH(d,u,h),h=function(e,t,n){let i=n;if(0===i.length)return i;let o,s=0;do{o=!1;const r=[i[0]];for(let l=1;l5||n.seq1Range.length+n.seq2Range.length>5)}u(d,a)?(o=!0,r[r.length-1]=r[r.length-1].join(a)):r.push(a)}i=r}while(s++<10&&o);return i}(d,0,h);const p=[],m=n=>{if(o)for(let s=0;sn.seq1Range.start-f==n.seq2Range.start-_)),m(n.seq1Range.start-f),f=n.seq1Range.endExclusive,_=n.seq2Range.endExclusive;const s=this.refineDiff(e,t,n,i,o);s.hitTimeout&&(g=!0);for(const e of s.mappings)p.push(e)}m(e.length-f);const v=CH(p,e,t);let b=[];return n.computeMoves&&(b=this.computeMoves(v,e,t,l,a,i,o)),pu((()=>{function n(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const n=t[e.lineNumber-1];return!(e.column<1||e.column>n.length+1)}function i(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1||e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const o of v){if(!o.innerChanges)return!1;for(const i of o.innerChanges)if(!(n(i.modifiedRange.getStartPosition(),t)&&n(i.modifiedRange.getEndPosition(),t)&&n(i.originalRange.getStartPosition(),e)&&n(i.originalRange.getEndPosition(),e)))return!1;if(!i(o.modified,t)||!i(o.original,e))return!1}return!0})),new PV(v,b,g)}computeMoves(e,t,n,i,o,s,r){return function(e,t,n,i,o,s){let{moves:r,excludedChanges:l}=function(e,t,n,i){const o=[],s=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new iH(e.original,t,e))),r=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new iH(e.modified,n,e)))),l=new Set;for(const e of s){let t,n=-1;for(const i of r){const o=e.computeSimilarity(i);o>n&&(n=o,t=i)}if(n>.9&&t&&(r.delete(t),o.push(new FV(e.range,t.range)),l.add(e.source),l.add(t.source)),!i.isValid())return{moves:o,excludedChanges:l}}return{moves:o,excludedChanges:l}}(e,t,n,s);if(!s.isValid())return[];const a=function(e,t,n,i,o,s){const r=[],l=new sl;for(const n of e)for(let e=n.original.startLineNumber;ee.modified.startLineNumber),Xc));for(const t of e){let e=[];for(let i=t.modified.startLineNumber;i{for(const n of e)if(n.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&n.modifiedLineRange.endLineNumberExclusive+1===o.endLineNumberExclusive)return n.originalLineRange=new wh(n.originalLineRange.startLineNumber,t.endLineNumberExclusive),n.modifiedLineRange=new wh(n.modifiedLineRange.startLineNumber,o.endLineNumberExclusive),void s.push(n);const n={modifiedLineRange:o,originalLineRange:t};a.push(n),s.push(n)})),e=s}if(!s.isValid())return[]}a.sort(Jc(Yc((e=>e.modifiedLineRange.length),Xc)));const d=new Ch,u=new Ch;for(const e of a){const t=e.modifiedLineRange.startLineNumber-e.originalLineRange.startLineNumber,n=d.subtractFrom(e.modifiedLineRange),i=u.subtractFrom(e.originalLineRange).getWithDelta(t),o=n.getIntersection(i);for(const e of o.ranges){if(e.length<3)continue;const n=e,i=e.delta(-t);r.push(new FV(i,n)),d.addRange(n),u.addRange(i)}}r.sort(Yc((e=>e.original.startLineNumber),Xc));const c=new _h(e);for(let t=0;te.original.startLineNumber<=n.original.startLineNumber)),a=ph(e,(e=>e.modified.startLineNumber<=n.modified.startLineNumber)),h=Math.max(n.original.startLineNumber-l.original.startLineNumber,n.modified.startLineNumber-a.modified.startLineNumber),g=c.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumberi.length||t>o.length)break;if(d.contains(t)||u.contains(e))break;if(!pH(i[e-1],o[t-1],s))break}for(f>0&&(u.addRange(new wh(n.original.startLineNumber-f,n.original.startLineNumber)),d.addRange(new wh(n.modified.startLineNumber-f,n.modified.startLineNumber))),_=0;_i.length||t>o.length)break;if(d.contains(t)||u.contains(e))break;if(!pH(i[e-1],o[t-1],s))break}_>0&&(u.addRange(new wh(n.original.endLineNumberExclusive,n.original.endLineNumberExclusive+_)),d.addRange(new wh(n.modified.endLineNumberExclusive,n.modified.endLineNumberExclusive+_))),(f>0||_>0)&&(r[t]=new FV(new wh(n.original.startLineNumber-f,n.original.endLineNumberExclusive+_),new wh(n.modified.startLineNumber-f,n.modified.endLineNumberExclusive+_)))}return r}(e.filter((e=>!l.has(e))),i,o,t,n,s);return qc(r,a),r=function(e){if(0===e.length)return e;e.sort(Yc((e=>e.original.startLineNumber),Xc));const t=[e[0]];for(let n=1;n=0&&r>=0&&s+r<=2?t[t.length-1]=i.join(o):t.push(o)}return t}(r),r=r.filter((e=>{const n=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return n.join("\n").length>=15&&function(e,t){let n=0;for(const t of e)t.length>=2&&n++;return n}(n)>=2})),r=function(e,t){const n=new _h(e);return t.filter((t=>(n.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumber{const i=CH(this.refineDiff(t,n,new XV(e.original.toOffsetRange(),e.modified.toOffsetRange()),s,r).mappings,t,n,!0);return new OV(e,i)}))}refineDiff(e,t,n,i,o){const s=new dH(e,n.seq1Range,o),r=new dH(t,n.seq2Range,o),l=s.length+r.length<500?this.dynamicProgrammingDiffing.compute(s,r,i):this.myersDiffingAlgorithm.compute(s,r,i);let a=l.diffs;return a=mH(s,r,a),a=function(e,t,n){const i=XV.invert(n,e.length),o=[];let s=new QV(0,0);function r(n,r){if(n.offset10;){const n=i[0];if(!n.seq1Range.intersects(d.seq1Range)&&!n.seq2Range.intersects(d.seq2Range))break;const o=e.findWordContaining(n.seq1Range.start),s=t.findWordContaining(n.seq2Range.start),r=new XV(o,s),l=r.intersect(n);if(c+=l.seq1Range.length,h+=l.seq2Range.length,d=d.join(r),!(d.seq1Range.endExclusive>=n.seq1Range.endExclusive))break;i.shift()}c+h<2*(d.seq1Range.length+d.seq2Range.length)/3&&o.push(d),s=d.getEndExclusives()}for(;i.length>0;){const e=i.shift();e.seq1Range.isEmpty||(r(e.getStarts(),e),r(e.getEndExclusives().delta(-1),e))}return function(e,t){const n=[];for(;e.length>0||t.length>0;){const i=e[0],o=t[0];let s;s=i&&(!o||i.seq1Range.start0&&n[n.length-1].seq1Range.endExclusive>=s.seq1Range.start?n[n.length-1]=n[n.length-1].join(s):n.push(s)}return n}(n,o)}(s,r,a),a=function(e,t,n){const i=[];for(const e of n){const t=i[i.length-1];t&&(e.seq1Range.start-t.seq1Range.endExclusive<=2||e.seq2Range.start-t.seq2Range.endExclusive<=2)?i[i.length-1]=new XV(t.seq1Range.join(e.seq1Range),t.seq2Range.join(e.seq2Range)):i.push(e)}return i}(0,0,a),a=function(e,t,n){let i=n;if(0===i.length)return i;let o,s=0;do{o=!1;const l=[i[0]];for(let a=1;a5||o.length>500)return!1;const s=e.getText(o).trim();if(s.length>20||s.split(/\r\n|\r|\n/).length>1)return!1;const r=e.countLinesIn(n.seq1Range),l=n.seq1Range.length,a=t.countLinesIn(n.seq2Range),c=n.seq2Range.length,h=e.countLinesIn(i.seq1Range),g=i.seq1Range.length,p=t.countLinesIn(i.seq2Range),m=i.seq2Range.length;function f(e){return Math.min(e,130)}return Math.pow(Math.pow(f(40*r+l),1.5)+Math.pow(f(40*a+c),1.5),1.5)+Math.pow(Math.pow(f(40*h+g),1.5)+Math.pow(f(40*p+m),1.5),1.5)>74184.96480721243}c(u,d)?(o=!0,l[l.length-1]=l[l.length-1].join(d)):l.push(d)}i=l}while(s++<10&&o);const r=[];return function(e,t){for(let n=0;n{let o=n;function s(e){return e.length>0&&e.trim().length<=3&&n.seq1Range.length+n.seq2Range.length>100}const l=e.extendToFullLines(n.seq1Range),a=e.getText(new ch(l.start,n.seq1Range.start));s(a)&&(o=o.deltaStart(-a.length));const d=e.getText(new ch(n.seq1Range.endExclusive,l.endExclusive));s(d)&&(o=o.deltaEnd(d.length));const u=XV.fromOffsetPairs(t?t.getEndExclusives():QV.zero,i?i.getStarts():QV.max),c=o.intersect(u);r.length>0&&c.getStarts().equals(r[r.length-1].getEndExclusives())?r[r.length-1]=r[r.length-1].join(c):r.push(c)})),r}(s,r,a),{mappings:a.map((e=>new WV(s.translateRange(e.seq1Range),r.translateRange(e.seq2Range)))),hitTimeout:l.hitTimeout}}}function CH(e,t,n,i=!1){const o=[];for(const i of Rc(e.map((e=>function(e,t,n){let i=0,o=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+i<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+i<=e.modifiedRange.endLineNumber&&(o=-1),e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+o&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+o&&(i=1);const s=new wh(e.originalRange.startLineNumber+i,e.originalRange.endLineNumber+1+o),r=new wh(e.modifiedRange.startLineNumber+i,e.modifiedRange.endLineNumber+1+o);return new BV(s,r,[e])}(e,t,n))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=i[0],t=i[i.length-1];o.push(new BV(e.original.join(t.original),e.modified.join(t.modified),i.map((e=>e.innerChanges[0]))))}return pu((()=>{if(!i&&o.length>0){if(o[0].modified.startLineNumber!==o[0].original.startLineNumber)return!1;if(n.length-o[o.length-1].modified.endLineNumberExclusive!=t.length-o[o.length-1].original.endLineNumberExclusive)return!1}return mu(o,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusivee.startColumn){const t={range:e,...TH(i[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&n.push(t)}}}function TH(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(IH,""),hasSeparatorLine:t}}class AH extends AW{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let n=0;nthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{const e=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>e&&(n=e,i=!0)}return i?{lineNumber:t,column:n}:e}}class RH{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}acceptNewModel(e){this._models[e.url]=new AH(Io.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}async computeUnicodeHighlights(e,t,n){const i=this._getModel(e);return i?TV.computeUnicodeHighlights(i,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async findSectionHeaders(e,t){const n=this._getModel(e);return n?function(e,t){var n;let i=[];if(t.findRegionSectionHeaders&&(null===(n=t.foldingRules)||void 0===n?void 0:n.markers)){const n=function(e,t){const n=[],i=e.getLineCount();for(let o=1;o<=i;o++){const i=e.getLineContent(o),s=i.match(t.foldingRules.markers.start);if(s){const e={startLineNumber:o,startColumn:s[0].length+1,endLineNumber:o,endColumn:i.length+1};if(e.endColumn>e.startColumn){const t={range:e,...TH(i.substring(s[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);i=i.concat(n)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let i=1;i<=n;i++)MH(e.getLineContent(i),i,t);return t}(e);i=i.concat(t)}return i}(n,t):[]}async computeDiff(e,t,n,i){const o=this._getModel(e),s=this._getModel(t);return o&&s?RH.computeDiff(o,s,n,i):null}static computeDiff(e,t,n,i){const o="advanced"===i?new wH:new VV,s=e.getLinesContent(),r=t.getLinesContent(),l=o.computeDiff(s,r,n);function a(e){return e.map((e=>{var t;return[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,null===(t=e.innerChanges)||void 0===t?void 0:t.map((e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn]))]}))}return{identical:!(l.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:l.hitTimeout,changes:a(l.changes),moves:l.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,a(e.changes)]))}}static _modelsAreIdentical(e,t){const n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let i=1;i<=n;i++)if(e.getLineContent(i)!==t.getLineContent(i))return!1;return!0}async computeMoreMinimalEdits(e,t,n){const i=this._getModel(e);if(!i)return t;const o=[];let s;t=t.slice(0).sort(((e,t)=>e.range&&t.range?nc.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)));let r=0;for(let e=1;eRH._diffLimit){o.push({range:e,text:r});continue}const a=NW(t,r,n),d=i.offsetAt(nc.lift(e).getStartPosition());for(const e of a){const t=i.positionAt(d+e.originalStart),n=i.positionAt(d+e.originalStart+e.originalLength),s={text:r.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(s.range)!==s.text&&o.push(s)}}return"number"==typeof s&&o.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),o}async computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?BW.computeLinks(e):[]}(t):null}async computeDefaultDocumentColors(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],n=NH(e,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(n.length>0)for(const i of n){const n=i.filter((e=>void 0!==e)),o=n[1],s=n[2];if(!s)continue;let r;if("rgb"===o){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;r=LH(xH(e,i),NH(s,t),!1)}else if("rgba"===o){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=LH(xH(e,i),NH(s,t),!0)}else if("hsl"===o){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;r=DH(xH(e,i),NH(s,t),!1)}else if("hsla"===o){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=DH(xH(e,i),NH(s,t),!0)}else"#"===o&&(r=kH(xH(e,i),o+s));r&&t.push(r)}return t}(e):[]}(t):null}async textualSuggest(e,t,n,i){const o=new mt,s=new RegExp(n,i),r=new Set;e:for(const n of e){const e=this._getModel(n);if(e)for(const n of e.words(s))if(n!==t&&isNaN(Number(n))&&(r.add(n),r.size>RH._suggestionsLimit))break e}return{words:Array.from(r),duration:o.elapsed()}}async computeWordRanges(e,t,n,i){const o=this._getModel(e);if(!o)return Object.create(null);const s=new RegExp(n,i),r=Object.create(null);for(let e=t.startLineNumber;efunction(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},i={};for(const t of e)i[t]=n(t);return i}(n,((e,t)=>this._host.fhr(e,t))),o={host:i,getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,t),Promise.resolve(vc(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}}RH._diffLimit=1e5,RH._suggestionsLimit=1e4,"function"==typeof importScripts&&(globalThis.monaco=MV());const PH=dd("textResourceConfigurationService"),OH=dd("textResourcePropertiesService");var FH=function(e,t){return function(n,i){t(n,i,e)}};function BH(e,t){const n=e.getModel(t);return!!n&&!n.isTooLargeForSyncing()}let WH=class extends lt{constructor(e,t,n,i,o){super(),this._modelService=e,this._workerManager=this._register(new HH(this._modelService,i)),this._logService=n,this._register(o.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(e,t)=>BH(this._modelService,e.uri)?this._workerManager.withWorker().then((t=>t.computeLinks(e.uri))).then((e=>e&&{links:e})):Promise.resolve({links:[]})})),this._register(o.completionProvider.register("*",new VH(this._workerManager,t,this._modelService,i)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return BH(this._modelService,e)}computedUnicodeHighlights(e,t,n){return this._workerManager.withWorker().then((i=>i.computedUnicodeHighlights(e,t,n)))}async computeDiff(e,t,n,i){const o=await this._workerManager.withWorker().then((o=>o.computeDiff(e,t,n,i)));return o?{identical:o.identical,quitEarly:o.quitEarly,changes:s(o.changes),moves:o.moves.map((e=>new OV(new FV(new wh(e[0],e[1]),new wh(e[2],e[3])),s(e[4]))))}:null;function s(e){return e.map((e=>{var t;return new BV(new wh(e[0],e[1]),new wh(e[2],e[3]),null===(t=e[4])||void 0===t?void 0:t.map((e=>new WV(new nc(e[0],e[1],e[2],e[3]),new nc(e[4],e[5],e[6],e[7])))))}))}}computeMoreMinimalEdits(e,t,n=!1){if(Wc(t)){if(!BH(this._modelService,e))return Promise.resolve(t);const i=mt.create(),o=this._workerManager.withWorker().then((i=>i.computeMoreMinimalEdits(e,t,n)));return o.finally((()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),i.elapsed()))),Promise.race([o,Vt(1e3).then((()=>t))])}return Promise.resolve(void 0)}canNavigateValueSet(e){return BH(this._modelService,e)}navigateValueSet(e,t,n){return this._workerManager.withWorker().then((i=>i.navigateValueSet(e,t,n)))}canComputeWordRanges(e){return BH(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then((n=>n.computeWordRanges(e,t)))}findSectionHeaders(e,t){return this._workerManager.withWorker().then((n=>n.findSectionHeaders(e,t)))}};WH=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([FH(0,hd),FH(1,PH),FH(2,Tu),FH(3,Qg),FH(4,wx)],WH);class VH{constructor(e,t,n,i){this.languageConfigurationService=i,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){const n=this._configurationService.getValue(e.uri,t,"editor");if("off"===n.wordBasedSuggestions)return;const i=[];if("currentDocument"===n.wordBasedSuggestions)BH(this._modelService,e.uri)&&i.push(e.uri);else for(const t of this._modelService.getModels())BH(this._modelService,t.uri)&&(t===e?i.unshift(t.uri):"allDocuments"!==n.wordBasedSuggestions&&t.getLanguageId()!==e.getLanguageId()||i.push(t.uri));if(0===i.length)return;const o=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),s=e.getWordAtPosition(t),r=s?new nc(t.lineNumber,s.startColumn,t.lineNumber,s.endColumn):nc.fromPositions(t),l=r.setEndPosition(t.lineNumber,t.column),a=await this._workerManager.withWorker(),d=await a.textualSuggest(i,null==s?void 0:s.word,o);return d?{duration:d.duration,suggestions:d.words.map((e=>({kind:18,label:e,insertText:e,range:{insert:l,replace:r}})))}:void 0}}class HH extends lt{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=(new Date).getTime(),this._register(new ys).cancelAndSet((()=>this._checkStopIdleWorker()),Math.round(15e4),o),this._register(this._modelService.onModelRemoved((e=>this._checkStopEmptyWorker())))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&(new Date).getTime()-this._lastWorkerUsedTime>3e5&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new jH(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class zH extends lt{constructor(e,t,n){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){const e=new Kt;e.cancelAndSet((()=>this._checkStopModelSync()),Math.round(3e4)),this._register(e)}}dispose(){for(const e in this._syncedModels)it(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(const n of e){const e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(const e of t)this._stopModelSync(e)}_beginModelSync(e,t){const n=this._modelService.getModel(e);if(!n)return;if(!t&&n.isTooLargeForSyncing())return;const i=e.toString();this._proxy.acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});const o=new rt;o.add(n.onDidChangeContent((e=>{this._proxy.acceptModelChanged(i.toString(),e)}))),o.add(n.onWillDispose((()=>{this._stopModelSync(i)}))),o.add(st((()=>{this._proxy.acceptRemovedModel(i)}))),this._syncedModels[i]=o}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],it(t)}}class UH{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class KH{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}}class jH extends lt{constructor(e,t,n,i){super(),this.languageConfigurationService=i,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new kW(n),this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new wW(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new KH(this)))}catch(e){gW(e),this._worker=new UH(new RH(new KH(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,(e=>(gW(e),this._worker=new UH(new RH(new KH(this),null)),this._getOrCreateWorker().getProxyObject())))}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new zH(e,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(e,t=!1){return this._disposed?Promise.reject(function(){const e=new Error(De);return e.name=e.message,e}()):this._getProxy().then((n=>(this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n)))}computedUnicodeHighlights(e,t,n){return this._withSyncedResources([e]).then((i=>i.computeUnicodeHighlights(e.toString(),t,n)))}computeDiff(e,t,n,i){return this._withSyncedResources([e,t],!0).then((o=>o.computeDiff(e.toString(),t.toString(),n,i)))}computeMoreMinimalEdits(e,t,n){return this._withSyncedResources([e]).then((i=>i.computeMoreMinimalEdits(e.toString(),t,n)))}computeLinks(e){return this._withSyncedResources([e]).then((t=>t.computeLinks(e.toString())))}computeDefaultDocumentColors(e){return this._withSyncedResources([e]).then((t=>t.computeDefaultDocumentColors(e.toString())))}async textualSuggest(e,t,n){const i=await this._withSyncedResources(e),o=n.source,s=n.flags;return i.textualSuggest(e.map((e=>e.toString())),t,o,s)}computeWordRanges(e,t){return this._withSyncedResources([e]).then((n=>{const i=this._modelService.getModel(e);if(!i)return Promise.resolve(null);const o=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition(),s=o.source,r=o.flags;return n.computeWordRanges(e.toString(),t,s,r)}))}navigateValueSet(e,t,n){return this._withSyncedResources([e]).then((i=>{const o=this._modelService.getModel(e);if(!o)return null;const s=this.languageConfigurationService.getLanguageConfiguration(o.getLanguageId()).getWordDefinition(),r=s.source,l=s.flags;return i.navigateValueSet(e.toString(),t,n,r,l)}))}findSectionHeaders(e,t){return this._withSyncedResources([e]).then((n=>n.findSectionHeaders(e.toString(),t)))}dispose(){super.dispose(),this._disposed=!0}}const qH=[];function $H(e){qH.push(e)}function GH(){return qH.slice(0)}var ZH=function(e,t){return function(n,i){t(n,i,e)}};class YH{constructor(e,t){this._editorWorkerClient=new jH(e,!1,"editorWorkerService",t)}async provideDocumentColors(e,t){return this._editorWorkerClient.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,n){const i=t.range,o=t.color,s=o.alpha,r=new lh(new oh(Math.round(255*o.red),Math.round(255*o.green),Math.round(255*o.blue),s)),l=s?lh.Format.CSS.formatRGB(r):lh.Format.CSS.formatRGBA(r),a=s?lh.Format.CSS.formatHSL(r):lh.Format.CSS.formatHSLA(r),d=s?lh.Format.CSS.formatHex(r):lh.Format.CSS.formatHexA(r),u=[];return u.push({label:l,textEdit:{range:i,text:l}}),u.push({label:a,textEdit:{range:i,text:a}}),u.push({label:d,textEdit:{range:i,text:d}}),u}}let XH=class extends lt{constructor(e,t,n){super(),this._register(n.colorProvider.register("*",new YH(e,t)))}};async function QH(e,t,n,i=!0){return iz(new ez,e,t,n,i)}function JH(e,t,n,i){return Promise.resolve(n.provideColorPresentations(e,t,i))}XH=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([ZH(0,hd),ZH(1,Qg),ZH(2,wx)],XH),$H(XH);class ez{constructor(){}async compute(e,t,n,i){const o=await e.provideDocumentColors(t,n);if(Array.isArray(o))for(const t of o)i.push({colorInfo:t,provider:e});return Array.isArray(o)}}class tz{constructor(){}async compute(e,t,n,i){const o=await e.provideDocumentColors(t,n);if(Array.isArray(o))for(const e of o)i.push({range:e.range,color:[e.color.red,e.color.green,e.color.blue,e.color.alpha]});return Array.isArray(o)}}class nz{constructor(e){this.colorInfo=e}async compute(e,t,n,i){const o=await e.provideColorPresentations(t,this.colorInfo,It.None);return Array.isArray(o)&&i.push(...o),Array.isArray(o)}}async function iz(e,t,n,i,o){let s,r=!1;const l=[],a=t.ordered(n);for(let t=a.length-1;t>=0;t--){const o=a[t];if(o instanceof YH)s=o;else try{await e.compute(o,n,i,l)&&(r=!0)}catch(e){ke(e)}}return r?l:s&&o?(await e.compute(s,n,i,l),l):[]}function oz(e,t){const{colorProvider:n}=e.get(wx),i=e.get(hd).getModel(t);if(!i)throw Ie();return{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:e.get(pg).getValue("editor.defaultColorDecorators",{resource:t})}}Cd.registerCommand("_executeDocumentColorProvider",(function(e,...t){const[n]=t;if(!(n instanceof Io))throw Ie();const{model:i,colorProviderRegistry:o,isDefaultColorDecoratorsEnabled:s}=oz(e,n);return iz(new tz,o,i,It.None,s)})),Cd.registerCommand("_executeColorPresentationProvider",(function(e,...t){const[n,i]=t,{uri:o,range:s}=i;if(!(o instanceof Io&&Array.isArray(n)&&4===n.length&&nc.isIRange(s)))throw Ie();const{model:r,colorProviderRegistry:l,isDefaultColorDecoratorsEnabled:a}=oz(e,o),[d,u,c,h]=n;return iz(new nz({range:s,color:{red:d,green:u,blue:c,alpha:h}}),l,r,It.None,a)}));var sz,rz=function(e,t){return function(n,i){t(n,i,e)}};const lz=Object.create({});let az=sz=class extends lt{constructor(e,t,n,i){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=n,this._localToDispose=this._register(new rt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new KT(this._editor),this._decoratorLimitReporter=new dz,this._colorDecorationClassRefs=this._register(new rt),this._debounceInformation=i.for(n.colorProvider,"Document Colors",{min:sz.RECOMPUTE_TIME}),this._register(e.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(e.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(n.colorProvider.onDidChange((()=>this.updateColors()))),this._register(e.onDidChangeConfiguration((e=>{const t=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147);const n=t!==this._isColorDecoratorsEnabled||e.hasChanged(21),i=e.hasChanged(147);(n||i)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),n=this._configurationService.getValue(t);if(n&&"object"==typeof n){const e=n.colorDecorators;if(e&&void 0!==e.enable&&!e.enable)return e.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 Ut,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(e)))}))),this.beginCompute())}async beginCompute(){this._computePromise=Pt((async e=>{const t=this._editor.getModel();if(!t)return[];const n=new mt(!1),i=await QH(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,n.elapsed()),i}));try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){xe(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((e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:My.EMPTY})));this._editor.changeDecorations((n=>{this._decorationsIds=n.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach(((t,n)=>this._colorDatas.set(t,e[n])))}))}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],n=this._editor.getOption(21);for(let i=0;ithis._colorDatas.has(e.id)));return 0===n.length?null:this._colorDatas.get(n[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};az.ID="editor.contrib.colorDetector",az.RECOMPUTE_TIME=1e3,az=sz=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([rz(1,pg),rz(2,wx),rz(3,sW)],az);class dz{constructor(){this._onDidChange=new Ct,this._computed=0,this._limited=!1}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}Zu(az.ID,az,1);class uz{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,n){this.presentationIndex=n,this._onColorFlushed=new Ct,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Ct,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Ct,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 n=-1;for(let e=0;e({format:e.format,location:e.location.toString()})))}},e.fromJSONObject=function(e){const t=e=>la(e)?e:void 0;if(e&&Array.isArray(e.src)&&e.src.every((e=>la(e.format)&&la(e.location))))return{weight:t(e.weight),style:t(e.style),src:e.src.map((e=>({format:e.format,location:Io.parse(e.location)})))}}}(hz||(hz={}));const mz=new class{constructor(){this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:_(0,"The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:_(0,"The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${ka.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,n,i){const o=this.iconsById[e];if(o){if(n&&!o.description){o.description=n,this.iconSchema.properties[e].markdownDescription=`${n} $(${e})`;const t=this.iconReferenceSchema.enum.indexOf(e);-1!==t&&(this.iconReferenceSchema.enumDescriptions[t]=n),this._onDidChange.fire()}return o}const s={id:e,description:n,defaults:t,deprecationMessage:i};this.iconsById[e]=s;const r={$ref:"#/definitions/icons"};return i&&(r.deprecationMessage=i),n&&(r.markdownDescription=`${n}: $(${e})`),this.iconSchema.properties[e]=r,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(n||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map((e=>this.iconsById[e]))}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(e,t)=>e.id.localeCompare(t.id),t=e=>{for(;ka.isThemeIcon(e.defaults);)e=this.iconsById[e.defaults.id];return`codicon codicon-${e?e.id:""}`},n=[];n.push("| preview | identifier | default codicon ID | description"),n.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const i=Object.keys(this.iconsById).map((e=>this.iconsById[e]));for(const o of i.filter((e=>!!e.description)).sort(e))n.push(`||${o.id}|${ka.isThemeIcon(o.defaults)?o.defaults.id:o.id}|${o.description||""}|`);n.push("| preview | identifier "),n.push("| ----------- | --------------------------------- |");for(const o of i.filter((e=>!ka.isThemeIcon(e.defaults))).sort(e))n.push(`||${o.id}|`);return n.join("\n")}};function fz(e,t,n,i){return mz.registerIcon(e,t,n,i)}function _z(){return mz}fu.add("base.contributions.icons",mz),function(){const e=ya();for(const t in e){const n="\\"+e[t].toString(16);mz.registerIcon(t,{fontCharacter:n})}}();const vz="vscode://schemas/icons",bz=fu.as(kg);bz.registerSchema(vz,mz.getIconSchema());const wz=new jt((()=>bz.notifySchemaChanged(vz)),200);mz.onDidChange((()=>{wz.isScheduled()||wz.schedule()}));const Cz=fz("widget-close",Sa.close,_(0,"Icon for the close action in widgets.")),yz=(fz("goto-previous-location",Sa.arrowUp,_(0,"Icon for goto previous editor location.")),fz("goto-next-location",Sa.arrowDown,_(0,"Icon for goto next editor location.")),ka.modify(Sa.sync,"spin"),ka.modify(Sa.loading,"spin"),mr);class Sz extends lt{constructor(e,t,n,i=!1){super(),this.model=t,this.showingStandaloneColorPicker=i,this._closeButton=null,this._domNode=yz(".colorpicker-header"),dr(e,this._domNode),this._pickedColorNode=dr(this._domNode,yz(".picked-color")),dr(this._pickedColorNode,yz("span.codicon.codicon-color-mode")),this._pickedColorPresentation=dr(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const o=_(0,"Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",o),this._originalColorNode=dr(this._domNode,yz(".original-color")),this._originalColorNode.style.backgroundColor=lh.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=n.getColorTheme().getColor(ff)||lh.white,this._register(n.onDidColorThemeChange((e=>{this.backgroundColor=e.getColor(ff)||lh.white}))),this._register(ms(this._pickedColorNode,or.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(ms(this._originalColorNode,or.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=lh.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 xz(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=lh.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 xz extends lt{constructor(e){super(),this._onClicked=this._register(new Ct),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),dr(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),dr(this._button,t),dr(t,yz(".button"+ka.asCSSSelector(fz("color-picker-close",Sa.close,_(0,"Icon to close the color picker"))))).classList.add("close-icon"),this._register(ms(this._button,or.CLICK,(()=>{this._onClicked.fire()})))}}class kz extends lt{constructor(e,t,n,i=!1){super(),this.model=t,this.pixelRatio=n,this._insertButton=null,this._domNode=yz(".colorpicker-body"),dr(e,this._domNode),this._saturationBox=new Lz(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 Nz(this._domNode,this.model,i),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new Ez(this._domNode,this.model,i),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),i&&(this._insertButton=this._register(new Iz(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const n=this.model.color.hsva;this.model.color=new lh(new rh(n.h,e,t,n.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new lh(new rh(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,n=360*(1-e);this.model.color=new lh(new rh(360===n?0:n,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 Lz extends lt{constructor(e,t,n){super(),this.model=t,this.pixelRatio=n,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Ct,this.onColorFlushed=this._onColorFlushed.event,this._domNode=yz(".saturation-wrap"),dr(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",dr(this._domNode,this._canvas),this.selection=yz(".saturation-selection"),dr(this._domNode,this.selection),this.layout(),this._register(ms(this._domNode,or.POINTER_DOWN,(e=>this.onPointerDown(e)))),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 KN);const t=Es(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top)),(()=>null));const n=ms(e.target.ownerDocument,or.POINTER_UP,(()=>{this._onColorFlushed.fire(),n.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(e,t){const n=Math.max(0,Math.min(1,e/this.width)),i=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(n,i),this._onDidChange.fire({s:n,v:i})}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 lh(new rh(e.h,1,1,1)),n=this._canvas.getContext("2d"),i=n.createLinearGradient(0,0,this._canvas.width,0);i.addColorStop(0,"rgba(255, 255, 255, 1)"),i.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),i.addColorStop(1,"rgba(255, 255, 255, 0)");const o=n.createLinearGradient(0,0,0,this._canvas.height);o.addColorStop(0,"rgba(0, 0, 0, 0)"),o.addColorStop(1,"rgba(0, 0, 0, 1)"),n.rect(0,0,this._canvas.width,this._canvas.height),n.fillStyle=lh.Format.CSS.format(t),n.fill(),n.fillStyle=i,n.fill(),n.fillStyle=o,n.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 Dz extends lt{constructor(e,t,n=!1){super(),this.model=t,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Ct,this.onColorFlushed=this._onColorFlushed.event,n?(this.domNode=dr(e,yz(".standalone-strip")),this.overlay=dr(this.domNode,yz(".standalone-overlay"))):(this.domNode=dr(e,yz(".strip")),this.overlay=dr(this.domNode,yz(".overlay"))),this.slider=dr(this.domNode,yz(".slider")),this.slider.style.top="0px",this._register(ms(this.domNode,or.POINTER_DOWN,(e=>this.onPointerDown(e)))),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 KN),n=Es(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangeTop(e.pageY-n.top)),(()=>null));const i=ms(e.target.ownerDocument,or.POINTER_UP,(()=>{this._onColorFlushed.fire(),i.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 Nz extends Dz{constructor(e,t,n=!1){super(e,t,n),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:n,b:i}=e.rgba,o=new lh(new oh(t,n,i,1)),s=new lh(new oh(t,n,i,0));this.overlay.style.background=`linear-gradient(to bottom, ${o} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}}class Ez extends Dz{constructor(e,t,n=!1){super(e,t,n),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class Iz extends lt{constructor(e){super(),this._onClicked=this._register(new Ct),this.onClicked=this._onClicked.event,this._button=dr(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(ms(this._button,or.CLICK,(()=>{this._onClicked.fire()})))}get button(){return this._button}}class Mz extends jN{constructor(e,t,n,i,o=!1){super(),this.model=t,this.pixelRatio=n,this._register(pT.getInstance(is(e)).onDidChange((()=>this.layout())));const s=yz(".colorpicker-widget");e.appendChild(s),this.header=this._register(new Sz(s,this.model,i,o)),this.body=this._register(new kz(s,this.model,this.pixelRatio,o))}layout(){this.body.layout()}}var Tz=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Az=function(e,t){return function(n,i){t(n,i,e)}};class Rz{constructor(e,t,n,i){this.owner=e,this.range=t,this.model=n,this.provider=i,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Pz=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,n){return Qt.fromPromise(this._computeAsync(e,t,n))}async _computeAsync(e,t,n){if(!this._editor.hasModel())return[];const i=az.get(this._editor);if(!i)return[];for(const e of t){if(!i.isColorDecoration(e))continue;const t=i.getColorData(e.range.getStartPosition());if(t)return[await Bz(this,this._editor.getModel(),t.colorInfo,t.provider)]}return[]}renderHoverParts(e,t){return Wz(this,this._editor,this._themeService,t,e)}};Pz=Tz([Az(1,Tv)],Pz);class Oz{constructor(e,t,n,i){this.owner=e,this.range=t,this.model=n,this.provider=i}}let Fz=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,n){if(!this._editor.hasModel())return null;if(!az.get(this._editor))return null;const i=await QH(n,this._editor.getModel(),It.None);let o=null,s=null;for(const t of i){const n=t.colorInfo;nc.containsRange(n.range,e.range)&&(o=n,s=t.provider)}const r=null!=o?o:e,l=null!=s?s:t,a=!!o;return{colorHover:await Bz(this,this._editor.getModel(),r,l),foundInEditor:a}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let n=new nc(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await Hz(this._editor.getModel(),t,this._color,n,e),n=Vz(this._editor,n,t))}renderHoverParts(e,t){return Wz(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};async function Bz(e,t,n,i){const o=t.getValueInRange(n.range),{red:s,green:r,blue:l,alpha:a}=n.color,d=new oh(Math.round(255*s),Math.round(255*r),Math.round(255*l),a),u=new lh(d),c=await JH(t,n,i,It.None),h=new uz(u,[],0);return h.colorPresentations=c||[],h.guessColorPresentation(u,o),e instanceof Pz?new Rz(e,nc.lift(n.range),h,i):new Oz(e,nc.lift(n.range),h,i)}function Wz(e,t,n,i,o){if(0===i.length||!t.hasModel())return lt.None;if(o.setMinimumDimensions){const e=t.getOption(67)+8;o.setMinimumDimensions(new Ds(302,e))}const s=new rt,r=i[0],l=t.getModel(),a=r.model,d=s.add(new Mz(o.fragment,a,t.getOption(143),n,e instanceof Fz));o.setColorPicker(d);let u=!1,c=new nc(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(e instanceof Fz){const t=i[0].model.color;e.color=t,Hz(l,a,t,c,r),s.add(a.onColorFlushed((t=>{e.color=t})))}else s.add(a.onColorFlushed((async e=>{await Hz(l,a,e,c,r),u=!0,c=Vz(t,c,a)})));return s.add(a.onDidChangeColor((e=>{Hz(l,a,e,c,r)}))),s.add(t.onDidChangeModelContent((e=>{u?u=!1:(o.hide(),t.focus())}))),s}function Vz(e,t,n){var i,o;const s=[],r=null!==(i=n.presentation.textEdit)&&void 0!==i?i:{range:t,text:n.presentation.label,forceMoveMarkers:!1};s.push(r),n.presentation.additionalTextEdits&&s.push(...n.presentation.additionalTextEdits);const l=nc.lift(r.range),a=e.getModel()._setTrackedRange(null,l,3);return e.executeEdits("colorpicker",s),e.pushUndoStop(),null!==(o=e.getModel()._getTrackedRange(a))&&void 0!==o?o:l}async function Hz(e,t,n,i,o){const s=await JH(e,{range:i,color:{red:n.rgba.r/255,green:n.rgba.g/255,blue:n.rgba.b/255,alpha:n.rgba.a}},o.provider,It.None);t.colorPresentations=s||[]}Fz=Tz([Az(1,Tv)],Fz);var zz=n(1503),Uz={};function Kz(e,t){return!!e[t]}Uz.styleTagTransform=Vr(),Uz.setAttributes=Or(),Uz.insert=Rr().bind(null,"head"),Uz.domAPI=Tr(),Uz.insertStyleElement=Br(),Ir()(zz.A,Uz),zz.A&&zz.A.locals&&zz.A.locals;class jz{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=Kz(e.event,t.triggerModifier),this.hasSideBySideModifier=Kz(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class qz{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=Kz(e,t.triggerModifier)}}class $z{constructor(e,t,n,i){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=i}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function Gz(e){return"altKey"===e?U?new $z(57,"metaKey",6,"altKey"):new $z(5,"ctrlKey",6,"altKey"):U?new $z(6,"altKey",57,"metaKey"):new $z(6,"altKey",5,"ctrlKey")}class Zz extends lt{constructor(e,t){var n;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Ct),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Ct),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Ct),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=null!==(n=null==t?void 0:t.extractLineNumberFromMouseEvent)&&void 0!==n?n:e=>e.target.position?e.target.position.lineNumber:0,this._opts=Gz(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(78)){const e=Gz(this._editor.getOption(78));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((e=>this._onEditorMouseMove(new jz(e,this._opts))))),this._register(this._editor.onMouseDown((e=>this._onEditorMouseDown(new jz(e,this._opts))))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(new jz(e,this._opts))))),this._register(this._editor.onKeyDown((e=>this._onEditorKeyDown(new qz(e,this._opts))))),this._register(this._editor.onKeyUp((e=>this._onEditorKeyUp(new qz(e,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((e=>this._onDidChangeCursorSelection(e)))),this._register(this._editor.onDidChangeModel((e=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((e=>{(e.scrollTopChanged||e.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()}}var Yz=n(9734),Xz={};Xz.styleTagTransform=Vr(),Xz.setAttributes=Or(),Xz.insert=Rr().bind(null,"head"),Xz.domAPI=Tr(),Xz.insertStyleElement=Br(),Ir()(Yz.A,Xz),Yz.A&&Yz.A.locals&&Yz.A.locals;var Qz=function(e,t){return function(n,i){t(n,i,e)}};let Jz=class extends yB{constructor(e,t,n,i,o,s,r,l,a,d,u,c,h){super(e,{...i.getRawOptions(),overflowWidgetsDomNode:i.getOverflowWidgetsDomNode()},n,o,s,r,l,a,d,u,c,h),this._parentEditor=i,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(i.onDidChangeConfiguration((e=>this._onParentConfigurationChanged(e))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){fc(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Jz=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Qz(4,ad),Qz(5,ud),Qz(6,wd),Qz(7,su),Qz(8,Tv),Qz(9,nN),Qz(10,qS),Qz(11,Qg),Qz(12,wx)],Jz);var eU=n(4166),tU={};tU.styleTagTransform=Vr(),tU.setAttributes=Or(),tU.insert=Rr().bind(null,"head"),tU.domAPI=Tr(),tU.insertStyleElement=Br(),Ir()(eU.A,tU),eU.A&&eU.A.locals&&eU.A.locals;var nU,iU=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r};!function(e){e.North="north",e.South="south",e.East="east",e.West="west"}(nU||(nU={}));const oU=new Ct,sU=new Ct;class rU{constructor(e){this.el=e,this.disposables=new rt}get onPointerMove(){return this.disposables.add(new US(is(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new US(is(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}iU([xL],rU.prototype,"onPointerMove",null),iU([xL],rU.prototype,"onPointerUp",null);class lU{get onPointerMove(){return this.disposables.add(new US(this.el,kL.Change)).event}get onPointerUp(){return this.disposables.add(new US(this.el,kL.End)).event}constructor(e){this.el=e,this.disposables=new rt}dispose(){this.disposables.dispose()}}iU([xL],lU.prototype,"onPointerMove",null),iU([xL],lU.prototype,"onPointerUp",null);class aU{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}iU([xL],aU.prototype,"onPointerMove",null),iU([xL],aU.prototype,"onPointerUp",null);const dU="pointer-events-disabled";class uU extends lt{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",0===e),this.el.classList.toggle("minimum",1===e),this.el.classList.toggle("maximum",2===e),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=t=>{this.orthogonalStartDragHandleDisposables.clear(),0!==t&&(this._orthogonalStartDragHandle=dr(this.el,mr(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(st((()=>this._orthogonalStartDragHandle.remove()))),this.orthogonalStartDragHandleDisposables.add(new US(this._orthogonalStartDragHandle,"mouseenter")).event((()=>uU.onMouseEnter(e)),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new US(this._orthogonalStartDragHandle,"mouseleave")).event((()=>uU.onMouseLeave(e)),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=t=>{this.orthogonalEndDragHandleDisposables.clear(),0!==t&&(this._orthogonalEndDragHandle=dr(this.el,mr(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(st((()=>this._orthogonalEndDragHandle.remove()))),this.orthogonalEndDragHandleDisposables.add(new US(this._orthogonalEndDragHandle,"mouseenter")).event((()=>uU.onMouseEnter(e)),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new US(this._orthogonalEndDragHandle,"mouseleave")).event((()=>uU.onMouseLeave(e)),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,n){super(),this.hoverDelay=300,this.hoverDelayer=this._register(new Bt(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new Ct),this._onDidStart=this._register(new Ct),this._onDidChange=this._register(new Ct),this._onDidReset=this._register(new Ct),this._onDidEnd=this._register(new Ct),this.orthogonalStartSashDisposables=this._register(new rt),this.orthogonalStartDragHandleDisposables=this._register(new rt),this.orthogonalEndSashDisposables=this._register(new rt),this.orthogonalEndDragHandleDisposables=this._register(new rt),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=dr(e,mr(".monaco-sash")),n.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${n.orthogonalEdge}`),U&&this.el.classList.add("mac");const i=this._register(new US(this.el,"mousedown")).event;this._register(i((t=>this.onPointerStart(t,new rU(e))),this));const o=this._register(new US(this.el,"dblclick")).event;this._register(o(this.onPointerDoublePress,this));const s=this._register(new US(this.el,"mouseenter")).event;this._register(s((()=>uU.onMouseEnter(this))));const r=this._register(new US(this.el,"mouseleave")).event;this._register(r((()=>uU.onMouseLeave(this)))),this._register(LL.addTarget(this.el));const l=this._register(new US(this.el,kL.Start)).event;this._register(l((e=>this.onPointerStart(e,new lU(this.el))),this));const a=this._register(new US(this.el,kL.Tap)).event;let d;this._register(a((e=>{if(d)return clearTimeout(d),d=void 0,void this.onPointerDoublePress(e);clearTimeout(d),d=setTimeout((()=>d=void 0),250)}),this)),"number"==typeof n.size?(this.size=n.size,0===n.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=4,this._register(oU.event((e=>{this.size=e,this.layout()})))),this._register(sU.event((e=>this.hoverDelay=e))),this.layoutProvider=t,this.orthogonalStartSash=n.orthogonalStartSash,this.orthogonalEndSash=n.orthogonalEndSash,this.orientation=n.orientation||0,1===this.orientation?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",!1),this.layout()}onPointerStart(e,t){rr(e);let n=!1;if(!e.__orthogonalSashEvent){const i=this.getOrthogonalSash(e);i&&(n=!0,e.__orthogonalSashEvent=!0,i.onPointerStart(e,new aU(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new aU(t))),!this.state)return;const i=this.el.ownerDocument.getElementsByTagName("iframe");for(const e of i)e.classList.add(dU);const o=e.pageX,s=e.pageY,r=e.altKey,l={startX:o,currentX:o,startY:s,currentY:s,altKey:r};this.el.classList.add("active"),this._onDidStart.fire(l);const a=$s(this.el),d=()=>{let e="";e=n?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":U?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":U?"col-resize":"ew-resize",a.textContent=`* { cursor: ${e} !important; }`},u=new rt;d(),n||this.onDidEnablementChange.event(d,null,u),t.onPointerMove((e=>{rr(e,!1);const t={startX:o,currentX:e.pageX,startY:s,currentY:e.pageY,altKey:r};this._onDidChange.fire(t)}),null,u),t.onPointerUp((e=>{rr(e,!1),this.el.removeChild(a),this.el.classList.remove("active"),this._onDidEnd.fire(),u.dispose();for(const e of i)e.classList.remove(dU)}),null,u),u.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger((()=>e.el.classList.add("hover")),e.hoverDelay).then(void 0,(()=>{})),!t&&e.linkedSash&&uU.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&uU.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){uU.onMouseLeave(this)}layout(){if(0===this.orientation){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){var t;const n=null!==(t=e.initialTarget)&&void 0!==t?t:e.target;if(n&&n instanceof HTMLElement)return n.classList.contains("orthogonal-drag-handle")?n.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}var cU=n(2889),hU={};hU.styleTagTransform=Vr(),hU.setAttributes=Or(),hU.insert=Rr().bind(null,"head"),hU.domAPI=Tr(),hU.insertStyleElement=Br(),Ir()(cU.A,hU),cU.A&&cU.A.locals&&cU.A.locals;const gU=new lh(new oh(0,122,204)),pU={showArrow:!0,showFrame:!0,className:"",frameColor:gU,arrowColor:gU,keepEditorSelection:!1};class mU{constructor(e,t,n,i,o,s,r,l){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=n,this.heightInLines=i,this.showInHiddenAreas=r,this.ordinal=l,this._onDomNodeTop=o,this._onComputedHeight=s}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class fU{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class _U{constructor(e){this._editor=e,this._ruleName=_U._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),er(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(){er(this._ruleName),Js(`.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){1===e.column&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:nc.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}_U._IdGenerator=new Ck(".arrow-decoration-");class vU{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new rt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=hc(t),fc(this.options,pU,!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((e=>{const t=this._getWidth(e);this.domNode.style.width=t+"px",this.domNode.style.left=this._getLeft(e)+"px",this._onWidth(t)})))}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 _U(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&&0===e.minimap.minimapLeft?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 t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}null===(t=this._resizeSash)||void 0===t||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const n=nc.isIRange(e)?nc.lift(e):nc.fromPositions(e);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId.set([{range:n,options:My.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),null===(e=this._arrow)||void 0===e||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;return this.options.showArrow&&(t+=2*Math.round(e/3)),this.options.showFrame&&(t+=2*Math.round(e/9)),t}_showImpl(e,t){const n=e.getStartPosition(),i=this.editor.getLayoutInfo(),o=this._getWidth(i);this.domNode.style.width=`${o}px`,this.domNode.style.left=this._getLeft(i)+"px";const s=document.createElement("div");s.style.overflow="hidden";const r=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const e=Math.max(12,this.editor.getLayoutInfo().height/r*.8);t=Math.min(t,e)}let l=0,a=0;if(this._arrow&&this.options.showArrow&&(l=Math.round(r/3),this._arrow.height=l,this._arrow.show(n)),this.options.showFrame&&(a=Math.round(r/9)),this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new mU(s,n.lineNumber,n.column,t,(e=>this._onViewZoneTop(e)),(e=>this._onViewZoneHeight(e)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new fU("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const e=this.options.frameWidth?this.options.frameWidth:a;this.container.style.borderTopWidth=e+"px",this.container.style.borderBottomWidth=e+"px"}const d=t*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=l+"px",this.container.style.height=d+"px",this.container.style.overflow="hidden"),this._doLayout(d,o),this.options.keepEditorSelection||this.editor.setSelection(e);const u=this.editor.getModel();if(u){const t=u.validateRange(new nc(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.startLineNumber===u.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;let e;this._resizeSash=this._disposables.add(new uU(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),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 n=(t.currentY-e.startY)/this.editor.getOption(67),i=n<0?Math.ceil(n):Math.floor(n),o=e.heightInLines+i;o>5&&o<35&&this._relayout(o)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var bU=n(9862),wU={};wU.styleTagTransform=Vr(),wU.setAttributes=Or(),wU.insert=Rr().bind(null,"head"),wU.domAPI=Tr(),wU.insertStyleElement=Br(),Ir()(bU.A,wU),bU.A&&bU.A.locals&&bU.A.locals;class CU extends md{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new Ct),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=dr(e,mr(".monaco-dropdown")),this._label=dr(this._element,mr(".dropdown-label"));let n=t.labelRenderer;n||(n=e=>(e.textContent=t.label||"",null));for(const e of[or.CLICK,or.MOUSE_DOWN,kL.Tap])this._register(ms(this.element,e,(e=>rr(e,!0))));for(const e of[or.MOUSE_DOWN,kL.Tap])this._register(ms(this._label,e,(e=>{nr(e)&&(e.detail>1||0!==e.button)||(this.visible?this.hide():this.show())})));this._register(ms(this._label,or.KEY_UP,(e=>{const t=new Ue(e);(t.equals(3)||t.equals(10))&&(rr(e,!0),this.visible?this.hide():this.show())})));const i=n(this._label);i&&this._register(i),this._register(LL.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class yU extends CU{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class SU extends eM{constructor(e,t,n,i=Object.create(null)){super(null,e,i),this.actionItem=null,this._onDidChangeVisibility=this._register(new Ct),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=n,this.options=i,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=Array.isArray(this.menuActionsOrProvider),n={contextMenuProvider:this.contextMenuProvider,labelRenderer:e=>{var t;this.element=dr(e,mr("a.action-label"));let n=[];return"string"==typeof this.options.classNames?n=this.options.classNames.split(/\s+/g).filter((e=>!!e)):this.options.classNames&&(n=this.options.classNames),n.find((e=>"icon"===e))||n.push("codicon"),this.element.classList.add(...n),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(RL(null!==(t=this.options.hoverDelegate)&&void 0!==t?t:IL("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:t?this.menuActionsOrProvider:void 0,actionProvider:t?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new yU(e,n)),this._register(this.dropdownMenu.onDidChangeVisibility((e=>{var t;null===(t=this.element)||void 0===t||t.setAttribute("aria-expanded",`${e}`),this._onDidChangeVisibility.fire(e)}))),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const e=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return e.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),null!=e?e:void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){var e;null===(e=this.dropdownMenu)||void 0===e||e.show()}updateEnabled(){var e,t;const n=!this.action.enabled;null===(e=this.actionItem)||void 0===e||e.classList.toggle("disabled",n),null===(t=this.element)||void 0===t||t.classList.toggle("disabled",n)}}var xU=n(9055),kU={};kU.styleTagTransform=Vr(),kU.setAttributes=Or(),kU.insert=Rr().bind(null,"head"),kU.domAPI=Tr(),kU.insertStyleElement=Br(),Ir()(xU.A,kU),xU.A&&xU.A.locals&&xU.A.locals;var LU=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},DU=function(e,t){return function(n,i){t(n,i,e)}};function NU(e,t,n,i,o,s){EU(e.getActions(t),n,!1,"string"==typeof i?e=>e===i:i,o,s)}function EU(e,t,n,i=(e=>"navigation"===e),o=(()=>!1),s=!1){let r,l;Array.isArray(t)?(r=t,l=t):(r=t.primary,l=t.secondary);const a=new Set;for(const[t,o]of e){let e;i(t)?(e=r,e.length>0&&s&&e.push(new fd)):(e=l,e.length>0&&e.push(new fd));for(let i of o){n&&(i=i instanceof Nu&&i.alt?i.alt:i);const o=e.push(i);i instanceof _d&&a.add({group:t,action:i,index:o-1})}}for(const{group:e,action:t,index:n}of a){const s=i(e)?r:l,a=t.actions;o(t,e,s.length)&&s.splice(n,1,...a)}}let IU=class extends tM{constructor(e,t,n,i,o,s,r,l){super(void 0,e,{icon:!(!e.class&&!e.item.icon),label:!e.class&&!e.item.icon,draggable:null==t?void 0:t.draggable,keybinding:null==t?void 0:t.keybinding,hoverDelegate:null==t?void 0:t.hoverDelegate}),this._keybindingService=n,this._notificationService=i,this._contextKeyService=o,this._themeService=s,this._contextMenuService=r,this._accessibilityService=l,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new at),this._altKey=xr.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(e){this._notificationService.error(e)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const n=()=>{var e;const n=!!(null===(e=this._menuItemAction.alt)||void 0===e?void 0:e.enabled)&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);n!==this._wantsAltCommand&&(this._wantsAltCommand=n,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(n)),this._register(ms(e,"mouseleave",(e=>{t=!1,n()}))),this._register(ms(e,"mouseenter",(e=>{t=!0,n()}))),n()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var e;const t=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),n=t&&t.getLabel(),i=this._commandAction.tooltip||this._commandAction.label;let o=n?_(0,"{0} ({1})",i,n):i;if(!this._wantsAltCommand&&(null===(e=this._menuItemAction.alt)||void 0===e?void 0:e.enabled)){const e=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,t=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),n=t&&t.getLabel(),i=n?_(0,"{0} ({1})",e,n):e;o=_(0,"{0}\n[{1}] {2}",o,lM.modifierLabels[ee].altKey,i)}return o}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:n}=this;if(!t||!n)return;const i=this._commandAction.checked&&(o=e.toggled)&&void 0!==o.condition&&e.toggled.icon?e.toggled.icon:e.icon;var o;if(i)if(ka.isThemeIcon(i)){const e=ka.asClassNameArray(i);n.classList.add(...e),this._itemClassDispose.value=st((()=>{n.classList.remove(...e)}))}else n.style.backgroundImage=Mv(this._themeService.getColorTheme().type)?wr(i.dark):wr(i.light),n.classList.add("icon"),this._itemClassDispose.value=ot(st((()=>{n.style.backgroundImage="",n.classList.remove("icon")})),this._themeService.onDidColorThemeChange((()=>{this.updateClass()})))}};IU=LU([DU(2,zL),DU(3,nN),DU(4,su),DU(5,Tv),DU(6,HL),DU(7,qS)],IU);let MU=class extends SU{constructor(e,t,n,i,o){var s,r,l;const a={...t,menuAsChild:null!==(s=null==t?void 0:t.menuAsChild)&&void 0!==s&&s,classNames:null!==(r=null==t?void 0:t.classNames)&&void 0!==r?r:ka.isThemeIcon(e.item.icon)?ka.asClassName(e.item.icon):void 0,keybindingProvider:null!==(l=null==t?void 0:t.keybindingProvider)&&void 0!==l?l:e=>n.lookupKeybinding(e.id)};super(e,{getActions:()=>e.actions},i,a),this._keybindingService=n,this._contextMenuService=i,this._themeService=o}render(e){super.render(e),fa(this.element),e.classList.add("menu-entry");const t=this._action,{icon:n}=t.item;if(n&&!ka.isThemeIcon(n)){this.element.classList.add("icon");const e=()=>{this.element&&(this.element.style.backgroundImage=Mv(this._themeService.getColorTheme().type)?wr(n.dark):wr(n.light))};e(),this._register(this._themeService.onDidColorThemeChange((()=>{e()})))}}};MU=LU([DU(2,zL),DU(3,HL),DU(4,Tv)],MU);let TU=class extends eM{constructor(e,t,n,i,o,s,r,l){var a,d,u;let c;super(null,e),this._keybindingService=n,this._notificationService=i,this._contextMenuService=o,this._menuService=s,this._instaService=r,this._storageService=l,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;const h=(null==t?void 0:t.persistLastActionId)?l.get(this._storageKey,1):void 0;h&&(c=e.actions.find((e=>h===e.id))),c||(c=e.actions[0]),this._defaultAction=this._instaService.createInstance(IU,c,{keybinding:this._getDefaultActionKeybindingLabel(c)});const g={keybindingProvider:e=>this._keybindingService.lookupKeybinding(e.id),...t,menuAsChild:null===(a=null==t?void 0:t.menuAsChild)||void 0===a||a,classNames:null!==(d=null==t?void 0:t.classNames)&&void 0!==d?d:["codicon","codicon-chevron-down"],actionRunner:null!==(u=null==t?void 0:t.actionRunner)&&void 0!==u?u:new md};this._dropdown=new SU(e,e.actions,this._contextMenuService,g),this._register(this._dropdown.actionRunner.onDidRun((e=>{e.action instanceof Nu&&this.update(e.action)})))}update(e){var t;(null===(t=this._options)||void 0===t?void 0:t.persistLastActionId)&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(IU,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends md{async runAction(e,t){await e.run(void 0)}},this._container&&this._defaultAction.render(ur(this._container,mr(".action-container")))}_getDefaultActionKeybindingLabel(e){var t;let n;if(null===(t=this._options)||void 0===t?void 0:t.renderKeybindingWithDefaultActionLabel){const t=this._keybindingService.lookupKeybinding(e.id);t&&(n=`(${t.getLabel()})`)}return n}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=mr(".action-container");this._defaultAction.render(dr(this._container,t)),this._register(ms(t,or.KEY_DOWN,(e=>{const t=new Ue(e);t.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),t.stopPropagation())})));const n=mr(".dropdown-action-container");this._dropdown.render(dr(this._container,n)),this._register(ms(n,or.KEY_DOWN,(e=>{var t;const n=new Ue(e);n.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),null===(t=this._defaultAction.element)||void 0===t||t.focus(),n.stopPropagation())})))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};TU=LU([DU(2,zL),DU(3,nN),DU(4,HL),DU(5,xu),DU(6,ad),DU(7,KB)],TU);let AU=class extends nM{constructor(e,t){super(null,e,e.actions.map((e=>({text:e.id===fd.ID?"─────────":e.label,isDisabled:!e.enabled}))),0,t,LM,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex((e=>e.checked))))}render(e){super.render(e),e.style.borderColor=ym(S_)}runAction(e,t){const n=this.action.actions[t];n&&this.actionRunner.run(n)}};function RU(e,t,n){return t instanceof Nu?e.createInstance(IU,t,n):t instanceof Du?t.item.isSelection?e.createInstance(AU,t):t.item.rememberDefaultAction?e.createInstance(TU,t,{...n,persistLastActionId:!0}):e.createInstance(MU,t,n):void 0}AU=LU([DU(1,VL)],AU);var PU=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},OU=function(e,t){return function(n,i){t(n,i,e)}};const FU=dd("IPeekViewService");var BU;yg(FU,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){const n=this._widgets.get(e);n&&(n.listener.dispose(),n.widget.dispose()),this._widgets.set(e,{widget:t,listener:t.onDidClose((()=>{const n=this._widgets.get(e);n&&n.widget===t&&(n.listener.dispose(),this._widgets.delete(e))}))})}},1),function(e){e.inPeekEditor=new ou("inReferenceSearchEditor",!0,_(0,"Whether the current code editor is embedded inside peek")),e.notInPeekEditor=e.inPeekEditor.toNegated()}(BU||(BU={}));let WU=class{constructor(e,t){e instanceof Jz&&BU.inPeekEditor.bindTo(t)}dispose(){}};WU.ID="editor.contrib.referenceController",WU=PU([OU(1,su)],WU),Zu(WU.ID,WU,0);const VU={headerBackgroundColor:lh.white,primaryHeadingColor:lh.fromHex("#333333"),secondaryHeadingColor:lh.fromHex("#6c6c6cb3")};let HU=class extends vU{constructor(e,t,n){super(e,t),this.instantiationService=n,this._onDidClose=new Ct,this.onDidClose=this._onDidClose.event,fc(this.options,VU,!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=mr(".head"),this._bodyElement=mr(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=mr(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),_s(this._titleElement,"click",(e=>this._onTitleClick(e)))),dr(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=mr("span.filename"),this._secondaryHeading=mr("span.dirname"),this._metaHeading=mr("span.meta"),dr(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const n=mr(".peekview-actions");dr(this._headElement,n);const i=this._getActionBarOptions();this._actionbarWidget=new iM(n,i),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new pd("peekview.close",_(0,"Close"),ka.asClassName(Sa.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:RU.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:gs(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,fr(this._metaHeading)):_r(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0)return void this.dispose();const n=Math.ceil(1.2*this.editor.getOption(67)),i=Math.round(e-(n+2));this._doLayoutHead(n,t),this._doLayoutBody(i,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`)}};HU=PU([OU(2,ad)],HU);const zU=km("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:lh.black,hcLight:lh.white},_(0,"Background color of the peek view title area.")),UU=km("peekViewTitleLabel.foreground",{dark:lh.white,light:lh.black,hcDark:lh.white,hcLight:Zm},_(0,"Color of the peek view title.")),KU=km("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},_(0,"Color of the peek view title info.")),jU=km("peekView.border",{dark:sf,light:sf,hcDark:Bm,hcLight:Bm},_(0,"Color of the peek view borders and arrow.")),qU=km("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:lh.black,hcLight:lh.white},_(0,"Background color of the peek view result list.")),$U=(km("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:lh.white,hcLight:Zm},_(0,"Foreground color for line nodes in the peek view result list.")),km("peekViewResult.fileForeground",{dark:lh.white,light:"#1E1E1E",hcDark:lh.white,hcLight:Zm},_(0,"Foreground color for file nodes in the peek view result list.")),km("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},_(0,"Background color of the selected entry in the peek view result list.")),km("peekViewResult.selectionForeground",{dark:lh.white,light:"#6C6C6C",hcDark:lh.white,hcLight:Zm},_(0,"Foreground color of the selected entry in the peek view result list.")),km("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:lh.black,hcLight:lh.white},_(0,"Background color of the peek view editor.")));function GU(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===WO.ICodeEditor}function ZU(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===WO.IDiffEditor}function YU(e){return GU(e)?e:ZU(e)?e.getModifiedEditor():function(e){return!!e&&"object"==typeof e&&"function"==typeof e.onDidChangeActiveEditor}(e)&&GU(e.activeCodeEditor)?e.activeCodeEditor:null}km("peekViewEditorGutter.background",{dark:$U,light:$U,hcDark:$U,hcLight:$U},_(0,"Background color of the gutter in the peek view editor.")),km("peekViewEditorStickyScroll.background",{dark:$U,light:$U,hcDark:$U,hcLight:$U},_(0,"Background color of sticky scroll in the peek view editor.")),km("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},_(0,"Match highlight color in the peek view result list.")),km("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},_(0,"Match highlight color in the peek view editor.")),km("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Match highlight border in the peek view editor."));class XU{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:lt.None}}renderElement(e,t,n,i){var o;if(null===(o=n.disposable)||void 0===o||o.dispose(),!n.data)return;const s=this.modelProvider();if(s.isResolved(e))return this.renderer.renderElement(s.get(e),e,n.data,i);const r=new Tt,l=s.resolve(e,r.token);n.disposable={dispose:()=>r.cancel()},this.renderer.renderPlaceholder(e,n.data),l.then((t=>this.renderer.renderElement(t,e,n.data,i)))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class QU{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}class JU{constructor(e,t,n,i,o={}){const s=()=>this.model,r=i.map((e=>new XU(e,s)));this.list=new HI(e,t,n,r,function(e,t){return{...t,accessibilityProvider:t.accessibilityProvider&&new QU(e,t.accessibilityProvider)}}(s,o))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return ft.map(this.list.onMouseDblClick,(({element:e,index:t,browserEvent:n})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:n})))}get onPointer(){return ft.map(this.list.onPointer,(({element:e,index:t,browserEvent:n})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:n})))}get onDidChangeSelection(){return ft.map(this.list.onDidChangeSelection,(({elements:e,indexes:t,browserEvent:n})=>({elements:e.map((e=>this._model.get(e))),indexes:t,browserEvent:n})))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,zc(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((e=>this.model.get(e)))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}var eK=n(3474),tK={};tK.styleTagTransform=Vr(),tK.setAttributes=Or(),tK.insert=Rr().bind(null,"head"),tK.domAPI=Tr(),tK.insertStyleElement=Br(),Ir()(eK.A,tK),eK.A&&eK.A.locals&&eK.A.locals;const nK={separatorBorder:lh.transparent};class iK{set size(e){this._size=e}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(e,t){var n,i;if(e!==this.visible){e?(this.size=BN(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof t?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{null===(i=(n=this.view).setVisible)||void 0===i||i.call(n,e)}catch(e){console.error("Splitview: Failed to set visible view"),console.error(e)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var e;return null===(e=this.view.proportionalLayout)||void 0===e||e}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,n,i){this.container=e,this.view=t,this.disposable=i,this._cachedVisibleSize=void 0,"number"==typeof n?(this._size=n,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch(e){console.error("Splitview: Failed to layout view"),console.error(e)}}dispose(){this.disposable.dispose()}}class oK extends iK{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class sK extends iK{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var rK,lK;!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(rK||(rK={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Auto=function(e){return{type:"auto",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(lK||(lK={}));class aK extends lt{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){var n,i,o,s,r;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=rK.Idle,this._onDidSashChange=this._register(new Ct),this._onDidSashReset=this._register(new Ct),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=null!==(n=t.orientation)&&void 0!==n?n:0,this.inverseAltBehavior=null!==(i=t.inverseAltBehavior)&&void 0!==i&&i,this.proportionalLayout=null===(o=t.proportionalLayout)||void 0===o||o,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=dr(this.el,mr(".sash-container")),this.viewContainer=mr(".split-view-container"),this.scrollable=this._register(new JN({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:e=>Cs(is(this.el),e)})),this.scrollableElement=this._register(new uE(this.viewContainer,{vertical:0===this.orientation?null!==(s=t.scrollbarVisibility)&&void 0!==s?s:1:2,horizontal:1===this.orientation?null!==(r=t.scrollbarVisibility)&&void 0!==r?r:1:2},this.scrollable));const l=this._register(new US(this.viewContainer,"scroll")).event;this._register(l((e=>{const t=this.scrollableElement.getScrollPosition(),n=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,i=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;void 0===n&&void 0===i||this.scrollableElement.setScrollPosition({scrollLeft:n,scrollTop:i})}))),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((e=>{e.scrollTopChanged&&(this.viewContainer.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this.viewContainer.scrollLeft=e.scrollLeft)}))),dr(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||nK),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach(((e,t)=>{const n=ga(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},i=e.view;this.doAddView(i,n,t,!0)})),this._contentSize=this.viewItems.reduce(((e,t)=>e+t.size),0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,n=this.viewItems.length,i){this.doAddView(e,t,n,i)}layout(e,t){const n=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let t=0;for(let n=0;n0&&(i.size=BN(Math.round(o*e/t),i.minimumSize,i.maximumSize))}}else{const t=zc(this.viewItems.length),i=t.filter((e=>1===this.viewItems[e].priority)),o=t.filter((e=>2===this.viewItems[e].priority));this.resize(this.viewItems.length-1,e-n,void 0,i,o)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map((e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0)))}onSashStart({sash:e,start:t,alt:n}){for(const e of this.viewItems)e.enabled=!1;const i=this.sashItems.findIndex((t=>t.sash===e)),o=ot(ms(this.el.ownerDocument.body,"keydown",(e=>s(this.sashDragState.current,e.altKey))),ms(this.el.ownerDocument.body,"keyup",(()=>s(this.sashDragState.current,!1)))),s=(e,t)=>{const n=this.viewItems.map((e=>e.size));let s,r,l=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(t=!t),t)if(i===this.sashItems.length-1){const e=this.viewItems[i];l=(e.minimumSize-e.size)/2,a=(e.maximumSize-e.size)/2}else{const e=this.viewItems[i+1];l=(e.size-e.maximumSize)/2,a=(e.size-e.minimumSize)/2}if(!t){const e=zc(i,-1),t=zc(i+1,this.viewItems.length),o=e.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-n[t])),0),l=e.reduce(((e,t)=>e+(this.viewItems[t].viewMaximumSize-n[t])),0),a=0===t.length?Number.POSITIVE_INFINITY:t.reduce(((e,t)=>e+(n[t]-this.viewItems[t].minimumSize)),0),d=0===t.length?Number.NEGATIVE_INFINITY:t.reduce(((e,t)=>e+(n[t]-this.viewItems[t].viewMaximumSize)),0),u=Math.max(o,d),c=Math.min(a,l),h=this.findFirstSnapIndex(e),g=this.findFirstSnapIndex(t);if("number"==typeof h){const e=this.viewItems[h],t=Math.floor(e.viewMinimumSize/2);s={index:h,limitDelta:e.visible?u-t:u+t,size:e.size}}if("number"==typeof g){const e=this.viewItems[g],t=Math.floor(e.viewMinimumSize/2);r={index:g,limitDelta:e.visible?c+t:c-t,size:e.size}}}this.sashDragState={start:e,current:e,index:i,sizes:n,minDelta:l,maxDelta:a,alt:t,snapBefore:s,snapAfter:r,disposable:o}};s(t,n)}onSashChange({current:e}){const{index:t,start:n,sizes:i,alt:o,minDelta:s,maxDelta:r,snapBefore:l,snapAfter:a}=this.sashDragState;this.sashDragState.current=e;const d=e-n,u=this.resize(t,d,i,void 0,void 0,s,r,l,a);if(o){const e=t===this.sashItems.length-1,n=this.viewItems.map((e=>e.size)),i=e?t:t+1,o=this.viewItems[i],s=o.size-o.maximumSize,r=o.size-o.minimumSize,l=e?t-1:t+1;this.resize(l,-u,n,void 0,void 0,s,r)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const e of this.viewItems)e.enabled=!0}onViewChange(e,t){const n=this.viewItems.indexOf(e);n<0||n>=this.viewItems.length||(t=BN(t="number"==typeof t?t:e.size,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&n>0?(this.resize(n-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([n],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==rK.Idle)throw new Error("Cant modify splitview");this.state=rK.Busy;try{const n=zc(this.viewItems.length).filter((t=>t!==e)),i=[...n.filter((e=>1===this.viewItems[e].priority)),e],o=n.filter((e=>2===this.viewItems[e].priority)),s=this.viewItems[e];t=BN(t=Math.round(t),s.minimumSize,Math.min(s.maximumSize,this.size)),s.size=t,this.relayout(i,o)}finally{this.state=rK.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const n of this.viewItems)n.maximumSize-n.minimumSize>0&&(e.push(n),t+=n.size);const n=Math.floor(t/e.length);for(const t of e)t.size=BN(n,t.minimumSize,t.maximumSize);const i=zc(this.viewItems.length),o=i.filter((e=>1===this.viewItems[e].priority)),s=i.filter((e=>2===this.viewItems[e].priority));this.relayout(o,s)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,n=this.viewItems.length,i){if(this.state!==rK.Idle)throw new Error("Cant modify splitview");this.state=rK.Busy;try{const o=mr(".split-view-view");n===this.viewItems.length?this.viewContainer.appendChild(o):this.viewContainer.insertBefore(o,this.viewContainer.children.item(n));const s=e.onDidChange((e=>this.onViewChange(a,e))),r=ot(s,st((()=>this.viewContainer.removeChild(o))));let l;"number"==typeof t?l=t:("auto"===t.type&&(t=this.areViewsDistributed()?{type:"distribute"}:{type:"split",index:t.index}),l="split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize);const a=0===this.orientation?new oK(o,e,l,r):new sK(o,e,l,r);if(this.viewItems.splice(n,0,a),this.viewItems.length>1){const e={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},t=0===this.orientation?new uU(this.sashContainer,{getHorizontalSashTop:e=>this.getSashPosition(e),getHorizontalSashWidth:this.getSashOrthogonalSize},{...e,orientation:1}):new uU(this.sashContainer,{getVerticalSashLeft:e=>this.getSashPosition(e),getVerticalSashHeight:this.getSashOrthogonalSize},{...e,orientation:0}),i=0===this.orientation?e=>({sash:t,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:t,start:e.startX,current:e.currentX,alt:e.altKey}),o=ft.map(t.onDidStart,i)(this.onSashStart,this),s=ft.map(t.onDidChange,i)(this.onSashChange,this),r=ft.map(t.onDidEnd,(()=>this.sashItems.findIndex((e=>e.sash===t)))),l=r(this.onSashEnd,this),a=t.onDidReset((()=>{const e=this.sashItems.findIndex((e=>e.sash===t)),n=zc(e,-1),i=zc(e+1,this.viewItems.length),o=this.findFirstSnapIndex(n),s=this.findFirstSnapIndex(i);("number"!=typeof o||this.viewItems[o].visible)&&("number"!=typeof s||this.viewItems[s].visible)&&this._onDidSashReset.fire(e)})),d=ot(o,s,l,a,t),u={sash:t,disposable:d};this.sashItems.splice(n-1,0,u)}let d;o.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(d=[t.index]),i||this.relayout([n],d),i||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()}finally{this.state=rK.Idle}}relayout(e,t){const n=this.viewItems.reduce(((e,t)=>e+t.size),0);this.resize(this.viewItems.length-1,this.size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,n=this.viewItems.map((e=>e.size)),i,o,s=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,l,a){if(e<0||e>=this.viewItems.length)return 0;const d=zc(e,-1),u=zc(e+1,this.viewItems.length);if(o)for(const e of o)Kc(d,e),Kc(u,e);if(i)for(const e of i)jc(d,e),jc(u,e);const c=d.map((e=>this.viewItems[e])),h=d.map((e=>n[e])),g=u.map((e=>this.viewItems[e])),p=u.map((e=>n[e])),m=d.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-n[t])),0),f=d.reduce(((e,t)=>e+(this.viewItems[t].maximumSize-n[t])),0),_=0===u.length?Number.POSITIVE_INFINITY:u.reduce(((e,t)=>e+(n[t]-this.viewItems[t].minimumSize)),0),v=0===u.length?Number.NEGATIVE_INFINITY:u.reduce(((e,t)=>e+(n[t]-this.viewItems[t].maximumSize)),0),b=Math.max(m,v,s),w=Math.min(_,f,r);let C=!1;if(l){const e=this.viewItems[l.index],n=t>=l.limitDelta;C=n!==e.visible,e.setVisible(n,l.size)}if(!C&&a){const e=this.viewItems[a.index],n=te+t.size),0);let n=this.size-t;const i=zc(this.viewItems.length-1,-1),o=i.filter((e=>1===this.viewItems[e].priority)),s=i.filter((e=>2===this.viewItems[e].priority));for(const e of s)Kc(i,e);for(const e of o)jc(i,e);"number"==typeof e&&jc(i,e);for(let e=0;0!==n&&ee+t.size),0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach((e=>e.sash.layout())),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){0===this.orientation?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map((t=>e=t.size-t.minimumSize>0||e));e=!1;const n=this.viewItems.map((t=>e=t.maximumSize-t.size>0||e)),i=[...this.viewItems].reverse();e=!1;const o=i.map((t=>e=t.size-t.minimumSize>0||e)).reverse();e=!1;const s=i.map((t=>e=t.maximumSize-t.size>0||e)).reverse();let r=0;for(let e=0;e0||this.startSnappingEnabled)?i.state=1:u&&t[e]&&(r0)return;if(!e.visible&&e.snap)return t}}areViewsDistributed(){let e,t;for(const n of this.viewItems)if(e=void 0===e?n.size:Math.min(e,n.size),t=void 0===t?n.size:Math.max(t,n.size),t-e>2)return!1;return!0}dispose(){var e;null===(e=this.sashDragState)||void 0===e||e.disposable.dispose(),it(this.viewItems),this.viewItems=[],this.sashItems.forEach((e=>e.disposable.dispose())),this.sashItems=[],super.dispose()}}var dK=n(4234),uK={};uK.styleTagTransform=Vr(),uK.setAttributes=Or(),uK.insert=Rr().bind(null,"head"),uK.domAPI=Tr(),uK.insertStyleElement=Br(),Ir()(dK.A,uK),dK.A&&dK.A.locals&&dK.A.locals;class cK{constructor(e,t,n){this.columns=e,this.getColumnSize=n,this.templateId=cK.TemplateId,this.renderedTemplates=new Set;const i=new Map(t.map((e=>[e.templateId,e])));this.renderers=[];for(const t of e){const e=i.get(t.templateId);if(!e)throw new Error(`Table cell renderer for template id ${t.templateId} not found.`);this.renderers.push(e)}}renderTemplate(e){const t=dr(e,mr(".monaco-table-tr")),n=[],i=[];for(let e=0;ethis.disposables.add(new hK(e,t)))),l={size:r.reduce(((e,t)=>e+t.column.weight),0),views:r.map((e=>({size:e.column.weight,view:e})))};this.splitview=this.disposables.add(new aK(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:l})),this.splitview.el.style.height=`${n.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${n.headerRowHeight}px`;const a=new cK(i,o,(e=>this.splitview.getViewSize(e)));var d;this.list=this.disposables.add(new HI(e,this.domNode,(d=n,{getHeight:e=>d.getHeight(e),getTemplateId:()=>cK.TemplateId}),[a],s)),ft.any(...r.map((e=>e.onDidLayout)))((([e,t])=>a.layoutColumn(e,t)),null,this.disposables),this.splitview.onDidSashReset((e=>{const t=i.reduce(((e,t)=>e+t.weight),0),n=i[e].weight/t*this.cachedWidth;this.splitview.resizeView(e,n)}),null,this.disposables),this.styleElement=$s(this.domNode),this.style(RI)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,n=[]){this.list.splice(e,t,n)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=t.join("\n"),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}gK.InstanceCount=0;var pK=n(2516),mK={};mK.styleTagTransform=Vr(),mK.setAttributes=Or(),mK.insert=Rr().bind(null,"head"),mK.domAPI=Tr(),mK.insertStyleElement=Br(),Ir()(pK.A,mK),pK.A&&pK.A.locals&&pK.A.locals;class fK extends jN{constructor(e){var t;super(),this._onChange=this._register(new Ct),this.onChange=this._onChange.event,this._onKeyDown=this._register(new Ct),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const n=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,n.push(...ka.asClassNameArray(this._icon))),this._opts.actionClassName&&n.push(...this._opts.actionClassName.split(" ")),this._checked&&n.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(RL(null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...n),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,(e=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),e.preventDefault())})),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,(e=>{if(10===e.keyCode||3===e.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),e.preventDefault(),void e.stopPropagation();this._onKeyDown.fire(e)}))}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const _K=_(0,"Match Case"),vK=_(0,"Match Whole Word"),bK=_(0,"Use Regular Expression");class wK extends fK{constructor(e){var t;super({icon:Sa.caseSensitive,title:_K+e.appendTitle,isChecked:e.isChecked,hoverDelegate:null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class CK extends fK{constructor(e){var t;super({icon:Sa.wholeWord,title:vK+e.appendTitle,isChecked:e.isChecked,hoverDelegate:null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class yK extends fK{constructor(e){var t;super({icon:Sa.regex,title:bK+e.appendTitle,isChecked:e.isChecked,hoverDelegate:null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class SK{constructor(e,t=0,n=e.length,i=t-1){this.items=e,this.start=t,this.end=n,this.index=i}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class xK{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return null===this._navigator.current()}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new SK(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach((t=>e.push(t))),e}}var kK=n(1366),LK={};LK.styleTagTransform=Vr(),LK.setAttributes=Or(),LK.insert=Rr().bind(null,"head"),LK.domAPI=Tr(),LK.insertStyleElement=Br(),Ir()(kK.A,LK),kK.A&&kK.A.locals&&kK.A.locals;const DK=mr;class NK extends jN{constructor(e,t,n){var i;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new Ct),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=n,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=null!==(i=this.options.tooltip)&&void 0!==i?i:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=dr(e,DK(".monaco-inputbox.idle"));const o=this.options.flexibleHeight?"textarea":"input",s=dr(this.element,DK(".ibwrapper"));if(this.input=dr(s,DK(o+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,(()=>this.element.classList.add("synthetic-focus"))),this.onblur(this.input,(()=>this.element.classList.remove("synthetic-focus"))),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=dr(s,DK("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new dE(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),dr(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((e=>this.input.scrollTop=e.scrollTop)));const t=this._register(new US(e.ownerDocument,"selectionchange")),n=ft.filter(t.event,(()=>{const t=e.ownerDocument.getSelection();return(null==t?void 0:t.anchorNode)===s}));this._register(n(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,(()=>this.onValueChange())),this.onblur(this.input,(()=>this.onBlur())),this.onfocus(this.input,(()=>this.onFocus())),this._register(this.ignoreGesture(this.input)),setTimeout((()=>this.updateMirror()),0),this.options.actions&&(this.actionbar=this._register(new iM(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(RL(IL("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:Rs(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return Hs(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){var e;const t=this.input.selectionStart;return null===t?null:{start:t,end:null!==(e=this.input.selectionEnd)&&void 0!==e?e:t}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,n=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:n})}showMessage(e,t){if("open"===this.state&&_c(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const n=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${yr(n.border,"transparent")}`,this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),null==e?void 0:e.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=Ms(this.element)+"px";let n;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:n=>{var i,o;if(!this.message)return null;e=dr(n,DK(".monaco-inputbox-container")),t();const s={inline:!0,className:"monaco-inputbox-message"},r=this.message.formatContent?gk(this.message.content,s):function(e,t={}){const n=pk(t);return n.textContent=e,n}(this.message.content,s);r.classList.add(this.classForType(this.message.type));const l=this.stylesForType(this.message.type);return r.style.backgroundColor=null!==(i=l.background)&&void 0!==i?i:"",r.style.color=null!==(o=l.foreground)&&void 0!==o?o:"",r.style.border=l.border?`1px solid ${l.border}`:"",dr(e,r),null},onHide:()=>{this.state="closed"},layout:t}),n=3===this.message.type?_(0,"Error: {0}",this.message.content):2===this.message.type?_(0,"Warning: {0}",this.message.content):_(0,"Info: {0}",this.message.content),Zr(n),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,t=10===e.charCodeAt(e.length-1)?" ":"";(e+t).replace(/\u000c/g,"")?this.mirror.textContent=e+t:this.mirror.innerText=" ",this.layout()}applyStyles(){var e,t,n;const i=this.options.inputBoxStyles,o=null!==(e=i.inputBackground)&&void 0!==e?e:"",s=null!==(t=i.inputForeground)&&void 0!==t?t:"",r=null!==(n=i.inputBorder)&&void 0!==n?n:"";this.element.style.backgroundColor=o,this.element.style.color=s,this.input.style.backgroundColor="inherit",this.input.style.color=s,this.element.style.border=`1px solid ${yr(r,"transparent")}`}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=Rs(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,n=t.selectionStart,i=t.selectionEnd,o=t.value;null!==n&&null!==i&&(this.value=o.substr(0,n)+e+o.substr(i),t.setSelectionRange(n+1,n+1),this.layout())}dispose(){var e;this._hideMessage(),this.message=null,null===(e=this.actionbar)||void 0===e||e.dispose(),super.dispose()}}class EK extends NK{constructor(e,t,n){const i=_(0," or {0} for history","⇅"),o=_(0," ({0} for history)","⇅");super(e,t,n),this._onDidFocus=this._register(new Ct),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Ct),this.onDidBlur=this._onDidBlur.event,this.history=new xK(n.history,100);const s=()=>{if(n.showHistoryHint&&n.showHistoryHint()&&!this.placeholder.endsWith(i)&&!this.placeholder.endsWith(o)&&this.history.getHistory().length){const e=this.placeholder.endsWith(")")?i:o,t=this.placeholder+e;n.showPlaceholderOnFocus&&!Hs(this.input)?this.placeholder=t:this.setPlaceHolder(t)}};this.observer=new MutationObserver(((e,t)=>{e.forEach((e=>{e.target.textContent||s()}))})),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,(()=>s())),this.onblur(this.input,(()=>{const e=e=>{if(this.placeholder.endsWith(e)){const t=this.placeholder.slice(0,this.placeholder.length-e.length);return n.showPlaceholderOnFocus?this.placeholder=t:this.setPlaceHolder(t),!0}return!1};e(o)||e(i)}))}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=null!=e?e:"",Yr(this.value?this.value:_(0,"Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,Yr(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}var IK=n(8474),MK={};MK.styleTagTransform=Vr(),MK.setAttributes=Or(),MK.insert=Rr().bind(null,"head"),MK.domAPI=Tr(),MK.insertStyleElement=Br(),Ir()(IK.A,MK),IK.A&&IK.A.locals&&IK.A.locals;const TK=_(0,"input");class AK extends jN{constructor(e,t,n){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new at),this.additionalToggles=[],this._onDidOptionChange=this._register(new Ct),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Ct),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Ct),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new Ct),this._onKeyUp=this._register(new Ct),this._onCaseSensitiveKeyDown=this._register(new Ct),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new Ct),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||TK,this.showCommonFindToggles=!!n.showCommonFindToggles;const i=n.appendCaseSensitiveLabel||"",o=n.appendWholeWordsLabel||"",s=n.appendRegexLabel||"",r=n.history||[],l=!!n.flexibleHeight,a=!!n.flexibleWidth,d=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new EK(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:l,flexibleWidth:a,flexibleMaxHeight:d,inputBoxStyles:n.inputBoxStyles}));const u=this._register(ML());if(this.showCommonFindToggles){this.regex=this._register(new yK({appendTitle:s,isChecked:!1,hoverDelegate:u,...n.toggleStyles})),this._register(this.regex.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.regex.onKeyDown((e=>{this._onRegexKeyDown.fire(e)}))),this.wholeWords=this._register(new CK({appendTitle:o,isChecked:!1,hoverDelegate:u,...n.toggleStyles})),this._register(this.wholeWords.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this.caseSensitive=this._register(new wK({appendTitle:i,isChecked:!1,hoverDelegate:u,...n.toggleStyles})),this._register(this.caseSensitive.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.caseSensitive.onKeyDown((e=>{this._onCaseSensitiveKeyDown.fire(e)})));const e=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const n=e.indexOf(this.domNode.ownerDocument.activeElement);if(n>=0){let i=-1;t.equals(17)?i=(n+1)%e.length:t.equals(15)&&(i=0===n?e.length-1:n-1),t.equals(9)?(e[n].blur(),this.inputBox.focus()):i>=0&&e[i].focus(),rr(t,!0)}}}))}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(null==n?void 0:n.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),null==e||e.appendChild(this.domNode),this._register(ms(this.inputBox.inputElement,"compositionstart",(e=>{this.imeSessionInProgress=!0}))),this._register(ms(this.inputBox.inputElement,"compositionend",(e=>{this.imeSessionInProgress=!1,this._onInput.fire()}))),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){var e,t,n;this.domNode.classList.remove("disabled"),this.inputBox.enable(),null===(e=this.regex)||void 0===e||e.enable(),null===(t=this.wholeWords)||void 0===t||t.enable(),null===(n=this.caseSensitive)||void 0===n||n.enable();for(const e of this.additionalToggles)e.enable()}disable(){var e,t,n;this.domNode.classList.add("disabled"),this.inputBox.disable(),null===(e=this.regex)||void 0===e||e.disable(),null===(t=this.wholeWords)||void 0===t||t.disable(),null===(n=this.caseSensitive)||void 0===n||n.disable();for(const e of this.additionalToggles)e.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const e of this.additionalToggles)e.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new rt;for(const t of null!=e?e:[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()}))),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){var t,n,i,o,s,r;this.inputBox.paddingRight=e?0:(null!==(n=null===(t=this.caseSensitive)||void 0===t?void 0:t.width())&&void 0!==n?n:0)+(null!==(o=null===(i=this.wholeWords)||void 0===i?void 0:i.width())&&void 0!==o?o:0)+(null!==(r=null===(s=this.regex)||void 0===s?void 0:s.width())&&void 0!==r?r:0)+this.additionalToggles.reduce(((e,t)=>e+t.width()),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var e,t;return null!==(t=null===(e=this.caseSensitive)||void 0===e?void 0:e.checked)&&void 0!==t&&t}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){var e,t;return null!==(t=null===(e=this.wholeWords)||void 0===e?void 0:e.checked)&&void 0!==t&&t}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){var e,t;return null!==(t=null===(e=this.regex)||void 0===e?void 0:e.checked)&&void 0!==t&&t}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){var e;null===(e=this.caseSensitive)||void 0===e||e.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}var RK,PK;!function(e){e[e.Expanded=0]="Expanded",e[e.Collapsed=1]="Collapsed",e[e.PreserveOrExpanded=2]="PreserveOrExpanded",e[e.PreserveOrCollapsed=3]="PreserveOrCollapsed"}(RK||(RK={})),function(e){e[e.Unknown=0]="Unknown",e[e.Twistie=1]="Twistie",e[e.Element=2]="Element",e[e.Filter=3]="Filter"}(PK||(PK={}));class OK extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class FK{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}function BK(e){return"object"==typeof e&&"visibility"in e&&"data"in e}function WK(e){switch(e){case!0:return 1;case!1:return 0;default:return e}}function VK(e){return"boolean"==typeof e.collapsible}class HK{constructor(e,t,n,i={}){var o;this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new Dt,this._onDidChangeCollapseState=new Ct,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new Ct,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new Ct,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new Bt(At),this.collapseByDefault=void 0!==i.collapseByDefault&&i.collapseByDefault,this.allowNonCollapsibleParents=null!==(o=i.allowNonCollapsibleParents)&&void 0!==o&&o,this.filter=i.filter,this.autoExpandSingleChildren=void 0!==i.autoExpandSingleChildren&&i.autoExpandSingleChildren,this.root={parent:void 0,element:n,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,n=Ye.empty(),i={}){if(0===e.length)throw new OK(this.user,"Invalid tree location");i.diffIdentityProvider?this.spliceSmart(i.diffIdentityProvider,e,t,n,i):this.spliceSimple(e,t,n,i)}spliceSmart(e,t,n,i,o,s){var r;void 0===i&&(i=Ye.empty()),void 0===s&&(s=null!==(r=o.diffDepth)&&void 0!==r?r:0);const{parentNode:l}=this.getParentNodeWithListIndex(t);if(!l.lastDiffIds)return this.spliceSimple(t,n,i,o);const a=[...i],d=t[t.length-1],u=new TW({getElements:()=>l.lastDiffIds},{getElements:()=>[...l.children.slice(0,d),...a,...l.children.slice(d+n)].map((t=>e.getId(t.element).toString()))}).ComputeDiff(!1);if(u.quitEarly)return l.lastDiffIds=void 0,this.spliceSimple(t,n,a,o);const c=t.slice(0,-1),h=(t,n,i)=>{if(s>0)for(let r=0;rt.originalStart-e.originalStart)))h(g,p,g-(e.originalStart+e.originalLength)),g=e.originalStart,p=e.modifiedStart-d,this.spliceSimple([...c,g],e.originalLength,Ye.slice(a,p,p+e.modifiedLength),o);h(g,p,g)}spliceSimple(e,t,n=Ye.empty(),{onDidCreateNode:i,onDidDeleteNode:o,diffIdentityProvider:s}){const{parentNode:r,listIndex:l,revealed:a,visible:d}=this.getParentNodeWithListIndex(e),u=[],c=Ye.map(n,(e=>this.createTreeNode(e,r,r.visible?1:0,a,u,i))),h=e[e.length-1];let g=0;for(let e=h;e>=0&&es.getId(e.element).toString()))):r.lastDiffIds=r.children.map((e=>s.getId(e.element).toString())):r.lastDiffIds=void 0;let v=0;for(const e of _)e.visible&&v++;if(0!==v)for(let e=h+p.length;ee+(t.visible?t.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(r,f-e),this.list.splice(l,e,u)}if(_.length>0&&o){const e=t=>{o(t),t.children.forEach(e)};_.forEach(e)}this._onDidSplice.fire({insertedNodes:p,deletedNodes:_});let b=r;for(;b;){if(2===b.visibility){this.refilterDelayer.trigger((()=>this.refilter()));break}b=b.parent}}rerender(e){if(0===e.length)throw new OK(this.user,"Invalid tree location");const{node:t,listIndex:n,revealed:i}=this.getTreeNodeWithListIndex(e);t.visible&&i&&this.list.splice(n,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:n,revealed:i}=this.getTreeNodeWithListIndex(e);return n&&i?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const n=this.getTreeNode(e);void 0===t&&(t=!n.collapsible);const i={collapsible:t};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,i)))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,n){const i=this.getTreeNode(e);void 0===t&&(t=!i.collapsed);const o={collapsed:t,recursive:n||!1};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,o)))}_setCollapseState(e,t){const{node:n,listIndex:i,revealed:o}=this.getTreeNodeWithListIndex(e),s=this._setListNodeCollapseState(n,i,o,t);if(n!==this.root&&this.autoExpandSingleChildren&&s&&!VK(t)&&n.collapsible&&!n.collapsed&&!t.recursive){let i=-1;for(let e=0;e-1){i=-1;break}i=e}i>-1&&this._setCollapseState([...e,i],t)}return s}_setListNodeCollapseState(e,t,n,i){const o=this._setNodeCollapseState(e,i,!1);if(!n||!e.visible||!o)return o;const s=e.renderNodeCount,r=this.updateNodeAfterCollapseChange(e),l=s-(-1===t?0:1);return this.list.splice(t+1,l,r.slice(1)),o}_setNodeCollapseState(e,t,n){let i;if(e===this.root?i=!1:(VK(t)?(i=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(i=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):i=!1,i&&this._onDidChangeCollapseState.fire({node:e,deep:n})),!VK(t)&&t.recursive)for(const n of e.children)i=this._setNodeCollapseState(n,t,!0)||i;return i}expandTo(e){this.eventBufferer.bufferEvents((()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})}))}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,n,i,o,s){const r={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof e.collapsible?e.collapsible:void 0!==e.collapsed,collapsed:void 0===e.collapsed?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},l=this._filterNode(r,n);r.visibility=l,i&&o.push(r);const a=e.children||Ye.empty(),d=i&&0!==l&&!r.collapsed;let u=0,c=1;for(const e of a){const t=this.createTreeNode(e,r,l,d,o,s);r.children.push(t),c+=t.renderNodeCount,t.visible&&(t.visibleChildIndex=u++)}return this.allowNonCollapsibleParents||(r.collapsible=r.collapsible||r.children.length>0),r.visibleChildrenCount=u,r.visible=2===l?u>0:1===l,r.visible?r.collapsed||(r.renderNodeCount=c):(r.renderNodeCount=0,i&&o.pop()),null==s||s(r),r}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,n=[];return this._updateNodeAfterCollapseChange(e,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n}_updateNodeAfterCollapseChange(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const n of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(n,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,n=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n}_updateNodeAfterFilterChange(e,t,n,i=!0){let o;if(e!==this.root){if(o=this._filterNode(e,t),0===o)return e.visible=!1,e.renderNodeCount=0,!1;i&&n.push(e)}const s=n.length;e.renderNodeCount=e===this.root?0:1;let r=!1;if(e.collapsed&&0===o)e.visibleChildrenCount=0;else{let t=0;for(const s of e.children)r=this._updateNodeAfterFilterChange(s,o,n,i&&!e.collapsed)||r,s.visible&&(s.visibleChildIndex=t++);e.visibleChildrenCount=t}return e!==this.root&&(e.visible=2===o?r:1===o,e.visibility=o),e.visible?e.collapsed||(e.renderNodeCount+=n.length-s):(e.renderNodeCount=0,i&&n.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(0!==t)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const n=this.filter?this.filter.filter(e.element,t):1;return"boolean"==typeof n?(e.filterData=void 0,n?1:0):BK(n)?(e.filterData=n.data,WK(n.visibility)):(e.filterData=void 0,WK(n))}hasTreeNode(e,t=this.root){if(!e||0===e.length)return!0;const[n,...i]=e;return!(n<0||n>t.children.length)&&this.hasTreeNode(i,t.children[n])}getTreeNode(e,t=this.root){if(!e||0===e.length)return t;const[n,...i]=e;if(n<0||n>t.children.length)throw new OK(this.user,"Invalid tree location");return this.getTreeNode(i,t.children[n])}getTreeNodeWithListIndex(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:n,revealed:i,visible:o}=this.getParentNodeWithListIndex(e),s=e[e.length-1];if(s<0||s>t.children.length)throw new OK(this.user,"Invalid tree location");const r=t.children[s];return{node:r,listIndex:n,revealed:i,visible:o&&r.visible}}getParentNodeWithListIndex(e,t=this.root,n=0,i=!0,o=!0){const[s,...r]=e;if(s<0||s>t.children.length)throw new OK(this.user,"Invalid tree location");for(let e=0;ee.element))),this.data=e}}function GK(e){return e instanceof bE?new $K(e):e}class ZK{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=lt.None,this.disposables=new rt}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){var n,i;null===(i=(n=this.dnd).onDragStart)||void 0===i||i.call(n,GK(e),t)}onDragOver(e,t,n,i,o,s=!0){const r=this.dnd.onDragOver(GK(e),t&&t.element,n,i,o),l=this.autoExpandNode!==t;if(l&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),void 0===t)return r;if(l&&"boolean"!=typeof r&&r.autoExpand&&(this.autoExpandDisposable=Ht((()=>{const e=this.modelProvider(),n=e.getNodeLocation(t);e.isCollapsed(n)&&e.setCollapsed(n,!1),this.autoExpandNode=void 0}),500,this.disposables)),"boolean"==typeof r||!r.accept||void 0===r.bubble||r.feedback)return s?r:{accept:"boolean"==typeof r?r:r.accept,effect:"boolean"==typeof r?void 0:r.effect,feedback:[n]};if(1===r.bubble){const n=this.modelProvider(),s=n.getNodeLocation(t),r=n.getParentNodeLocation(s),l=n.getNode(r),a=r&&n.getListIndex(r);return this.onDragOver(e,l,a,i,o,!1)}const a=this.modelProvider(),d=a.getNodeLocation(t),u=a.getListIndex(d),c=a.getListRenderCount(d);return{...r,feedback:zc(u,u+c)}}drop(e,t,n,i,o){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(GK(e),t&&t.element,n,i,o)}onDragEnd(e){var t,n;null===(n=(t=this.dnd).onDragEnd)||void 0===n||n.call(t,e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function YK(e,t){return t&&{...t,identityProvider:t.identityProvider&&{getId:e=>t.identityProvider.getId(e.element)},dnd:t.dnd&&new ZK(e,t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:e=>t.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element}),isSelectionRangeChangeEvent:e=>t.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})},accessibilityProvider:t.accessibilityProvider&&{...t.accessibilityProvider,getSetSize(t){const n=e(),i=n.getNodeLocation(t),o=n.getParentNodeLocation(i);return n.getNode(o).visibleChildrenCount},getPosInSet:e=>e.visibleChildIndex+1,isChecked:t.accessibilityProvider&&t.accessibilityProvider.isChecked?e=>t.accessibilityProvider.isChecked(e.element):void 0,getRole:t.accessibilityProvider&&t.accessibilityProvider.getRole?e=>t.accessibilityProvider.getRole(e.element):()=>"treeitem",getAriaLabel:e=>t.accessibilityProvider.getAriaLabel(e.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider&&t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider&&t.accessibilityProvider.getAriaLevel?e=>t.accessibilityProvider.getAriaLevel(e.element):e=>e.depth,getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(e=>t.accessibilityProvider.getActiveDescendantId(e.element))},keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:e=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}}class XK{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){var n,i;null===(i=(n=this.delegate).setDynamicHeight)||void 0===i||i.call(n,e.element,t)}}!function(e){e.None="none",e.OnHover="onHover",e.Always="always"}(zK||(zK={}));class QK{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new rt,this.onDidChange=ft.forEach(e,(e=>this._elements=e),this.disposables)}dispose(){this.disposables.dispose()}}class JK{constructor(e,t,n,i,o,s={}){var r;this.renderer=e,this.modelProvider=t,this.activeNodes=i,this.renderedIndentGuides=o,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=JK.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=lt.None,this.disposables=new rt,this.templateId=e.templateId,this.updateOptions(s),ft.map(n,(e=>e.node))(this.onDidChangeNodeTwistieState,this,this.disposables),null===(r=e.onDidChangeTwistieState)||void 0===r||r.call(e,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(void 0!==e.indent){const t=BN(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[e,t]of this.renderedNodes)this.renderTreeElement(e,t)}}if(void 0!==e.renderIndentGuides){const t=e.renderIndentGuides!==zK.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[e,t]of this.renderedNodes)this._renderIndentGuides(e,t);if(this.indentGuidesDisposable.dispose(),t){const e=new rt;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,e),this.indentGuidesDisposable=e,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}void 0!==e.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=dr(e,mr(".monaco-tl-row")),n=dr(t,mr(".monaco-tl-indent")),i=dr(t,mr(".monaco-tl-twistie")),o=dr(t,mr(".monaco-tl-contents")),s=this.renderer.renderTemplate(o);return{container:e,indent:n,twistie:i,indentGuidesDisposable:lt.None,templateData:s}}renderElement(e,t,n,i){this.renderedNodes.set(e,n),this.renderedElements.set(e.element,e),this.renderTreeElement(e,n),this.renderer.renderElement(e,t,n.templateData,i)}disposeElement(e,t,n,i){var o,s;n.indentGuidesDisposable.dispose(),null===(s=(o=this.renderer).disposeElement)||void 0===s||s.call(o,e,t,n.templateData,i),"number"==typeof i&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const n=JK.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft=`${n}px`,t.indent.style.width=n+this.indent-16+"px",e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...ka.asClassNameArray(Sa.treeItemExpanded));let i=!1;this.renderer.renderTwistie&&(i=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(i||t.twistie.classList.add(...ka.asClassNameArray(Sa.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(gs(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const n=new rt,i=this.modelProvider();for(;;){const o=i.getNodeLocation(e),s=i.getParentNodeLocation(o);if(!s)break;const r=i.getNode(s),l=mr(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(r)&&l.classList.add("active"),0===t.indent.childElementCount?t.indent.appendChild(l):t.indent.insertBefore(l,t.indent.firstElementChild),this.renderedIndentGuides.add(r,l),n.add(st((()=>this.renderedIndentGuides.delete(r,l)))),e=r}t.indentGuidesDisposable=n}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,n=this.modelProvider();e.forEach((e=>{const i=n.getNodeLocation(e);try{const o=n.getParentNodeLocation(i);e.collapsible&&e.children.length>0&&!e.collapsed?t.add(e):o&&t.add(n.getNode(o))}catch(e){}})),this.activeIndentNodes.forEach((e=>{t.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.remove("active")))})),t.forEach((e=>{this.activeIndentNodes.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.add("active")))})),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),it(this.disposables)}}JK.DefaultIndent=8;class ej{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,n){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=n,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new rt,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let n=1;if(this._filter){const i=this._filter.filter(e,t);if(n="boolean"==typeof i?i?1:0:BK(i)?WK(i.visibility):i,0===n)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:ta.Default,visibility:n};const i=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),o=Array.isArray(i)?i:[i];for(const e of o){const t=e&&e.toString();if(void 0===t)return{data:ta.Default,visibility:n};let i;if(this.tree.findMatchType===KK.Contiguous){const e=t.toLowerCase().indexOf(this._lowercasePattern);if(e>-1){i=[Number.MAX_SAFE_INTEGER,0];for(let t=this._lowercasePattern.length;t>0;t--)i.push(e+t-1)}}else i=ia(this._pattern,this._lowercasePattern,0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(i)return this._matchCount++,1===o.length?{data:i,visibility:n}:{data:{label:t,score:i},visibility:n}}return this.tree.findMode===UK.Filter?"number"==typeof this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:ta.Default,visibility:n}}reset(){this._totalCount=0,this._matchCount=0}dispose(){it(this.disposables)}}!function(e){e[e.Highlight=0]="Highlight",e[e.Filter=1]="Filter"}(UK||(UK={})),function(e){e[e.Fuzzy=0]="Fuzzy",e[e.Contiguous=1]="Contiguous"}(KK||(KK={}));class tj{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,n,i,o,s={}){var r,l;this.tree=e,this.view=n,this.filter=i,this.contextViewProvider=o,this.options=s,this._pattern="",this.width=0,this._onDidChangeMode=new Ct,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new Ct,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new Ct,this._onDidChangeOpenState=new Ct,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new rt,this.disposables=new rt,this._mode=null!==(r=e.options.defaultFindMode)&&void 0!==r?r:UK.Highlight,this._matchType=null!==(l=e.options.defaultFindMatchType)&&void 0!==l?l:KK.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){void 0!==e.defaultFindMode&&(this.mode=e.defaultFindMode),void 0!==e.defaultFindMatchType&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){this.widget&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}render(){var e,t,n,i;const o=this.filter.totalCount>0&&0===this.filter.matchCount;this.pattern&&o?null===(e=this.tree.options.showNotFoundMessage)||void 0===e||e?null===(t=this.widget)||void 0===t||t.showMessage({type:2,content:_(0,"No elements found.")}):null===(n=this.widget)||void 0===n||n.showMessage({type:2}):null===(i=this.widget)||void 0===i||i.clearMessage()}shouldAllowFocus(e){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1||!ta.isDefault(e.filterData)}layout(e){var t;this.width=e,null===(t=this.widget)||void 0===t||t.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function nj(e,t){return e.position===t.position&&ij(e,t)}function ij(e,t){return e.node.element===t.node.element&&e.startIndex===t.startIndex&&e.height===t.height&&e.endIndex===t.endIndex}class oj{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return Ic(this.stickyNodes,e.stickyNodes,nj)}lastNodePartiallyVisible(){if(0===this.count)return!1;const e=this.stickyNodes[this.count-1];if(1===this.count)return 0!==e.position;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!Ic(this.stickyNodes,e.stickyNodes,ij))return!1;if(0===this.count)return!1;const t=this.stickyNodes[this.count-1],n=e.stickyNodes[e.count-1];return t.position!==n.position}}class sj{constrainStickyScrollNodes(e,t,n){for(let i=0;in||i>=t)return e.slice(0,i)}return e}}class rj extends lt{constructor(e,t,n,i,o,s={}){var r;super(),this.tree=e,this.model=t,this.view=n,this.treeDelegate=o,this.maxWidgetViewRatio=.4;const l=this.validateStickySettings(s);this.stickyScrollMaxItemCount=l.stickyScrollMaxItemCount,this.stickyScrollDelegate=null!==(r=s.stickyScrollDelegate)&&void 0!==r?r:new sj,this._widget=this._register(new lj(n.getScrollableElement(),n,e,i,o,s.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(n.onDidScroll((()=>this.update()))),this._register(n.onDidChangeContentHeight((()=>this.update()))),this._register(e.onDidChangeCollapseState((()=>this.update()))),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(t=0===e?this.view.firstVisibleIndex:this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||0===this.tree.scrollTop)return void this._widget.setState(void 0);const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let n=e,i=0,o=this.getNextStickyNode(n,void 0,i);for(;o&&(t.push(o),i+=o.height,!(t.length<=this.stickyScrollMaxItemCount)||(n=this.getNextVisibleNode(o),n));)o=this.getNextStickyNode(n,o.node,i);const s=this.constrainStickyNodes(t);return s.length?new oj(s):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,n){const i=this.getAncestorUnderPrevious(e,t);if(i){if(i===e){if(!this.nodeIsUncollapsedParent(e))return;if(this.nodeTopAlignsWithStickyNodesBottom(e,n))return}return this.createStickyScrollNode(i,n)}}nodeTopAlignsWithStickyNodesBottom(e,t){const n=this.getNodeIndex(e),i=this.view.getElementTop(n),o=t;return this.view.scrollTop===i-o}createStickyScrollNode(e,t){const n=this.treeDelegate.getHeight(e),{startIndex:i,endIndex:o}=this.getNodeRange(e);return{node:e,position:this.calculateStickyNodePosition(o,t,n),height:n,startIndex:i,endIndex:o}}getAncestorUnderPrevious(e,t=void 0){let n=e,i=this.getParentNode(n);for(;i;){if(i===t)return n;n=i,i=this.getParentNode(n)}if(void 0===t)return n}calculateStickyNodePosition(e,t,n){let i=this.view.getRelativeTop(e);if(null===i&&this.view.firstVisibleIndex===e&&e+1r&&t<=r?r-n:t}constrainStickyNodes(e){if(0===e.length)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,n=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&n.position+n.height<=t)return e;const i=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!i.length)return[];const o=i[i.length-1];if(i.length>this.stickyScrollMaxItemCount||o.position+o.height>t)throw new Error("stickyScrollDelegate violates constraints");return i}getParentNode(e){const t=this.model.getNodeLocation(e),n=this.model.getParentNodeLocation(t);return n?this.model.getNode(n):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),n=this.model.getListIndex(t);if(n<0)throw new Error("Node not found in tree");return{startIndex:n,endIndex:n+this.model.getListRenderCount(t)-1}}nodePositionTopBelowWidget(e){const t=[];let n=this.getParentNode(e);for(;n;)t.push(n),n=this.getParentNode(n);let i=0;for(let e=0;e0,n=!!e&&e.count>0;if(!t&&!n||t&&n&&this._previousState.equal(e))return;if(t!==n&&this.setVisible(n),!n)return this._previousState=void 0,this._previousElements=[],void this._previousStateDisposables.clear();const i=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${i.position}px`;else{this._previousStateDisposables.clear();const t=Array(e.count);for(let n=e.count-1;n>=0;n--){const i=e.stickyNodes[n],{element:o,disposable:s}=this.createElement(i,n,e.count);t[n]=o,this._rootDomNode.appendChild(o),this._previousStateDisposables.add(s)}this.stickyScrollFocus.updateElements(t,e),this._previousElements=t}this._previousState=e,this._rootDomNode.style.height=`${i.position+i.height}px`}createElement(e,t,n){const i=e.startIndex,o=document.createElement("div");o.style.top=`${e.position}px`,!1!==this.tree.options.setRowHeight&&(o.style.height=`${e.height}px`),!1!==this.tree.options.setRowLineHeight&&(o.style.lineHeight=`${e.height}px`),o.classList.add("monaco-tree-sticky-row"),o.classList.add("monaco-list-row"),o.setAttribute("data-index",`${i}`),o.setAttribute("data-parity",i%2==0?"even":"odd"),o.setAttribute("id",this.view.getElementID(i));const s=this.setAccessibilityAttributes(o,e.node.element,t,n),r=this.treeDelegate.getTemplateId(e.node),l=this.treeRenderers.find((e=>e.templateId===r));if(!l)throw new Error(`No renderer found for template id ${r}`);let a=e.node;a===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(a=new Proxy(e.node,{}));const d=l.renderTemplate(o);l.renderElement(a,e.startIndex,d,e.height);const u=st((()=>{s.dispose(),l.disposeElement(a,e.startIndex,d,e.height),l.disposeTemplate(d),o.remove()}));return{element:o,disposable:u}}setAccessibilityAttributes(e,t,n,i){var o;if(!this.accessibilityProvider)return lt.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,n,i))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,n))),this.accessibilityProvider.getRole&&e.setAttribute("role",null!==(o=this.accessibilityProvider.getRole(t))&&void 0!==o?o:"treeitem");const s=this.accessibilityProvider.getAriaLabel(t),r=s&&"string"!=typeof s?s:tI(s),l=YE((t=>{const n=t.readObservable(r);n?e.setAttribute("aria-label",n):e.removeAttribute("aria-label")}));"string"==typeof s||s&&e.setAttribute("aria-label",s.get());const a=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return"number"==typeof a&&e.setAttribute("aria-level",`${a}`),e.setAttribute("aria-selected",String(!1)),l}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class aj extends lt{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new Ct,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new Ct,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this.container.addEventListener("focus",(()=>this.onFocus())),this.container.addEventListener("blur",(()=>this.onBlur())),this._register(this.view.onDidFocus((()=>this.toggleStickyScrollFocused(!1)))),this._register(this.view.onKeyDown((e=>this.onKeyDown(e)))),this._register(this.view.onMouseDown((e=>this.onMouseDown(e)))),this._register(this.view.onContextMenu((e=>this.handleContextMenu(e))))}handleContextMenu(e){const t=e.browserEvent.target;if(!SI(t)&&!yI(t))return void(this.focusedLast()&&this.view.domFocus());if(!ir(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const t=this.state.stickyNodes.findIndex((t=>{var n;return t.node.element===(null===(n=e.element)||void 0===n?void 0:n.element)}));if(-1===t)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");return this.container.focus(),void this.setFocus(t)}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const n=this.state.stickyNodes[this.focusedIndex].node.element,i=this.elements[this.focusedIndex];this._onContextMenu.fire({element:n,anchor:i,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state)if("ArrowUp"===e.key)this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if("ArrowDown"===e.key||"ArrowRight"===e.key){if(this.focusedIndex>=this.state.count-1){const e=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([e]),this.scrollNodeUnderWidget(e,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}onMouseDown(e){const t=e.browserEvent.target;(SI(t)||yI(t))&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&0===t.count)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const n=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const e=BN(n,0,t.count-1);this.setFocus(e)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,o=this.view.getElementTop(e),s=i?i.position+i.height+n.height:n.height;this.view.scrollTop=o-s}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return!!this.state&&this.view.getHTMLElement().classList.contains("sticky-scroll-focused")}removeFocus(){-1!==this.focusedIndex&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){-1!==this.focusedIndex&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||0===this.elements.length)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),-1===this.focusedIndex&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function dj(e){let t=PK.Unknown;return Os(e.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?t=PK.Twistie:Os(e.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?t=PK.Element:Os(e.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(t=PK.Filter),{browserEvent:e.browserEvent,element:e.element?e.element.element:null,target:t}}function uj(e){const t=SI(e.browserEvent.target);return{element:e.element?e.element.element:null,browserEvent:e.browserEvent,anchor:e.anchor,isStickyScroll:t}}function cj(e,t){t(e),e.children.forEach((e=>cj(e,t)))}class hj{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event}set(e,t){!(null==t?void 0:t.__forceEvent)&&Ic(this.nodes,e)||this._set(e,!1,t)}_set(e,t,n){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const e=this;this._onDidChange.fire({get elements(){return e.get()},browserEvent:n})}}get(){return this.elements||(this.elements=this.nodes.map((e=>e.element))),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const e=this.createNodeSet(),n=t=>e.delete(t);return t.forEach((e=>cj(e,n))),void this.set([...e.values()])}const n=new Set,i=e=>n.add(this.identityProvider.getId(e.element).toString());t.forEach((e=>cj(e,i)));const o=new Map,s=e=>o.set(this.identityProvider.getId(e.element).toString(),e);e.forEach((e=>cj(e,s)));const r=[];for(const e of this.nodes){const t=this.identityProvider.getId(e.element).toString();if(n.has(t)){const e=o.get(t);e&&e.visible&&r.push(e)}else r.push(e)}if(this.nodes.length>0&&0===r.length){const e=this.getFirstViewElementWithTrait();e&&r.push(e)}this._set(r,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class gj extends TI{constructor(e,t,n){super(e),this.tree=t,this.stickyScrollProvider=n}onViewPointer(e){if(xI(e.browserEvent.target)||bI(e.browserEvent.target)||CI(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const n=e.browserEvent.target,i=n.classList.contains("monaco-tl-twistie")||n.classList.contains("monaco-icon-label")&&n.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,o=yI(e.browserEvent.target);let s=!1;if(s=!!o||("function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(t.element):!!this.tree.expandOnlyOnTwistieClick),o)this.handleStickyScrollMouseEvent(e,t);else{if(s&&!i&&2!==e.browserEvent.detail)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&2===e.browserEvent.detail)return super.onViewPointer(e)}if(t.collapsible&&(!o||i)){const n=this.tree.getNodeLocation(t),o=e.browserEvent.altKey;if(this.tree.setFocus([n]),this.tree.toggleCollapsed(n,o),s&&i)return void(e.browserEvent.isHandledByList=!0)}o||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(function(e){return wI(e,"monaco-custom-toggle")}(e.browserEvent.target)||function(e){return wI(e,"action-item")}(e.browserEvent.target))return;const n=this.stickyScrollProvider();if(!n)throw new Error("Sticky scroll controller not found");const i=this.list.indexOf(t),o=this.list.getElementTop(i),s=n.nodePositionTopBelowWidget(t);this.tree.scrollTop=o-s,this.list.domFocus(),this.list.setFocus([i]),this.list.setSelection([i])}onDoubleClick(e){!e.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&(e.browserEvent.isHandledByList||super.onDoubleClick(e))}onMouseDown(e){const t=e.browserEvent.target;SI(t)||yI(t)||super.onMouseDown(e)}onContextMenu(e){const t=e.browserEvent.target;SI(t)||yI(t)||super.onContextMenu(e)}}class pj extends HI{constructor(e,t,n,i,o,s,r,l){super(e,t,n,i,l),this.focusTrait=o,this.selectionTrait=s,this.anchorTrait=r}createMouseController(e){return new gj(this,e.tree,e.stickyScrollProvider)}splice(e,t,n=[]){if(super.splice(e,t,n),0===n.length)return;const i=[],o=[];let s;n.forEach(((t,n)=>{this.focusTrait.has(t)&&i.push(e+n),this.selectionTrait.has(t)&&o.push(e+n),this.anchorTrait.has(t)&&(s=e+n)})),i.length>0&&super.setFocus(Vc([...super.getFocus(),...i])),o.length>0&&super.setSelection(Vc([...super.getSelection(),...o])),"number"==typeof s&&super.setAnchor(s)}setFocus(e,t,n=!1){super.setFocus(e,t),n||this.focusTrait.set(e.map((e=>this.element(e))),t)}setSelection(e,t,n=!1){super.setSelection(e,t),n||this.selectionTrait.set(e.map((e=>this.element(e))),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(void 0===e?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class mj{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return ft.filter(ft.map(this.view.onMouseDblClick,dj),(e=>e.target!==PK.Filter))}get onMouseOver(){return ft.map(this.view.onMouseOver,dj)}get onMouseOut(){return ft.map(this.view.onMouseOut,dj)}get onContextMenu(){var e,t;return ft.any(ft.filter(ft.map(this.view.onContextMenu,uj),(e=>!e.isStickyScroll)),null!==(t=null===(e=this.stickyScrollController)||void 0===e?void 0:e.onContextMenu)&&void 0!==t?t:ft.None)}get onPointer(){return ft.map(this.view.onPointer,dj)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return ft.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var e,t;return null!==(t=null===(e=this.findController)||void 0===e?void 0:e.mode)&&void 0!==t?t:UK.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){var e,t;return null!==(t=null===(e=this.findController)||void 0===e?void 0:e.matchType)&&void 0!==t?t:KK.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,n,i,o={}){var s;this._user=e,this._options=o,this.eventBufferer=new Dt,this.onDidChangeFindOpenState=ft.None,this.onDidChangeStickyScrollFocused=ft.None,this.disposables=new rt,this._onWillRefilter=new Ct,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new Ct,this.treeDelegate=new XK(n);const r=new Nt,l=new Nt,a=this.disposables.add(new QK(l.event)),d=new sl;this.renderers=i.map((e=>new JK(e,(()=>this.model),r.event,a,d,o)));for(const e of this.renderers)this.disposables.add(e);let u;o.keyboardNavigationLabelProvider&&(u=new ej(this,o.keyboardNavigationLabelProvider,o.filter),o={...o,filter:u},this.disposables.add(u)),this.focus=new hj((()=>this.view.getFocusedElements()[0]),o.identityProvider),this.selection=new hj((()=>this.view.getSelectedElements()[0]),o.identityProvider),this.anchor=new hj((()=>this.view.getAnchorElement()),o.identityProvider),this.view=new pj(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...YK((()=>this.model),o),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,o),r.input=this.model.onDidChangeCollapseState;const c=ft.forEach(this.model.onDidSplice,(e=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(e),this.selection.onDidModelSplice(e)}))}),this.disposables);c((()=>null),null,this.disposables);const h=this.disposables.add(new Ct),g=this.disposables.add(new Bt(0));if(this.disposables.add(ft.any(c,this.focus.onDidChange,this.selection.onDidChange)((()=>{g.trigger((()=>{const e=new Set;for(const t of this.focus.getNodes())e.add(t);for(const t of this.selection.getNodes())e.add(t);h.fire([...e.values()])}))}))),l.input=h.event,!1!==o.keyboardSupport){const e=ft.chain(this.view.onKeyDown,(e=>e.filter((e=>!bI(e.target))).map((e=>new Ue(e)))));ft.chain(e,(e=>e.filter((e=>15===e.keyCode))))(this.onLeftArrow,this,this.disposables),ft.chain(e,(e=>e.filter((e=>17===e.keyCode))))(this.onRightArrow,this,this.disposables),ft.chain(e,(e=>e.filter((e=>10===e.keyCode))))(this.onSpace,this,this.disposables)}if((null===(s=o.findWidgetEnabled)||void 0===s||s)&&o.keyboardNavigationLabelProvider&&o.contextViewProvider){const e=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new tj(this,this.model,this.view,u,o.contextViewProvider,e),this.focusNavigationFilter=e=>this.findController.shouldAllowFocus(e),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=ft.None,this.onDidChangeFindMatchType=ft.None;o.enableStickyScroll&&(this.stickyScrollController=new rj(this,this.model,this.view,this.renderers,this.treeDelegate,o),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=$s(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===zK.Always)}updateOptions(e={}){var t;this._options={...this._options,...e};for(const t of this.renderers)t.updateOptions(e);this.view.updateOptions(this._options),null===(t=this.findController)||void 0===t||t.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===zK.Always)}get options(){return this._options}updateStickyScroll(e){var t;!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new rj(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=ft.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),null===(t=this.stickyScrollController)||void 0===t||t.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){var e;(null===(e=this.stickyScrollController)||void 0===e?void 0:e.focusedLast())?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){var n;this.view.layout(e,t),ua(t)&&(null===(n=this.findController)||void 0===n||n.layout(t))}style(e){var t;const n=`.${this.view.domId}`,i=[];e.treeIndentGuidesStroke&&(i.push(`.monaco-list${n}:hover .monaco-tl-indent > .indent-guide, .monaco-list${n}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeInactiveIndentGuidesStroke}; }`),i.push(`.monaco-list${n} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`)),e.listBackground&&(i.push(`.monaco-list${n} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${e.listBackground}; }`),i.push(`.monaco-list${n} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${e.listBackground}; }`)),e.listFocusForeground&&(i.push(`.monaco-list${n}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),i.push(`.monaco-list${n}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const o=yr(e.listFocusAndSelectionOutline,yr(e.listSelectionOutline,null!==(t=e.listFocusOutline)&&void 0!==t?t:""));o&&(i.push(`.monaco-list${n}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),i.push(`.monaco-list${n}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(i.push(`.monaco-list${n}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-list${n}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${n}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${n}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${n}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=i.join("\n"),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents((()=>{const n=e.map((e=>this.model.getNode(e)));this.selection.set(n,t);const i=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setSelection(i,t,!0)}))}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents((()=>{const n=e.map((e=>this.model.getNode(e)));this.focus.set(n,t);const i=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setFocus(i,t,!0)}))}focusNext(e=1,t=!1,n,i=(ir(n)&&n.altKey?void 0:this.focusNavigationFilter)){this.view.focusNext(e,t,n,i)}focusPrevious(e=1,t=!1,n,i=(ir(n)&&n.altKey?void 0:this.focusNavigationFilter)){this.view.focusPrevious(e,t,n,i)}focusNextPage(e,t=(ir(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=(ir(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusPreviousPage(e,t,(()=>{var e,t;return null!==(t=null===(e=this.stickyScrollController)||void 0===e?void 0:e.height)&&void 0!==t?t:0}))}focusFirst(e,t=(ir(e)&&e.altKey?void 0:this.focusNavigationFilter)){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const n=this.model.getListIndex(e);if(-1!==n)if(this.stickyScrollController){const i=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(n,t,i)}else this.view.reveal(n,t)}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!0)){const e=this.model.getParentNodeLocation(i);if(!e)return;const t=this.model.getListIndex(e);this.view.reveal(t),this.view.setFocus([t])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!1)){if(!n.children.some((e=>e.visible)))return;const[e]=this.view.getFocus(),t=e+1;this.view.reveal(t),this.view.setFocus([t])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const n=t[0],i=this.model.getNodeLocation(n),o=e.browserEvent.altKey;this.model.setCollapsed(i,void 0,o)}dispose(){var e;it(this.disposables),null===(e=this.stickyScrollController)||void 0===e||e.dispose(),this.view.dispose()}}class fj{constructor(e,t,n={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new HK(e,t,null,n),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,n.sorter&&(this.sorter={compare:(e,t)=>n.sorter.compare(e.element,t.element)}),this.identityProvider=n.identityProvider}setChildren(e,t=Ye.empty(),n={}){const i=this.getElementLocation(e);this._setChildren(i,this.preserveCollapseState(t),n)}_setChildren(e,t=Ye.empty(),n){const i=new Set,o=new Set;this.model.splice([...e,0],Number.MAX_VALUE,t,{...n,onDidCreateNode:e=>{var t;if(null===e.element)return;const s=e;if(i.add(s.element),this.nodes.set(s.element,s),this.identityProvider){const e=this.identityProvider.getId(s.element).toString();o.add(e),this.nodesByIdentity.set(e,s)}null===(t=n.onDidCreateNode)||void 0===t||t.call(n,s)},onDidDeleteNode:e=>{var t;if(null===e.element)return;const s=e;if(i.has(s.element)||this.nodes.delete(s.element),this.identityProvider){const e=this.identityProvider.getId(s.element).toString();o.has(e)||this.nodesByIdentity.delete(e)}null===(t=n.onDidDeleteNode)||void 0===t||t.call(n,s)}})}preserveCollapseState(e=Ye.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),Ye.map(e,(e=>{let t=this.nodes.get(e.element);if(!t&&this.identityProvider){const n=this.identityProvider.getId(e.element).toString();t=this.nodesByIdentity.get(n)}if(!t){let t;return t=void 0===e.collapsed?void 0:e.collapsed===RK.Collapsed||e.collapsed===RK.PreserveOrCollapsed||e.collapsed!==RK.Expanded&&e.collapsed!==RK.PreserveOrExpanded&&Boolean(e.collapsed),{...e,children:this.preserveCollapseState(e.children),collapsed:t}}const n="boolean"==typeof e.collapsible?e.collapsible:t.collapsible;let i;return i=void 0===e.collapsed||e.collapsed===RK.PreserveOrCollapsed||e.collapsed===RK.PreserveOrExpanded?t.collapsed:e.collapsed===RK.Collapsed||e.collapsed!==RK.Expanded&&Boolean(e.collapsed),{...e,collapsible:n,collapsed:i,children:this.preserveCollapseState(e.children)}}))}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const n=this.getElementLocation(e);return this.model.setCollapsible(n,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,n){const i=this.getElementLocation(e);return this.model.setCollapsed(i,t,n)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(null===e)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new OK(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(null===e)throw new OK(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new OK(this.user,`Tree element not found: ${e}`);const n=this.model.getNodeLocation(t),i=this.model.getParentNodeLocation(n);return this.model.getNode(i).element}getElementLocation(e){if(null===e)return[];const t=this.nodes.get(e);if(!t)throw new OK(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function _j(e){return{element:{elements:[e.element],incompressible:e.incompressible||!1},children:Ye.map(Ye.from(e.children),_j),collapsible:e.collapsible,collapsed:e.collapsed}}function vj(e){const t=[e.element],n=e.incompressible||!1;let i,o;for(;[o,i]=Ye.consume(Ye.from(e.children),2),1===o.length&&!o[0].incompressible;)e=o[0],t.push(e.element);return{element:{elements:t,incompressible:n},children:Ye.map(Ye.concat(o,i),vj),collapsible:e.collapsible,collapsed:e.collapsed}}function bj(e,t=0){let n;return n=tbj(e,0))),0===t&&e.element.incompressible?{element:e.element.elements[t],children:n,incompressible:!0,collapsible:e.collapsible,collapsed:e.collapsed}:{element:e.element.elements[t],children:n,collapsible:e.collapsible,collapsed:e.collapsed}}function wj(e){return bj(e,0)}function Cj(e,t,n){return e.element===t?{...e,children:n}:{...e,children:Ye.map(Ye.from(e.children),(e=>Cj(e,t,n)))}}class yj{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,n={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new fj(e,t,n),this.enabled=void 0===n.compressionEnabled||n.compressionEnabled,this.identityProvider=n.identityProvider}setChildren(e,t=Ye.empty(),n){const i=n.diffIdentityProvider&&(o=n.diffIdentityProvider,{getId:e=>e.elements.map((e=>o.getId(e).toString())).join("\0")});var o;if(null===e){const e=Ye.map(t,this.enabled?vj:_j);return void this._setChildren(null,e,{diffIdentityProvider:i,diffDepth:1/0})}const s=this.nodes.get(e);if(!s)throw new OK(this.user,"Unknown compressed tree node");const r=this.model.getNode(s),l=this.model.getParentNodeLocation(s),a=this.model.getNode(l),d=Cj(wj(r),e,t),u=(this.enabled?vj:_j)(d),c=n.diffIdentityProvider?(e,t)=>n.diffIdentityProvider.getId(e)===n.diffIdentityProvider.getId(t):void 0;if(Ic(u.element.elements,r.element.elements,c))return void this._setChildren(s,u.children||Ye.empty(),{diffIdentityProvider:i,diffDepth:1});const h=a.children.map((e=>e===r?u:e));this._setChildren(a.element,h,{diffIdentityProvider:i,diffDepth:r.depth-a.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const t=this.model.getNode().children,n=Ye.map(t,wj),i=Ye.map(n,e?vj:_j);this._setChildren(null,i,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,n){const i=new Set;this.model.setChildren(e,t,{...n,onDidCreateNode:e=>{for(const t of e.element.elements)i.add(t),this.nodes.set(t,e.element)},onDidDeleteNode:e=>{for(const t of e.element.elements)i.has(t)||this.nodes.delete(t)}})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(void 0===e)return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return null===t?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),n=this.model.getParentNodeLocation(t);return null===n?null:n.elements[n.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const n=this.getCompressedNode(e);return this.model.setCollapsible(n,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,n){const i=this.getCompressedNode(e);return this.model.setCollapsed(i,t,n)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(null===e)return null;const t=this.nodes.get(e);if(!t)throw new OK(this.user,`Tree element not found: ${e}`);return t}}const Sj=e=>e[e.length-1];class xj{get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((e=>new xj(this.unwrapper,e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}}class kj{get onDidSplice(){return ft.map(this.model.onDidSplice,(({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map((e=>this.nodeMapper.map(e))),deletedNodes:t.map((e=>this.nodeMapper.map(e)))})))}get onDidChangeCollapseState(){return ft.map(this.model.onDidChangeCollapseState,(({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t})))}get onDidChangeRenderNodeCount(){return ft.map(this.model.onDidChangeRenderNodeCount,(e=>this.nodeMapper.map(e)))}constructor(e,t,n={}){this.rootRef=null,this.elementMapper=n.elementMapper||Sj;const i=e=>this.elementMapper(e.elements);this.nodeMapper=new FK((e=>new xj(i,e))),this.model=new yj(e,function(e,t){return{splice(n,i,o){t.splice(n,i,o.map((t=>e.map(t))))},updateElementHeight(e,n){t.updateElementHeight(e,n)}}}(this.nodeMapper,t),function(e,t){return{...t,identityProvider:t.identityProvider&&{getId:n=>t.identityProvider.getId(e(n))},sorter:t.sorter&&{compare:(e,n)=>t.sorter.compare(e.elements[0],n.elements[0])},filter:t.filter&&{filter:(n,i)=>t.filter.filter(e(n),i)}}}(i,n))}setChildren(e,t=Ye.empty(),n={}){this.model.setChildren(e,t,n)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return null==t?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,n){return this.model.setCollapsed(e,t,n)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}class Lj extends mj{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,n,i,o={}){super(e,t,n,i,o),this.user=e}setChildren(e,t=Ye.empty(),n){this.model.setChildren(e,t,n)}rerender(e){void 0!==e?this.model.rerender(e):this.view.rerender()}hasElement(e){return this.model.has(e)}createModel(e,t,n){return new fj(e,t,n)}}class Dj{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,n){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=n,this.templateId=n.templateId,n.onDidChangeTwistieState&&(this.onDidChangeTwistieState=n.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,n,i){let o=this.stickyScrollDelegate.getCompressedNode(e);o||(o=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),1===o.element.elements.length?(n.compressedTreeNode=void 0,this.renderer.renderElement(e,t,n.data,i)):(n.compressedTreeNode=o,this.renderer.renderCompressedElements(o,t,n.data,i))}disposeElement(e,t,n,i){var o,s,r,l;n.compressedTreeNode?null===(s=(o=this.renderer).disposeCompressedElements)||void 0===s||s.call(o,n.compressedTreeNode,t,n.data,i):null===(l=(r=this.renderer).disposeElement)||void 0===l||l.call(r,e,t,n.data,i)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(e,t)}}!function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);s>3&&r&&Object.defineProperty(t,n,r)}([xL],Dj.prototype,"compressedTreeNodeProvider",null);class Nj{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,n){if(this.compressedStickyNodes.clear(),0===e.length)return[];for(let i=0;in||i>=t-1&&tthis,r=new Nj((()=>this.model));super(e,t,n,i.map((e=>new Dj(s,r,e))),{...Ej(s,o),stickyScrollDelegate:r})}setChildren(e,t=Ye.empty(),n){this.model.setChildren(e,t,n)}createModel(e,t,n){return new kj(e,t,n)}updateOptions(e={}){super.updateOptions(e),void 0!==e.compressionEnabled&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function Mj(e){return{...e,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function Tj(e,t){return!!t.parent&&(t.parent===e||Tj(e,t.parent))}class Aj{get element(){return this.node.element.element}get children(){return this.node.children.map((e=>new Aj(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Rj{constructor(e,t,n){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=n,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,n,i){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,i)}renderTwistie(e,t){return e.slow?(t.classList.add(...ka.asClassNameArray(Sa.treeItemLoading)),!0):(t.classList.remove(...ka.asClassNameArray(Sa.treeItemLoading)),!1)}disposeElement(e,t,n,i){var o,s;null===(s=(o=this.renderer).disposeElement)||void 0===s||s.call(o,this.nodeMapper.map(e),t,n.templateData,i)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function Pj(e){return{browserEvent:e.browserEvent,elements:e.elements.map((e=>e.element))}}function Oj(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}class Fj extends bE{constructor(e){super(e.elements.map((e=>e.element))),this.data=e}}function Bj(e){return e instanceof bE?new Fj(e):e}class Wj{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){var n,i;null===(i=(n=this.dnd).onDragStart)||void 0===i||i.call(n,Bj(e),t)}onDragOver(e,t,n,i,o,s=!0){return this.dnd.onDragOver(Bj(e),t&&t.element,n,i,o)}drop(e,t,n,i,o){this.dnd.drop(Bj(e),t&&t.element,n,i,o)}onDragEnd(e){var t,n;null===(n=(t=this.dnd).onDragEnd)||void 0===n||n.call(t,e)}dispose(){this.dnd.dispose()}}function Vj(e){return e&&{...e,collapseByDefault:!0,identityProvider:e.identityProvider&&{getId:t=>e.identityProvider.getId(t.element)},dnd:e.dnd&&new Wj(e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element}),isSelectionRangeChangeEvent:t=>e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",isChecked:e.accessibilityProvider.isChecked?t=>{var n;return!!(null===(n=e.accessibilityProvider)||void 0===n?void 0:n.isChecked(t.element))}:void 0,getAriaLabel:t=>e.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>e.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider.getAriaLevel&&(t=>e.accessibilityProvider.getAriaLevel(t.element)),getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},filter:e.filter&&{filter:(t,n)=>e.filter.filter(t.element,n)},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)},sorter:void 0,expandOnlyOnTwistieClick:void 0===e.expandOnlyOnTwistieClick?void 0:"function"!=typeof e.expandOnlyOnTwistieClick?e.expandOnlyOnTwistieClick:t=>e.expandOnlyOnTwistieClick(t.element),defaultFindVisibility:t=>t.hasChildren&&t.stale?1:"number"==typeof e.defaultFindVisibility?e.defaultFindVisibility:void 0===e.defaultFindVisibility?2:e.defaultFindVisibility(t.element)}}function Hj(e,t){t(e),e.children.forEach((e=>Hj(e,t)))}class zj{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return ft.map(this.tree.onDidChangeFocus,Pj)}get onDidChangeSelection(){return ft.map(this.tree.onDidChangeSelection,Pj)}get onMouseDblClick(){return ft.map(this.tree.onMouseDblClick,Oj)}get onPointer(){return ft.map(this.tree.onPointer,Oj)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,n,i,o,s={}){this.user=e,this.dataSource=o,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new Ct,this._onDidChangeNodeSlowState=new Ct,this.nodeMapper=new FK((e=>new Aj(e))),this.disposables=new rt,this.identityProvider=s.identityProvider,this.autoExpandSingleChildren=void 0!==s.autoExpandSingleChildren&&s.autoExpandSingleChildren,this.sorter=s.sorter,this.getDefaultCollapseState=e=>s.collapseByDefault?s.collapseByDefault(e)?RK.PreserveOrCollapsed:RK.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,n,i,s),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=Mj({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,n,i,o){const s=new XK(n),r=i.map((e=>new Rj(e,this.nodeMapper,this._onDidChangeNodeSlowState.event))),l=Vj(o)||{};return new Lj(e,t,s,r,l)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach((e=>e.cancel())),this.refreshPromises.clear(),this.root.element=e;const n=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,n),n&&(this.tree.setFocus(n.focus),this.tree.setSelection(n.selection)),t&&"number"==typeof t.scrollTop&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,n=!1,i,o){if(void 0===this.root.element)throw new OK(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await ft.toPromise(this._onDidRender.event));const s=this.getDataNode(e);if(await this.refreshAndRenderNode(s,t,i,o),n)try{this.tree.rerender(s)}catch(e){}}rerender(e){if(void 0===e||e===this.root.element)return void this.tree.rerender();const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),n=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(n)}collapse(e,t=!1){const n=this.getDataNode(e);return this.tree.collapse(n===this.root?null:n,t)}async expand(e,t=!1){if(void 0===this.root.element)throw new OK(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await ft.toPromise(this._onDidRender.event));const n=this.getDataNode(e);if(this.tree.hasElement(n)&&!this.tree.isCollapsible(n))return!1;if(n.refreshPromise&&(await this.root.refreshPromise,await ft.toPromise(this._onDidRender.event)),n!==this.root&&!n.refreshPromise&&!this.tree.isCollapsed(n))return!1;const i=this.tree.expand(n===this.root?null:n,t);return n.refreshPromise&&(await this.root.refreshPromise,await ft.toPromise(this._onDidRender.event)),i}setSelection(e,t){const n=e.map((e=>this.getDataNode(e)));this.tree.setSelection(n,t)}getSelection(){return this.tree.getSelection().map((e=>e.element))}setFocus(e,t){const n=e.map((e=>this.getDataNode(e)));this.tree.setFocus(n,t)}getFocus(){return this.tree.getFocus().map((e=>e.element))}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),n=this.tree.getFirstElementChild(t===this.root?null:t);return n&&n.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new OK(this.user,`Data tree node not found: ${e}`);return t}async refreshAndRenderNode(e,t,n,i){await this.refreshNode(e,t,n),this.disposables.isDisposed||this.render(e,n,i)}async refreshNode(e,t,n){let i;return this.subTreeRefreshPromises.forEach(((o,s)=>{!i&&function(e,t){return e===t||Tj(e,t)||Tj(t,e)}(s,e)&&(i=o.then((()=>this.refreshNode(e,t,n))))})),i||(e!==this.root&&this.tree.getNode(e).collapsed?(e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,void this.setChildren(e,[],t,n)):this.doRefreshSubTree(e,t,n))}async doRefreshSubTree(e,t,n){let i;e.refreshPromise=new Promise((e=>i=e)),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally((()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)}));try{const i=await this.doRefreshNode(e,t,n);e.stale=!1,await Xt.settled(i.map((e=>this.doRefreshSubTree(e,t,n))))}finally{i()}}async doRefreshNode(e,t,n){let i;if(e.hasChildren=!!this.dataSource.hasChildren(e.element),e.hasChildren){const t=this.doGetChildren(e);if(ca(t))i=Promise.resolve(t);else{const n=Vt(800);n.then((()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)}),(e=>null)),i=t.finally((()=>n.cancel()))}}else i=Promise.resolve(Ye.empty());try{const o=await i;return this.setChildren(e,o,t,n)}catch(t){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),Ne(t))return[];throw t}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const n=this.dataSource.getChildren(e.element);return ca(n)?this.processChildren(n):(t=Pt((async()=>this.processChildren(await n))),this.refreshPromises.set(e,t),t.finally((()=>{this.refreshPromises.delete(e)})))}_onDidChangeCollapseState({node:e,deep:t}){null!==e.element&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(xe))}setChildren(e,t,n,i){const o=[...t];if(0===e.children.length&&0===o.length)return[];const s=new Map,r=new Map;for(const t of e.children)s.set(t.element,t),this.identityProvider&&r.set(t.id,{node:t,collapsed:this.tree.hasElement(t)&&this.tree.isCollapsed(t)});const l=[],a=o.map((t=>{const o=!!this.dataSource.hasChildren(t);if(!this.identityProvider){const n=Mj({element:t,parent:e,hasChildren:o,defaultCollapseState:this.getDefaultCollapseState(t)});return o&&n.defaultCollapseState===RK.PreserveOrExpanded&&l.push(n),n}const a=this.identityProvider.getId(t).toString(),d=r.get(a);if(d){const e=d.node;return s.delete(e.element),this.nodes.delete(e.element),this.nodes.set(t,e),e.element=t,e.hasChildren=o,n?d.collapsed?(e.children.forEach((e=>Hj(e,(e=>this.nodes.delete(e.element))))),e.children.splice(0,e.children.length),e.stale=!0):l.push(e):o&&!d.collapsed&&l.push(e),e}const u=Mj({element:t,parent:e,id:a,hasChildren:o,defaultCollapseState:this.getDefaultCollapseState(t)});return i&&i.viewState.focus&&i.viewState.focus.indexOf(a)>-1&&i.focus.push(u),i&&i.viewState.selection&&i.viewState.selection.indexOf(a)>-1&&i.selection.push(u),(i&&i.viewState.expanded&&i.viewState.expanded.indexOf(a)>-1||o&&u.defaultCollapseState===RK.PreserveOrExpanded)&&l.push(u),u}));for(const e of s.values())Hj(e,(e=>this.nodes.delete(e.element)));for(const e of a)this.nodes.set(e.element,e);return e.children.splice(0,e.children.length,...a),e!==this.root&&this.autoExpandSingleChildren&&1===a.length&&0===l.length&&(a[0].forceExpanded=!0,l.push(a[0])),l}render(e,t,n){const i=e.children.map((e=>this.asTreeElement(e,t))),o=n&&{...n,diffIdentityProvider:n.diffIdentityProvider&&{getId:e=>n.diffIdentityProvider.getId(e.element)}};this.tree.setChildren(e===this.root?null:e,i,o),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let n;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?n=!1:e.forceExpanded?(n=!1,e.forceExpanded=!1):n=e.defaultCollapseState,{element:e,children:e.hasChildren?Ye.map(e.children,(e=>this.asTreeElement(e,t))):[],collapsible:e.hasChildren,collapsed:n}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class Uj{get element(){return{elements:this.node.element.elements.map((e=>e.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((e=>new Uj(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Kj{constructor(e,t,n,i){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=n,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,n,i){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,i)}renderCompressedElements(e,t,n,i){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,n.templateData,i)}renderTwistie(e,t){return e.slow?(t.classList.add(...ka.asClassNameArray(Sa.treeItemLoading)),!0):(t.classList.remove(...ka.asClassNameArray(Sa.treeItemLoading)),!1)}disposeElement(e,t,n,i){var o,s;null===(s=(o=this.renderer).disposeElement)||void 0===s||s.call(o,this.nodeMapper.map(e),t,n.templateData,i)}disposeCompressedElements(e,t,n,i){var o,s;null===(s=(o=this.renderer).disposeCompressedElements)||void 0===s||s.call(o,this.compressibleNodeMapperProvider().map(e),t,n.templateData,i)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=it(this.disposables)}}class jj extends zj{constructor(e,t,n,i,o,s,r={}){super(e,t,n,o,s,r),this.compressionDelegate=i,this.compressibleNodeMapper=new FK((e=>new Uj(e))),this.filter=r.filter}createTree(e,t,n,i,o){const s=new XK(n),r=i.map((e=>new Kj(e,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event))),l=function(e){const t=e&&Vj(e);return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map((e=>e.element)))}}}(o)||{};return new Ij(e,t,s,r,l)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,n){if(!this.identityProvider)return super.render(e,t);const i=e=>this.identityProvider.getId(e).toString(),o=e=>{const t=new Set;for(const n of e){const e=this.tree.getCompressedTreeNode(n===this.root?null:n);if(e.element)for(const n of e.element.elements)t.add(i(n.element))}return t},s=o(this.tree.getSelection()),r=o(this.tree.getFocus());super.render(e,t,n);const l=this.getSelection();let a=!1;const d=this.getFocus();let u=!1;const c=e=>{const t=e.element;if(t)for(let e=0;e{const t="boolean"==typeof(n=this.filter.filter(e,1))?n?1:0:BK(n)?WK(n.visibility):WK(n);var n;if(2===t)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===t}))),super.processChildren(e)}}class qj extends mj{constructor(e,t,n,i,o,s={}){super(e,t,n,i,s),this.user=e,this.dataSource=o,this.identityProvider=s.identityProvider}createModel(e,t,n){return new fj(e,t,n)}}new ou("isMac",U,_(0,"Whether the operating system is macOS")),new ou("isLinux",K,_(0,"Whether the operating system is Linux"));const $j=new ou("isWindows",z,_(0,"Whether the operating system is Windows")),Gj=new ou("isWeb",q,_(0,"Whether the platform is a web browser")),Zj=(new ou("isMacNative",U&&!q,_(0,"Whether the operating system is macOS on a non-browser platform")),new ou("isIOS",G,_(0,"Whether the operating system is iOS")),new ou("isMobile",Z,_(0,"Whether the platform is a mobile web browser")),new ou("isDevelopment",!1,!0),new ou("productQualityType","",_(0,"Quality type of VS Code")),"inputFocus"),Yj=new ou(Zj,!1,_(0,"Whether keyboard focus is inside an input box"));var Xj=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Qj=function(e,t){return function(n,i){t(n,i,e)}};const Jj=dd("listService"),eq=new ou("listScrollAtBoundary","none"),tq=(Bd.or(eq.isEqualTo("top"),eq.isEqualTo("both")),Bd.or(eq.isEqualTo("bottom"),eq.isEqualTo("both")),new ou("listFocus",!0)),nq=new ou("treestickyScrollFocused",!1),iq=new ou("listSupportsMultiselect",!0),oq=Bd.and(tq,Bd.not(Zj),nq.negate()),sq=new ou("listHasSelectionOrFocus",!1),rq=new ou("listDoubleSelection",!1),lq=new ou("listMultiSelection",!1),aq=new ou("listSelectionNavigation",!1),dq=new ou("listSupportsFind",!0),uq=new ou("treeElementCanCollapse",!1),cq=new ou("treeElementHasParent",!1),hq=new ou("treeElementCanExpand",!1),gq=new ou("treeElementHasChild",!1),pq=new ou("treeFindOpen",!1),mq="listTypeNavigationMode",fq="listAutomaticKeyboardNavigation";function _q(e,t){const n=e.createScoped(t.getHTMLElement());return tq.bindTo(n),n}function vq(e,t){const n=eq.bindTo(e),i=()=>{const e=0===t.scrollTop,i=t.scrollHeight-t.renderHeight-t.scrollTop<1;e&&i?n.set("both"):e?n.set("top"):i?n.set("bottom"):n.set("none")};return i(),t.onDidScroll(i)}const bq="workbench.list.multiSelectModifier",wq="workbench.list.openMode",Cq="workbench.list.horizontalScrolling",yq="workbench.list.defaultFindMode",Sq="workbench.list.typeNavigationMode",xq="workbench.list.keyboardNavigation",kq="workbench.list.scrollByPage",Lq="workbench.list.defaultFindMatchType",Dq="workbench.tree.indent",Nq="workbench.tree.renderIndentGuides",Eq="workbench.list.smoothScrolling",Iq="workbench.list.mouseWheelScrollSensitivity",Mq="workbench.list.fastScrollSensitivity",Tq="workbench.tree.expandMode",Aq="workbench.tree.enableStickyScroll",Rq="workbench.tree.stickyScrollMaxItemCount";function Pq(e){return"alt"===e.getValue(bq)}class Oq extends lt{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=Pq(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(bq)&&(this.useAltAsMultipleSelectionModifier=Pq(this.configurationService))})))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:EI(e)}isSelectionRangeChangeEvent(e){return II(e)}}function Fq(e,t){var n;const i=e.get(pg),o=e.get(zL),s=new rt;return[{...t,keyboardNavigationDelegate:{mightProducePrintableCharacter:e=>o.mightProducePrintableCharacter(e)},smoothScrolling:Boolean(i.getValue(Eq)),mouseWheelScrollSensitivity:i.getValue(Iq),fastScrollSensitivity:i.getValue(Mq),multipleSelectionController:null!==(n=t.multipleSelectionController)&&void 0!==n?n:s.add(new Oq(i)),keyboardNavigationEventFilter:jq(o),scrollByPage:Boolean(i.getValue(kq))},s]}let Bq=class extends HI{constructor(e,t,n,i,o,s,r,l,a){const d=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(l.getValue(Cq)),[u,c]=a.invokeFunction(Fq,o);super(e,t,n,i,{keyboardSupport:!1,...u,horizontalScrolling:d}),this.disposables.add(c),this.contextKeyService=_q(s,this),this.disposables.add(vq(this.contextKeyService,this)),this.listSupportsMultiSelect=iq.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),aq.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this.listHasSelectionOrFocus=sq.bindTo(this.contextKeyService),this.listDoubleSelection=rq.bindTo(this.contextKeyService),this.listMultiSelection=lq.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Pq(l),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(l.onDidChangeConfiguration((e=>{e.affectsConfiguration(bq)&&(this._useAltAsMultipleSelectionModifier=Pq(l));let t={};if(e.affectsConfiguration(Cq)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(Cq));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(kq)){const e=Boolean(l.getValue(kq));t={...t,scrollByPage:e}}if(e.affectsConfiguration(Eq)){const e=Boolean(l.getValue(Eq));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Iq)){const e=l.getValue(Iq);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(Mq)){const e=l.getValue(Mq);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new zq(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?kM(e):xM)}};Bq=Xj([Qj(5,su),Qj(6,Jj),Qj(7,pg),Qj(8,ad)],Bq);let Wq=class extends JU{constructor(e,t,n,i,o,s,r,l,a){const d=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(l.getValue(Cq)),[u,c]=a.invokeFunction(Fq,o);super(e,t,n,i,{keyboardSupport:!1,...u,horizontalScrolling:d}),this.disposables=new rt,this.disposables.add(c),this.contextKeyService=_q(s,this),this.disposables.add(vq(this.contextKeyService,this.widget)),this.horizontalScrolling=o.horizontalScrolling,this.listSupportsMultiSelect=iq.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),aq.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this._useAltAsMultipleSelectionModifier=Pq(l),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(l.onDidChangeConfiguration((e=>{e.affectsConfiguration(bq)&&(this._useAltAsMultipleSelectionModifier=Pq(l));let t={};if(e.affectsConfiguration(Cq)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(Cq));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(kq)){const e=Boolean(l.getValue(kq));t={...t,scrollByPage:e}}if(e.affectsConfiguration(Eq)){const e=Boolean(l.getValue(Eq));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Iq)){const e=l.getValue(Iq);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(Mq)){const e=l.getValue(Mq);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new zq(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?kM(e):xM)}dispose(){this.disposables.dispose(),super.dispose()}};Wq=Xj([Qj(5,su),Qj(6,Jj),Qj(7,pg),Qj(8,ad)],Wq);let Vq=class extends gK{constructor(e,t,n,i,o,s,r,l,a,d){const u=void 0!==s.horizontalScrolling?s.horizontalScrolling:Boolean(a.getValue(Cq)),[c,h]=d.invokeFunction(Fq,s);super(e,t,n,i,o,{keyboardSupport:!1,...c,horizontalScrolling:u}),this.disposables.add(h),this.contextKeyService=_q(r,this),this.disposables.add(vq(this.contextKeyService,this)),this.listSupportsMultiSelect=iq.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==s.multipleSelectionSupport),aq.bindTo(this.contextKeyService).set(Boolean(s.selectionNavigation)),this.listHasSelectionOrFocus=sq.bindTo(this.contextKeyService),this.listDoubleSelection=rq.bindTo(this.contextKeyService),this.listMultiSelection=lq.bindTo(this.contextKeyService),this.horizontalScrolling=s.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Pq(a),this.disposables.add(this.contextKeyService),this.disposables.add(l.register(this)),this.updateStyles(s.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(a.onDidChangeConfiguration((e=>{e.affectsConfiguration(bq)&&(this._useAltAsMultipleSelectionModifier=Pq(a));let t={};if(e.affectsConfiguration(Cq)&&void 0===this.horizontalScrolling){const e=Boolean(a.getValue(Cq));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(kq)){const e=Boolean(a.getValue(kq));t={...t,scrollByPage:e}}if(e.affectsConfiguration(Eq)){const e=Boolean(a.getValue(Eq));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Iq)){const e=a.getValue(Iq);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(Mq)){const e=a.getValue(Mq);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new Uq(this,{configurationService:a,...s}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?kM(e):xM)}dispose(){this.disposables.dispose(),super.dispose()}};Vq=Xj([Qj(6,su),Qj(7,Jj),Qj(8,pg),Qj(9,ad)],Vq);class Hq extends lt{constructor(e,t){var n;super(),this.widget=e,this._onDidOpen=this._register(new Ct),this.onDidOpen=this._onDidOpen.event,this._register(ft.filter(this.widget.onDidChangeSelection,(e=>ir(e.browserEvent)))((e=>this.onSelectionFromKeyboard(e)))),this._register(this.widget.onPointer((e=>this.onPointer(e.element,e.browserEvent)))),this._register(this.widget.onMouseDblClick((e=>this.onMouseDblClick(e.element,e.browserEvent)))),"boolean"!=typeof(null==t?void 0:t.openOnSingleClick)&&(null==t?void 0:t.configurationService)?(this.openOnSingleClick="doubleClick"!==(null==t?void 0:t.configurationService.getValue(wq)),this._register(null==t?void 0:t.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(wq)&&(this.openOnSingleClick="doubleClick"!==(null==t?void 0:t.configurationService.getValue(wq)))})))):this.openOnSingleClick=null===(n=null==t?void 0:t.openOnSingleClick)||void 0===n||n}onSelectionFromKeyboard(e){if(1!==e.elements.length)return;const t=e.browserEvent,n="boolean"!=typeof t.preserveFocus||t.preserveFocus,i="boolean"==typeof t.pinned?t.pinned:!n;this._open(this.getSelectedElement(),n,i,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick)return;if(2===t.detail)return;const n=1===t.button,i=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!0,n,i,t)}onMouseDblClick(e,t){if(!t)return;const n=t.target;if(n.classList.contains("monaco-tl-twistie")||n.classList.contains("monaco-icon-label")&&n.classList.contains("folder-icon")&&t.offsetX<16)return;const i=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!1,!0,i,t)}_open(e,t,n,i,o){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:n,revealIfVisible:!0},sideBySide:i,element:e,browserEvent:o})}}class zq extends Hq{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class Uq extends Hq{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class Kq extends Hq{constructor(e,t){super(e,t)}getSelectedElement(){var e;return null!==(e=this.widget.getSelection()[0])&&void 0!==e?e:void 0}}function jq(e){let t=!1;return n=>{if(n.toKeyCodeChord().isModifierKey())return!1;if(t)return t=!1,!1;const i=e.softDispatch(n,n.target);return 1===i.kind?(t=!0,!1):(t=!1,0===i.kind)}}let qq=class extends Lj{constructor(e,t,n,i,o,s,r,l,a){const{options:d,getTypeNavigationMode:u,disposable:c}=s.invokeFunction(Jq,o);super(e,t,n,i,d),this.disposables.add(c),this.internals=new e$(this,o,u,o.overrideStyles,r,l,a),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};qq=Xj([Qj(5,ad),Qj(6,su),Qj(7,Jj),Qj(8,pg)],qq);let $q=class extends Ij{constructor(e,t,n,i,o,s,r,l,a){const{options:d,getTypeNavigationMode:u,disposable:c}=s.invokeFunction(Jq,o);super(e,t,n,i,d),this.disposables.add(c),this.internals=new e$(this,o,u,o.overrideStyles,r,l,a),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};$q=Xj([Qj(5,ad),Qj(6,su),Qj(7,Jj),Qj(8,pg)],$q);let Gq=class extends qj{constructor(e,t,n,i,o,s,r,l,a,d){const{options:u,getTypeNavigationMode:c,disposable:h}=r.invokeFunction(Jq,s);super(e,t,n,i,o,u),this.disposables.add(h),this.internals=new e$(this,s,c,s.overrideStyles,l,a,d),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),void 0!==e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Gq=Xj([Qj(6,ad),Qj(7,su),Qj(8,Jj),Qj(9,pg)],Gq);let Zq=class extends zj{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,n,i,o,s,r,l,a,d){const{options:u,getTypeNavigationMode:c,disposable:h}=r.invokeFunction(Jq,s);super(e,t,n,i,o,u),this.disposables.add(h),this.internals=new e$(this,s,c,s.overrideStyles,l,a,d),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Zq=Xj([Qj(6,ad),Qj(7,su),Qj(8,Jj),Qj(9,pg)],Zq);let Yq=class extends jj{constructor(e,t,n,i,o,s,r,l,a,d,u){const{options:c,getTypeNavigationMode:h,disposable:g}=l.invokeFunction(Jq,r);super(e,t,n,i,o,s,c),this.disposables.add(g),this.internals=new e$(this,r,h,r.overrideStyles,a,d,u),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};function Xq(e){const t=e.getValue(yq);if("highlight"===t)return UK.Highlight;if("filter"===t)return UK.Filter;const n=e.getValue(xq);return"simple"===n||"highlight"===n?UK.Highlight:"filter"===n?UK.Filter:void 0}function Qq(e){const t=e.getValue(Lq);return"fuzzy"===t?KK.Fuzzy:"contiguous"===t?KK.Contiguous:void 0}function Jq(e,t){var n;const i=e.get(pg),o=e.get(VL),s=e.get(su),r=e.get(ad),l=void 0!==t.horizontalScrolling?t.horizontalScrolling:Boolean(i.getValue(Cq)),[a,d]=r.invokeFunction(Fq,t),u=t.paddingBottom,c=void 0!==t.renderIndentGuides?t.renderIndentGuides:i.getValue(Nq);return{getTypeNavigationMode:()=>{const e=s.getContextKeyValue(mq);if("automatic"===e)return hI.Automatic;if("trigger"===e)return hI.Trigger;if(!1===s.getContextKeyValue(fq))return hI.Trigger;const t=i.getValue(Sq);return"automatic"===t?hI.Automatic:"trigger"===t?hI.Trigger:void 0},disposable:d,options:{keyboardSupport:!1,...a,indent:"number"==typeof i.getValue(Dq)?i.getValue(Dq):void 0,renderIndentGuides:c,smoothScrolling:Boolean(i.getValue(Eq)),defaultFindMode:Xq(i),defaultFindMatchType:Qq(i),horizontalScrolling:l,scrollByPage:Boolean(i.getValue(kq)),paddingBottom:u,hideTwistiesOfChildlessElements:t.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:null!==(n=t.expandOnlyOnTwistieClick)&&void 0!==n?n:"doubleClick"===i.getValue(Tq),contextViewProvider:o,findWidgetStyles:yM,enableStickyScroll:Boolean(i.getValue(Aq)),stickyScrollMaxItemCount:Number(i.getValue(Rq))}}}Yq=Xj([Qj(7,ad),Qj(8,su),Qj(9,Jj),Qj(10,pg)],Yq);let e$=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,n,i,o,s,r){var l;this.tree=e,this.disposables=[],this.contextKeyService=_q(o,e),this.disposables.push(vq(this.contextKeyService,e)),this.listSupportsMultiSelect=iq.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==t.multipleSelectionSupport),aq.bindTo(this.contextKeyService).set(Boolean(t.selectionNavigation)),this.listSupportFindWidget=dq.bindTo(this.contextKeyService),this.listSupportFindWidget.set(null===(l=t.findWidgetEnabled)||void 0===l||l),this.hasSelectionOrFocus=sq.bindTo(this.contextKeyService),this.hasDoubleSelection=rq.bindTo(this.contextKeyService),this.hasMultiSelection=lq.bindTo(this.contextKeyService),this.treeElementCanCollapse=uq.bindTo(this.contextKeyService),this.treeElementHasParent=cq.bindTo(this.contextKeyService),this.treeElementCanExpand=hq.bindTo(this.contextKeyService),this.treeElementHasChild=gq.bindTo(this.contextKeyService),this.treeFindOpen=pq.bindTo(this.contextKeyService),this.treeStickyScrollFocused=nq.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=Pq(r),this.updateStyleOverrides(i);const a=()=>{const t=e.getFocus()[0];if(!t)return;const n=e.getNode(t);this.treeElementCanCollapse.set(n.collapsible&&!n.collapsed),this.treeElementHasParent.set(!!e.getParentElement(t)),this.treeElementCanExpand.set(n.collapsible&&n.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(t))},d=new Set;d.add(mq),d.add(fq),this.disposables.push(this.contextKeyService,s.register(e),e.onDidChangeSelection((()=>{const t=e.getSelection(),n=e.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(t.length>0||n.length>0),this.hasMultiSelection.set(t.length>1),this.hasDoubleSelection.set(2===t.length)}))})),e.onDidChangeFocus((()=>{const t=e.getSelection(),n=e.getFocus();this.hasSelectionOrFocus.set(t.length>0||n.length>0),a()})),e.onDidChangeCollapseState(a),e.onDidChangeModel(a),e.onDidChangeFindOpenState((e=>this.treeFindOpen.set(e))),e.onDidChangeStickyScrollFocused((e=>this.treeStickyScrollFocused.set(e))),r.onDidChangeConfiguration((i=>{let o={};if(i.affectsConfiguration(bq)&&(this._useAltAsMultipleSelectionModifier=Pq(r)),i.affectsConfiguration(Dq)){const e=r.getValue(Dq);o={...o,indent:e}}if(i.affectsConfiguration(Nq)&&void 0===t.renderIndentGuides){const e=r.getValue(Nq);o={...o,renderIndentGuides:e}}if(i.affectsConfiguration(Eq)){const e=Boolean(r.getValue(Eq));o={...o,smoothScrolling:e}}if(i.affectsConfiguration(yq)||i.affectsConfiguration(xq)){const e=Xq(r);o={...o,defaultFindMode:e}}if(i.affectsConfiguration(Sq)||i.affectsConfiguration(xq)){const e=n();o={...o,typeNavigationMode:e}}if(i.affectsConfiguration(Lq)){const e=Qq(r);o={...o,defaultFindMatchType:e}}if(i.affectsConfiguration(Cq)&&void 0===t.horizontalScrolling){const e=Boolean(r.getValue(Cq));o={...o,horizontalScrolling:e}}if(i.affectsConfiguration(kq)){const e=Boolean(r.getValue(kq));o={...o,scrollByPage:e}}if(i.affectsConfiguration(Tq)&&void 0===t.expandOnlyOnTwistieClick&&(o={...o,expandOnlyOnTwistieClick:"doubleClick"===r.getValue(Tq)}),i.affectsConfiguration(Aq)){const e=r.getValue(Aq);o={...o,enableStickyScroll:e}}if(i.affectsConfiguration(Rq)){const e=Math.max(1,r.getValue(Rq));o={...o,stickyScrollMaxItemCount:e}}if(i.affectsConfiguration(Iq)){const e=r.getValue(Iq);o={...o,mouseWheelScrollSensitivity:e}}if(i.affectsConfiguration(Mq)){const e=r.getValue(Mq);o={...o,fastScrollSensitivity:e}}Object.keys(o).length>0&&e.updateOptions(o)})),this.contextKeyService.onDidChangeContext((t=>{t.affectsSome(d)&&e.updateOptions({typeNavigationMode:n()})}))),this.navigator=new Kq(e,{configurationService:r,...t}),this.disposables.push(this.navigator)}updateOptions(e){void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?kM(e):xM)}dispose(){this.disposables=it(this.disposables)}};e$=Xj([Qj(4,su),Qj(5,Jj),Qj(6,pg)],e$),fu.as(Dg).registerConfiguration({id:"workbench",order:7,title:_(0,"Workbench"),type:"object",properties:{[bq]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[_(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),_(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:_(0,"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[wq]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:_(0,"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[Cq]:{type:"boolean",default:!1,description:_(0,"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[kq]:{type:"boolean",default:!1,description:_(0,"Controls whether clicks in the scrollbar scroll page by page.")},[Dq]:{type:"number",default:8,minimum:4,maximum:40,description:_(0,"Controls tree indentation in pixels.")},[Nq]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:_(0,"Controls whether the tree should render indent guides.")},[Eq]:{type:"boolean",default:!1,description:_(0,"Controls whether lists and trees have smooth scrolling.")},[Iq]:{type:"number",default:1,markdownDescription:_(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[Mq]:{type:"number",default:5,markdownDescription:_(0,"Scrolling speed multiplier when pressing `Alt`.")},[yq]:{type:"string",enum:["highlight","filter"],enumDescriptions:[_(0,"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),_(0,"Filter elements when searching.")],default:"highlight",description:_(0,"Controls the default find mode for lists and trees in the workbench.")},[xq]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[_(0,"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),_(0,"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),_(0,"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:_(0,"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:_(0,"Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[Lq]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[_(0,"Use fuzzy matching when searching."),_(0,"Use contiguous matching when searching.")],default:"fuzzy",description:_(0,"Controls the type of matching used when searching lists and trees in the workbench.")},[Tq]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:_(0,"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[Aq]:{type:"boolean",default:!0,description:_(0,"Controls whether sticky scrolling is enabled in trees.")},[Rq]:{type:"number",minimum:1,default:7,markdownDescription:_(0,"Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.")},[Sq]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:_(0,"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});class t${constructor(e,t,n,i){this.isProviderFirst=e,this.parent=t,this.link=n,this._rangeCallback=i,this.id=yk.nextId()}get uri(){return this.link.uri}get range(){var e,t;return null!==(t=null!==(e=this._range)&&void 0!==e?e:this.link.targetSelectionRange)&&void 0!==t?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=null===(e=this.parent.getPreview(this))||void 0===e?void 0:e.preview(this.range);return t?_(0,"{0} in {1} on line {2} at column {3}",t.value,Ka(this.uri),this.range.startLineNumber,this.range.startColumn):_(0,"in {0} on line {1} at column {2}",Ka(this.uri),this.range.startLineNumber,this.range.startColumn)}}class n${constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const n=this._modelReference.object.textEditorModel;if(!n)return;const{startLineNumber:i,startColumn:o,endLineNumber:s,endColumn:r}=e,l=n.getWordUntilPosition({lineNumber:i,column:o-t}),a=new nc(i,l.startColumn,i,o),d=new nc(s,r,s,1073741824),u=n.getValueInRange(a).replace(/^\s+/,""),c=n.getValueInRange(e);return{value:u+c+n.getValueInRange(d).replace(/\s+$/,""),highlight:{start:u.length,end:u.length+c.length}}}}class i${constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new tl}dispose(){it(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return 1===e?_(0,"1 symbol in {0}, full path {1}",Ka(this.uri),this.uri.fsPath):_(0,"{0} symbols in {1}, full path {2}",e,Ka(this.uri),this.uri.fsPath)}async resolve(e){if(0!==this._previews.size)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const n=await e.createModelReference(t.uri);this._previews.set(t.uri,new n$(n))}catch(e){xe(e)}return this}}class o${constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Ct,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[n]=e;let i;e.sort(o$._compareReferences);for(const t of e)if(i&&Ha.isEqual(i.uri,t.uri,!0)||(i=new i$(this,t.uri),this.groups.push(i)),0===i.children.length||0!==o$._compareReferences(t,i.children[i.children.length-1])){const e=new t$(n===t,i,t,(e=>this._onDidChangeReferenceRange.fire(e)));this.references.push(e),i.children.push(e)}}dispose(){it(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new o$(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?_(0,"No results found"):1===this.references.length?_(0,"Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?_(0,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):_(0,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:n}=e;let i=n.children.indexOf(e);const o=n.children.length,s=n.parent.groups.length;return 1===s||t&&i+10?(i=t?(i+1)%o:(i+o-1)%o,n.children[i]):(i=n.parent.groups.indexOf(n),t?(i=(i+1)%s,n.parent.groups[i].children[0]):(i=(i+s-1)%s,n.parent.groups[i].children[n.parent.groups[i].children.length-1]))}nearestReference(e,t){const n=this.references.map(((n,i)=>({idx:i,prefixLen:xi(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}))).sort(((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0))[0];if(n)return this.references[n.idx]}referenceAt(e,t){for(const n of this.references)if(n.uri.toString()===e.toString()&&nc.containsPosition(n.range,t))return n}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return Ha.compare(e.uri,t.uri)||nc.compareRangesUsingStarts(e.range,t.range)}}var s$=n(6378),r$={};r$.styleTagTransform=Vr(),r$.setAttributes=Or(),r$.insert=Rr().bind(null,"head"),r$.domAPI=Tr(),r$.insertStyleElement=Br(),Ir()(s$.A,r$),s$.A&&s$.A.locals&&s$.A.locals;var l$=n(1684),a$={};a$.styleTagTransform=Vr(),a$.setAttributes=Or(),a$.insert=Rr().bind(null,"head"),a$.domAPI=Tr(),a$.insertStyleElement=Br(),Ir()(l$.A,a$),l$.A&&l$.A.locals&&l$.A.locals;class d${constructor(e,t,n){this.options=t,this.styles=n,this.count=0,this.element=dr(e,mr(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){var e,t;this.element.textContent=oi(this.countFormat,this.count),this.element.title=oi(this.titleFormat,this.count),this.element.style.backgroundColor=null!==(e=this.styles.badgeBackground)&&void 0!==e?e:"",this.element.style.color=null!==(t=this.styles.badgeForeground)&&void 0!==t?t:"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}class u$ extends lt{constructor(e,t){var n;super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=null!==(n=null==t?void 0:t.supportIcons)&&void 0!==n&&n,this.domNode=dr(e,mr("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],n="",i){e||(e=""),i&&(e=u$.escapeNewLines(e,t)),this.didEverRender&&this.text===e&&this.title===n&&_c(this.highlights,t)||(this.text=e,this.title=n,this.highlights=t,this.render())}render(){var e,t,n,i;const o=[];let s=0;for(const e of this.highlights){if(e.end===e.start)continue;if(s{i="\r\n"===e?-1:0,o+=n;for(const e of t)e.end<=o||(e.start>=o&&(e.start+=i),e.end>=o&&(e.end+=i));return n+=i,"⏎"}))}}var c$=n(8134),h$={};h$.styleTagTransform=Vr(),h$.setAttributes=Or(),h$.insert=Rr().bind(null,"head"),h$.domAPI=Tr(),h$.insertStyleElement=Br(),Ir()(c$.A,h$),c$.A&&c$.A.locals&&c$.A.locals;class g${constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set className(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class p$ extends lt{constructor(e,t){var n;super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new g$(dr(e,mr(".monaco-icon-label")))),this.labelContainer=dr(this.domNode.element,mr(".monaco-icon-label-container")),this.nameContainer=dr(this.labelContainer,mr("span.monaco-icon-name-container")),(null==t?void 0:t.supportHighlights)||(null==t?void 0:t.supportIcons)?this.nameNode=this._register(new f$(this.nameContainer,!!t.supportIcons)):this.nameNode=new m$(this.nameContainer),this.hoverDelegate=null!==(n=null==t?void 0:t.hoverDelegate)&&void 0!==n?n:IL("mouse")}get element(){return this.domNode.element}setLabel(e,t,n){var i;const o=["monaco-icon-label"],s=["monaco-icon-label-container"];let r="";if(n&&(n.extraClasses&&o.push(...n.extraClasses),n.italic&&o.push("italic"),n.strikethrough&&o.push("strikethrough"),n.disabledCommand&&s.push("disabled"),n.title&&("string"==typeof n.title?r+=n.title:r+=e)),this.domNode.className=o.join(" "),this.domNode.element.setAttribute("aria-label",r),this.labelContainer.className=s.join(" "),this.setupHover((null==n?void 0:n.descriptionTitle)?this.labelContainer:this.element,null==n?void 0:n.title),this.nameNode.setLabel(e,n),t||this.descriptionNode){const e=this.getOrCreateDescriptionNode();e instanceof u$?(e.set(t||"",n?n.descriptionMatches:void 0,void 0,null==n?void 0:n.labelEscapeNewLines),this.setupHover(e.element,null==n?void 0:n.descriptionTitle)):(e.textContent=t&&(null==n?void 0:n.labelEscapeNewLines)?u$.escapeNewLines(t,[]):t||"",this.setupHover(e.element,(null==n?void 0:n.descriptionTitle)||""),e.empty=!t)}((null==n?void 0:n.suffix)||this.suffixNode)&&(this.getOrCreateSuffixNode().textContent=null!==(i=null==n?void 0:n.suffix)&&void 0!==i?i:"")}setupHover(e,t){const n=this.customHovers.get(e);if(n&&(n.dispose(),this.customHovers.delete(e)),t)if(this.hoverDelegate.showNativeHover)!function(e,t){la(t)?e.title=Ia(t):(null==t?void 0:t.markdownNotSupportedFallback)?e.title=t.markdownNotSupportedFallback:e.removeAttribute("title")}(e,t);else{const n=RL(this.hoverDelegate,e,t);n&&this.customHovers.set(e,n)}else e.removeAttribute("title")}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const n=this._register(new g$((e=this.nameContainer,t=mr("span.monaco-icon-suffix-container"),e.after(t),t)));this.suffixNode=this._register(new g$(dr(n.element,mr("span.label-suffix"))))}var e,t;return this.suffixNode}getOrCreateDescriptionNode(){var e;if(!this.descriptionNode){const t=this._register(new g$(dr(this.labelContainer,mr("span.monaco-icon-description-container"))));(null===(e=this.creationOptions)||void 0===e?void 0:e.supportDescriptionHighlights)?this.descriptionNode=this._register(new u$(dr(t.element,mr("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new g$(dr(t.element,mr("span.label-description"))))}return this.descriptionNode}}class m${constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(this.label!==e||!_c(this.options,t))if(this.label=e,this.options=t,"string"==typeof e)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=dr(this.container,mr("a.label-name",{id:null==t?void 0:t.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let n=0;n{const o={start:i,end:i+e.length},s=n.map((e=>iE.intersect(o,e))).filter((e=>!iE.isEmpty(e))).map((({start:e,end:t})=>({start:e-i,end:t-i})));return i=o.end+t.length,s}))}(e,n,null==t?void 0:t.matches);for(let o=0;o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},w$=function(e,t){return function(n,i){t(n,i,e)}};let C$=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof o$||e instanceof i$}getChildren(e){if(e instanceof o$)return e.groups;if(e instanceof i$)return e.resolve(this._resolverService).then((e=>e.children));throw new Error("bad tree")}};C$=b$([w$(0,gd)],C$);class y${getHeight(){return 23}getTemplateId(e){return e instanceof i$?L$.id:N$.id}}let S$=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof t$){const n=null===(t=e.parent.getPreview(e))||void 0===t?void 0:t.preview(e.range);if(n)return n.value}return Ka(e.uri)}};S$=b$([w$(0,zL)],S$);class x${getId(e){return e instanceof t$?e.id:e.uri}}let k$=class extends lt{constructor(e,t){super(),this._labelService=t;const n=document.createElement("div");n.classList.add("reference-file"),this.file=this._register(new p$(n,{supportHighlights:!0})),this.badge=new d$(dr(n,mr(".count")),{},SM),e.appendChild(n)}set(e,t){const n=qa(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(n,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const i=e.children.length;this.badge.setCount(i),i>1?this.badge.setTitleFormat(_(0,"{0} references",i)):this.badge.setTitleFormat(_(0,"{0} reference",i))}};k$=b$([w$(1,_$)],k$);let L$=v$=class{constructor(e){this._instantiationService=e,this.templateId=v$.id}renderTemplate(e){return this._instantiationService.createInstance(k$,e)}renderElement(e,t,n){n.set(e.element,Hl(e.filterData))}disposeTemplate(e){e.dispose()}};L$.id="FileReferencesRenderer",L$=v$=b$([w$(0,ad)],L$);class D$ extends lt{constructor(e){super(),this.label=this._register(new u$(e))}set(e,t){var n;const i=null===(n=e.parent.getPreview(e))||void 0===n?void 0:n.preview(e.range);if(i&&i.value){const{value:e,highlight:n}=i;t&&!ta.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(e,Hl(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(e,[n]))}else this.label.set(`${Ka(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`)}}class N${constructor(){this.templateId=N$.id}renderTemplate(e){return new D$(e)}renderElement(e,t,n){n.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}}N$.id="OneReferenceRenderer";class E${getWidgetAriaLabel(){return _(0,"References")}getAriaLabel(e){return e.ariaMessage}}var I$=function(e,t){return function(n,i){t(n,i,e)}};class M${constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new rt,this._callOnModelChange=new rt,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())return void this._addDecorations(t.parent)}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const t=[],n=[];for(let i=0,o=e.children.length;i{const o=i.deltaDecorations([],t);for(let t=0;t{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(A$,"ReferencesWidget",this._treeContainer,new y$,[this._instantiationService.createInstance(L$),this._instantiationService.createInstance(N$)],this._instantiationService.createInstance(C$),t),this._splitView.addView({onDidChange:ft.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},lK.Distribute),this._splitView.addView({onDidChange:ft.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},lK.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const n=(e,t)=>{e instanceof t$&&("show"===t&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:"tree"}))};this._tree.onDidOpen((e=>{e.sideBySide?n(e.element,"side"):e.editorOptions.pinned?n(e.element,"goto"):n(e.element,"show")})),_r(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Ds(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=_(0,"No results"),fr(this._messageContainer),Promise.resolve(void 0)):(_r(this._messageContainer),this._decorationsManager=new M$(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:n}=e;if(2!==t.detail)return;const i=this._getFocusedReference();i&&this._onDidSelectReference.fire({element:{uri:i.uri,range:n.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),fr(this._treeContainer),fr(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();return e instanceof t$?e:e instanceof i$&&e.children.length>0?e.children[0]:void 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!==Ho.inMemory?this.setTitle(Ua(e.uri),this._uriLabel.getUriLabel(qa(e.uri))):this.setTitle(_(0,"References"));const n=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent||(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent)),this._tree.reveal(e);const i=await n;if(!this._model)return void i.dispose();it(this._previewModelReference);const o=i.object;if(o){const t=this._preview.getModel()===o.textEditorModel?0:1,n=nc.lift(e.range).collapseToStart();this._previewModelReference=i,this._preview.setModel(o.textEditorModel),this._preview.setSelection(n),this._preview.revealRangeInCenter(n,t)}else this._preview.setModel(this._previewNotAvailableMessage),i.dispose()}};R$=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([I$(3,Tv),I$(4,gd),I$(5,ad),I$(6,FU),I$(7,_$),I$(8,cy),I$(9,zL),I$(10,Sh),I$(11,Qg)],R$);var P$,O$=function(e,t){return function(n,i){t(n,i,e)}};const F$=new ou("referenceSearchVisible",!1,_(0,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let B$=P$=class{static get(e){return e.getContribution(P$.ID)}constructor(e,t,n,i,o,s,r,l){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=i,this._notificationService=o,this._instantiationService=s,this._storageService=r,this._configurationService=l,this._disposables=new rt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=F$.bindTo(n)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(e=this._widget)||void 0===e||e.dispose(),null===(t=this._model)||void 0===t||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,n){let i;if(this._widget&&(i=this._widget.position),this.closeWidget(),i&&e.containsPosition(i))return;this._peekMode=n,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const o="peekViewLayout",s=T$.fromJSON(this._storageService.get(o,0,"{}"));this._widget=this._instantiationService.createInstance(R$,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(_(0,"Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose((()=>{t.cancel(),this._widget&&(this._storageService.store(o,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((e=>{const{element:t,kind:i}=e;if(t)switch(i){case"open":"editor"===e.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(t,!1,!1);break;case"side":this.openReference(t,!0,!1);break;case"goto":n?this._gotoReference(t,!0):this.openReference(t,!1,!0)}})));const r=++this._requestIdPool;t.then((t=>{var n;if(r===this._requestIdPool&&this._widget)return null===(n=this._model)||void 0===n||n.dispose(),this._model=t,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(_(0,"{0} ({1})",this._model.title,this._model.references.length));const t=this._editor.getModel().uri,n=new cd(e.startLineNumber,e.startColumn),i=this._model.nearestReference(t,n);if(i)return this._widget.setSelection(i).then((()=>{this._widget&&"editor"===this._editor.getOption(87)&&this._widget.focusOnPreviewEditor()}))}}));t.dispose()}),(e=>{this._notificationService.error(e)}))}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 n=this._model.nearestReference(this._editor.getModel().uri,t);if(!n)return;const i=this._model.nextOrPreviousReference(n,e),o=this._editor.hasTextFocus(),s=this._widget.isPreviewEditorFocused();await this._widget.setSelection(i),await this._gotoReference(i,!1),o?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()}async revealReference(e){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(e)}closeWidget(e=!0){var t,n;null===(t=this._widget)||void 0===t||t.dispose(),null===(n=this._model)||void 0===n||n.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;null===(n=this._widget)||void 0===n||n.hide(),this._ignoreModelChangeEvent=!0;const i=nc.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then((e=>{var t;if(this._ignoreModelChangeEvent=!1,e&&this._widget)if(this._editor===e)this._widget.show(i),this._widget.focusOnReferenceTree();else{const n=P$.get(e),o=this._model.clone();this.closeWidget(),e.focus(),null==n||n.toggleWidget(i,Pt((e=>Promise.resolve(o))),null!==(t=this._peekMode)&&void 0!==t&&t)}else this.closeWidget()}),(e=>{this._ignoreModelChangeEvent=!1,xe(e)}))}openReference(e,t,n){t||this.closeWidget();const{uri:i,range:o}=e;this._editorService.openCodeEditor({resource:i,options:{selection:o,selectionSource:"code.jump",pinned:n}},this._editor,t)}};function W$(e,t){const n=function(e){const t=e.get(ud).getFocusedCodeEditor();return t instanceof Jz?t.getParentEditor():t}(e);if(!n)return;const i=B$.get(n);i&&t(i)}B$.ID="editor.contrib.referencesController",B$=P$=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([O$(2,su),O$(3,ud),O$(4,nN),O$(5,ad),O$(6,KB),O$(7,pg)],B$),vu.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ye(2089,60),when:Bd.or(F$,BU.inPeekEditor),handler(e){W$(e,(e=>{e.changeFocusBetweenPreviewAndReferences()}))}}),vu.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Bd.or(F$,BU.inPeekEditor),handler(e){W$(e,(e=>{e.goToNextOrPreviousReference(!0)}))}}),vu.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Bd.or(F$,BU.inPeekEditor),handler(e){W$(e,(e=>{e.goToNextOrPreviousReference(!1)}))}}),Cd.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),Cd.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),Cd.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),Cd.registerCommand("closeReferenceSearch",(e=>W$(e,(e=>e.closeWidget())))),vu.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Bd.and(BU.inPeekEditor,Bd.not("config.editor.stablePeek"))}),vu.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Bd.and(F$,Bd.not("config.editor.stablePeek"),Bd.or(oc.editorTextFocus,Yj.negate()))}),vu.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Bd.and(F$,oq,uq.negate(),hq.negate()),handler(e){var t;const n=null===(t=e.get(Jj).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(n)&&n[0]instanceof t$&&W$(e,(e=>e.revealReference(n[0])))}}),vu.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Bd.and(F$,oq,uq.negate(),hq.negate()),handler(e){var t;const n=null===(t=e.get(Jj).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(n)&&n[0]instanceof t$&&W$(e,(e=>e.openReference(n[0],!0,!0)))}}),Cd.registerCommand("openReference",(e=>{var t;const n=null===(t=e.get(Jj).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(n)&&n[0]instanceof t$&&W$(e,(e=>e.openReference(n[0],!1,!0)))}));var V$=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},H$=function(e,t){return function(n,i){t(n,i,e)}};const z$=new ou("hasSymbols",!1,_(0,"Whether there are symbol locations that can be navigated via keyboard-only.")),U$=dd("ISymbolNavigationService");let K$=class{constructor(e,t,n,i){this._editorService=t,this._notificationService=n,this._keybindingService=i,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=z$.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),null===(e=this._currentState)||void 0===e||e.dispose(),null===(t=this._currentMessage)||void 0===t||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1)return void this.reset();this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const n=new j$(this._editorService),i=n.onDidChange((e=>{if(this._ignoreEditorChange)return;const n=this._editorService.getActiveCodeEditor();if(!n)return;const i=n.getModel(),o=n.getPosition();if(!i||!o)return;let s=!1,r=!1;for(const e of t.references)if(za(e.uri,i.uri))s=!0,r=r||nc.containsPosition(e.range,o);else if(s)break;s&&r||this.reset()}));this._currentState=ot(n,i)}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:nc.collapseToStart(t.range),selectionRevealType:3}},e).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){var e;null===(e=this._currentMessage)||void 0===e||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),n=t?_(0,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):_(0,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(n)}};K$=V$([H$(0,su),H$(1,ud),H$(2,nN),H$(3,zL)],K$),yg(U$,K$,1),qu(new class extends Hu{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:z$,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(U$).revealNext(t)}}),vu.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:z$,primary:9,handler(e){e.get(U$).reset()}});let j$=class{constructor(e){this._listener=new Map,this._disposables=new rt,this._onDidChange=new Ct,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(),it(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,ot(e.onDidChangeCursorPosition((t=>this._onDidChange.fire({editor:e}))),e.onDidChangeModelContent((t=>this._onDidChange.fire({editor:e})))))}_onDidRemoveEditor(e){var t;null===(t=this._listener.get(e))||void 0===t||t.dispose(),this._listener.delete(e)}};async function q$(e,t,n,i){const o=n.ordered(e).map((n=>Promise.resolve(i(n,e,t)).then(void 0,(e=>{ke(e)}))));return Oc((await Promise.all(o)).flat())}function $$(e,t,n,i){return q$(t,n,e,((e,t,n)=>e.provideDefinition(t,n,i)))}function G$(e,t,n,i){return q$(t,n,e,((e,t,n)=>e.provideDeclaration(t,n,i)))}function Z$(e,t,n,i){return q$(t,n,e,((e,t,n)=>e.provideImplementation(t,n,i)))}function Y$(e,t,n,i){return q$(t,n,e,((e,t,n)=>e.provideTypeDefinition(t,n,i)))}function X$(e,t,n,i,o){return q$(t,n,e,(async(e,t,n)=>{const s=await e.provideReferences(t,n,{includeDeclaration:!0},o);if(!i||!s||2!==s.length)return s;const r=await e.provideReferences(t,n,{includeDeclaration:!1},o);return r&&1===r.length?r:s}))}async function Q$(e){const t=await e(),n=new o$(t,""),i=n.references.map((e=>e.link));return n.dispose(),i}var J$,eG,tG,nG,iG,oG,sG,rG;j$=V$([H$(0,ud)],j$),ju("_executeDefinitionProvider",((e,t,n)=>{const i=$$(e.get(wx).definitionProvider,t,n,It.None);return Q$((()=>i))})),ju("_executeTypeDefinitionProvider",((e,t,n)=>{const i=Y$(e.get(wx).typeDefinitionProvider,t,n,It.None);return Q$((()=>i))})),ju("_executeDeclarationProvider",((e,t,n)=>{const i=G$(e.get(wx).declarationProvider,t,n,It.None);return Q$((()=>i))})),ju("_executeReferenceProvider",((e,t,n)=>{const i=X$(e.get(wx).referenceProvider,t,n,!1,It.None);return Q$((()=>i))})),ju("_executeImplementationProvider",((e,t,n)=>{const i=Z$(e.get(wx).implementationProvider,t,n,It.None);return Q$((()=>i))})),Lu.appendMenuItem(Su.EditorContext,{submenu:Su.EditorContextPeek,title:_(0,"Peek"),group:"navigation",order:100});class lG{static is(e){return!(!e||"object"!=typeof e)&&(e instanceof lG||!(!cd.isIPosition(e.position)||!e.model))}constructor(e,t){this.model=e,this.position=t}}class aG extends Ku{static all(){return aG._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const n of Ye.wrap(t.menu))n.id!==Su.EditorContext&&n.id!==Su.EditorContextPeek||(n.when=Bd.and(e.precondition,n.when));return t}constructor(e,t){super(aG._patchConfig(t)),this.configuration=e,aG._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,n,i){if(!t.hasModel())return Promise.resolve(void 0);const o=e.get(nN),s=e.get(ud),r=e.get(bL),l=e.get(U$),a=e.get(wx),d=e.get(ad),u=t.getModel(),c=t.getPosition(),h=lG.is(n)?n:new lG(u,c),g=new rk(t,5),p=Ot(this._getLocationModel(a,h.model,h.position,g.token),g.token).then((async e=>{var o;if(!e||g.token.isCancellationRequested)return;let r;if(Zr(e.ariaMessage),e.referenceAt(u.uri,c)){const e=this._getAlternativeCommand(t);!aG._activeAlternativeCommands.has(e)&&aG._allSymbolNavigationCommands.has(e)&&(r=aG._allSymbolNavigationCommands.get(e))}const a=e.references.length;if(0===a){if(!this.configuration.muteMessage){const e=u.getWordAtPosition(c);null===(o=pL.get(t))||void 0===o||o.showMessage(this._getNoResultFoundMessage(e),c)}}else{if(1!==a||!r)return this._onResult(s,l,t,e,i);aG._activeAlternativeCommands.add(this.desc.id),d.invokeFunction((e=>r.runEditorCommand(e,t,n,i).finally((()=>{aG._activeAlternativeCommands.delete(this.desc.id)}))))}}),(e=>{o.error(e)})).finally((()=>{g.dispose()}));return r.showWhile(p,250),p}async _onResult(e,t,n,i,o){const s=this._getGoToPreference(n);if(n instanceof Jz||!(this.configuration.openInPeek||"peek"===s&&i.references.length>1)){const r=i.firstReference(),l=i.references.length>1&&"gotoAndPeek"===s,a=await this._openReference(n,e,r,this.configuration.openToSide,!l);l&&a?this._openInPeek(a,i,o):i.dispose(),"goto"===s&&t.put(r)}else this._openInPeek(n,i,o)}async _openReference(e,t,n,i,o){let s;var r;if((r=n)&&Io.isUri(r.uri)&&nc.isIRange(r.range)&&(nc.isIRange(r.originSelectionRange)||nc.isIRange(r.targetSelectionRange))&&(s=n.targetSelectionRange),s||(s=n.range),!s)return;const l=await t.openCodeEditor({resource:n.uri,options:{selection:nc.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,i);if(l){if(o){const e=l.getModel(),t=l.createDecorationsCollection([{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{l.getModel()===e&&t.clear()}),350)}return l}}_openInPeek(e,t,n){const i=B$.get(e);i&&e.hasModel()?i.toggleWidget(null!=n?n:e.getSelection(),Pt((e=>Promise.resolve(t))),this.configuration.openInPeek):t.dispose()}}aG._allSymbolNavigationCommands=new Map,aG._activeAlternativeCommands=new Set;class dG extends aG{async _getLocationModel(e,t,n,i){return new o$(await $$(e.definitionProvider,t,n,i),_(0,"Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No definition found for '{0}'",e.word):_(0,"No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}Iu(((J$=class extends dG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:J$.id,title:{...v(0,"Go to Definition"),mnemonicTitle:_(0,"Go to &&Definition")},precondition:oc.hasDefinitionProvider,keybinding:[{when:oc.editorTextFocus,primary:70,weight:100},{when:Bd.and(oc.editorTextFocus,Gj),primary:2118,weight:100}],menu:[{id:Su.EditorContext,group:"navigation",order:1.1},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Cd.registerCommandAlias("editor.action.goToDeclaration",J$.id)}}).id="editor.action.revealDefinition",J$)),Iu(((eG=class extends dG{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:eG.id,title:v(0,"Open Definition to the Side"),precondition:Bd.and(oc.hasDefinitionProvider,oc.isInEmbeddedEditor.toNegated()),keybinding:[{when:oc.editorTextFocus,primary:ye(2089,70),weight:100},{when:Bd.and(oc.editorTextFocus,Gj),primary:ye(2089,2118),weight:100}]}),Cd.registerCommandAlias("editor.action.openDeclarationToTheSide",eG.id)}}).id="editor.action.revealDefinitionAside",eG)),Iu(((tG=class extends dG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:tG.id,title:v(0,"Peek Definition"),precondition:Bd.and(oc.hasDefinitionProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),keybinding:{when:oc.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Su.EditorContextPeek,group:"peek",order:2}}),Cd.registerCommandAlias("editor.action.previewDeclaration",tG.id)}}).id="editor.action.peekDefinition",tG));class uG extends aG{async _getLocationModel(e,t,n,i){return new o$(await G$(e.declarationProvider,t,n,i),_(0,"Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No declaration found for '{0}'",e.word):_(0,"No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}Iu(((nG=class extends uG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:nG.id,title:{...v(0,"Go to Declaration"),mnemonicTitle:_(0,"Go to &&Declaration")},precondition:Bd.and(oc.hasDeclarationProvider,oc.isInEmbeddedEditor.toNegated()),menu:[{id:Su.EditorContext,group:"navigation",order:1.3},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No declaration found for '{0}'",e.word):_(0,"No declaration found")}}).id="editor.action.revealDeclaration",nG)),Iu(class extends uG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:v(0,"Peek Declaration"),precondition:Bd.and(oc.hasDeclarationProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),menu:{id:Su.EditorContextPeek,group:"peek",order:3}})}});class cG extends aG{async _getLocationModel(e,t,n,i){return new o$(await Y$(e.typeDefinitionProvider,t,n,i),_(0,"Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No type definition found for '{0}'",e.word):_(0,"No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}Iu(((iG=class extends cG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:iG.ID,title:{...v(0,"Go to Type Definition"),mnemonicTitle:_(0,"Go to &&Type Definition")},precondition:oc.hasTypeDefinitionProvider,keybinding:{when:oc.editorTextFocus,primary:0,weight:100},menu:[{id:Su.EditorContext,group:"navigation",order:1.4},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}).ID="editor.action.goToTypeDefinition",iG)),Iu(((oG=class extends cG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:oG.ID,title:v(0,"Peek Type Definition"),precondition:Bd.and(oc.hasTypeDefinitionProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),menu:{id:Su.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",oG));class hG extends aG{async _getLocationModel(e,t,n,i){return new o$(await Z$(e.implementationProvider,t,n,i),_(0,"Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No implementation found for '{0}'",e.word):_(0,"No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}Iu(((sG=class extends hG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:sG.ID,title:{...v(0,"Go to Implementations"),mnemonicTitle:_(0,"Go to &&Implementations")},precondition:oc.hasImplementationProvider,keybinding:{when:oc.editorTextFocus,primary:2118,weight:100},menu:[{id:Su.EditorContext,group:"navigation",order:1.45},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}).ID="editor.action.goToImplementation",sG)),Iu(((rG=class extends hG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:rG.ID,title:v(0,"Peek Implementations"),precondition:Bd.and(oc.hasImplementationProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),keybinding:{when:oc.editorTextFocus,primary:3142,weight:100},menu:{id:Su.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",rG));class gG extends aG{_getNoResultFoundMessage(e){return e?_(0,"No references found for '{0}'",e.word):_(0,"No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Iu(class extends gG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...v(0,"Go to References"),mnemonicTitle:_(0,"Go to &&References")},precondition:Bd.and(oc.hasReferenceProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),keybinding:{when:oc.editorTextFocus,primary:1094,weight:100},menu:[{id:Su.EditorContext,group:"navigation",order:1.45},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,n,i){return new o$(await X$(e.referenceProvider,t,n,!0,i),_(0,"References"))}}),Iu(class extends gG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:v(0,"Peek References"),precondition:Bd.and(oc.hasReferenceProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),menu:{id:Su.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,n,i){return new o$(await X$(e.referenceProvider,t,n,!1,i),_(0,"References"))}});class pG extends aG{constructor(e,t,n){super(e,{id:"editor.action.goToLocation",title:v(0,"Go to Any Symbol"),precondition:Bd.and(BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=n}async _getLocationModel(e,t,n,i){return new o$(this._references,_(0,"Locations"))}_getNoResultFoundMessage(e){return e&&_(0,"No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return null!==(t=this._gotoMultipleBehaviour)&&void 0!==t?t:e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Cd.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:Io},{name:"position",description:"The position at which to start",constraint:cd.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(e,t,n,i,o,s,r)=>{fa(Io.isUri(t)),fa(cd.isIPosition(n)),fa(Array.isArray(i)),fa(void 0===o||"string"==typeof o),fa(void 0===r||"boolean"==typeof r);const l=e.get(ud),a=await l.openCodeEditor({resource:t},l.getFocusedCodeEditor());if(GU(a))return a.setPosition(n),a.revealPositionInCenterIfOutsideViewport(n,0),a.invokeWithinContext((e=>{const t=new class extends pG{_getNoResultFoundMessage(e){return s||super._getNoResultFoundMessage(e)}}({muteMessage:!Boolean(s),openInPeek:Boolean(r),openToSide:!1},i,o);e.get(ad).invokeFunction(t.run.bind(t),a)}))}}),Cd.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:Io},{name:"position",description:"The position at which to start",constraint:cd.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(e,t,n,i,o)=>{e.get(wd).executeCommand("editor.action.goToLocations",t,n,i,o,void 0,!0)}}),Cd.registerCommand({id:"editor.action.findReferences",handler:(e,t,n)=>{fa(Io.isUri(t)),fa(cd.isIPosition(n));const i=e.get(wx),o=e.get(ud);return o.openCodeEditor({resource:t},o.getFocusedCodeEditor()).then((e=>{if(!GU(e)||!e.hasModel())return;const t=B$.get(e);if(!t)return;const o=Pt((t=>X$(i.referenceProvider,e.getModel(),cd.lift(n),!1,t).then((e=>new o$(e,_(0,"References")))))),s=new nc(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(s,o,!1))}))}}),Cd.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var mG,fG=function(e,t){return function(n,i){t(n,i,e)}};let _G=mG=class{constructor(e,t,n,i){this.textModelResolverService=t,this.languageService=n,this.languageFeaturesService=i,this.toUnhook=new rt,this.toUnhookForKeyboard=new rt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const o=new Zz(e);this.toUnhook.add(o),this.toUnhook.add(o.onMouseMoveOrRelevantKeyDown((([e,t])=>{this.startFindDefinitionFromMouse(e,null!=t?t:void 0)}))),this.toUnhook.add(o.onExecute((e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch((e=>{xe(e)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(o.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(e){return e.getContribution(mG.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((e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())})))}startFindDefinitionFromMouse(e,t){if(9===e.target.type&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordAtPosition=null,void this.removeLinkDecorations();const n=e.target.position;this.startFindDefinition(n)}async startFindDefinition(e){var t;this.toUnhookForKeyboard.clear();const n=e?null===(t=this.editor.getModel())||void 0===t?void 0:t.getWordAtPosition(e):null;if(!n)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===n.startColumn&&this.currentWordAtPosition.endColumn===n.endColumn&&this.currentWordAtPosition.word===n.word)return;this.currentWordAtPosition=n;const i=new sk(this.editor,15);let o;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Pt((t=>this.findDefinition(e,t)));try{o=await this.previousPromise}catch(e){return void xe(e)}if(!o||!o.length||!i.validate(this.editor))return void this.removeLinkDecorations();const s=o[0].originSelectionRange?nc.lift(o[0].originSelectionRange):new nc(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn);if(o.length>1){let e=s;for(const{originSelectionRange:t}of o)t&&(e=nc.plusRange(e,t));this.addDecoration(e,(new ed).appendText(_(0,"Click to show {0} definitions.",o.length)))}else{const e=o[0];if(!e.uri)return;this.textModelResolverService.createModelReference(e.uri).then((t=>{if(!t.object||!t.object.textEditorModel)return void t.dispose();const{object:{textEditorModel:n}}=t,{startLineNumber:i}=e.range;if(i<1||i>n.getLineCount())return void t.dispose();const o=this.getPreviewValue(n,i,e),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(n.uri);this.addDecoration(s,o?(new ed).appendCodeblock(r||"",o):void 0),t.dispose()}))}}getPreviewValue(e,t,n){let i=n.range;return i.endLineNumber-i.startLineNumber>=mG.MAX_SOURCE_PREVIEW_LINES&&(i=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,i)}stripIndentationFromPreviewRange(e,t,n){let i=e.getLineFirstNonWhitespaceColumn(t);for(let o=t+1;o{const n=!t&&this.editor.getOption(88)&&!this.isInPeekEditor(e);return new dG({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e)}))}isInPeekEditor(e){const t=e.get(su);return BU.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};_G.ID="editor.contrib.gotodefinitionatposition",_G.MAX_SOURCE_PREVIEW_LINES=8,_G=mG=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([fG(1,gd),fG(2,Sh),fG(3,wx)],_G),Zu(_G.ID,_G,2);var vG=n(8694),bG={};bG.styleTagTransform=Vr(),bG.setAttributes=Or(),bG.insert=Rr().bind(null,"head"),bG.domAPI=Tr(),bG.insertStyleElement=Br(),Ir()(vG.A,bG),vG.A&&vG.A.locals&&vG.A.locals;const wG=mr;class CG extends lt{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new cE(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class yG extends lt{static render(e,t,n){return new yG(e,t,n)}constructor(e,t,n){super(),this.actionContainer=dr(e,wG("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=dr(this.actionContainer,wG("a.action")),this.action.setAttribute("role","button"),t.iconClass&&dr(this.action,wG(`span.icon.${t.iconClass}`)),dr(this.action,wG("span")).textContent=n?`${t.label} (${n})`:t.label,this._register(ms(this.actionContainer,or.CLICK,(e=>{e.stopPropagation(),e.preventDefault(),t.run(this.actionContainer)}))),this._register(ms(this.actionContainer,or.KEY_DOWN,(e=>{const n=new Ue(e);(n.equals(3)||n.equals(10))&&(e.stopPropagation(),e.preventDefault(),t.run(this.actionContainer))}))),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}function SG(e,t){return e&&t?_(0,"Inspect this in the accessible view with {0}.",t):e?_(0,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class xG{constructor(e,t,n){this.value=e,this.isComplete=t,this.hasLoadingMessage=n}}class kG extends lt{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Ct),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new jt((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new jt((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new jt((()=>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=function(e){const t=new Tt,n=e(t.token);return new Jt(t,(async e=>{const i=t.token.onCancellationRequested((()=>{i.dispose(),t.dispose(),e.reject(new Ee)}));try{for await(const i of n){if(t.token.isCancellationRequested)return;e.emitOne(i)}i.dispose(),t.dispose()}catch(n){i.dispose(),t.dispose(),e.reject(n)}}))}((e=>this._computer.computeAsync(e))),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(e){xe(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const e=0===this._state,t=4===this._state;this._onResult.fire(new xG(this._result.slice(0),e,t))}start(e){if(0===e)0===this._state&&(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()}}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 LG{constructor(e,t,n,i){this.priority=e,this.range=t,this.initialMousePosX=n,this.initialMousePosY=i,this.type=1}equals(e){return 1===e.type&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return 1===e.type&&t.lineNumber===this.range.startLineNumber}}class DG{constructor(e,t,n,i,o,s){this.priority=e,this.owner=t,this.range=n,this.initialMousePosX=i,this.initialMousePosY=o,this.supportsMarkerHover=s,this.type=2}equals(e){return 2===e.type&&this.owner===e.owner}canAdoptVisibleHover(e,t){return 2===e.type&&this.owner===e.owner}}const NG=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};class EG{constructor(){let e;this._onDidWillResize=new Ct,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Ct,this.onDidResize=this._onDidResize.event,this._sashListener=new rt,this._size=new Ds(0,0),this._minSize=new Ds(0,0),this._maxSize=new Ds(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new uU(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new uU(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new uU(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:nU.North}),this._southSash=new uU(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:nU.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let t=0,n=0;this._sashListener.add(ft.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===e&&(this._onDidWillResize.fire(),e=this._size,t=0,n=0)}))),this._sashListener.add(ft.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==e&&(e=void 0,t=0,n=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((i=>{e&&(n=i.currentX-i.startX,this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((i=>{e&&(n=-(i.currentX-i.startX),this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((i=>{e&&(t=-(i.currentY-i.startY),this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((i=>{e&&(t=i.currentY-i.startY,this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(ft.any(this._eastSash.onDidReset,this._westSash.onDidReset)((e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(ft.any(this._northSash.onDidReset,this._southSash.onDidReset)((e=>{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,n,i){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=n?3:0,this._westSash.state=i?3:0}layout(e=this.size.height,t=this.size.width){const{height:n,width:i}=this._minSize,{height:o,width:s}=this._maxSize;e=Math.max(n,Math.min(o,e)),t=Math.max(i,Math.min(s,t));const r=new Ds(t,e);Ds.equals(r,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=r,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}}class IG extends lt{constructor(e,t=new Ds(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new EG),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Ds.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((e=>{this._resize(new Ds(e.dimension.width,e.dimension.height)),e.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(null===(e=this._contentPosition)||void 0===e?void 0:e.position)?cd.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(t&&n)return Es(t).top+n.top-30}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(!t||!n)return;const i=Es(t),o=ks(t.ownerDocument.body),s=i.top+n.top+n.height;return o.height-s-24}_findPositionPreference(e,t){var n,i;const o=Math.min(null!==(n=this._availableVerticalSpaceBelow(t))&&void 0!==n?n:1/0,e),s=Math.min(null!==(i=this._availableVerticalSpaceAbove(t))&&void 0!==i?i:1/0,e),r=Math.min(Math.max(s,o),e),l=Math.min(e,r);let a;return a=this._editor.getOption(60).above?l<=s?1:2:l<=o?2:1,1===a?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 MG,TG,AG=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},RG=function(e,t){return function(n,i){t(n,i,e)}};const PG=mr;let OG=MG=class extends lt{constructor(e,t,n){super(),this._editor=e,this._instantiationService=t,this._keybindingService=n,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(VG,this._editor)),this._participants=[];for(const e of NG.getAll())this._participants.push(this._instantiationService.createInstance(e,this._editor));this._participants.sort(((e,t)=>e.hoverOrdinal-t.hoverOrdinal)),this._computer=new zG(this._editor,this._participants),this._hoverOperation=this._register(new kG(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{if(!this._computer.anchor)return;const t=e.hasLoadingMessage?this._addLoadingMessage(e.value):e.value;this._withResult(new FG(this._computer.anchor,t,e.isComplete))}))),this._register(_s(this._widget.getDomNode(),"keydown",(e=>{e.equals(9)&&this.hide()}))),this._register(IC.onDidChange((()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}_startShowingOrUpdateHover(e,t,n,i,o){return this._widget.position&&this._currentResult?this._editor.getOption(60).sticky&&o&&this._widget.isMouseGettingCloser(o.event.posx,o.event.posy)?(e&&this._startHoverOperationIfNecessary(e,t,n,i,!0),!0):e?!(!e||!this._currentResult.anchor.equals(e))||(e.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,n,i,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,n,i,!1),!0)):(this._setCurrentResult(null),!1):!!e&&(this._startHoverOperationIfNecessary(e,t,n,i,!1),!0)}_startHoverOperationIfNecessary(e,t,n,i,o){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=i,this._computer.source=n,this._computer.insistOnKeepingHoverVisible=o,this._hoverOperation.start(t))}_setCurrentResult(e){this._currentResult!==e&&(e&&0===e.messages.length&&(e=null),this._currentResult=e,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}_addLoadingMessage(e){if(this._computer.anchor)for(const t of this._participants)if(t.createLoadingMessage){const n=t.createLoadingMessage(this._computer.anchor);if(n)return e.slice(0).concat([n])}return e}_withResult(e){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!e.isComplete)return;if(this._computer.insistOnKeepingHoverVisible&&0===e.messages.length)return}this._setCurrentResult(e)}_renderMessages(e,t){const{showAtPosition:n,showAtSecondaryPosition:i,highlightRange:o}=MG.computeHoverRanges(this._editor,e.range,t),s=new rt,r=s.add(new HG(this._keybindingService)),l=document.createDocumentFragment();let a=null;const d={fragment:l,statusBar:r,setColorPicker:e=>a=e,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:e=>this._widget.setMinimumDimensions(e),hide:()=>this.hide()};for(const e of this._participants){const n=t.filter((t=>t.owner===e));n.length>0&&s.add(e.renderHoverParts(d,n))}const u=t.some((e=>e.isBeforeContent));if(r.hasContent&&l.appendChild(r.hoverElement),l.hasChildNodes()){if(o){const e=this._editor.createDecorationsCollection();e.set([{range:o,options:MG._DECORATION_OPTIONS}]),s.add(st((()=>{e.clear()})))}this._widget.showAt(l,new WG(e.initialMousePosX,e.initialMousePosY,a,n,i,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,u,s))}else s.dispose()}static computeHoverRanges(e,t,n){let i=1;if(e.hasModel()){const n=e._getViewModel(),o=n.coordinatesConverter,s=o.convertModelRangeToViewRange(t),r=new cd(s.startLineNumber,n.getLineMinColumn(s.startLineNumber));i=o.convertViewPositionToModelPosition(r).column}const o=t.startLineNumber;let s=t.startColumn,r=n[0].range,l=null;for(const e of n)r=nc.plusRange(r,e.range),e.range.startLineNumber===o&&e.range.endLineNumber===o&&(s=Math.max(Math.min(s,e.range.startColumn),i)),e.forceShowAtRange&&(l=e.range);return{showAtPosition:l?l.getStartPosition():new cd(o,t.startColumn),showAtSecondaryPosition:l?l.getStartPosition():new cd(o,s),highlightRange:r}}showsOrWillShow(e){if(this._widget.isResizing)return!0;const t=[];for(const n of this._participants)if(n.suggestHoverAnchor){const i=n.suggestHoverAnchor(e);i&&t.push(i)}const n=e.target;if(6===n.type&&t.push(new LG(0,n.range,e.event.posx,e.event.posy)),7===n.type){const i=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!n.detail.isAfterLines&&"number"==typeof n.detail.horizontalDistanceToText&&n.detail.horizontalDistanceToTextt.priority-e.priority)),this._startShowingOrUpdateHover(t[0],0,0,!1,e))}startShowingAtRange(e,t,n,i){this._startShowingOrUpdateHover(new LG(0,e,void 0,void 0),t,n,i,null)}containsNode(e){return!!e&&this._widget.getDomNode().contains(e)}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}get widget(){return this._widget}};OG._DECORATION_OPTIONS=My.register({description:"content-hover-highlight",className:"hoverHighlight"}),OG=MG=AG([RG(1,ad),RG(2,zL)],OG);class FG{constructor(e,t,n){this.anchor=e,this.messages=t,this.isComplete=n}filter(e){const t=this.messages.filter((t=>t.isValidForHoverAnchor(e)));return t.length===this.messages.length?this:new BG(this,this.anchor,t,this.isComplete)}}class BG extends FG{constructor(e,t,n,i){super(t,n,i),this.original=e}filter(e){return this.original.filter(e)}}class WG{constructor(e,t,n,i,o,s,r,l,a,d){this.initialMousePosX=e,this.initialMousePosY=t,this.colorPicker=n,this.showAtPosition=i,this.showAtSecondaryPosition=o,this.preferAbove=s,this.stoleFocus=r,this.source=l,this.isBeforeContent=a,this.disposables=d,this.closestMouseDistance=void 0}}let VG=TG=class extends IG{get isColorPickerVisible(){var e;return Boolean(null===(e=this._visibleData)||void 0===e?void 0:e.colorPicker)}get isVisibleFromKeyboard(){var e;return 1===(null===(e=this._visibleData)||void 0===e?void 0:e.source)}get isVisible(){var e;return null!==(e=this._hoverVisibleKey.get())&&void 0!==e&&e}get isFocused(){var e;return null!==(e=this._hoverFocusedKey.get())&&void 0!==e&&e}constructor(e,t,n,i,o){const s=e.getOption(67)+8,r=new Ds(150,s);super(e,r),this._configurationService=n,this._accessibilityService=i,this._keybindingService=o,this._hover=this._register(new CG),this._minimumSize=r,this._hoverVisibleKey=oc.hoverVisible.bindTo(t),this._hoverFocusedKey=oc.hoverFocused.bindTo(t),dr(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((e=>{e.hasChanged(50)&&this._updateFont()})));const l=this._register(ar(this._resizableNode.domNode));this._register(l.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(l.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),null===(e=this._visibleData)||void 0===e||e.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return TG.ID}static _applyDimensions(e,t,n){const i="number"==typeof t?`${t}px`:t,o="number"==typeof n?`${n}px`:n;e.style.width=i,e.style.height=o}_setContentsDomNodeDimensions(e,t){const n=this._hover.contentsDomNode;return TG._applyDimensions(n,e,t)}_setContainerDomNodeDimensions(e,t){const n=this._hover.containerDomNode;return TG._applyDimensions(n,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,n){const i="number"==typeof t?`${t}px`:t,o="number"==typeof n?`${n}px`:n;e.style.maxWidth=i,e.style.maxHeight=o}_setHoverWidgetMaxDimensions(e,t){TG._applyMaxDimensions(this._hover.contentsDomNode,e,t),TG._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof e?`${e}px`:e),this._layoutContentWidget()}_hasHorizontalScrollbar(){const e=this._hover.scrollbar.getScrollDimensions();return e.scrollWidth>e.width}_adjustContentsBottomPadding(){const e=this._hover.contentsDomNode,t=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;e.style.paddingBottom!==t&&(e.style.paddingBottom=t)}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,n=e.height;this._setHoverWidgetDimensions(t,n),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(t,n-10))}_updateResizableNodeMaxDimensions(){var e,t;const n=null!==(e=this._findMaximumRenderingWidth())&&void 0!==e?e:1/0,i=null!==(t=this._findMaximumRenderingHeight())&&void 0!==t?t:1/0;this._resizableNode.maxSize=new Ds(n,i),this._setHoverWidgetMaxDimensions(n,i)}_resize(e){var t,n;TG._lastDimensions=new Ds(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),null===(n=null===(t=this._visibleData)||void 0===t?void 0:t.colorPicker)||void 0===n||n.layout()}_findAvailableSpaceVertically(){var e;const t=null===(e=this._visibleData)||void 0===e?void 0:e.showAtPosition;if(t)return 1===this._positionPreference?this._availableVerticalSpaceAbove(t):this._availableVerticalSpaceBelow(t)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=6;return Array.from(this._hover.contentsDomNode.children).forEach((e=>{t+=e.clientHeight})),this._hasHorizontalScrollbar()&&(t+=10),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((e=>e.scrollWidth>e.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=void 0===this._contentWidth?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidththis._visibleData.closestMouseDistance+4||(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,i),0))}_setHoverData(e){var t;null===(t=this._visibleData)||void 0===t||t.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),n=this._hover.contentsDomNode;n.style.fontSize=`${e}px`,n.style.lineHeight=""+t/e,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_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,TG._lastDimensions.height),t=Math.max(.66*this._editor.getLayoutInfo().width,500,TG._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e,t){this._setHoverData(t),this._updateFont(),this._updateContent(e),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var e;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[null!==(e=this._positionPreference)&&void 0!==e?e:1]}:null}showAt(e,t){var n,i,o,s;if(!this._editor||!this._editor.hasModel())return;this._render(e,t);const r=Rs(this._hover.containerDomNode),l=t.showAtPosition;this._positionPreference=null!==(n=this._findPositionPreference(r,l))&&void 0!==n?n:1,this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),null===(i=t.colorPicker)||void 0===i||i.layout();const a=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&SG(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),null!==(s=null===(o=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===o?void 0:o.getAriaLabel())&&void 0!==s?s:"");a&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+a)}hide(){if(!this._visibleData)return;const e=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new Ds(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")}_adjustHoverHeightForScrollbar(e){var t;const n=this._hover.containerDomNode,i=this._hover.contentsDomNode,o=null!==(t=this._findMaximumRenderingHeight())&&void 0!==t?t:1/0;this._setContainerDomNodeDimensions(Ms(n),Math.min(o,e)),this._setContentsDomNodeDimensions(Ms(i),Math.min(o,e-10))}setMinimumDimensions(e){this._minimumSize=new Ds(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Ds(e,this._minimumSize.height)}onContentsChanged(){var e;this._removeConstraintsRenderNormally();const t=this._hover.containerDomNode;let n=Rs(t),i=Ms(t);if(this._resizableNode.layout(n,i),this._setHoverWidgetDimensions(i,n),n=Rs(t),i=Ms(t),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(n,i),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(n)),null===(e=this._visibleData)||void 0===e?void 0:e.showAtPosition){const e=Rs(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,this._visibleData.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-30})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+30})}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})}};VG.ID="editor.contrib.resizableContentHoverWidget",VG._lastDimensions=new Ds(0,0),VG=TG=AG([RG(1,su),RG(2,pg),RG(3,qS),RG(4,zL)],VG);let HG=class extends lt{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=PG("div.hover-row.status-bar"),this.actionsElement=dr(this.hoverElement,PG("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),n=t?t.getLabel():null;return this._hasContent=!0,this._register(yG.render(this.actionsElement,e,n))}append(e){const t=dr(this.actionsElement,e);return this._hasContent=!0,t}};HG=AG([RG(0,zL)],HG);class zG{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(1!==t.type&&!t.supportsMarkerHover)return[];const n=e.getModel(),i=t.range.startLineNumber;if(i>n.getLineCount())return[];const o=n.getLineMaxColumn(i);return e.getLineDecorations(i).filter((e=>{if(e.options.isWholeLine)return!0;const n=e.range.startLineNumber===i?e.range.startColumn:1,s=e.range.endLineNumber===i?e.range.endColumn:o;if(e.options.showIfCollapsed){if(n>t.range.startColumn+1||t.range.endColumn-1>s)return!1}else if(n>t.range.startColumn||t.range.endColumn>s)return!1;return!0}))}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return Qt.EMPTY;const n=zG._getLineDecorations(this._editor,t);return Qt.merge(this._participants.map((i=>i.computeAsync?i.computeAsync(t,n,e):Qt.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=zG._getLineDecorations(this._editor,this._anchor);let t=[];for(const n of this._participants)t=t.concat(n.computeSync(this._anchor,e));return Oc(t)}}function UG(e,t,n,i,o,s){const r=n+o/2,l=i+s/2,a=Math.max(Math.abs(e-r)-o/2,0),d=Math.max(Math.abs(t-l)-s/2,0);return Math.sqrt(a*a+d*d)}const KG=mr;class jG extends lt{constructor(e,t,n){super(),this._renderDisposeables=this._register(new rt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new CG),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new dL({editor:this._editor},t,n)),this._computer=new qG(this._editor),this._hoverOperation=this._register(new kG(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{this._withResult(e.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return jG.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}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 n=document.createDocumentFragment();for(const e of t){const t=KG("div.hover-row.markdown-hover"),i=dr(t,KG("div.hover-contents")),o=this._renderDisposeables.add(this._markdownRenderer.render(e.value));i.appendChild(o.element),n.appendChild(t)}this._updateContents(n),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(),n=this._editor.getTopForLineNumber(e),i=this._editor.getScrollTop(),o=this._editor.getOption(67),s=n-i-(this._hover.containerDomNode.clientHeight-o)/2,r=t.glyphMarginLeft+t.glyphMarginWidth+("lineNo"===this._computer.lane?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${r}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(s),0)}px`}}jG.ID="editor.contrib.modesGlyphHoverWidget";class qG{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=wc.Center}computeSync(){var e,t;const n=e=>({value:e}),i=this._editor.getLineDecorations(this._lineNumber),o=[],s="lineNo"===this._laneOrLine;if(!i)return o;for(const r of i){const i=null!==(t=null===(e=r.options.glyphMargin)||void 0===e?void 0:e.position)&&void 0!==t?t:wc.Center;if(!s&&i!==this._laneOrLine)continue;const l=s?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;l&&!td(l)&&o.push(...$c(l).map(n))}return o}}class $G{constructor(e,t,n){this.provider=e,this.hover=t,this.ordinal=n}}function GG(e,t,n,i){const o=e.ordered(t).map(((e,o)=>async function(e,t,n,i,o){try{const s=await Promise.resolve(e.provideHover(n,i,o));if(s&&function(e){const t=void 0!==e.range,n=void 0!==e.contents&&e.contents&&e.contents.length>0;return t&&n}(s))return new $G(e,s,t)}catch(e){ke(e)}}(e,o,t,n,i)));return Qt.fromPromises(o).coalesce()}ju("_executeHoverProvider",((e,t,n)=>function(e,t,n,i){return GG(e,t,n,i).map((e=>e.hover)).toPromise()}(e.get(wx).hoverProvider,t,n,It.None)));var ZG=function(e,t){return function(n,i){t(n,i,e)}};const YG=mr;class XG{constructor(e,t,n,i,o){this.owner=e,this.range=t,this.contents=n,this.isBeforeContent=i,this.ordinal=o}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let QG=class{constructor(e,t,n,i,o){this._editor=e,this._languageService=t,this._openerService=n,this._configurationService=i,this._languageFeaturesService=o,this.hoverOrdinal=3}createLoadingMessage(e){return new XG(this,e.range,[(new ed).appendText(_(0,"Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const n=this._editor.getModel(),i=e.range.startLineNumber,o=n.getLineMaxColumn(i),s=[];let r=1e3;const l=n.getLineLength(i),a=n.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),d=this._editor.getOption(117),u=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:a});let c=!1;d>=0&&l>d&&e.range.startColumn>=d&&(c=!0,s.push(new XG(this,e.range,[{value:_(0,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!c&&"number"==typeof u&&l>=u&&s.push(new XG(this,e.range,[{value:_(0,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let h=!1;for(const n of t){const t=n.range.startLineNumber===i?n.range.startColumn:1,l=n.range.endLineNumber===i?n.range.endColumn:o,a=n.options.hoverMessage;if(!a||td(a))continue;n.options.beforeContentClassName&&(h=!0);const d=new nc(e.range.startLineNumber,t,e.range.startLineNumber,l);s.push(new XG(this,d,$c(a),h,r++))}return s}computeAsync(e,t,n){if(!this._editor.hasModel()||1!==e.type)return Qt.EMPTY;const i=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(i))return Qt.EMPTY;const o=new cd(e.range.startLineNumber,e.range.startColumn);return GG(this._languageFeaturesService.hoverProvider,i,o,n).filter((e=>!td(e.hover.contents))).map((t=>{const n=t.hover.range?nc.lift(t.hover.range):e.range;return new XG(this,n,t.hover.contents,!1,t.ordinal)}))}renderHoverParts(e,t){return JG(e,t,this._editor,this._languageService,this._openerService)}};function JG(e,t,n,i,o){t.sort(((e,t)=>e.ordinal-t.ordinal));const s=new rt;for(const r of t)for(const t of r.contents){if(td(t))continue;const r=YG("div.hover-row.markdown-hover"),l=dr(r,YG("div.hover-contents")),a=s.add(new dL({editor:n},i,o));s.add(a.onDidRenderAsync((()=>{l.className="hover-contents code-hover-contents",e.onContentsChanged()})));const d=s.add(a.render(t));l.appendChild(d.element),e.fragment.appendChild(r)}return s}QG=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([ZG(1,Sh),ZG(2,rL),ZG(3,pg),ZG(4,wx)],QG);var eZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},tZ=function(e,t){return function(n,i){t(n,i,e)}};class nZ{constructor(e,t,n){this.marker=e,this.index=t,this.total=n}}let iZ=class{constructor(e,t,n){this._markerService=t,this._configService=n,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._dispoables=new rt,this._markers=[],this._nextIdx=-1,Io.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);const i=this._configService.getValue("problems.sortOrder"),o=(e,t)=>{let n=mi(e.resource.toString(),t.resource.toString());return 0===n&&(n="position"===i?nc.compareRangesUsingStarts(e,t)||qM.compare(e.severity,t.severity):qM.compare(e.severity,t.severity)||nc.compareRangesUsingStarts(e,t)),n},s=()=>{this._markers=this._markerService.read({resource:Io.isUri(e)?e:void 0,severities:qM.Error|qM.Warning|qM.Info}),"function"==typeof e&&(this._markers=this._markers.filter((e=>this._resourceFilter(e.resource)))),this._markers.sort(o)};s(),this._dispoables.add(t.onMarkerChanged((e=>{this._resourceFilter&&!e.some((e=>this._resourceFilter(e)))||(s(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e||!(!this._resourceFilter||!e)&&this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new nZ(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,n){let i=!1,o=this._markers.findIndex((t=>t.resource.toString()===e.uri.toString()));o<0&&(o=Mc(this._markers,{resource:e.uri},((e,t)=>mi(e.resource.toString(),t.resource.toString()))),o<0&&(o=~o));for(let n=o;nt.resource.toString()===e.toString()));if(!(n<0))for(;n{e.preventDefault();const t=this._relatedDiagnostics.get(e.target);t&&n(t)}))),this._scrollable=new dE(s,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((e=>{s.style.left=`-${e.scrollLeft}px`,s.style.top=`-${e.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){it(this._disposables)}update(e){const{source:t,message:n,relatedInformation:i,code:o}=e;let s=((null==t?void 0:t.length)||0)+2;o&&(s+="string"==typeof o?o.length:o.value.length);const r=ci(n);this._lines=r.length,this._longestLineLength=0;for(const e of r)this._longestLineLength=Math.max(e.length+s,this._longestLineLength);gs(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let l=this._messageBlock;for(const e of r)l=document.createElement("div"),l.innerText=e,""===e&&(l.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(l);if(t||o){const e=document.createElement("span");if(e.classList.add("details"),l.appendChild(e),t){const n=document.createElement("span");n.innerText=t,n.classList.add("source"),e.appendChild(n)}if(o)if("string"==typeof o){const t=document.createElement("span");t.innerText=`(${o})`,t.classList.add("code"),e.appendChild(t)}else this._codeLink=mr("a.code-link"),this._codeLink.setAttribute("href",`${o.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(o.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()},dr(this._codeLink,mr("span")).innerText=o.value,e.appendChild(this._codeLink)}if(gs(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Wc(i)){const e=this._relatedBlock.appendChild(document.createElement("div"));e.style.paddingTop=`${Math.floor(.66*this._editor.getOption(67))}px`,this._lines+=1;for(const t of i){const n=document.createElement("div"),i=document.createElement("a");i.classList.add("filename"),i.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,i.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(i,t);const o=document.createElement("span");o.innerText=t.message,n.appendChild(i),n.appendChild(o),this._lines+=1,e.appendChild(n)}}const a=this._editor.getOption(50),d=Math.ceil(a.typicalFullwidthCharacterWidth*this._longestLineLength*.75),u=a.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:d,scrollHeight:u})}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 qM.Error:t=_(0,"Error");break;case qM.Warning:t=_(0,"Warning");break;case qM.Info:t=_(0,"Info");break;case qM.Hint:t=_(0,"Hint")}let n=_(0,"{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const i=this._editor.getModel();return i&&e.startLineNumber<=i.getLineCount()&&e.startLineNumber>=1&&(n=`${i.getLineContent(e.startLineNumber)}, ${n}`),n}}let pZ=cZ=class extends HU{constructor(e,t,n,i,o,s,r){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},o),this._themeService=t,this._openerService=n,this._menuService=i,this._contextKeyService=s,this._labelService=r,this._callOnDispose=new rt,this._onDidSelectRelatedInformation=new Ct,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=qM.Warning,this._backgroundColor=lh.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(xZ);let t=vZ,n=bZ;this._severity===qM.Warning?(t=wZ,n=CZ):this._severity===qM.Info&&(t=yZ,n=SZ);const i=e.getColor(t),o=e.getColor(n);this.style({arrowColor:i,frameColor:i,headerBackgroundColor:o,primaryHeadingColor:e.getColor(UU),secondaryHeadingColor:e.getColor(KU)})}_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((e=>this.editor.focus())));const t=[],n=this._menuService.createMenu(cZ.TitleMenu,this._contextKeyService);NU(n,void 0,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0}),n.dispose()}_fillTitleIcon(e){this._icon=dr(e,mr(""))}_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 gZ(this._container,this.editor,(e=>this._onDidSelectRelatedInformation.fire(e)),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,n){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const i=nc.lift(e),o=this.editor.getPosition(),s=o&&i.containsPosition(o)?o:i.getStartPosition();super.show(s,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const e=_(0,n>1?"{0} of {1} problems":"{0} of {1} problem",t,n);this.setTitle(Ka(r.uri),e)}this._icon.className=`codicon ${aZ.className(qM.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(s,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()}};pZ.TitleMenu=new Su("gotoErrorTitleMenu"),pZ=cZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([hZ(1,Tv),hZ(2,rL),hZ(3,xu),hZ(4,ad),hZ(5,su),hZ(6,_$)],pZ);const mZ=Em(Jm,ef),fZ=Em(nf,of),_Z=Em(sf,rf),vZ=km("editorMarkerNavigationError.background",{dark:mZ,light:mZ,hcDark:Bm,hcLight:Bm},_(0,"Editor marker navigation widget error color.")),bZ=km("editorMarkerNavigationError.headerBackground",{dark:Nm(vZ,.1),light:Nm(vZ,.1),hcDark:null,hcLight:null},_(0,"Editor marker navigation widget error heading background.")),wZ=km("editorMarkerNavigationWarning.background",{dark:fZ,light:fZ,hcDark:Bm,hcLight:Bm},_(0,"Editor marker navigation widget warning color.")),CZ=km("editorMarkerNavigationWarning.headerBackground",{dark:Nm(wZ,.1),light:Nm(wZ,.1),hcDark:"#0C141F",hcLight:Nm(wZ,.2)},_(0,"Editor marker navigation widget warning heading background.")),yZ=km("editorMarkerNavigationInfo.background",{dark:_Z,light:_Z,hcDark:Bm,hcLight:Bm},_(0,"Editor marker navigation widget info color.")),SZ=km("editorMarkerNavigationInfo.headerBackground",{dark:Nm(yZ,.1),light:Nm(yZ,.1),hcDark:null,hcLight:null},_(0,"Editor marker navigation widget info heading background.")),xZ=km("editorMarkerNavigation.background",{dark:Gm,light:Gm,hcDark:Gm,hcLight:Gm},_(0,"Editor marker navigation widget background."));var kZ,LZ=function(e,t){return function(n,i){t(n,i,e)}};let DZ=kZ=class{static get(e){return e.getContribution(kZ.ID)}constructor(e,t,n,i,o){this._markerNavigationService=t,this._contextKeyService=n,this._editorService=i,this._instantiationService=o,this._sessionDispoables=new rt,this._editor=e,this._widgetVisible=MZ.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(pZ,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((e=>{var t,n,i;(null===(t=this._model)||void 0===t?void 0:t.selected)&&nc.containsPosition(null===(n=this._model)||void 0===n?void 0:n.selected.marker,e.position)||null===(i=this._model)||void 0===i||i.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:nc.lift(e).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 cd(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var n,i;if(this._editor.hasModel()){const o=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(o.move(e,this._editor.getModel(),this._editor.getPosition()),!o.selected)return;if(o.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const s=await this._editorService.openCodeEditor({resource:o.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:o.selected.marker}},this._editor);s&&(null===(n=kZ.get(s))||void 0===n||n.close(),null===(i=kZ.get(s))||void 0===i||i.nagivate(e,t))}else this._widget.showAtMarker(o.selected.marker,o.selected.index,o.selected.total)}}};DZ.ID="editor.contrib.markerController",DZ=kZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([LZ(1,oZ),LZ(2,su),LZ(3,ud),LZ(4,ad)],DZ);class NZ extends zu{constructor(e,t,n){super(n),this._next=e,this._multiFile=t}async run(e,t){var n;t.hasModel()&&(null===(n=DZ.get(t))||void 0===n||n.nagivate(this._next,this._multiFile))}}class EZ extends NZ{constructor(){super(!0,!1,{id:EZ.ID,label:EZ.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:578,weight:100},menuOpts:{menuId:pZ.TitleMenu,title:EZ.LABEL,icon:fz("marker-navigation-next",Sa.arrowDown,_(0,"Icon for goto next marker.")),group:"navigation",order:1}})}}EZ.ID="editor.action.marker.next",EZ.LABEL=_(0,"Go to Next Problem (Error, Warning, Info)");class IZ extends NZ{constructor(){super(!1,!1,{id:IZ.ID,label:IZ.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:1602,weight:100},menuOpts:{menuId:pZ.TitleMenu,title:IZ.LABEL,icon:fz("marker-navigation-previous",Sa.arrowUp,_(0,"Icon for goto previous marker.")),group:"navigation",order:2}})}}IZ.ID="editor.action.marker.prev",IZ.LABEL=_(0,"Go to Previous Problem (Error, Warning, Info)"),Zu(DZ.ID,DZ,4),$u(EZ),$u(IZ),$u(class extends NZ{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:_(0,"Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:66,weight:100},menuOpts:{menuId:Su.MenubarGoMenu,title:_(0,"Next &&Problem"),group:"6_problem_nav",order:1}})}}),$u(class extends NZ{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:_(0,"Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:1090,weight:100},menuOpts:{menuId:Su.MenubarGoMenu,title:_(0,"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const MZ=new ou("markersNavigationVisible",!1);qu(new(Hu.bindToContribution(DZ.get))({id:"closeMarkersNavigation",precondition:MZ,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:oc.focus,primary:9,secondary:[1033]}}));var TZ=function(e,t){return function(n,i){t(n,i,e)}};const AZ=mr;class RZ{constructor(e,t,n){this.owner=e,this.range=t,this.marker=n}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const PZ={type:1,filter:{include:iN.QuickFix},triggerAction:oN.QuickFixHover};let OZ=class{constructor(e,t,n,i){this._editor=e,this._markerDecorationsService=t,this._openerService=n,this._languageFeaturesService=i,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type&&!e.supportsMarkerHover)return[];const n=this._editor.getModel(),i=e.range.startLineNumber,o=n.getLineMaxColumn(i),s=[];for(const r of t){const t=r.range.startLineNumber===i?r.range.startColumn:1,l=r.range.endLineNumber===i?r.range.endColumn:o,a=this._markerDecorationsService.getMarker(n.uri,r);if(!a)continue;const d=new nc(e.range.startLineNumber,t,e.range.startLineNumber,l);s.push(new RZ(this,d,a))}return s}renderHoverParts(e,t){if(!t.length)return lt.None;const n=new rt;t.forEach((t=>e.fragment.appendChild(this.renderMarkerHover(t,n))));const i=1===t.length?t[0]:t.sort(((e,t)=>qM.compare(e.marker.severity,t.marker.severity)))[0];return this.renderMarkerStatusbar(e,i,n),n}renderMarkerHover(e,t){const n=AZ("div.hover-row"),i=dr(n,AZ("div.marker.hover-contents")),{source:o,message:s,code:r,relatedInformation:l}=e.marker;this._editor.applyFontInfo(i);const a=dr(i,AZ("span"));if(a.style.whiteSpace="pre-wrap",a.innerText=s,o||r)if(r&&"string"!=typeof r){const e=AZ("span");o&&(dr(e,AZ("span")).innerText=o);const n=dr(e,AZ("a.code-link"));n.setAttribute("href",r.target.toString()),t.add(ms(n,"click",(e=>{this._openerService.open(r.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()}))),dr(n,AZ("span")).innerText=r.value;const s=dr(i,e);s.style.opacity="0.6",s.style.paddingLeft="6px"}else{const e=dr(i,AZ("span"));e.style.opacity="0.6",e.style.paddingLeft="6px",e.innerText=o&&r?`${o}(${r})`:o||`(${r})`}if(Wc(l))for(const{message:e,resource:n,startLineNumber:o,startColumn:s}of l){const r=dr(i,AZ("div"));r.style.marginTop="8px";const l=dr(r,AZ("a"));l.innerText=`${Ka(n)}(${o}, ${s}): `,l.style.cursor="pointer",t.add(ms(l,"click",(e=>{e.stopPropagation(),e.preventDefault(),this._openerService&&this._openerService.open(n,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:o,startColumn:s}}}).catch(xe)})));const a=dr(r,AZ("span"));a.innerText=e,this._editor.applyFontInfo(a)}return n}renderMarkerStatusbar(e,t,n){if(t.marker.severity===qM.Error||t.marker.severity===qM.Warning||t.marker.severity===qM.Info){const n=DZ.get(this._editor);n&&e.statusBar.addAction({label:_(0,"View Problem"),commandId:EZ.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(91)){const i=e.statusBar.append(AZ("div"));this.recentMarkerCodeActionsInfo&&($M.makeKey(this.recentMarkerCodeActionsInfo.marker)===$M.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(i.textContent=_(0,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const o=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?lt.None:Ht((()=>i.textContent=_(0,"Checking for quick fixes...")),200,n);i.textContent||(i.textContent=String.fromCharCode(160));const s=this.getCodeActions(t.marker);n.add(st((()=>s.cancel()))),s.then((s=>{if(o.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:s.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return s.dispose(),void(i.textContent=_(0,"No quick fixes available"));i.style.display="none";let r=!1;n.add(st((()=>{r||s.dispose()}))),e.statusBar.addAction({label:_(0,"Quick Fix..."),commandId:dN,run:t=>{r=!0;const n=iT.get(this._editor),i=Es(t);e.hide(),null==n||n.showCodeActions(PZ,s,{x:i.left,y:i.top,width:i.width,height:i.height})}})}),xe)}}getCodeActions(e){return Pt((t=>_N(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new nc(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),PZ,vL.None,t)))}};OZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([TZ(1,lT),TZ(2,rL),TZ(3,wx)],OZ);var FZ=n(5415),BZ={};BZ.styleTagTransform=Vr(),BZ.setAttributes=Or(),BZ.insert=Rr().bind(null,"head"),BZ.domAPI=Tr(),BZ.insertStyleElement=Br(),Ir()(FZ.A,BZ),FZ.A&&FZ.A.locals&&FZ.A.locals;const WZ="editor.action.inlineSuggest.commit",VZ="editor.action.inlineSuggest.showPrevious",HZ="editor.action.inlineSuggest.showNext";var zZ=n(7982),UZ={};UZ.styleTagTransform=Vr(),UZ.setAttributes=Or(),UZ.insert=Rr().bind(null,"head"),UZ.domAPI=Tr(),UZ.insertStyleElement=Br(),Ir()(zZ.A,UZ),zZ.A&&zZ.A.locals&&zZ.A.locals;class KZ extends lt{constructor(e,t,n={orientation:0}){var i;super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new Lt),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new rt),n.hoverDelegate=null!==(i=n.hoverDelegate)&&void 0!==i?i:this._register(ML()),this.options=n,this.lookupKeybindings="function"==typeof this.options.getKeyBinding,this.toggleMenuAction=this._register(new jZ((()=>{var e;return null===(e=this.toggleMenuActionViewItem)||void 0===e?void 0:e.show()}),n.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new iM(this.element,{orientation:n.orientation,ariaLabel:n.ariaLabel,actionRunner:n.actionRunner,allowContextMenu:n.allowContextMenu,highlightToggledItems:n.highlightToggledItems,hoverDelegate:n.hoverDelegate,actionViewItemProvider:(e,i)=>{var o;if(e.id===jZ.ID)return this.toggleMenuActionViewItem=new SU(e,e.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:ka.asClassNameArray(null!==(o=n.moreIcon)&&void 0!==o?o:Sa.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(n.actionViewItemProvider){const t=n.actionViewItemProvider(e,i);if(t)return t}if(e instanceof _d){const n=new SU(e,e.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return n.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(n),this.disposables.add(this._onDidChangeDropdownVisibility.add(n.onDidChangeVisibility)),n}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const n=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),n.push(this.toggleMenuAction)),n.forEach((e=>{this.actionBar.push(e,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(e)})}))}getKeybindingLabel(e){var t,n,i;const o=this.lookupKeybindings?null===(n=(t=this.options).getKeyBinding)||void 0===n?void 0:n.call(t,e):void 0;return null!==(i=null==o?void 0:o.getLabel())&&void 0!==i?i:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class jZ extends pd{constructor(e,t){t=t||_(0,"More Actions..."),super(jZ.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}jZ.ID="toolbar.toggle.more";var qZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},$Z=function(e,t){return function(n,i){t(n,i,e)}};let GZ=class extends KZ{constructor(e,t,n,i,o,s,r){super(e,o,{getKeyBinding:e=>{var t;return null!==(t=s.lookupKeybinding(e.id))&&void 0!==t?t:void 0},...t,allowContextMenu:!0,skipTelemetry:"string"==typeof(null==t?void 0:t.telemetrySource)}),this._options=t,this._menuService=n,this._contextKeyService=i,this._contextMenuService=o,this._sessionDisposables=this._store.add(new rt);const l=null==t?void 0:t.telemetrySource;l&&this._store.add(this.actionBar.onDidRun((e=>r.publicLog2("workbenchActionExecuted",{id:e.action.id,from:l}))))}setActions(e,t=[],n){var i,o,s;this._sessionDisposables.clear();const r=e.slice(),l=t.slice(),a=[];let d=0;const u=[];let c=!1;if(-1!==(null===(i=this._options)||void 0===i?void 0:i.hiddenItemStrategy))for(let e=0;enull==e?void 0:e.id))),t=this._options.overflowBehavior.maxItems-e.size;let n=0;for(let i=0;i=t&&(r[i]=void 0,u[i]=o))}}Fc(r),Fc(u),super.setActions(r,fd.join(u,l)),a.length>0&&this._sessionDisposables.add(ms(this.getElement(),"contextmenu",(e=>{var t,i,o,s,r;const l=new $e(is(this.getElement()),e),u=this.getItemAction(l.target);if(!u)return;l.preventDefault(),l.stopPropagation();let h,g=!1;if(1===d&&0===(null===(t=this._options)||void 0===t?void 0:t.hiddenItemStrategy)){g=!0;for(let e=0;ethis._menuService.resetHiddenStates(n)}))),this._contextMenuService.showContextMenu({getAnchor:()=>l,getActions:()=>p,menuId:null===(o=this._options)||void 0===o?void 0:o.contextMenu,menuActionOptions:{renderShortTitle:!0,...null===(s=this._options)||void 0===s?void 0:s.menuOptions},skipTelemetry:"string"==typeof(null===(r=this._options)||void 0===r?void 0:r.telemetrySource),contextKeyService:this._contextKeyService})})))}};GZ=qZ([$Z(2,xu),$Z(3,su),$Z(4,HL),$Z(5,zL),$Z(6,Mu)],GZ);let ZZ=class extends GZ{constructor(e,t,n,i,o,s,r,l){super(e,{resetMenu:t,...n},i,o,s,r,l),this._onDidChangeMenuItems=this._store.add(new Ct),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const a=this._store.add(i.createMenu(t,o,{emitEventsForSubmenuChanges:!0})),d=()=>{var t,i,o;const s=[],r=[];NU(a,null==n?void 0:n.menuOptions,{primary:s,secondary:r},null===(t=null==n?void 0:n.toolbarOptions)||void 0===t?void 0:t.primaryGroup,null===(i=null==n?void 0:n.toolbarOptions)||void 0===i?void 0:i.shouldInlineSubmenu,null===(o=null==n?void 0:n.toolbarOptions)||void 0===o?void 0:o.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",0===s.length&&0===r.length),super.setActions(s,r)};this._store.add(a.onDidChange((()=>{d(),this._onDidChangeMenuItems.fire(this)}))),d()}setActions(){throw new Re("This toolbar is populated from a menu.")}};ZZ=qZ([$Z(3,xu),$Z(4,su),$Z(5,HL),$Z(6,zL),$Z(7,Mu)],ZZ);var YZ,XZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},QZ=function(e,t){return function(n,i){t(n,i,e)}};let JZ=class extends lt{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=iI(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=jE(this,(e=>{var t,n,i;const o=null===(t=this.model.read(e))||void 0===t?void 0:t.primaryGhostText.read(e);if(!this.alwaysShowToolbar.read(e)||!o||0===o.parts.length)return this.sessionPosition=void 0,null;const s=o.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==o.lineNumber&&(this.sessionPosition=void 0);const r=new cd(o.lineNumber,Math.min(s,null!==(i=null===(n=this.sessionPosition)||void 0===n?void 0:n.column)&&void 0!==i?i:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(JE(((t,n)=>{const i=this.model.read(t);if(!i||!this.alwaysShowToolbar.read(t))return;const o=n.add(this.instantiationService.createInstance(nY,this.editor,!0,this.position,i.selectedInlineCompletionIndex,i.inlineCompletionsCount,i.selectedInlineCompletion.map((e=>{var t;return null!==(t=null==e?void 0:e.inlineCompletion.source.inlineCompletions.commands)&&void 0!==t?t:[]}))));e.addContentWidget(o),n.add(st((()=>e.removeContentWidget(o)))),n.add(YE((e=>{this.position.read(e)&&i.lastTriggerKind.read(e)!==vC.Explicit&&i.triggerExplicitly()})))})))}};JZ=XZ([QZ(2,ad)],JZ);const eY=fz("inline-suggestion-hints-next",Sa.chevronRight,_(0,"Icon for show next parameter hint.")),tY=fz("inline-suggestion-hints-previous",Sa.chevronLeft,_(0,"Icon for show previous parameter hint."));let nY=YZ=class extends lt{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,n){const i=new pd(e,t,n,!0,(()=>this._commandService.executeCommand(e))),o=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let s=t;return o&&(s=_(0,"{0} ({1})",t,o.getLabel())),i.tooltip=s,i}constructor(e,t,n,i,o,s,r,l,a,d,u){super(),this.editor=e,this.withBorder=t,this._position=n,this._currentSuggestionIdx=i,this._suggestionCount=o,this._extraCommands=s,this._commandService=r,this.keybindingService=a,this._contextKeyService=d,this._menuService=u,this.id="InlineSuggestionHintsContentWidget"+YZ.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Dr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Dr("div@toolBar")]),this.previousAction=this.createCommandAction(VZ,_(0,"Previous"),ka.asClassName(tY)),this.availableSuggestionCountAction=new pd("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(HZ,_(0,"Next"),ka.asClassName(eY)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Su.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new jt((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new jt((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.lastCommands=[],this.toolBar=this._register(l.createInstance(sY,this.nodes.toolBar,Su.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof Nu)return l.createInstance(oY,e,void 0);if(e===this.availableSuggestionCountAction){const t=new iY(void 0,e,{label:!0,icon:!1});return t.setClass("availableSuggestionCount"),t}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{YZ._dropDownVisible=e}))),this._register(YE((e=>{this._position.read(e),this.editor.layoutContentWidget(this)}))),this._register(YE((e=>{const t=this._suggestionCount.read(e),n=this._currentSuggestionIdx.read(e);void 0!==t?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${n+1}/${t}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==t&&t>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register(YE((e=>{const t=this._extraCommands.read(e);if(Ic(this.lastCommands,t))return;this.lastCommands=t;const n=t.map((e=>({class:void 0,id:e.id,enabled:!0,tooltip:e.tooltip||"",label:e.title,run:t=>this._commandService.executeCommand(e.id)})));for(const[e,t]of this.inlineCompletionsActionsMenus.getActions())for(const e of t)e instanceof Nu&&n.push(e);n.length>0&&n.unshift(new fd),this.toolBar.setAdditionalSecondaryActions(n)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};nY._dropDownVisible=!1,nY.id=0,nY=YZ=XZ([QZ(6,wd),QZ(7,ad),QZ(8,zL),QZ(9,su),QZ(10,xu)],nY);class iY extends tM{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(){}}class oY extends IU{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Dr("div.keybinding").root;this._register(new fM(t,ee,{disableTitle:!0,...mM})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}}let sY=class extends GZ{constructor(e,t,n,i,o,s,r,l){super(e,{resetMenu:t,...n},i,o,s,r,l),this.menuId=t,this.options2=n,this.menuService=i,this.contextKeyService=o,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 e,t,n,i,o,s,r;const l=[],a=[];NU(this.menu,null===(e=this.options2)||void 0===e?void 0:e.menuOptions,{primary:l,secondary:a},null===(n=null===(t=this.options2)||void 0===t?void 0:t.toolbarOptions)||void 0===n?void 0:n.primaryGroup,null===(o=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===o?void 0:o.shouldInlineSubmenu,null===(r=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),a.push(...this.additionalActions),l.unshift(...this.prependedPrimaryActions),this.setActions(l,a)}setPrependedPrimaryActions(e){Ic(this.prependedPrimaryActions,e,((e,t)=>e===t))||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ic(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};sY=XZ([QZ(3,xu),QZ(4,su),QZ(5,HL),QZ(6,zL),QZ(7,Mu)],sY);var rY=n(245),lY={};lY.styleTagTransform=Vr(),lY.setAttributes=Or(),lY.insert=Rr().bind(null,"head"),lY.domAPI=Tr(),lY.insertStyleElement=Br(),Ir()(rY.A,lY),rY.A&&rY.A.locals&&rY.A.locals;var aY,dY=function(e,t){return function(n,i){t(n,i,e)}};let uY=aY=class extends lt{constructor(e,t,n,i,o){super(),this._editor=e,this._instantiationService=t,this._openerService=n,this._languageService=i,this._keybindingService=o,this._listenersStore=new rt,this._hoverState={mouseDown:!1,contentHoverFocused:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new jt((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())})))}static get(e){return e.getContribution(aY.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.delay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown((e=>this._onEditorMouseDown(e)))),this._listenersStore.add(this._editor.onMouseUp((()=>this._onEditorMouseUp()))),this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))):(this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))),this._listenersStore.add(this._editor.onMouseLeave((e=>this._onEditorMouseLeave(e)))),this._listenersStore.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._listenersStore.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._listenersStore.add(this._editor.onDidScrollChange((e=>this._onEditorScrollChanged(e))))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){var t;this._hoverState.mouseDown=!0;const n=e.target;9!==n.type||n.detail!==VG.ID?12===n.type&&n.detail===jG.ID||(12!==n.type&&(this._hoverState.contentHoverFocused=!1),(null===(t=this._contentWidget)||void 0===t?void 0:t.widget.isResizing)||this._hideWidgets()):this._hoverState.contentHoverFocused=!0}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){var t,n;this._cancelScheduler();const i=e.event.browserEvent.relatedTarget;(null===(t=this._contentWidget)||void 0===t?void 0:t.widget.isResizing)||(null===(n=this._contentWidget)||void 0===n?void 0:n.containsNode(i))||this._hideWidgets()}_isMouseOverWidget(e){var t,n,i,o,s;const r=e.target,l=this._hoverSettings.sticky;return!((!l||9!==r.type||r.detail!==VG.ID)&&(!l||!(null===(t=this._contentWidget)||void 0===t?void 0:t.containsNode(null===(n=e.event.browserEvent.view)||void 0===n?void 0:n.document.activeElement))||(null===(o=null===(i=e.event.browserEvent.view)||void 0===i?void 0:i.getSelection())||void 0===o?void 0:o.isCollapsed))&&(l||9!==r.type||r.detail!==VG.ID||!(null===(s=this._contentWidget)||void 0===s?void 0:s.isColorPickerVisible))&&(!l||12!==r.type||r.detail!==jG.ID))}_onEditorMouseMove(e){var t,n,i,o;if(this._mouseMoveEvent=e,(null===(t=this._contentWidget)||void 0===t?void 0:t.isFocused)||(null===(n=this._contentWidget)||void 0===n?void 0:n.isResizing))return;if(this._hoverState.mouseDown&&this._hoverState.contentHoverFocused)return;const s=this._hoverSettings.sticky;if(s&&(null===(i=this._contentWidget)||void 0===i?void 0:i.isVisibleFromKeyboard))return;if(this._isMouseOverWidget(e))return void this._reactToEditorMouseMoveRunner.cancel();const r=this._hoverSettings.hidingDelay;(null===(o=this._contentWidget)||void 0===o?void 0:o.isVisible)&&s&&r>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(r):this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var t,n,i,o;if(!e)return;const s=e.target,r=null===(t=s.element)||void 0===t?void 0:t.classList.contains("colorpicker-color-decoration"),l=this._editor.getOption(148),a=this._hoverSettings.enabled,d=this._hoverState.activatedByDecoratorClick;r&&("click"===l&&!d||"hover"===l&&!a||"clickAndHover"===l&&!a&&!d)||!(r||a||d)?this._hideWidgets():this._getOrCreateContentWidget().showsOrWillShow(e)?null===(n=this._glyphWidget)||void 0===n||n.hide():2===s.type&&s.position&&s.detail.glyphMarginLane?(null===(i=this._contentWidget)||void 0===i||i.hide(),this._getOrCreateGlyphWidget().startShowingAt(s.position.lineNumber,s.detail.glyphMarginLane)):3===s.type&&s.position?(null===(o=this._contentWidget)||void 0===o||o.hide(),this._getOrCreateGlyphWidget().startShowingAt(s.position.lineNumber,"lineNo")):this._hideWidgets()}_onKeyDown(e){var t;if(!this._editor.hasModel())return;const n=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=1===n.kind||2===n.kind&&"editor.action.showHover"===n.commandId&&(null===(t=this._contentWidget)||void 0===t?void 0:t.isVisible);5===e.keyCode||6===e.keyCode||57===e.keyCode||4===e.keyCode||i||this._hideWidgets()}_hideWidgets(){var e,t,n;this._hoverState.mouseDown&&this._hoverState.contentHoverFocused&&(null===(e=this._contentWidget)||void 0===e?void 0:e.isColorPickerVisible)||nY.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._hoverState.contentHoverFocused=!1,null===(t=this._glyphWidget)||void 0===t||t.hide(),null===(n=this._contentWidget)||void 0===n||n.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(OG,this._editor)),this._contentWidget}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=new jG(this._editor,this._languageService,this._openerService)),this._glyphWidget}showContentHover(e,t,n,i,o=!1){this._hoverState.activatedByDecoratorClick=o,this._getOrCreateContentWidget().startShowingAtRange(e,t,n,i)}focus(){var e;null===(e=this._contentWidget)||void 0===e||e.focus()}scrollUp(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollUp()}scrollDown(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollDown()}scrollLeft(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollLeft()}scrollRight(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollRight()}pageUp(){var e;null===(e=this._contentWidget)||void 0===e||e.pageUp()}pageDown(){var e;null===(e=this._contentWidget)||void 0===e||e.pageDown()}goToTop(){var e;null===(e=this._contentWidget)||void 0===e||e.goToTop()}goToBottom(){var e;null===(e=this._contentWidget)||void 0===e||e.goToBottom()}get isColorPickerVisible(){var e;return null===(e=this._contentWidget)||void 0===e?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return null===(e=this._contentWidget)||void 0===e?void 0:e.isVisible}dispose(){var e,t;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),null===(e=this._glyphWidget)||void 0===e||e.dispose(),null===(t=this._contentWidget)||void 0===t||t.dispose()}};var cY;uY.ID="editor.contrib.hover",uY=aY=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([dY(1,ad),dY(2,rL),dY(3,Sh),dY(4,zL)],uY),function(e){e.NoAutoFocus="noAutoFocus",e.FocusIfVisible="focusIfVisible",e.AutoFocusImmediately="autoFocusImmediately"}(cY||(cY={})),Zu(uY.ID,uY,2),$u(class extends zu{constructor(){super({id:"editor.action.showHover",label:_(0,"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",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:[cY.NoAutoFocus,cY.FocusIfVisible,cY.AutoFocusImmediately],enumDescriptions:[_(0,"The hover will not automatically take focus."),_(0,"The hover will take focus only if it is already visible."),_(0,"The hover will automatically take focus when it appears.")],default:cY.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2087),weight:100}})}run(e,t,n){if(!t.hasModel())return;const i=uY.get(t);if(!i)return;const o=null==n?void 0:n.focus;let s=cY.FocusIfVisible;Object.values(cY).includes(o)?s=o:"boolean"==typeof o&&o&&(s=cY.AutoFocusImmediately);const r=e=>{const n=t.getPosition(),o=new nc(n.lineNumber,n.column,n.lineNumber,n.column);i.showContentHover(o,1,1,e)},l=2===t.getOption(2);i.isHoverVisible?s!==cY.NoAutoFocus?i.focus():r(l):r(l||s===cY.AutoFocusImmediately)}}),$u(class extends zu{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:_(0,"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(e,t){const n=uY.get(t);if(!n)return;const i=t.getPosition();if(!i)return;const o=new nc(i.lineNumber,i.column,i.lineNumber,i.column),s=_G.get(t);s&&s.startFindDefinitionFromCursor(i).then((()=>{n.showContentHover(o,1,1,!0)}))}}),$u(class extends zu{constructor(){super({id:"editor.action.scrollUpHover",label:_(0,"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:16,weight:100}})}run(e,t){const n=uY.get(t);n&&n.scrollUp()}}),$u(class extends zu{constructor(){super({id:"editor.action.scrollDownHover",label:_(0,"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:18,weight:100}})}run(e,t){const n=uY.get(t);n&&n.scrollDown()}}),$u(class extends zu{constructor(){super({id:"editor.action.scrollLeftHover",label:_(0,"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:15,weight:100}})}run(e,t){const n=uY.get(t);n&&n.scrollLeft()}}),$u(class extends zu{constructor(){super({id:"editor.action.scrollRightHover",label:_(0,"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:17,weight:100}})}run(e,t){const n=uY.get(t);n&&n.scrollRight()}}),$u(class extends zu{constructor(){super({id:"editor.action.pageUpHover",label:_(0,"Page Up Hover"),alias:"Page Up Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:11,secondary:[528],weight:100}})}run(e,t){const n=uY.get(t);n&&n.pageUp()}}),$u(class extends zu{constructor(){super({id:"editor.action.pageDownHover",label:_(0,"Page Down Hover"),alias:"Page Down Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:12,secondary:[530],weight:100}})}run(e,t){const n=uY.get(t);n&&n.pageDown()}}),$u(class extends zu{constructor(){super({id:"editor.action.goToTopHover",label:_(0,"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(e,t){const n=uY.get(t);n&&n.goToTop()}}),$u(class extends zu{constructor(){super({id:"editor.action.goToBottomHover",label:_(0,"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(e,t){const n=uY.get(t);n&&n.goToBottom()}}),NG.register(QG),NG.register(OZ),Fv(((e,t)=>{const n=e.getColor(_f);n&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${n.transparent(.5)}; }`))}));class hY extends lt{constructor(e){super(),this._editor=e,this._register(e.onMouseDown((e=>this.onMouseDown(e))))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(148);if("click"!==t&&"clickAndHover"!==t)return;const n=e.target;if(6!==n.type)return;if(!n.detail.injectedText)return;if(n.detail.injectedText.options.attachedData!==lz)return;if(!n.range)return;const i=this._editor.getContribution(uY.ID);if(i&&!i.isColorPickerVisible){const e=new nc(n.range.startLineNumber,n.range.startColumn+1,n.range.endLineNumber,n.range.endColumn+1);i.showContentHover(e,1,0,!1,!0)}}}hY.ID="editor.contrib.colorContribution",Zu(hY.ID,hY,2),NG.register(Pz);var gY,pY,mY=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},fY=function(e,t){return function(n,i){t(n,i,e)}};let _Y=gY=class extends lt{constructor(e,t,n,i,o,s,r){super(),this._editor=e,this._modelService=n,this._keybindingService=i,this._instantiationService=o,this._languageFeatureService=s,this._languageConfigurationService=r,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=oc.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=oc.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||null===(e=this._standaloneColorPickerWidget)||void 0===e||e.focus():this._standaloneColorPickerWidget=new vY(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),null===(e=this._standaloneColorPickerWidget)||void 0===e||e.hide(),this._editor.focus()}insertColor(){var e;null===(e=this._standaloneColorPickerWidget)||void 0===e||e.updateEditor(),this.hide()}static get(e){return e.getContribution(gY.ID)}};_Y.ID="editor.contrib.standaloneColorPickerController",_Y=gY=mY([fY(1,su),fY(2,hd),fY(3,zL),fY(4,ad),fY(5,wx),fY(6,Qg)],_Y),Zu(_Y.ID,_Y,1);let vY=pY=class extends lt{constructor(e,t,n,i,o,s,r,l){var a;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=n,this._modelService=o,this._keybindingService=s,this._languageFeaturesService=r,this._languageConfigurationService=l,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new Ct),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=i.createInstance(Fz,this._editor),this._position=null===(a=this._editor._getViewModel())||void 0===a?void 0:a.getPrimaryCursorState().modelState.position;const d=this._editor.getSelection(),u=d?{startLineNumber:d.startLineNumber,startColumn:d.startColumn,endLineNumber:d.endLineNumber,endColumn:d.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},c=this._register(ar(this._body));this._register(c.onDidBlur((e=>{this.hide()}))),this._register(c.onDidFocus((e=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((e=>{var t;const n=null===(t=e.target.element)||void 0===t?void 0:t.classList;n&&n.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((e=>{this._render(e.value,e.foundInEditor)}))),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return pY.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 bY(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}},n=await this._standaloneColorPickerParticipant.createColorHover(t,new YH(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return n?{result:n.colorHover,foundInEditor:n.foundInEditor}:null}_render(e,t){const n=document.createDocumentFragment();let i;const o={fragment:n,statusBar:this._register(new HG(this._keybindingService)),setColorPicker:e=>i=e,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=e,this._register(this._standaloneColorPickerParticipant.renderHoverParts(o,[e])),void 0===i)return;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(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(n),i.layout();const s=i.body,r=s.saturationBox.domNode.clientWidth,l=s.domNode.clientWidth-r-22-8,a=i.body.enterButton;null==a||a.onClicked((()=>{this.updateEditor(),this.hide()}));const d=i.header;d.pickedColorNode.style.width=r+8+"px",d.originalColorNode.style.width=l+"px";const u=i.header.closeButton;null==u||u.onClicked((()=>{this.hide()})),t&&(a&&(a.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};vY.ID="editor.contrib.standaloneColorPickerWidget",vY=pY=mY([fY(3,ad),fY(4,hd),fY(5,zL),fY(6,wx),fY(7,Qg)],vY);class bY{constructor(e,t){this.value=e,this.foundInEditor=t}}$u(class extends zu{constructor(){super({id:"editor.action.hideColorPicker",label:_(0,"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:oc.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(e,t){var n;null===(n=_Y.get(t))||void 0===n||n.hide()}}),$u(class extends zu{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:_(0,"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:oc.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(e,t){var n;null===(n=_Y.get(t))||void 0===n||n.insertColor()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...v(0,"Show or Focus Standalone Color Picker"),mnemonicTitle:_(0,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:Su.CommandPalette}]})}runEditorCommand(e,t){var n;null===(n=_Y.get(t))||void 0===n||n.showOrFocus()}});class wY{static insert(e,t){return{range:new nc(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}class CY{constructor(e,t,n){this.languageConfigurationService=n,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,n){if(n<0)return!1;const i=t.length;if(n+i>e.length)return!1;for(let o=0;o=65&&i<=90&&i+32===s||s>=65&&s<=90&&s+32===i))return!1}return!0}_createOperationsForBlockComment(e,t,n,i,o,s){const r=e.startLineNumber,l=e.startColumn,a=e.endLineNumber,d=e.endColumn,u=o.getLineContent(r),c=o.getLineContent(a);let h,g=u.lastIndexOf(t,l-1+t.length),p=c.indexOf(n,d-1-n.length);if(-1!==g&&-1!==p)if(r===a)u.substring(g+t.length,p).indexOf(n)>=0&&(g=-1,p=-1);else{const e=u.substring(g+t.length),i=c.substring(0,p);(e.indexOf(n)>=0||i.indexOf(n)>=0)&&(g=-1,p=-1)}-1!==g&&-1!==p?(i&&g+t.length0&&32===c.charCodeAt(p-1)&&(n=" "+n,p-=1),h=CY._createRemoveBlockCommentOperations(new nc(r,g+t.length+1,a,p+1),t,n)):(h=CY._createAddBlockCommentOperations(e,t,n,this._insertSpace),this._usedEndToken=1===h.length?n:null);for(const e of h)s.addTrackedEditOperation(e.range,e.text)}static _createRemoveBlockCommentOperations(e,t,n){const i=[];return nc.isEmpty(e)?i.push(wY.delete(new nc(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+n.length))):(i.push(wY.delete(new nc(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),i.push(wY.delete(new nc(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+n.length)))),i}static _createAddBlockCommentOperations(e,t,n,i){const o=[];return nc.isEmpty(e)?o.push(wY.replace(new nc(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+n)):(o.push(wY.insert(new cd(e.startLineNumber,e.startColumn),t+(i?" ":""))),o.push(wY.insert(new cd(e.endLineNumber,e.endColumn),(i?" ":"")+n))),o}getEditOperations(e,t){const n=this._selection.startLineNumber,i=this._selection.startColumn;e.tokenization.tokenizeIfCheap(n);const o=e.getLanguageIdAtPosition(n,i),s=this.languageConfigurationService.getLanguageConfiguration(o).comments;s&&s.blockCommentStartToken&&s.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const n=t.getInverseEditOperations();if(2===n.length){const e=n[0],t=n[1];return new ic(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{const e=n[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new ic(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}}class yY{constructor(e,t,n,i,o,s,r){this.languageConfigurationService=e,this._selection=t,this._indentSize=n,this._type=i,this._insertSpace=o,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(e,t,n,i){e.tokenization.tokenizeIfCheap(t);const o=e.getLanguageIdAtPosition(t,1),s=i.getLanguageConfiguration(o).comments,r=s?s.lineCommentToken:null;if(!r)return null;const l=[];for(let e=0,i=n-t+1;er?o-1:o}}}class SY extends zu{constructor(e,t){super(t),this._type=e}run(e,t){const n=e.get(Qg);if(!t.hasModel())return;const i=[],o=t.getModel().getOptions(),s=t.getOption(23),r=t.getSelections().map(((e,t)=>({selection:e,index:t,ignoreFirstLine:!1})));r.sort(((e,t)=>nc.compareRangesUsingStarts(e.selection,t.selection)));let l=r[0];for(let e=1;ethis._onContextMenu(e)))),this._toDispose.add(this._editor.onMouseWheel((e=>{if(this._contextMenuIsBeingShownCount>0){const t=this._contextViewService.getContextViewElement(),n=e.srcElement;n.shadowRoot&&Ws(t)===n.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((e=>{this._editor.getOption(24)&&58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())})))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(12===e.target.type)return;if(6===e.target.type&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),11===e.target.type)return this._showScrollbarContextMenu(e.event);if(6!==e.target.type&&7!==e.target.type&&1!==e.target.type)return;if(this._editor.focus(),e.target.position){let t=!1;for(const n of this._editor.getSelections())if(n.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;1!==e.target.type&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Su.SimpleEditorContext:Su.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const n=[],i=this._menuService.createMenu(t,this._contextKeyService),o=i.getActions({arg:e.uri});i.dispose();for(const t of o){const[,i]=t;let o=0;for(const t of i)if(t instanceof Du){const i=this._getMenuActions(e,t.item.submenu);i.length>0&&(n.push(new _d(t.id,t.label,i)),o++)}else n.push(t),o++;o&&n.push(new fd)}return n.length&&n.pop(),n}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const n=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let i=t;if(!i){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),t=Es(this._editor.getDomNode()),n=t.left+e.left,o=t.top+e.top+e.height;i={x:n,y:o}}const o=this._editor.getOption(127)&&!G;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:o?this._editor.getDomNode():void 0,getAnchor:()=>i,getActions:()=>e,getActionViewItem:e=>{const t=this._keybindingFor(e);if(t)return new tM(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});const n=e;return"function"==typeof n.getActionViewItem?n.getActionViewItem():new tM(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:n})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===Mx)return;const t=this._editor.getOption(73);let n=0;const i=e=>({id:"menu-action-"+ ++n,label:e.label,tooltip:"",class:void 0,enabled:void 0===e.enabled||e.enabled,checked:e.checked,run:e.run}),o=(e,t,o,s,r)=>{if(!t)return i({label:e,enabled:t,run:()=>{}});const l=e=>()=>{this._configurationService.updateValue(o,e)},a=[];for(const e of r)a.push(i({label:e.label,checked:s===e.value,run:l(e.value)}));return((e,t)=>new _d("menu-action-"+ ++n,e,t,void 0))(e,a)},s=[];s.push(i({label:_(0,"Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),s.push(new fd),s.push(i({label:_(0,"Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),s.push(o(_(0,"Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:_(0,"Proportional"),value:"proportional"},{label:_(0,"Fill"),value:"fill"},{label:_(0,"Fit"),value:"fit"}])),s.push(o(_(0,"Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:_(0,"Mouse Over"),value:"mouseover"},{label:_(0,"Always"),value:"always"}]));const r=this._editor.getOption(127)&&!G;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>s,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};LY.ID="editor.contrib.contextmenu",LY=xY=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([kY(1,HL),kY(2,VL),kY(3,su),kY(4,zL),kY(5,xu),kY(6,pg),kY(7,Dx)],LY),Zu(LY.ID,LY,2),$u(class extends zu{constructor(){super({id:"editor.action.showContextMenu",label:_(0,"Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:1092,weight:100}})}run(e,t){var n;null===(n=LY.get(t))||void 0===n||n.showContextMenu()}});class DY{constructor(e){this.selections=e}equals(e){const t=this.selections.length;if(t!==e.selections.length)return!1;for(let n=0;n{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeModelContent((e=>{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeCursorSelection((t=>{if(this._isCursorUndoRedo)return;if(!t.oldSelections)return;if(t.oldModelVersionId!==t.modelVersionId)return;const n=new DY(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(n)||(this._undoStack.push(new NY(n,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new NY(new DY(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new NY(new DY(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}}EY.ID="editor.contrib.cursorUndoRedoController",Zu(EY.ID,EY,0),$u(class extends zu{constructor(){super({id:"cursorUndo",label:_(0,"Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:2099,weight:100}})}run(e,t,n){var i;null===(i=EY.get(t))||void 0===i||i.cursorUndo()}}),$u(class extends zu{constructor(){super({id:"cursorRedo",label:_(0,"Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,n){var i;null===(i=EY.get(t))||void 0===i||i.cursorRedo()}});var IY=n(1921),MY={};function TY(){return Ji&&!!Ji.VSCODE_DEV}function AY(e){if(TY()){const t=function(){RY||(RY=new Set);const e=globalThis;return e.$hotReload_applyNewExports||(e.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e};for(const e of RY){const n=e(t);if(n)return n}}),RY}();return t.add(e),{dispose(){t.delete(e)}}}return{dispose(){}}}let RY;function PY(e,t){const n=new rt,i=e.createDecorationsCollection();return n.add(XE({debugName:()=>`Apply decorations from ${t.debugName}`},(e=>{const n=t.read(e);i.set(n)}))),n.add({dispose:()=>{i.clear()}}),n}function OY(e,t){return e.appendChild(t),st((()=>{e.removeChild(t)}))}MY.styleTagTransform=Vr(),MY.setAttributes=Or(),MY.insert=Rr().bind(null,"head"),MY.domAPI=Tr(),MY.insertStyleElement=Br(),Ir()(IY.A,MY),IY.A&&IY.A.locals&&IY.A.locals,TY()&&AY((({oldExports:e,newSrc:t,config:n})=>{if("patch-prototype"===n.mode)return t=>{var n,i;for(const o in t){const s=t[o];if(console.log(`[hot-reload] Patching prototype methods of '${o}'`,{exportedItem:s}),"function"==typeof s&&s.prototype){const r=e[o];if(r){for(const e of Object.getOwnPropertyNames(s.prototype)){const t=Object.getOwnPropertyDescriptor(s.prototype,e),l=Object.getOwnPropertyDescriptor(r.prototype,e);(null===(n=null==t?void 0:t.value)||void 0===n?void 0:n.toString())!==(null===(i=null==l?void 0:l.value)||void 0===i?void 0:i.toString())&&console.log(`[hot-reload] Patching prototype method '${o}.${e}'`),Object.defineProperty(r.prototype,e,t)}t[o]=r}}}return!0}}));class FY extends lt{get width(){return this._width}get height(){return this._height}constructor(e,t){super(),this.elementSizeObserver=this._register(new cT(e,t)),this._width=VE(this,this.elementSizeObserver.getWidth()),this._height=VE(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange((e=>OE((e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function BY(e,t,n){let i=t.get(),o=i,s=i;const r=VE("animatedValue",i);let l,a=-1;function d(){const t=Date.now()-a;var n,u,c;s=Math.floor((u=o,c=i-o,(n=t)===300?u+c:c*(1-Math.pow(2,-10*n/300))+u)),t<300?l=e.requestAnimationFrame(d):s=i,r.set(s,void 0)}return n.add(QE({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(e,n)=>(e.didChange(t)&&(n.animate=n.animate||e.change),!0)},((n,r)=>{void 0!==l&&(e.cancelAnimationFrame(l),l=void 0),o=s,i=t.read(n),a=Date.now()-(r.animate?0:300),d()}))),r}class WY extends lt{constructor(e,t,n){super(),this._register(new HY(e,n)),this._register(zY(n,{height:t.actualHeight,top:t.actualTop}))}}class VY{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement("div"),this._actualTop=VE(this,void 0),this._actualHeight=VE(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}}class HY{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId="managedOverlayWidget-"+HY._counter++,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function zY(e,t){return YE((n=>{for(let[i,o]of Object.entries(t))o&&"object"==typeof o&&"read"in o&&(o=o.read(n)),"number"==typeof o&&(o=`${o}px`),i=i.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase())),e.style[i]=o}))}function UY(e,t){return function(e,t){TY()&&sI("reload",(t=>AY((({oldExports:n})=>{if([...Object.values(n)].some((t=>e.includes(t))))return e=>(t(void 0),!0)})))).read(t)}([e],t),e}function KY(e,t,n,i){const o=new rt,s=[];return o.add(JE(((o,r)=>{const l=t.read(o),a=new Map,d=new Map;n&&n(!0),e.changeViewZones((e=>{for(const t of s)e.removeZone(t),null==i||i.delete(t);s.length=0;for(const t of l){const n=e.addZone(t);t.setZoneId&&t.setZoneId(n),s.push(n),null==i||i.add(n),a.set(t,n)}})),n&&n(!1),r.add(QE({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(e,t){const n=d.get(e.changedObservable);return void 0!==n&&t.zoneIds.push(n),!0}},((t,i)=>{for(const e of l)e.onChange&&(d.set(e.onChange,a.get(e)),e.onChange.read(t));n&&n(!0),e.changeViewZones((e=>{for(const t of i.zoneIds)e.layoutZone(t)})),n&&n(!1)})))}))),o.add({dispose(){n&&n(!0),e.changeViewZones((e=>{for(const t of s)e.removeZone(t)})),null==i||i.clear(),n&&n(!1)}}),o}HY._counter=0;class jY extends Tt{dispose(){super.dispose(!0)}}function qY(e,t){const n=gh(t,(t=>t.original.startLineNumber<=e.lineNumber));if(!n)return nc.fromPositions(e);if(n.original.endLineNumberExclusive<=e.lineNumber){const t=e.lineNumber-n.original.endLineNumberExclusive+n.modified.endLineNumberExclusive;return nc.fromPositions(new cd(t,e.column))}if(!n.innerChanges)return nc.fromPositions(new cd(n.modified.startLineNumber,1));const i=gh(n.innerChanges,(t=>t.originalRange.getStartPosition().isBeforeOrEqual(e)));if(!i){const t=e.lineNumber-n.original.startLineNumber+n.modified.startLineNumber;return nc.fromPositions(new cd(t,e.column))}if(i.originalRange.containsPosition(e))return i.modifiedRange;{const t=(o=i.originalRange.getEndPosition(),s=e,o.lineNumber===s.lineNumber?new gp(0,s.column-o.column):new gp(s.lineNumber-o.lineNumber,s.column-1));return nc.fromPositions(t.addToPosition(i.modifiedRange.getEndPosition()))}var o,s}function $Y(e,t,n){const i=e.bindTo(t);return XE({debugName:()=>`Set Context Key "${e.key}"`},(e=>{i.set(n(e))}))}const GY=dd("accessibilitySignalService");class ZY{static register(e){return new ZY(e.fileName)}constructor(e){this.fileName=e}}ZY.error=ZY.register({fileName:"error.mp3"}),ZY.warning=ZY.register({fileName:"warning.mp3"}),ZY.foldedArea=ZY.register({fileName:"foldedAreas.mp3"}),ZY.break=ZY.register({fileName:"break.mp3"}),ZY.quickFixes=ZY.register({fileName:"quickFixes.mp3"}),ZY.taskCompleted=ZY.register({fileName:"taskCompleted.mp3"}),ZY.taskFailed=ZY.register({fileName:"taskFailed.mp3"}),ZY.terminalBell=ZY.register({fileName:"terminalBell.mp3"}),ZY.diffLineInserted=ZY.register({fileName:"diffLineInserted.mp3"}),ZY.diffLineDeleted=ZY.register({fileName:"diffLineDeleted.mp3"}),ZY.diffLineModified=ZY.register({fileName:"diffLineModified.mp3"}),ZY.chatRequestSent=ZY.register({fileName:"chatRequestSent.mp3"}),ZY.chatResponsePending=ZY.register({fileName:"chatResponsePending.mp3"}),ZY.chatResponseReceived1=ZY.register({fileName:"chatResponseReceived1.mp3"}),ZY.chatResponseReceived2=ZY.register({fileName:"chatResponseReceived2.mp3"}),ZY.chatResponseReceived3=ZY.register({fileName:"chatResponseReceived3.mp3"}),ZY.chatResponseReceived4=ZY.register({fileName:"chatResponseReceived4.mp3"}),ZY.clear=ZY.register({fileName:"clear.mp3"}),ZY.save=ZY.register({fileName:"save.mp3"}),ZY.format=ZY.register({fileName:"format.mp3"}),ZY.voiceRecordingStarted=ZY.register({fileName:"voiceRecordingStarted.mp3"}),ZY.voiceRecordingStopped=ZY.register({fileName:"voiceRecordingStopped.mp3"});class YY{constructor(e){this.randomOneOf=e}}class XY{static register(e){const t=new YY("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),n=new XY(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return XY._signals.add(n),n}constructor(e,t,n,i,o,s){this.sound=e,this.name=t,this.legacySoundSettingsKey=n,this.settingsKey=i,this.legacyAnnouncementSettingsKey=o,this.announcementMessage=s}}XY._signals=new Set,XY.error=XY.register({name:_(0,"Error on Line"),sound:ZY.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:_(0,"Error"),settingsKey:"accessibility.signals.lineHasError"}),XY.warning=XY.register({name:_(0,"Warning on Line"),sound:ZY.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:_(0,"Warning"),settingsKey:"accessibility.signals.lineHasWarning"}),XY.foldedArea=XY.register({name:_(0,"Folded Area on Line"),sound:ZY.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:_(0,"Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"}),XY.break=XY.register({name:_(0,"Breakpoint on Line"),sound:ZY.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:_(0,"Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"}),XY.inlineSuggestion=XY.register({name:_(0,"Inline Suggestion on Line"),sound:ZY.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"}),XY.terminalQuickFix=XY.register({name:_(0,"Terminal Quick Fix"),sound:ZY.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:_(0,"Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"}),XY.onDebugBreak=XY.register({name:_(0,"Debugger Stopped on Breakpoint"),sound:ZY.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:_(0,"Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"}),XY.noInlayHints=XY.register({name:_(0,"No Inlay Hints on Line"),sound:ZY.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:_(0,"No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"}),XY.taskCompleted=XY.register({name:_(0,"Task Completed"),sound:ZY.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:_(0,"Task Completed"),settingsKey:"accessibility.signals.taskCompleted"}),XY.taskFailed=XY.register({name:_(0,"Task Failed"),sound:ZY.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:_(0,"Task Failed"),settingsKey:"accessibility.signals.taskFailed"}),XY.terminalCommandFailed=XY.register({name:_(0,"Terminal Command Failed"),sound:ZY.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:_(0,"Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"}),XY.terminalBell=XY.register({name:_(0,"Terminal Bell"),sound:ZY.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:_(0,"Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"}),XY.notebookCellCompleted=XY.register({name:_(0,"Notebook Cell Completed"),sound:ZY.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:_(0,"Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"}),XY.notebookCellFailed=XY.register({name:_(0,"Notebook Cell Failed"),sound:ZY.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:_(0,"Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"}),XY.diffLineInserted=XY.register({name:_(0,"Diff Line Inserted"),sound:ZY.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"}),XY.diffLineDeleted=XY.register({name:_(0,"Diff Line Deleted"),sound:ZY.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"}),XY.diffLineModified=XY.register({name:_(0,"Diff Line Modified"),sound:ZY.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"}),XY.chatRequestSent=XY.register({name:_(0,"Chat Request Sent"),sound:ZY.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:_(0,"Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"}),XY.chatResponseReceived=XY.register({name:_(0,"Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[ZY.chatResponseReceived1,ZY.chatResponseReceived2,ZY.chatResponseReceived3,ZY.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"}),XY.chatResponsePending=XY.register({name:_(0,"Chat Response Pending"),sound:ZY.chatResponsePending,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.chatResponsePending",announcementMessage:_(0,"Chat Response Pending"),settingsKey:"accessibility.signals.chatResponsePending"}),XY.clear=XY.register({name:_(0,"Clear"),sound:ZY.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:_(0,"Clear"),settingsKey:"accessibility.signals.clear"}),XY.save=XY.register({name:_(0,"Save"),sound:ZY.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:_(0,"Save"),settingsKey:"accessibility.signals.save"}),XY.format=XY.register({name:_(0,"Format"),sound:ZY.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:_(0,"Format"),settingsKey:"accessibility.signals.format"}),XY.voiceRecordingStarted=XY.register({name:_(0,"Voice Recording Started"),sound:ZY.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"}),XY.voiceRecordingStopped=XY.register({name:_(0,"Voice Recording Stopped"),sound:ZY.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"});var QY=n(2180),JY={};JY.styleTagTransform=Vr(),JY.setAttributes=Or(),JY.insert=Rr().bind(null,"head"),JY.domAPI=Tr(),JY.insertStyleElement=Br(),Ir()(QY.A,JY),QY.A&&QY.A.locals&&QY.A.locals;var eX=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},tX=function(e,t){return function(n,i){t(n,i,e)}};const nX=fz("diff-review-insert",Sa.add,_(0,"Icon for 'Insert' in accessible diff viewer.")),iX=fz("diff-review-remove",Sa.remove,_(0,"Icon for 'Remove' in accessible diff viewer.")),oX=fz("diff-review-close",Sa.close,_(0,"Icon for 'Close' in accessible diff viewer."));let sX=class extends lt{constructor(e,t,n,i,o,s,r,l,a){super(),this._parentNode=e,this._visible=t,this._setVisible=n,this._canClose=i,this._width=o,this._height=s,this._diffs=r,this._models=l,this._instantiationService=a,this._state=$E(this,((e,t)=>{const n=this._visible.read(e);if(this._parentNode.style.visibility=n?"visible":"hidden",!n)return null;const i=t.add(this._instantiationService.createInstance(rX,this._diffs,this._models,this._setVisible,this._canClose));return{model:i,view:t.add(this._instantiationService.createInstance(pX,this._parentNode,i,this._width,this._height,this._models))}})).recomputeInitiallyAndOnChange(this._store)}next(){OE((e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)}))}prev(){OE((e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)}))}close(){OE((e=>{this._setVisible(!1,e)}))}};sX._ttPolicy=Yk("diffReview",{createHTML:e=>e}),sX=eX([tX(8,ad)],sX);let rX=class extends lt{constructor(e,t,n,i,o){super(),this._diffs=e,this._models=t,this._setVisible=n,this.canClose=i,this._accessibilitySignalService=o,this._groups=VE(this,[]),this._currentGroupIdx=VE(this,0),this._currentElementIdx=VE(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map(((e,t)=>this._groups.read(t)[e])),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map(((e,t)=>{var n;return null===(n=this.currentGroup.read(t))||void 0===n?void 0:n.lines[e]})),this._register(YE((e=>{const t=this._diffs.read(e);if(!t)return void this._groups.set([],void 0);const n=function(e,t,n){const i=[];for(const o of Rc(e,((e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<2*lX))){const e=[];e.push(new uX);const s=new wh(Math.max(1,o[0].original.startLineNumber-lX),Math.min(o[o.length-1].original.endLineNumberExclusive+lX,t+1)),r=new wh(Math.max(1,o[0].modified.startLineNumber-lX),Math.min(o[o.length-1].modified.endLineNumberExclusive+lX,n+1));Pc(o,((t,n)=>{const i=new wh(t?t.original.endLineNumberExclusive:s.startLineNumber,n?n.original.startLineNumber:s.endLineNumberExclusive),o=new wh(t?t.modified.endLineNumberExclusive:r.startLineNumber,n?n.modified.startLineNumber:r.endLineNumberExclusive);i.forEach((t=>{e.push(new gX(t,o.startLineNumber+(t-i.startLineNumber)))})),n&&(n.original.forEach((t=>{e.push(new cX(n,t))})),n.modified.forEach((t=>{e.push(new hX(n,t))})))}));const l=o[0].modified.join(o[o.length-1].modified),a=o[0].original.join(o[o.length-1].original);i.push(new dX(new FV(l,a),e))}return i}(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());OE((e=>{const t=this._models.getModifiedPosition();if(t){const i=n.findIndex((e=>(null==t?void 0:t.lineNumber){const t=this.currentElement.read(e);(null==t?void 0:t.type)===aX.Deleted?this._accessibilitySignalService.playSignal(XY.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(null==t?void 0:t.type)===aX.Added&&this._accessibilitySignalService.playSignal(XY.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})}))),this._register(YE((e=>{var t;const n=this.currentElement.read(e);if(n&&n.type!==aX.Header){const e=null!==(t=n.modifiedLineNumber)&&void 0!==t?t:n.diff.modified.startLineNumber;this._models.modifiedSetSelection(nc.fromPositions(new cd(e,1)))}})))}_goToGroupDelta(e,t){const n=this.groups.get();!n||n.length<=1||BE(t,(t=>{this._currentGroupIdx.set(ch.ofLength(n.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)}))}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||OE((n=>{this._currentElementIdx.set(ch.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),n)}))}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const n=t.lines.indexOf(e);-1!==n&&OE((e=>{this._currentElementIdx.set(n,e)}))}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===aX.Deleted?this._models.originalReveal(nc.fromPositions(new cd(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==aX.Header?nc.fromPositions(new cd(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};rX=eX([tX(4,GY)],rX);const lX=3;var aX;!function(e){e[e.Header=0]="Header",e[e.Unchanged=1]="Unchanged",e[e.Deleted=2]="Deleted",e[e.Added=3]="Added"}(aX||(aX={}));class dX{constructor(e,t){this.range=e,this.lines=t}}class uX{constructor(){this.type=aX.Header}}class cX{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=aX.Deleted,this.modifiedLineNumber=void 0}}class hX{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=aX.Added,this.originalLineNumber=void 0}}class gX{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=aX.Unchanged}}let pX=class extends lt{constructor(e,t,n,i,o,s){super(),this._element=e,this._model=t,this._width=n,this._height=i,this._models=o,this._languageService=s,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new iM(r)),this._register(YE((e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(new pd("diffreview.close",_(0,"Close"),"close-diff-review "+ka.asClassName(oX),!0,(async()=>t.close())),{label:!1,icon:!0})}))),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new cE(this._content,{})),cr(this.domNode,this._scrollbar.getDomNode(),r),this._register(YE((e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()}))),this._register(st((()=>{cr(this.domNode)}))),this._register(zY(this.domNode,{width:this._width,height:this._height})),this._register(zY(this._content,{width:this._width,height:this._height})),this._register(JE(((e,t)=>{this._model.currentGroup.read(e),this._render(t)}))),this._register(_s(this.domNode,"keydown",(e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())})))}_render(e){const t=this._models.getOriginalOptions(),n=this._models.getModifiedOptions(),i=document.createElement("div");i.className="diff-review-table",i.setAttribute("role","list"),i.setAttribute("aria-label",_(0,"Accessible Diff Viewer. Use arrow up and down to navigate.")),nL(i,n.get(50)),cr(this._content,i);const o=this._models.getOriginalModel(),s=this._models.getModifiedModel();if(!o||!s)return;const r=o.getOptions(),l=s.getOptions(),a=n.get(67),d=this._model.currentGroup.get();for(const u of(null==d?void 0:d.lines)||[]){if(!d)break;let c;if(u.type===aX.Header){const e=document.createElement("div");e.className="diff-review-row",e.setAttribute("role","listitem");const t=d.range,n=this._model.currentGroupIndex.get(),i=this._model.groups.get().length,o=e=>0===e?_(0,"no lines changed"):1===e?_(0,"1 line changed"):_(0,"{0} lines changed",e),s=o(t.original.length),r=o(t.modified.length);e.setAttribute("aria-label",_(0,"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",n+1,i,t.original.startLineNumber,s,t.modified.startLineNumber,r));const l=document.createElement("div");l.className="diff-review-cell diff-review-summary",l.appendChild(document.createTextNode(`${n+1}/${i}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(l),c=e}else c=this._createRow(u,a,this._width.get(),t,o,r,n,s,l);i.appendChild(c);const h=jE((e=>this._model.currentElement.read(e)===u));e.add(YE((e=>{const t=h.read(e);c.tabIndex=t?0:-1,t&&c.focus()}))),e.add(ms(c,"focus",(()=>{this._model.goToLine(u)})))}this._scrollbar.scanDomNode()}_createRow(e,t,n,i,o,s,r,l,a){const d=i.get(145),u=d.glyphMarginWidth+d.lineNumbersWidth,c=r.get(145),h=10+c.glyphMarginWidth+c.lineNumbersWidth;let g="diff-review-row",p="",m=null;switch(e.type){case aX.Added:g="diff-review-row line-insert",p=" char-insert",m=nX;break;case aX.Deleted:g="diff-review-row line-delete",p=" char-delete",m=iX}const f=document.createElement("div");f.style.minWidth=n+"px",f.className=g,f.setAttribute("role","listitem"),f.ariaLevel="";const v=document.createElement("div");v.className="diff-review-cell",v.style.height=`${t}px`,f.appendChild(v);const b=document.createElement("span");b.style.width=u+"px",b.style.minWidth=u+"px",b.className="diff-review-line-number"+p,void 0!==e.originalLineNumber?b.appendChild(document.createTextNode(String(e.originalLineNumber))):b.innerText=" ",v.appendChild(b);const w=document.createElement("span");w.style.width=h+"px",w.style.minWidth=h+"px",w.style.paddingRight="10px",w.className="diff-review-line-number"+p,void 0!==e.modifiedLineNumber?w.appendChild(document.createTextNode(String(e.modifiedLineNumber))):w.innerText=" ",v.appendChild(w);const C=document.createElement("span");if(C.className="diff-review-spacer",m){const e=document.createElement("span");e.className=ka.asClassName(m),e.innerText="  ",C.appendChild(e)}else C.innerText="  ";let y;if(v.appendChild(C),void 0!==e.modifiedLineNumber){let t=this._getLineHtml(l,r,a.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);sX._ttPolicy&&(t=sX._ttPolicy.createHTML(t)),v.insertAdjacentHTML("beforeend",t),y=l.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(o,i,s.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);sX._ttPolicy&&(t=sX._ttPolicy.createHTML(t)),v.insertAdjacentHTML("beforeend",t),y=o.getLineContent(e.originalLineNumber)}0===y.length&&(y=_(0,"blank"));let S="";switch(e.type){case aX.Unchanged:S=e.originalLineNumber===e.modifiedLineNumber?_(0,"{0} unchanged line {1}",y,e.originalLineNumber):_(0,"{0} original line {1} modified line {2}",y,e.originalLineNumber,e.modifiedLineNumber);break;case aX.Added:S=_(0,"+ {0} modified line {1}",y,e.modifiedLineNumber);break;case aX.Deleted:S=_(0,"- {0} original line {1}",y,e.originalLineNumber)}return f.setAttribute("aria-label",S),f}_getLineHtml(e,t,n,i,o){const s=e.getLineContent(i),r=t.get(50),l=BC.createEmpty(s,o),a=bP.isBasicASCII(s,e.mightContainNonBasicASCII()),d=bP.containsRTL(s,a,e.mightContainRTL());return fA(new uA(r.isMonospace&&!t.get(33),r.canUseHalfwidthRightwardsArrow,s,!1,a,d,0,l,[],n,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,t.get(117),t.get(99),t.get(94),t.get(51)!==ED.OFF,null)).html}};pX=eX([tX(5,Sh)],pX);class mX{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){var e;return null!==(e=this.editors.modified.getPosition())&&void 0!==e?e:void 0}}class fX extends lt{constructor(e,t,n,i,o){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=n,this._modifiedEditorLayoutInfo=i,this._editors=o,this._originalScrollTop=iI(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=iI(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._viewZonesChanged=sI("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=VE(this,0),this._modifiedViewZonesChangedSignal=sI("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=sI("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=$E(this,((e,t)=>{var n;this._element.replaceChildren();const i=this._diffModel.read(e),o=null===(n=null==i?void 0:i.diff.read(e))||void 0===n?void 0:n.movedTexts;if(!o||0===o.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(e);const s=this._originalEditorLayoutInfo.read(e),r=this._modifiedEditorLayoutInfo.read(e);if(!s||!r)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(e),this._originalViewZonesChangedSignal.read(e);const l=o.map((t=>{function n(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}const i=n(t.lineRangeMapping.original,this._editors.original),o=this._originalScrollTop.read(e),s=n(t.lineRangeMapping.modified,this._editors.modified),r=i-o,l=s-this._modifiedScrollTop.read(e),a=Math.min(i,s),d=Math.max(i,s);return{range:new ch(a,d),from:r,to:l,fromWithoutScroll:i,toWithoutScroll:s,move:t}}));l.sort(function(...e){return(t,n)=>{for(const i of e){const e=i(t,n);if(!yc.isNeitherLessOrGreaterThan(e))return e}return yc.neitherLessOrGreaterThan}}(Yc((e=>e.fromWithoutScroll>e.toWithoutScroll),Qc),Yc((e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll),Xc)));const a=_X.compute(l.map((e=>e.range))),d=s.verticalScrollbarWidth,u=10*(a.getTrackCount()-1)+20,c=d+u+(r.contentLeft-fX.movedCodeBlockPadding);let h=0;for(const e of l){const n=d+10+10*a.getTrack(h),o=15,s=15,l=c,u=r.glyphMarginWidth+r.lineNumbersWidth,g=18,p=document.createElementNS("http://www.w3.org/2000/svg","rect");p.classList.add("arrow-rectangle"),p.setAttribute("x",""+(l-u)),p.setAttribute("y",""+(e.to-g/2)),p.setAttribute("width",`${u}`),p.setAttribute("height",`${g}`),this._element.appendChild(p);const m=document.createElementNS("http://www.w3.org/2000/svg","g"),f=document.createElementNS("http://www.w3.org/2000/svg","path");f.setAttribute("d",`M 0 ${e.from} L ${n} ${e.from} L ${n} ${e.to} L ${l-s} ${e.to}`),f.setAttribute("fill","none"),m.appendChild(f);const _=document.createElementNS("http://www.w3.org/2000/svg","polygon");_.classList.add("arrow"),t.add(YE((t=>{f.classList.toggle("currentMove",e.move===i.activeMovedText.read(t)),_.classList.toggle("currentMove",e.move===i.activeMovedText.read(t))}))),_.setAttribute("points",`${l-s},${e.to-o/2} ${l},${e.to} ${l-s},${e.to+o/2}`),m.appendChild(_),this._element.appendChild(m),h++}this.width.set(u,void 0)})),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(st((()=>this._element.remove()))),this._register(YE((e=>{const t=this._originalEditorLayoutInfo.read(e),n=this._modifiedEditorLayoutInfo.read(e);t&&n&&(this._element.style.left=t.width-t.verticalScrollbarWidth+"px",this._element.style.height=`${t.height}px`,this._element.style.width=`${t.verticalScrollbarWidth+t.contentLeft-fX.movedCodeBlockPadding+this.width.read(e)}px`)}))),this._register(dI(this._state));const s=jE((e=>{const t=this._diffModel.read(e),n=null==t?void 0:t.diff.read(e);return n?n.movedTexts.map((e=>({move:e,original:new VY(tI(e.lineRangeMapping.original.startLineNumber-1),18),modified:new VY(tI(e.lineRangeMapping.modified.startLineNumber-1),18)}))):[]}));this._register(KY(this._editors.original,s.map((e=>e.map((e=>e.original)))))),this._register(KY(this._editors.modified,s.map((e=>e.map((e=>e.modified)))))),this._register(JE(((e,t)=>{const n=s.read(e);for(const e of n)t.add(new vX(this._editors.original,e.original,e.move,"original",this._diffModel.get())),t.add(new vX(this._editors.modified,e.modified,e.move,"modified",this._diffModel.get()))})));const r=sI("original.onDidFocusEditorWidget",(e=>this._editors.original.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0))))),l=sI("modified.onDidFocusEditorWidget",(e=>this._editors.modified.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0)))));let a="modified";this._register(QE({createEmptyChangeSummary:()=>{},handleChange:(e,t)=>(e.didChange(r)&&(a="original"),e.didChange(l)&&(a="modified"),!0)},(e=>{r.read(e),l.read(e);const t=this._diffModel.read(e);if(!t)return;const n=t.diff.read(e);let i;if(n&&"original"===a){const t=this._editors.originalCursor.read(e);t&&(i=n.movedTexts.find((e=>e.lineRangeMapping.original.contains(t.lineNumber))))}if(n&&"modified"===a){const t=this._editors.modifiedCursor.read(e);t&&(i=n.movedTexts.find((e=>e.lineRangeMapping.modified.contains(t.lineNumber))))}i!==t.movedTextToCompare.get()&&t.movedTextToCompare.set(void 0,void 0),t.setActiveMovedText(i)})))}}fX.movedCodeBlockPadding=4;class _X{static compute(e){const t=[],n=[];for(const i of e){let e=t.findIndex((e=>!e.intersectsStrict(i)));if(-1===e){const n=6;t.length>=n?e=bh(t,Yc((e=>e.intersectWithRangeLength(i)),Xc)):(e=t.length,t.push(new hh))}t[e].addRange(i),n.push(e)}return new _X(t.length,n)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class vX extends WY{constructor(e,t,n,i,o){const s=Dr("div.diff-hidden-lines-widget");super(e,t,s.root),this._editor=e,this._move=n,this._kind=i,this._diffModel=o,this._nodes=Dr("div.diff-moved-code-block",{style:{marginRight:"4px"}},[Dr("div.text-content@textContent"),Dr("div.action-bar@actionBar")]),s.root.appendChild(this._nodes.root);const r=iI(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));let l;this._register(zY(this._nodes.root,{paddingRight:r.map((e=>e.verticalScrollbarWidth))})),l=n.changes.length>0?"original"===this._kind?_(0,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):_(0,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?_(0,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):_(0,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const a=this._register(new iM(this._nodes.actionBar,{highlightToggledItems:!0})),d=new pd("",l,"",!1);a.push(d,{icon:!1,label:!0});const u=new pd("","Compare",ka.asClassName(Sa.compareChanges),!0,(()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===n?void 0:this._move,void 0)}));this._register(YE((e=>{const t=this._diffModel.movedTextToCompare.read(e)===n;u.checked=t}))),a.push(u,{icon:!1,label:!0})}}km("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},_(0,"The border color for text that got moved in the diff editor.")),km("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},_(0,"The active border color for text that got moved in the diff editor.")),km("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},_(0,"The color of the shadow around unchanged region widgets."));const bX=fz("diff-insert",Sa.add,_(0,"Line decoration for inserts in the diff editor.")),wX=fz("diff-remove",Sa.remove,_(0,"Line decoration for removals in the diff editor.")),CX=My.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+ka.asClassName(bX),marginClassName:"gutter-insert"}),yX=My.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+ka.asClassName(wX),marginClassName:"gutter-delete"}),SX=My.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),xX=My.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),kX=My.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),LX=My.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),DX=My.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),NX=My.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),EX=My.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),IX=My.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});class MX extends lt{constructor(e,t,n,i){super(),this._editors=e,this._diffModel=t,this._options=n,this._decorations=jE(this,(e=>{var t;const n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.diff.read(e);if(!n)return null;const i=this._diffModel.read(e).movedTextToCompare.read(e),o=this._options.renderIndicators.read(e),s=this._options.showEmptyDecorations.read(e),r=[],l=[];if(!i)for(const e of n.mappings)if(e.lineRangeMapping.original.isEmpty||r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:o?yX:xX}),e.lineRangeMapping.modified.isEmpty||l.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:o?CX:SX}),e.lineRangeMapping.modified.isEmpty||e.lineRangeMapping.original.isEmpty)e.lineRangeMapping.original.isEmpty||r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:EX}),e.lineRangeMapping.modified.isEmpty||l.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:LX});else for(const t of e.lineRangeMapping.innerChanges||[])e.lineRangeMapping.original.contains(t.originalRange.startLineNumber)&&r.push({range:t.originalRange,options:t.originalRange.isEmpty()&&s?IX:NX}),e.lineRangeMapping.modified.contains(t.modifiedRange.startLineNumber)&&l.push({range:t.modifiedRange,options:t.modifiedRange.isEmpty()&&s?DX:kX});if(i)for(const e of i.changes){const t=e.original.toInclusiveRange();t&&r.push({range:t,options:o?yX:xX});const n=e.modified.toInclusiveRange();n&&l.push({range:n,options:o?CX:SX});for(const t of e.innerChanges||[])r.push({range:t.originalRange,options:NX}),l.push({range:t.modifiedRange,options:kX})}const a=this._diffModel.read(e).activeMovedText.read(e);for(const e of n.movedTexts)r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(e===a?" currentMove":""),blockPadding:[fX.movedCodeBlockPadding,0,fX.movedCodeBlockPadding,fX.movedCodeBlockPadding]}}),l.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(e===a?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:l}})),this._register(PY(this._editors.original,this._decorations.map((e=>(null==e?void 0:e.originalDecorations)||[])))),this._register(PY(this._editors.modified,this._decorations.map((e=>(null==e?void 0:e.modifiedDecorations)||[]))))}}class TX extends lt{constructor(e,t,n,i){super(),this._options=e,this._domNode=t,this._dimensions=n,this._sashes=i,this._sashRatio=VE(this,void 0),this.sashLeft=jE(this,(e=>{var t;const n=null!==(t=this._sashRatio.read(e))&&void 0!==t?t:this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(n,e)})),this._sash=this._register(new uU(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart((()=>{this._startSashPosition=this.sashLeft.get()}))),this._register(this._sash.onDidChange((e=>{const t=this._dimensions.width.get(),n=this._computeSashLeft((this._startSashPosition+(e.currentX-e.startX))/t,void 0);this._sashRatio.set(n/t,void 0)}))),this._register(this._sash.onDidEnd((()=>this._sash.layout()))),this._register(this._sash.onDidReset((()=>this._sashRatio.set(void 0,void 0)))),this._register(YE((e=>{const t=this._sashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)}))),this._register(YE((e=>{const t=this._options.enableSplitViewResizing.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()})))}_computeSashLeft(e,t){const n=this._dimensions.width.read(t),i=Math.floor(this._options.splitViewDefaultRatio.read(t)*n),o=this._options.enableSplitViewResizing.read(t)?Math.floor(e*n):i,s=100;return n<=200?i:on-s?n-s:o}}const AX=dd("editorWorkerService");var RX,PX=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},OX=function(e,t){return function(n,i){t(n,i,e)}};const FX=dd("diffProviderFactoryService");let BX=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(WX,e)}};BX=PX([OX(0,ad)],BX),yg(FX,BX,1);let WX=RX=class{constructor(e,t,n){this.editorWorkerService=t,this.telemetryService=n,this.onDidChangeEventEmitter=new Ct,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){var e;null===(e=this.diffAlgorithmOnDidChangeSubscription)||void 0===e||e.dispose()}async computeDiff(e,t,n,i){var o,s;if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(e,t,n,i);if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return 1===t.getLineCount()&&1===t.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new BV(new wh(1,2),new wh(1,t.getLineCount()+1),[new WV(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const r=JSON.stringify([e.uri.toString(),t.uri.toString()]),l=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(n)]),a=RX.diffCache.get(r);if(a&&a.context===l)return a.result;const d=mt.create(),u=await this.editorWorkerService.computeDiff(e.uri,t.uri,n,this.diffAlgorithm),c=d.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:c,timedOut:null===(o=null==u?void 0:u.quitEarly)||void 0===o||o,detectedMoves:n.computeMoves?null!==(s=null==u?void 0:u.moves.length)&&void 0!==s?s:0:-1}),i.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!u)throw new Error("no diff result available");return RX.diffCache.size>10&&RX.diffCache.delete(RX.diffCache.keys().next().value),RX.diffCache.set(r,{result:u,context:l}),u}setOptions(e){var t;let n=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(null===(t=this.diffAlgorithmOnDidChangeSubscription)||void 0===t||t.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,"string"!=typeof e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange((()=>this.onDidChangeEventEmitter.fire()))),n=!0),n&&this.onDidChangeEventEmitter.fire()}};WX.diffCache=new Map,WX=RX=PX([OX(1,AX),OX(2,Mu)],WX);let VX=class extends lt{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,n){super(),this.model=e,this._options=t,this._diffProviderFactoryService=n,this._isDiffUpToDate=VE(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=VE(this,void 0),this.diff=this._diff,this._unchangedRegions=VE(this,void 0),this.unchangedRegions=jE(this,(e=>{var t,n;return this._options.hideUnchangedRegions.read(e)?null!==(n=null===(t=this._unchangedRegions.read(e))||void 0===t?void 0:t.regions)&&void 0!==n?n:[]:(OE((e=>{var t;for(const n of(null===(t=this._unchangedRegions.get())||void 0===t?void 0:t.regions)||[])n.collapseAll(e)})),[])})),this.movedTextToCompare=VE(this,void 0),this._activeMovedText=VE(this,void 0),this._hoveredMovedText=VE(this,void 0),this.activeMovedText=jE(this,(e=>{var t,n;return null!==(n=null!==(t=this.movedTextToCompare.read(e))&&void 0!==t?t:this._hoveredMovedText.read(e))&&void 0!==n?n:this._activeMovedText.read(e)})),this._cancellationTokenSource=new Tt,this._diffProvider=jE(this,(e=>{const t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)});return{diffProvider:t,onChangeSignal:sI("onDidChange",t.onDidChange)}})),this._register(st((()=>this._cancellationTokenSource.cancel())));const i=lI("contentChangedSignal"),o=this._register(new jt((()=>i.trigger(void 0)),200));this._register(YE((t=>{const n=this._unchangedRegions.read(t);if(!n||n.regions.some((e=>e.isDragged.read(t))))return;const i=n.originalDecorationIds.map((t=>e.original.getDecorationRange(t))).map((e=>e?wh.fromRangeInclusive(e):void 0)),o=n.modifiedDecorationIds.map((t=>e.modified.getDecorationRange(t))).map((e=>e?wh.fromRangeInclusive(e):void 0)),s=n.regions.map(((e,n)=>i[n]&&o[n]?new UX(i[n].startLineNumber,o[n].startLineNumber,i[n].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t)):void 0)).filter(pa),r=[];let l=!1;for(const e of Rc(s,((e,n)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===n.getHiddenModifiedRange(t).startLineNumber)))if(e.length>1){l=!0;const t=e.reduce(((e,t)=>e+t.lineCount),0),n=new UX(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.get(),e[e.length-1].visibleLineCountBottom.get());r.push(n)}else r.push(e[0]);if(l){const t=e.original.deltaDecorations(n.originalDecorationIds,r.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),i=e.modified.deltaDecorations(n.modifiedDecorationIds,r.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));OE((e=>{this._unchangedRegions.set({regions:r,originalDecorationIds:t,modifiedDecorationIds:i},e)}))}})));const s=(t,n,i)=>{const o=UX.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(i),this._options.hideUnchangedRegionsContextLineCount.read(i));let s;const r=this._unchangedRegions.get();if(r){const t=r.originalDecorationIds.map((t=>e.original.getDecorationRange(t))).map((e=>e?wh.fromRangeInclusive(e):void 0)),n=r.modifiedDecorationIds.map((t=>e.modified.getDecorationRange(t))).map((e=>e?wh.fromRangeInclusive(e):void 0)),o=function(e,t){let n;return e.filter((e=>{const t=((e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount)(e,n);return n=e,t}))}(r.regions.map(((e,i)=>{if(!t[i]||!n[i])return;const o=t[i].length;return new UX(t[i].startLineNumber,n[i].startLineNumber,o,Math.min(e.visibleLineCountTop.get(),o),Math.min(e.visibleLineCountBottom.get(),o-e.visibleLineCountTop.get()))})).filter(pa));let l=o.map((e=>new FV(e.getHiddenOriginalRange(i),e.getHiddenModifiedRange(i))));l=FV.clip(l,wh.ofLength(1,e.original.getLineCount()),wh.ofLength(1,e.modified.getLineCount())),s=FV.inverse(l,e.original.getLineCount(),e.modified.getLineCount())}const l=[];if(s)for(const e of o){const t=s.filter((t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange)));l.push(...e.setVisibleRanges(t,n))}else l.push(...o);const a=e.original.deltaDecorations((null==r?void 0:r.originalDecorationIds)||[],l.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),d=e.modified.deltaDecorations((null==r?void 0:r.modifiedDecorationIds)||[],l.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));this._unchangedRegions.set({regions:l,originalDecorationIds:a,modifiedDecorationIds:d},n)};this._register(e.modified.onDidChangeContent((t=>{if(this._diff.get()){Np.fromModelContentChanges(t.changes);const n=(this._lastDiff,e.original,void e.modified);n&&(this._lastDiff=n,OE((e=>{this._diff.set(HX.fromDiffResult(this._lastDiff),e),s(n,e);const t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified))):void 0,e)})))}this._isDiffUpToDate.set(!1,void 0),o.schedule()}))),this._register(e.original.onDidChangeContent((t=>{if(this._diff.get()){Np.fromModelContentChanges(t.changes);const n=(this._lastDiff,e.original,void e.modified);n&&(this._lastDiff=n,OE((e=>{this._diff.set(HX.fromDiffResult(this._lastDiff),e),s(n,e);const t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified))):void 0,e)})))}this._isDiffUpToDate.set(!1,void 0),o.schedule()}))),this._register(JE((async(t,n)=>{var r,l;this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),o.cancel(),i.read(t);const a=this._diffProvider.read(t);a.onChangeSignal.read(t),UY(wH,t),UY(mH,t),this._isDiffUpToDate.set(!1,void 0);let d=[];n.add(e.original.onDidChangeContent((e=>{const t=Np.fromModelContentChanges(e.changes);d=am(d,t)})));let u=[];n.add(e.modified.onDidChangeContent((e=>{const t=Np.fromModelContentChanges(e.changes);u=am(u,t)})));let c=await a.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token);var h,g,p;this._cancellationTokenSource.token.isCancellationRequested||(h=c,g=e.original,p=e.modified,c={changes:h.changes.map((e=>new BV(e.original,e.modified,e.innerChanges?e.innerChanges.map((e=>function(e,t,n){let i=e.originalRange,o=e.modifiedRange;return(1!==i.endColumn||1!==o.endColumn)&&i.endColumn===t.getLineMaxColumn(i.endLineNumber)&&o.endColumn===n.getLineMaxColumn(o.endLineNumber)&&i.endLineNumber{s(c,e),this._lastDiff=c;const t=HX.fromDiffResult(c);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);const n=this.movedTextToCompare.get();this.movedTextToCompare.set(n?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(n.lineRangeMapping.modified))):void 0,e)})))})))}ensureModifiedLineIsVisible(e,t,n){var i,o;if(0===(null===(i=this.diff.get())||void 0===i?void 0:i.mappings.length))return;const s=(null===(o=this._unchangedRegions.get())||void 0===o?void 0:o.regions)||[];for(const i of s)if(i.getHiddenModifiedRange(void 0).contains(e))return void i.showModifiedLine(e,t,n)}ensureOriginalLineIsVisible(e,t,n){var i,o;if(0===(null===(i=this.diff.get())||void 0===i?void 0:i.mappings.length))return;const s=(null===(o=this._unchangedRegions.get())||void 0===o?void 0:o.regions)||[];for(const i of s)if(i.getHiddenOriginalRange(void 0).contains(e))return void i.showOriginalLine(e,t,n)}async waitForDiff(){var e;await(e=this.isDiffUpToDate,e=>e,new Promise(((t,n)=>{let i=!0,o=!1;const s=e.map((e=>({isFinished:e,error:!1,state:e}))),r=YE((e=>{const{isFinished:l,error:a,state:d}=s.read(e);(l||a)&&(i?o=!0:r.dispose(),a?n(!0===a?d:a):t(d))}));i=!1,o&&r.dispose()})))}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:null==e?void 0:e.regions.map((e=>({range:e.getHiddenModifiedRange(void 0).serialize()})))}}restoreSerializedState(e){var t;const n=null===(t=e.collapsedRegions)||void 0===t?void 0:t.map((e=>wh.deserialize(e.range))),i=this._unchangedRegions.get();i&&n&&OE((e=>{for(const t of i.regions)for(const i of n)if(t.modifiedUnchangedRange.intersect(i)){t.setHiddenModifiedRange(i,e);break}}))}};VX=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,FX)],VX);class HX{static fromDiffResult(e){return new HX(e.changes.map((e=>new zX(e))),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,n,i){this.mappings=e,this.movedTexts=t,this.identical=n,this.quitEarly=i}}class zX{constructor(e){this.lineRangeMapping=e}}class UX{static fromDiffs(e,t,n,i,o){const s=BV.inverse(e,t,n),r=[];for(const e of s){let s=e.original.startLineNumber,l=e.modified.startLineNumber,a=e.original.length;const d=1===s&&1===l,u=s+a===t+1&&l+a===n+1;(d||u)&&a>=o+i?(d&&!u&&(a-=o),u&&!d&&(s+=o,l+=o,a-=o),r.push(new UX(s,l,a,0,0))):a>=2*o+i&&(s+=o,l+=o,a-=2*o,r.push(new UX(s,l,a,0,0)))}return r}get originalUnchangedRange(){return wh.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return wh.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,n,i,o){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=n,this._visibleLineCountTop=VE(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=VE(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=jE(this,(e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e))),this.isDragged=VE(this,void 0);const s=Math.max(Math.min(i,this.lineCount),0),r=Math.max(Math.min(o,this.lineCount-i),0);gu(i===s),gu(o===r),this._visibleLineCountTop.set(s,void 0),this._visibleLineCountBottom.set(r,void 0)}setVisibleRanges(e,t){const n=[],i=new Ch(e.map((e=>e.modified))).subtractFrom(this.modifiedUnchangedRange);let o=this.originalLineNumber,s=this.modifiedLineNumber;const r=this.modifiedLineNumber+this.lineCount;if(0===i.ranges.length)this.showAll(t),n.push(this);else{let e=0;for(const l of i.ranges){const a=e===i.ranges.length-1;e++;const d=(a?r:l.endLineNumberExclusive)-s,u=new UX(o,s,d,0,0);u.setHiddenModifiedRange(l,t),n.push(u),o=u.originalUnchangedRange.endLineNumberExclusive,s=u.modifiedUnchangedRange.endLineNumberExclusive}}return n}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return wh.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return wh.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const n=e.startLineNumber-this.modifiedLineNumber,i=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(n,i,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const n=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,n),t)}showMoreBelow(e=10,t){const n=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,n),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,n){const i=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),o=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;0===t&&i{var o;this._contextMenuService.showContextMenu({domForShadowRoot:c&&null!==(o=n.getDomNode())&&void 0!==o?o:void 0,getAnchor:()=>({x:e,y:t}),getActions:()=>{const e=[],t=i.modified.isEmpty;return e.push(new pd("diff.clipboard.copyDeletedContent",t?i.original.length>1?_(0,"Copy deleted lines"):_(0,"Copy deleted line"):i.original.length>1?_(0,"Copy changed lines"):_(0,"Copy changed line"),void 0,!0,(async()=>{const e=this._originalTextModel.getValueInRange(i.original.toExclusiveRange());await this._clipboardService.writeText(e)}))),i.original.length>1&&e.push(new pd("diff.clipboard.copyDeletedLineContent",_(0,t?"Copy deleted line ({0})":"Copy changed line ({0})",i.original.startLineNumber+u),void 0,!0,(async()=>{let e=this._originalTextModel.getLineContent(i.original.startLineNumber+u);""===e&&(e=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"),await this._clipboardService.writeText(e)}))),n.getOption(91)||e.push(new pd("diff.inline.revertChange",_(0,"Revert this change"),void 0,!0,(async()=>{this._editor.revert(this._diff)}))),e},autoSelectFirstItem:!0})};this._register(_s(this._diffActions,"mousedown",(e=>{if(!e.leftButton)return;const{top:t,height:n}=Es(this._diffActions),i=Math.floor(d/3);e.preventDefault(),h(e.posx,t+n+i)}))),this._register(n.onMouseMove((e=>{8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId!==this._getViewZoneId()?this.visibility=!1:(u=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,d),this.visibility=!0)}))),this._register(n.onMouseDown((e=>{!e.event.leftButton||8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),u=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,d),h(e.event.posx,e.event.posy+d))})))}_updateLightBulbPosition(e,t,n){const{top:i}=Es(e),o=t-i,s=Math.floor(o/n),r=s*n;if(this._diffActions.style.top=`${r}px`,this._viewLineCounts){let e=0;for(let t=0;te});function qX(e,t,n,i){nL(i,t.fontInfo);const o=n.length>0,s=new eg(1e4);let r=0,l=0;const a=[];for(let i=0;i');const a=t.getLineContent(),d=bP.isBasicASCII(a,o),u=bP.containsRTL(a,d,s),c=pA(new uA(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,a,!1,d,u,0,t,n,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==ED.OFF,null),l);return l.appendString(""),c.characterMapping.getHorizontalOffset(c.characterMapping.length)}var YX=function(e,t){return function(n,i){t(n,i,e)}};let XX=class extends lt{constructor(e,t,n,i,o,s,r,l,a,d){super(),this._targetWindow=e,this._editors=t,this._diffModel=n,this._options=i,this._diffEditorWidget=o,this._canIgnoreViewZoneUpdateEvent=s,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=l,this._clipboardService=a,this._contextMenuService=d,this._originalTopPadding=VE(this,0),this._originalScrollOffset=VE(this,0),this._originalScrollOffsetAnimated=BY(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=VE(this,0),this._modifiedScrollOffset=VE(this,0),this._modifiedScrollOffsetAnimated=BY(this._targetWindow,this._modifiedScrollOffset,this._store);const u=VE("invalidateAlignmentsState",0),c=this._register(new jt((()=>{u.set(u.get()+1,void 0)}),0));this._register(this._editors.original.onDidChangeViewZones((e=>{this._canIgnoreViewZoneUpdateEvent()||c.schedule()}))),this._register(this._editors.modified.onDidChangeViewZones((e=>{this._canIgnoreViewZoneUpdateEvent()||c.schedule()}))),this._register(this._editors.original.onDidChangeConfiguration((e=>{(e.hasChanged(146)||e.hasChanged(67))&&c.schedule()}))),this._register(this._editors.modified.onDidChangeConfiguration((e=>{(e.hasChanged(146)||e.hasChanged(67))&&c.schedule()})));const h=this._diffModel.map((e=>e?iI(e.model.original.onDidChangeTokens,(()=>2===e.model.original.tokenization.backgroundTokenizationState)):void 0)).map(((e,t)=>null==e?void 0:e.read(t))),g=jE((e=>{const t=this._diffModel.read(e),n=null==t?void 0:t.diff.read(e);if(!t||!n)return null;u.read(e);const i=this._options.renderSideBySide.read(e);return QX(this._editors.original,this._editors.modified,n.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,i)})),p=jE((e=>{var t;const n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.movedTextToCompare.read(e);if(!n)return null;u.read(e);const i=n.changes.map((e=>new zX(e)));return QX(this._editors.original,this._editors.modified,i,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)}));function m(){const e=document.createElement("div");return e.className="diagonal-fill",e}const f=this._register(new rt);this.viewZones=$E(this,((e,t)=>{var n,i,s,r,l,a,d,u;f.clear();const c=g.read(e)||[],_=[],v=[],b=this._modifiedTopPadding.read(e);b>0&&v.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:b,showInHiddenAreas:!0,suppressMouseDown:!0});const w=this._originalTopPadding.read(e);w>0&&_.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:w,showInHiddenAreas:!0,suppressMouseDown:!0});const C=this._options.renderSideBySide.read(e),y=C||null===(n=this._editors.modified._getViewModel())||void 0===n?void 0:n.createLineBreaksComputer();if(y){const I=this._editors.original.getModel();for(const M of c)if(M.diff)for(let T=M.originalRange.startLineNumber;TI.getLineCount())return{orig:_,mod:v};null==y||y.addRequest(I.getLineContent(T),null,null)}}const S=null!==(i=null==y?void 0:y.finalize())&&void 0!==i?i:[];let x=0;const k=this._editors.modified.getOption(67),L=null===(s=this._diffModel.read(e))||void 0===s?void 0:s.movedTextToCompare.read(e),D=null!==(l=null===(r=this._editors.original.getModel())||void 0===r?void 0:r.mightContainNonBasicASCII())&&void 0!==l&&l,N=null!==(d=null===(a=this._editors.original.getModel())||void 0===a?void 0:a.mightContainRTL())&&void 0!==d&&d,E=GX.fromEditor(this._editors.modified);for(const A of c)if(A.diff&&!C){if(!A.originalRange.isEmpty){h.read(e);const P=document.createElement("div");P.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const O=this._editors.original.getModel();if(A.originalRange.endLineNumberExclusive-1>O.getLineCount())return{orig:_,mod:v};const F=new $X(A.originalRange.mapToLineArray((e=>O.tokenization.getLineTokens(e))),A.originalRange.mapToLineArray((e=>S[x++])),D,N),B=[];for(const z of A.diff.innerChanges||[])B.push(new wP(z.originalRange.delta(-(A.diff.original.startLineNumber-1)),NX.className,0));const W=qX(F,E,B,P),V=document.createElement("div");if(V.className="inline-deleted-margin-view-zone",nL(V,E.fontInfo),this._options.renderIndicators.read(e))for(let U=0;U_a(H)),V,this._editors.modified,A.diff,this._diffEditorWidget,W.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let j=0;j1&&_.push({afterLineNumber:A.originalRange.startLineNumber+j,domNode:m(),heightInPx:(q-1)*k,showInHiddenAreas:!0,suppressMouseDown:!0})}v.push({afterLineNumber:A.modifiedRange.startLineNumber-1,domNode:P,heightInPx:W.heightInLines*k,minWidthInPx:W.minWidthInPx,marginDomNode:V,setZoneId(e){H=e},showInHiddenAreas:!0,suppressMouseDown:!0})}const R=document.createElement("div");R.className="gutter-delete",_.push({afterLineNumber:A.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:A.modifiedHeightInPx,marginDomNode:R,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const $=A.modifiedHeightInPx-A.originalHeightInPx;if($>0){if(null==L?void 0:L.lineRangeMapping.original.delta(-1).deltaLength(2).contains(A.originalRange.endLineNumberExclusive-1))continue;_.push({afterLineNumber:A.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:$,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(null==L?void 0:L.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(A.modifiedRange.endLineNumberExclusive-1))continue;function G(){const e=document.createElement("div");return e.className="arrow-revert-change "+ka.asClassName(Sa.arrowRight),t.add(ms(e,"mousedown",(e=>e.stopPropagation()))),t.add(ms(e,"click",(e=>{e.stopPropagation(),o.revert(A.diff)}))),mr("div",{},e)}let Z;A.diff&&A.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(Z=G()),v.push({afterLineNumber:A.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-$,marginDomNode:Z,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const Y of null!==(u=p.read(e))&&void 0!==u?u:[]){if(!(null==L?void 0:L.lineRangeMapping.original.intersect(Y.originalRange))||!(null==L?void 0:L.lineRangeMapping.modified.intersect(Y.modifiedRange)))continue;const X=Y.modifiedHeightInPx-Y.originalHeightInPx;X>0?_.push({afterLineNumber:Y.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:X,showInHiddenAreas:!0,suppressMouseDown:!0}):v.push({afterLineNumber:Y.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-X,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:_,mod:v}}));let _=!1;this._register(this._editors.original.onDidScrollChange((e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.modified.setScrollLeft(e.scrollLeft),_=!1)}))),this._register(this._editors.modified.onDidScrollChange((e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.original.setScrollLeft(e.scrollLeft),_=!1)}))),this._originalScrollTop=iI(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=iI(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._register(YE((e=>{const t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)}))),this._register(YE((e=>{const t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)}))),this._register(YE((e=>{var t;const n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.movedTextToCompare.read(e);let i=0;if(n){const e=this._editors.original.getTopForLineNumber(n.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();i=this._editors.modified.getTopForLineNumber(n.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}i>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(i,void 0)):i<0?(this._modifiedTopPadding.set(-i,void 0),this._originalTopPadding.set(0,void 0)):setTimeout((()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)}),400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-i,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+i,void 0,!0)})))}};function QX(e,t,n,i,o,s){const r=new eh(JX(e,i)),l=new eh(JX(t,o)),a=e.getOption(67),d=t.getOption(67),u=[];let c=0,h=0;function g(e,t){for(;;){let n=r.peek(),i=l.peek();if(n&&n.lineNumber>=e&&(n=void 0),i&&i.lineNumber>=t&&(i=void 0),!n&&!i)break;const o=n?n.lineNumber-c:Number.MAX_VALUE,s=i?i.lineNumber-h:Number.MAX_VALUE;os?(l.dequeue(),n={lineNumber:i.lineNumber-h+c,heightInPx:0}):(r.dequeue(),l.dequeue()),u.push({originalRange:wh.ofLength(n.lineNumber,1),modifiedRange:wh.ofLength(i.lineNumber,1),originalHeightInPx:a+n.heightInPx,modifiedHeightInPx:d+i.heightInPx,diff:void 0})}}for(const p of n){const m=p.lineRangeMapping;g(m.original.startLineNumber,m.modified.startLineNumber);let f=!0,_=m.modified.startLineNumber,v=m.original.startLineNumber;function b(e,t){var n,i,o,s;if(et.lineNumbere+t.heightInPx),0))&&void 0!==i?i:0,m=null!==(s=null===(o=l.takeWhile((e=>e.lineNumbere+t.heightInPx),0))&&void 0!==s?s:0;u.push({originalRange:c,modifiedRange:h,originalHeightInPx:c.length*a+g,modifiedHeightInPx:h.length*d+m,diff:p.lineRangeMapping}),v=e,_=t}if(s)for(const w of m.innerChanges||[]){w.originalRange.startColumn>1&&w.modifiedRange.startColumn>1&&b(w.originalRange.startLineNumber,w.modifiedRange.startLineNumber);const C=e.getModel(),y=w.originalRange.endLineNumber<=C.getLineCount()?C.getLineMaxColumn(w.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;w.originalRange.endColumn1&&i.push({lineNumber:t,heightInPx:r*(e-1)})}for(const i of e.getWhitespaces()){if(t.has(i.id))continue;const e=0===i.afterLineNumber?0:s.convertViewPositionToModelPosition(new cd(i.afterLineNumber,1)).lineNumber;n.push({lineNumber:e,heightInPx:i.height})}return function(e,t,n,i){if(0===e.length)return t;if(0===t.length)return e;const o=[];let s=0,r=0;for(;sc?(o.push(d),r++):(o.push((a=d,{lineNumber:(l=i).lineNumber,heightInPx:l.heightInPx+a.heightInPx})),s++,r++)}for(var l,a;se.lineNumber))}XX=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([YX(8,fL),YX(9,HL)],XX);var eQ;let tQ=eQ=class extends lt{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,n,i){super(),this._editors=e,this._diffModel=t,this._options=n,this._instantiationService=i,this._modifiedOutlineSource=GE(this,(e=>{const t=this._editors.modifiedModel.read(e),n=eQ._breadcrumbsSourceFactory.read(e);return t&&n?n(t,this._instantiationService):void 0})),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition((e=>{if(1===e.reason)return;const t=this._diffModel.get();OE((e=>{for(const n of this._editors.original.getSelections()||[])null==t||t.ensureOriginalLineIsVisible(n.getStartPosition().lineNumber,0,e),null==t||t.ensureOriginalLineIsVisible(n.getEndPosition().lineNumber,0,e)}))}))),this._register(this._editors.modified.onDidChangeCursorPosition((e=>{if(1===e.reason)return;const t=this._diffModel.get();OE((e=>{for(const n of this._editors.modified.getSelections()||[])null==t||t.ensureModifiedLineIsVisible(n.getStartPosition().lineNumber,0,e),null==t||t.ensureModifiedLineIsVisible(n.getEndPosition().lineNumber,0,e)}))})));const o=this._diffModel.map(((e,t)=>{var n,i;const o=null!==(n=null==e?void 0:e.unchangedRegions.read(t))&&void 0!==n?n:[];return 1===o.length&&1===o[0].modifiedLineNumber&&o[0].lineCount===(null===(i=this._editors.modifiedModel.read(t))||void 0===i?void 0:i.getLineCount())?[]:o}));this.viewZones=$E(this,((e,t)=>{const n=this._modifiedOutlineSource.read(e);if(!n)return{origViewZones:[],modViewZones:[]};const i=[],s=[],r=this._options.renderSideBySide.read(e),l=o.read(e);for(const o of l)if(!o.shouldHideControls(e)){{const e=jE(this,(e=>o.getHiddenOriginalRange(e).startLineNumber-1)),s=new VY(e,24);i.push(s),t.add(new nQ(this._editors.original,s,o,o.originalUnchangedRange,!r,n,(e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0)),this._options))}{const e=jE(this,(e=>o.getHiddenModifiedRange(e).startLineNumber-1)),i=new VY(e,24);s.push(i),t.add(new nQ(this._editors.modified,i,o,o.modifiedUnchangedRange,!1,n,(e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0)),this._options))}}return{origViewZones:i,modViewZones:s}}));const s={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new ed(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(_(0,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+ka.asClassName(Sa.fold),zIndex:10001};this._register(PY(this._editors.original,jE(this,(e=>{const t=o.read(e),n=t.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:s})));for(const i of t)i.shouldHideControls(e)&&n.push({range:nc.fromPositions(new cd(i.originalLineNumber,1)),options:r});return n})))),this._register(PY(this._editors.modified,jE(this,(e=>{const t=o.read(e),n=t.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:s})));for(const i of t)i.shouldHideControls(e)&&n.push({range:wh.ofLength(i.modifiedLineNumber,1).toInclusiveRange(),options:r});return n})))),this._register(YE((e=>{const t=o.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map((t=>t.getHiddenOriginalRange(e).toInclusiveRange())).filter(pa)),this._editors.modified.setHiddenAreas(t.map((t=>t.getHiddenModifiedRange(e).toInclusiveRange())).filter(pa))}finally{this._isUpdatingHiddenAreas=!1}}))),this._register(this._editors.modified.onMouseUp((e=>{var t;if(!e.event.rightButton&&e.target.position&&(null===(t=e.target.element)||void 0===t?void 0:t.className.includes("fold-unchanged"))){const t=e.target.position.lineNumber,n=this._diffModel.get();if(!n)return;const i=n.unchangedRegions.get().find((e=>e.modifiedUnchangedRange.includes(t)));if(!i)return;i.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}}))),this._register(this._editors.original.onMouseUp((e=>{var t;if(!e.event.rightButton&&e.target.position&&(null===(t=e.target.element)||void 0===t?void 0:t.className.includes("fold-unchanged"))){const t=e.target.position.lineNumber,n=this._diffModel.get();if(!n)return;const i=n.unchangedRegions.get().find((e=>e.originalUnchangedRange.includes(t)));if(!i)return;i.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}})))}};tQ._breadcrumbsSourceFactory=VE("breadcrumbsSourceFactory",void 0),tQ=eQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,ad)],tQ);class nQ extends WY{constructor(e,t,n,i,o,s,r,l){const a=Dr("div.diff-hidden-lines-widget");super(e,t,a.root),this._editor=e,this._unchangedRegion=n,this._unchangedRegionRange=i,this._hide=o,this._modifiedOutlineSource=s,this._revealModifiedHiddenLine=r,this._options=l,this._nodes=Dr("div.diff-hidden-lines",[Dr("div.top@top",{title:_(0,"Click or drag to show more above")}),Dr("div.center@content",{style:{display:"flex"}},[Dr("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[mr("a",{title:_(0,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...bk("$(unfold)"))]),Dr("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),Dr("div.bottom@bottom",{title:_(0,"Click or drag to show more below"),role:"button"})]),a.root.appendChild(this._nodes.root);const d=iI(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));this._hide?cr(this._nodes.first):this._register(zY(this._nodes.first,{width:d.map((e=>e.contentLeft))})),this._register(YE((e=>{const t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!t),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle("canMoveBottom",!t);const n=this._unchangedRegion.isDragged.read(e),i=this._editor.getDomNode();i&&(i.classList.toggle("draggingUnchangedRegion",!!n),"top"===n?(i.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),i.classList.toggle("canMoveBottom",!t)):"bottom"===n?(i.classList.toggle("canMoveTop",!t),i.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(i.classList.toggle("canMoveTop",!1),i.classList.toggle("canMoveBottom",!1)))})));const u=this._editor;this._register(ms(this._nodes.top,"mousedown",(e=>{if(0!==e.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let n=!1;const i=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const o=is(this._nodes.top),s=ms(o,"mousemove",(e=>{const o=e.clientY-t;n=n||Math.abs(o)>2;const s=Math.round(o/u.getOption(67)),r=Math.max(0,Math.min(i+s,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(r,void 0)})),r=ms(o,"mouseup",(e=>{n||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),s.dispose(),r.dispose()}))}))),this._register(ms(this._nodes.bottom,"mousedown",(e=>{if(0!==e.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let n=!1;const i=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const o=is(this._nodes.bottom),s=ms(o,"mousemove",(e=>{const o=e.clientY-t;n=n||Math.abs(o)>2;const s=Math.round(o/u.getOption(67)),r=Math.max(0,Math.min(i-s,this._unchangedRegion.getMaxVisibleLineCountBottom())),l=this._unchangedRegionRange.endLineNumberExclusive>u.getModel().getLineCount()?u.getContentHeight():u.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(r,void 0);const a=this._unchangedRegionRange.endLineNumberExclusive>u.getModel().getLineCount()?u.getContentHeight():u.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);u.setScrollTop(u.getScrollTop()+(a-l))})),r=ms(o,"mouseup",(e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!n){const e=u.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const t=u.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);u.setScrollTop(u.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),s.dispose(),r.dispose()}))}))),this._register(YE((e=>{const t=[];if(!this._hide){const i=_(0,"{0} hidden lines",n.getHiddenModifiedRange(e).length),o=mr("span",{title:_(0,"Double click to unfold")},i);o.addEventListener("dblclick",(e=>{0===e.button&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))})),t.push(o);const s=this._unchangedRegion.getHiddenModifiedRange(e),r=this._modifiedOutlineSource.getBreadcrumbItems(s,e);if(r.length>0){t.push(mr("span",void 0,"  |  "));for(let e=0;e{this._revealModifiedHiddenLine(n.startLineNumber)}}}}cr(this._nodes.others,...t)})))}}var iQ;let oQ=iQ=class extends lt{constructor(e,t,n,i,o,s,r){super(),this._editors=e,this._rootElement=t,this._diffModel=n,this._rootWidth=i,this._rootHeight=o,this._modifiedEditorLayoutInfo=s,this._themeService=r,this.width=iQ.ENTIRE_DIFF_OVERVIEW_WIDTH;const l=iI(this._themeService.onDidColorThemeChange,(()=>this._themeService.getColorTheme())),a=jE((e=>{const t=l.read(e);return{insertColor:t.getColor(Ef)||(t.getColor(Df)||kf).transparent(2),removeColor:t.getColor(If)||(t.getColor(Nf)||Lf).transparent(2)}})),d=tL(document.createElement("div"));d.setClassName("diffViewport"),d.setPosition("absolute");const u=Dr("div.diffOverview",{style:{position:"absolute",top:"0px",width:iQ.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(OY(u,d.domNode)),this._register(_s(u,or.POINTER_DOWN,(e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)}))),this._register(ms(u,or.MOUSE_WHEEL,(e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:!1})),this._register(OY(this._rootElement,u)),this._register(JE(((e,t)=>{const n=this._diffModel.read(e),i=this._editors.original.createOverviewRuler("original diffOverviewRuler");i&&(t.add(i),t.add(OY(u,i.getDomNode())));const o=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(o&&(t.add(o),t.add(OY(u,o.getDomNode()))),!i||!o)return;const s=sI("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=sI("viewZoneChanged",this._editors.modified.onDidChangeViewZones),l=sI("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),c=sI("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);t.add(YE((e=>{var t;s.read(e),r.read(e),l.read(e),c.read(e);const d=a.read(e),u=null===(t=null==n?void 0:n.diff.read(e))||void 0===t?void 0:t.mappings;function h(e,t,n){const i=n._getViewModel();return i?e.filter((e=>e.length>0)).map((e=>{const n=i.coordinatesConverter.convertModelPositionToViewPosition(new cd(e.startLineNumber,1)),o=i.coordinatesConverter.convertModelPositionToViewPosition(new cd(e.endLineNumberExclusive,1)),s=o.lineNumber-n.lineNumber;return new qP(n.lineNumber,o.lineNumber,s,t.toString())})):[]}const g=h((u||[]).map((e=>e.lineRangeMapping.original)),d.removeColor,this._editors.original),p=h((u||[]).map((e=>e.lineRangeMapping.modified)),d.insertColor,this._editors.modified);null==i||i.setZones(g),null==o||o.setZones(p)}))),t.add(YE((e=>{const t=this._rootHeight.read(e),n=this._rootWidth.read(e),s=this._modifiedEditorLayoutInfo.read(e);if(s){const n=iQ.ENTIRE_DIFF_OVERVIEW_WIDTH-2*iQ.ONE_OVERVIEW_WIDTH;i.setLayout({top:0,height:t,right:n+iQ.ONE_OVERVIEW_WIDTH,width:iQ.ONE_OVERVIEW_WIDTH}),o.setLayout({top:0,height:t,right:0,width:iQ.ONE_OVERVIEW_WIDTH});const r=this._editors.modifiedScrollTop.read(e),l=this._editors.modifiedScrollHeight.read(e),a=this._editors.modified.getOption(103),u=new ZN(a.verticalHasArrows?a.arrowSize:0,a.verticalScrollbarSize,0,s.height,l,r);d.setTop(u.getSliderPosition()),d.setHeight(u.getSliderSize())}else d.setTop(0),d.setHeight(0);u.style.height=t+"px",u.style.left=n-iQ.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",d.setWidth(iQ.ENTIRE_DIFF_OVERVIEW_WIDTH)})))})))}};oQ.ONE_OVERVIEW_WIDTH=15,oQ.ENTIRE_DIFF_OVERVIEW_WIDTH=2*iQ.ONE_OVERVIEW_WIDTH,oQ=iQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(6,Tv)],oQ);const sQ=[];class rQ extends lt{constructor(e,t,n,i){super(),this._editors=e,this._diffModel=t,this._options=n,this._widget=i,this._selectedDiffs=jE(this,(e=>{const t=this._diffModel.read(e),n=null==t?void 0:t.diff.read(e);if(!n)return sQ;const i=this._editors.modifiedSelections.read(e);if(i.every((e=>e.isEmpty())))return sQ;const o=new Ch(i.map((e=>wh.fromRangeInclusive(e)))),s=n.mappings.filter((e=>e.lineRangeMapping.innerChanges&&o.intersects(e.lineRangeMapping.modified))).map((e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter((e=>i.some((t=>nc.areIntersecting(e.modifiedRange,t)))))})));return 0===s.length||s.every((e=>0===e.rangeMappings.length))?sQ:s})),this._register(JE(((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;const n=this._diffModel.read(e),i=null==n?void 0:n.diff.read(e);if(!n||!i)return;if(n.movedTextToCompare.read(e))return;const o=[],s=this._selectedDiffs.read(e),r=new Set(s.map((e=>e.mapping)));if(s.length>0){const n=this._editors.modifiedSelections.read(e),i=t.add(new lQ(n[n.length-1].positionLineNumber,this._widget,s.flatMap((e=>e.rangeMappings)),!0));this._editors.modified.addGlyphMarginWidget(i),o.push(i)}for(const e of i.mappings)if(!r.has(e)&&!e.lineRangeMapping.modified.isEmpty&&e.lineRangeMapping.innerChanges){const n=t.add(new lQ(e.lineRangeMapping.modified.startLineNumber,this._widget,e.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(n),o.push(n)}t.add(st((()=>{for(const e of o)this._editors.modified.removeGlyphMarginWidget(e)})))})))}}class lQ extends lt{getId(){return this._id}constructor(e,t,n,i){super(),this._lineNumber=e,this._widget=t,this._diffs=n,this._revertSelection=i,this._id="revertButton"+lQ.counter++,this._domNode=Dr("div.revertButton",{title:this._revertSelection?_(0,"Revert Selected Changes"):_(0,"Revert Change")},[wk(Sa.arrowRight)]).root,this._register(ms(this._domNode,or.MOUSE_DOWN,(e=>{2!==e.button&&(e.stopPropagation(),e.preventDefault())}))),this._register(ms(this._domNode,or.MOUSE_UP,(e=>{e.stopPropagation(),e.preventDefault()}))),this._register(ms(this._domNode,or.CLICK,(e=>{this._diffs instanceof FV?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()})))}getDomNode(){return this._domNode}getPosition(){return{lane:wc.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}lQ.counter=0;var aQ=function(e,t){return function(n,i){t(n,i,e)}};let dQ=class extends lt{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,n,i,o,s,r){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=n,this._argCodeEditorWidgetOptions=i,this._createInnerEditor=o,this._instantiationService=s,this._keybindingService=r,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new Ct),this.modifiedScrollTop=iI(this.modified.onDidScrollChange,(()=>this.modified.getScrollTop())),this.modifiedScrollHeight=iI(this.modified.onDidScrollChange,(()=>this.modified.getScrollHeight())),this.modifiedModel=iI(this.modified.onDidChangeModel,(()=>this.modified.getModel())),this.modifiedSelections=iI(this.modified.onDidChangeCursorSelection,(()=>{var e;return null!==(e=this.modified.getSelections())&&void 0!==e?e:[]})),this.modifiedCursor=qE({owner:this,equalityComparer:cd.equals},(e=>{var t,n;return null!==(n=null===(t=this.modifiedSelections.read(e)[0])||void 0===t?void 0:t.getPosition())&&void 0!==n?n:new cd(1,1)})),this.originalCursor=iI(this.original.onDidChangeCursorPosition,(()=>{var e;return null!==(e=this.original.getPosition())&&void 0!==e?e:new cd(1,1)})),this._argCodeEditorWidgetOptions=null,this._register(QE({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(n.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},((e,t)=>{n.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))})))}_createLeftHandSideEditor(e,t){const n=this._adjustOptionsForLeftHandSide(void 0,e),i=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,n,t);return i.setContextValue("isInDiffLeftEditor",!0),i}_createRightHandSideEditor(e,t){const n=this._adjustOptionsForRightHandSide(void 0,e),i=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,n,t);return i.setContextValue("isInDiffRightEditor",!0),i}_constructInnerEditor(e,t,n,i){const o=this._createInnerEditor(e,t,n,i);return this._register(o.onDidContentSizeChange((e=>{const t=this.original.getContentWidth()+this.modified.getContentWidth()+oQ.ENTIRE_DIFF_OVERVIEW_WIDTH,n=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:n,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})}))),o}_adjustOptionsForLeftHandSide(e,t){const n=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(n.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},n.wordWrapOverride1=this._options.diffWordWrap.get()):(n.wordWrapOverride1="off",n.wordWrapOverride2="off",n.stickyScroll={enabled:!1},n.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),n.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(n.ariaLabel=t.originalAriaLabel),n.ariaLabel=this._updateAriaLabel(n.ariaLabel),n.readOnly=!this._options.originalEditable.get(),n.dropIntoEditor={enabled:!n.readOnly},n.extraEditorClassName="original-in-monaco-diff-editor",n}_adjustOptionsForRightHandSide(e,t){const n=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(n.ariaLabel=t.modifiedAriaLabel),n.ariaLabel=this._updateAriaLabel(n.ariaLabel),n.wordWrapOverride1=this._options.diffWordWrap.get(),n.revealHorizontalRightPadding=$D.revealHorizontalRightPadding.defaultValue+oQ.ENTIRE_DIFF_OVERVIEW_WIDTH,n.scrollbar.verticalHasArrows=!1,n.extraEditorClassName="modified-in-monaco-diff-editor",n}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var t;e||(e="");const n=_(0," use {0} to open the accessibility help.",null===(t=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))||void 0===t?void 0:t.getAriaLabel());return this._options.accessibilityVerbose.get()?e+n:e?e.replaceAll(n,""):""}};dQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([aQ(5,ad),aQ(6,zL)],dQ);class uQ extends lt{constructor(){super(...arguments),this._id=++uQ.idCounter,this._onDidDispose=this._register(new Ct),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,n=0){this._targetEditor.revealLines(e,t,n)}revealLinesInCenter(e,t,n=0){this._targetEditor.revealLinesInCenter(e,t,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,n)}revealLinesNearTop(e,t,n=0){this._targetEditor.revealLinesNearTop(e,t,n)}revealRange(e,t=0,n=!1,i=!0){this._targetEditor.revealRange(e,t,n,i)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,n){this._targetEditor.trigger(e,t,n)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}uQ.idCounter=0;let cQ=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=VE(this,0),this._screenReaderMode=iI(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>this._accessibilityService.isScreenReaderOptimized())),this.couldShowInlineViewBecauseOfSize=jE(this,(e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint)),this.renderOverviewRuler=jE(this,(e=>this._options.read(e).renderOverviewRuler)),this.renderSideBySide=jE(this,(e=>this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e)))),this.readOnly=jE(this,(e=>this._options.read(e).readOnly)),this.shouldRenderOldRevertArrows=jE(this,(e=>!(!this._options.read(e).renderMarginRevertIcon||!this.renderSideBySide.read(e)||this.readOnly.read(e)||this.shouldRenderGutterMenu.read(e)))),this.shouldRenderGutterMenu=jE(this,(e=>this._options.read(e).renderGutterMenu)),this.renderIndicators=jE(this,(e=>this._options.read(e).renderIndicators)),this.enableSplitViewResizing=jE(this,(e=>this._options.read(e).enableSplitViewResizing)),this.splitViewDefaultRatio=jE(this,(e=>this._options.read(e).splitViewDefaultRatio)),this.ignoreTrimWhitespace=jE(this,(e=>this._options.read(e).ignoreTrimWhitespace)),this.maxComputationTimeMs=jE(this,(e=>this._options.read(e).maxComputationTime)),this.showMoves=jE(this,(e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e))),this.isInEmbeddedEditor=jE(this,(e=>this._options.read(e).isInEmbeddedEditor)),this.diffWordWrap=jE(this,(e=>this._options.read(e).diffWordWrap)),this.originalEditable=jE(this,(e=>this._options.read(e).originalEditable)),this.diffCodeLens=jE(this,(e=>this._options.read(e).diffCodeLens)),this.accessibilityVerbose=jE(this,(e=>this._options.read(e).accessibilityVerbose)),this.diffAlgorithm=jE(this,(e=>this._options.read(e).diffAlgorithm)),this.showEmptyDecorations=jE(this,(e=>this._options.read(e).experimental.showEmptyDecorations)),this.onlyShowAccessibleDiffViewer=jE(this,(e=>this._options.read(e).onlyShowAccessibleDiffViewer)),this.hideUnchangedRegions=jE(this,(e=>this._options.read(e).hideUnchangedRegions.enabled)),this.hideUnchangedRegionsRevealLineCount=jE(this,(e=>this._options.read(e).hideUnchangedRegions.revealLineCount)),this.hideUnchangedRegionsContextLineCount=jE(this,(e=>this._options.read(e).hideUnchangedRegions.contextLineCount)),this.hideUnchangedRegionsMinimumLineCount=jE(this,(e=>this._options.read(e).hideUnchangedRegions.minimumLineCount));const n={...e,...hQ(e,dD)};this._options=VE(this,n)}updateOptions(e){const t=hQ(e,this._options.get()),n={...this._options.get(),...e,...t};this._options.set(n,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}};function hQ(e,t){var n,i,o,s,r,l,a,d;return{enableSplitViewResizing:_D(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:CD(e.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:_D(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:_D(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:bD(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:bD(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:_D(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:_D(e.renderIndicators,t.renderIndicators),originalEditable:_D(e.originalEditable,t.originalEditable),diffCodeLens:_D(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:_D(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:xD(e.diffWordWrap,t.diffWordWrap,["off","on","inherit"]),diffAlgorithm:xD(e.diffAlgorithm,t.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:_D(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:_D(null===(n=e.experimental)||void 0===n?void 0:n.showMoves,t.experimental.showMoves),showEmptyDecorations:_D(null===(i=e.experimental)||void 0===i?void 0:i.showEmptyDecorations,t.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:_D(null!==(s=null===(o=e.hideUnchangedRegions)||void 0===o?void 0:o.enabled)&&void 0!==s?s:null===(r=e.experimental)||void 0===r?void 0:r.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:bD(null===(l=e.hideUnchangedRegions)||void 0===l?void 0:l.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:bD(null===(a=e.hideUnchangedRegions)||void 0===a?void 0:a.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:bD(null===(d=e.hideUnchangedRegions)||void 0===d?void 0:d.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:_D(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:_D(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:bD(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:_D(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:_D(e.renderGutterMenu,t.renderGutterMenu)}}cQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,qS)],cQ);class gQ extends lt{constructor(e,t,n){super(),this._editor=e,this._domNode=t,this.itemProvider=n,this.scrollTop=iI(this._editor.onDidScrollChange,(e=>this._editor.getScrollTop())),this.isScrollTopZero=this.scrollTop.map((e=>0===e)),this.modelAttached=iI(this._editor.onDidChangeModel,(e=>this._editor.hasModel())),this.editorOnDidChangeViewZones=sI("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=sI("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=lI("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const i=this._domNode.appendChild(Dr("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),o=new ResizeObserver((()=>{OE((e=>{this.domNodeSizeChanged.trigger(e)}))}));o.observe(this._domNode),this._register(st((()=>o.disconnect()))),this._register(YE((e=>{i.className=this.isScrollTopZero.read(e)?"":"scroll-decoration"}))),this._register(YE((e=>this.render(e))))}dispose(){super.dispose(),cr(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),n=this._editor.getVisibleRanges(),i=new Set(this.views.keys()),o=ch.ofStartAndLength(0,this._domNode.clientHeight);if(!o.isEmpty)for(const s of n){const n=new wh(s.startLineNumber,s.endLineNumber+1),r=this.itemProvider.getIntersectingGutterItems(n,e);OE((e=>{for(const s of r){if(!s.range.intersect(n))continue;i.delete(s.id);let r=this.views.get(s.id);if(r)r.item.set(s,e);else{const e=document.createElement("div");this._domNode.appendChild(e);const t=VE("item",s),n=this.itemProvider.createView(t,e);r=new pQ(t,n,e),this.views.set(s.id,r)}const l=s.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(s.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(s.range.startLineNumber-1,!1)-t,a=(s.range.isEmpty?l:this._editor.getBottomForLineNumber(s.range.endLineNumberExclusive-1,!0)-t)-l;r.domNode.style.top=`${l}px`,r.domNode.style.height=`${a}px`,r.gutterItemView.layout(ch.ofStartAndLength(l,a),o)}}))}for(const e of i){const t=this.views.get(e);t.gutterItemView.dispose(),this._domNode.removeChild(t.domNode),this.views.delete(e)}}}class pQ{constructor(e,t,n){this.item=e,this.gutterItemView=t,this.domNode=n}}class mQ extends md{constructor(e){super(),this._getContext=e}runAction(e,t){const n=this._getContext();return super.runAction(e,n)}}class fQ{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;tmu(e,((e,t)=>e.range.getEndPosition().isBeforeOrEqual(t.range.getStartPosition())))))}apply(e){let t="",n=new cd(1,1);for(const i of this.edits){const o=i.range,s=o.getStartPosition(),r=o.getEndPosition(),l=bQ(n,s);l.isEmpty()||(t+=e.getValueOfRange(l)),t+=i.text,n=r}const i=bQ(n,e.endPositionExclusive);return i.isEmpty()||(t+=e.getValueOfRange(i)),t}applyToString(e){const t=new CQ(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,n=0,i=0;for(const o of this.edits){const s=gp.ofText(o.text),r=cd.lift({lineNumber:o.range.startLineNumber+n,column:o.range.startColumn+(o.range.startLineNumber===t?i:0)}),l=s.createRange(r);e.push(l),n=l.endLineNumber-o.range.endLineNumber,i=l.endColumn-o.range.endColumn,t=o.range.endLineNumber}return e}}class vQ{constructor(e,t){this.range=e,this.text=t}}function bQ(e,t){if(!e.isBeforeOrEqual(t))throw new Re("start must be before end");return new nc(e.lineNumber,e.column,t.lineNumber,t.column)}class wQ{get endPositionExclusive(){return this.length.addToPosition(new cd(1,1))}}class CQ extends wQ{constructor(e){super(),this.value=e,this._t=new fQ(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}class yQ extends wQ{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new gp(e-1,t)}}var SQ=function(e,t){return function(n,i){t(n,i,e)}};const xQ=dd("hoverService");let kQ=class extends lt{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,n={},i,o){super(),this.placement=e,this.instantHover=t,this.overrideOptions=n,this.configurationService=i,this.hoverService=o,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new rt),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))})))}showHover(e,t){const n="function"==typeof this.overrideOptions?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const i=e.target instanceof HTMLElement?[e.target]:e.target.targetElements;for(const e of i)this.hoverDisposables.add(_s(e,"keydown",(e=>{e.equals(9)&&this.hoverService.hideHover()})));const o=e.content instanceof HTMLElement?void 0:e.content.toString();return this.hoverService.showHover({...e,...n,persistence:{hideOnKeyDown:!0,...n.persistence},id:o,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...n.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([SQ(3,pg),SQ(4,xQ)],kQ);var LQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},DQ=function(e,t){return function(n,i){t(n,i,e)}};const NQ=[];let EQ=class extends lt{constructor(e,t,n,i,o,s){var r,l;super(),this._diffModel=t,this._editors=n,this._instantiationService=i,this._contextKeyService=o,this._menuService=s,this._menu=this._register(this._menuService.createMenu(Su.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=iI(this._menu.onDidChange,(()=>this._menu.getActions())),this._hasActions=this._actions.map((e=>e.length>0)),this.width=jE(this,(e=>this._hasActions.read(e)?35:0)),this.elements=Dr("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:"35px"}},[]),this._currentDiff=jE(this,(e=>{var t;const n=this._diffModel.read(e);if(!n)return;const i=null===(t=n.diff.read(e))||void 0===t?void 0:t.mappings,o=this._editors.modifiedCursor.read(e);return o?null==i?void 0:i.find((e=>e.lineRangeMapping.modified.contains(o.lineNumber))):void 0})),this._selectedDiffs=jE(this,(e=>{const t=this._diffModel.read(e),n=null==t?void 0:t.diff.read(e);if(!n)return NQ;const i=this._editors.modifiedSelections.read(e);if(i.every((e=>e.isEmpty())))return NQ;const o=new Ch(i.map((e=>wh.fromRangeInclusive(e)))),s=n.mappings.filter((e=>e.lineRangeMapping.innerChanges&&o.intersects(e.lineRangeMapping.modified))).map((e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter((e=>i.some((t=>nc.areIntersecting(e.modifiedRange,t)))))})));return 0===s.length||s.every((e=>0===e.rangeMappings.length))?NQ:s})),this._register((r=e,l=this.elements.root,r.prepend(l),st((()=>{r.removeChild(l)})))),this._register(ms(this.elements.root,"click",(()=>{this._editors.modified.focus()}))),this._register(zY(this.elements.root,{display:this._hasActions.map((e=>e?"block":"none"))})),this._register(new gQ(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{const n=this._diffModel.read(t);if(!n)return[];const i=n.diff.read(t);if(!i)return[];const o=this._selectedDiffs.read(t);if(o.length>0){const e=BV.fromRangeMappings(o.flatMap((e=>e.rangeMappings)));return[new IQ(e,!0,Su.DiffEditorSelectionToolbar,void 0,n.model.original.uri,n.model.modified.uri)]}const s=this._currentDiff.read(t);return i.mappings.map((e=>new IQ(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===(null==s?void 0:s.lineRangeMapping),Su.DiffEditorHunkToolbar,void 0,n.model.original.uri,n.model.modified.uri)))},createView:(e,t)=>this._instantiationService.createInstance(MQ,e,t,this)})),this._register(ms(this.elements.gutter,or.MOUSE_WHEEL,(e=>{this._editors.modified.getOption(103).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:!1}))}computeStagedValue(e){var t;const n=null!==(t=e.innerChanges)&&void 0!==t?t:[];return new _Q(n.map((e=>new vQ(e.originalRange,this._editors.modifiedModel.get().getValueInRange(e.modifiedRange))))).apply(new yQ(this._editors.original.getModel()))}layout(e){this.elements.gutter.style.left=e+"px"}};EQ=LQ([DQ(3,ad),DQ(4,su),DQ(5,xu)],EQ);class IQ{constructor(e,t,n,i,o,s){this.mapping=e,this.showAlways=t,this.menuId=n,this.rangeOverride=i,this.originalUri=o,this.modifiedUri=s}get id(){return this.mapping.modified.toString()}get range(){var e;return null!==(e=this.rangeOverride)&&void 0!==e?e:this.mapping.modified}}let MQ=class extends lt{constructor(e,t,n,i){super(),this._item=e,this._elements=Dr("div.gutterItem",{style:{height:"20px",width:"34px"}},[Dr("div.background@background",{},[]),Dr("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,(e=>e.showAlways)),this._menuId=this._item.map(this,(e=>e.menuId)),this._isSmall=VE(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const o=this._register(i.createInstance(kQ,"element",!0,{position:{hoverPosition:1}}));this._register(OY(t,this._elements.root)),this._register(YE((e=>{const t=this._showAlways.read(e);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",t),setTimeout((()=>{this._elements.root.classList.toggle("noTransition",!1)}),0)}))),this._register(JE(((e,t)=>{this._elements.buttons.replaceChildren();const s=t.add(i.createInstance(ZZ,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:o,toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new mQ((()=>{const e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:n.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}})),menuOptions:{shouldForwardArgs:!0}}));t.add(s.onDidChangeMenuItems((()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)})))})))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let n=this._elements.buttons.clientHeight;this._isSmall.set(1===this._item.get().mapping.original.startLineNumber&&e.length<30,void 0),n=this._elements.buttons.clientHeight,this._elements.root.style.top=e.start+"px",this._elements.root.style.height=e.length+"px";const i=e.length/2-n/2,o=n;let s=e.start+i;const r=ch.tryCreate(o,t.endExclusive-o-n),l=ch.tryCreate(e.start+o,e.endExclusive-n-o);l&&r&&l.start!!this._options.onlyShowAccessibleDiffViewer.read(e)||this._accessibleDiffViewerShouldBeVisible.read(e))),this._movedBlocksLinesPart=VE(this,void 0),this._layoutInfo=jE(this,(e=>{var t,n,i,o,s;const r=this._rootSizeObserver.width.read(e),l=this._rootSizeObserver.height.read(e),a=this._sash.read(e),d=this._gutter.read(e),u=null!==(t=null==d?void 0:d.width.read(e))&&void 0!==t?t:0,c=null!==(i=null===(n=this._overviewRulerPart.read(e))||void 0===n?void 0:n.width)&&void 0!==i?i:0;let h,g,p,m,f;if(a){const t=a.sashLeft.read(e);h=0,g=t-u-(null!==(s=null===(o=this._movedBlocksLinesPart.read(e))||void 0===o?void 0:o.width.read(e))&&void 0!==s?s:0),f=t-u,p=t,m=r-p-c}else f=0,h=u,g=Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft),p=u+g,m=r-p-c;return this.elements.original.style.left=h+"px",this.elements.original.style.width=g+"px",this._editors.original.layout({width:g,height:l},!0),null==d||d.layout(f),this.elements.modified.style.left=p+"px",this.elements.modified.style.width=m+"px",this._editors.modified.layout({width:m,height:l},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}})),this._diffValue=this._diffModel.map(((e,t)=>null==e?void 0:e.diff.read(t))),this.onDidUpdateDiff=ft.fromObservableLight(this._diffValue),s.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(st((()=>this._domElement.removeChild(this.elements.root)))),this._rootSizeObserver=this._register(new FY(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(null!==(a=t.automaticLayout)&&void 0!==a&&a),this._options=this._instantiationService.createInstance(cQ,t),this._register(YE((e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))}))),this._contextKeyService.createKey(oc.isEmbeddedDiffEditor.key,!1),this._register($Y(oc.isEmbeddedDiffEditor,this._contextKeyService,(e=>this._options.isInEmbeddedEditor.read(e)))),this._register($Y(oc.comparingMovedCode,this._contextKeyService,(e=>{var t;return!!(null===(t=this._diffModel.read(e))||void 0===t?void 0:t.movedTextToCompare.read(e))}))),this._register($Y(oc.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,(e=>this._options.couldShowInlineViewBecauseOfSize.read(e)))),this._register($Y(oc.diffEditorInlineMode,this._contextKeyService,(e=>!this._options.renderSideBySide.read(e)))),this._register($Y(oc.hasChanges,this._contextKeyService,(e=>{var t,n,i;return(null!==(i=null===(n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.diff.read(e))||void 0===n?void 0:n.mappings.length)&&void 0!==i?i:0)>0}))),this._editors=this._register(this._instantiationService.createInstance(dQ,this.elements.original,this.elements.modified,this._options,n,((e,t,n,i)=>this._createInnerEditor(e,t,n,i)))),this._register($Y(oc.diffEditorOriginalWritable,this._contextKeyService,(e=>this._options.originalEditable.read(e)))),this._register($Y(oc.diffEditorModifiedWritable,this._contextKeyService,(e=>!this._options.readOnly.read(e)))),this._register($Y(oc.diffEditorOriginalUri,this._contextKeyService,(e=>{var t,n;return null!==(n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.model.original.uri.toString())&&void 0!==n?n:""}))),this._register($Y(oc.diffEditorModifiedUri,this._contextKeyService,(e=>{var t,n;return null!==(n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.model.modified.uri.toString())&&void 0!==n?n:""}))),this._overviewRulerPart=GE(this,(e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance(UY(oQ,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((e=>e.modifiedEditor))):void 0)).recomputeInitiallyAndOnChange(this._store),this._sash=GE(this,(e=>{const t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle("side-by-side",t),t?new TX(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(((e,t)=>{var n,i;return e-(null!==(i=null===(n=this._overviewRulerPart.read(t))||void 0===n?void 0:n.width)&&void 0!==i?i:0)}))},this._boundarySashes):void 0})).recomputeInitiallyAndOnChange(this._store);const d=GE(this,(e=>this._instantiationService.createInstance(UY(tQ,e),this._editors,this._diffModel,this._options))).recomputeInitiallyAndOnChange(this._store);GE(this,(e=>this._instantiationService.createInstance(UY(MX,e),this._editors,this._diffModel,this._options,this))).recomputeInitiallyAndOnChange(this._store);const u=new Set,c=new Set;let h=!1;const g=GE(this,(e=>this._instantiationService.createInstance(UY(XX,e),is(this._domElement),this._editors,this._diffModel,this._options,this,(()=>h||d.get().isUpdatingHiddenAreas),u,c))).recomputeInitiallyAndOnChange(this._store),p=jE(this,(e=>{const t=g.read(e).viewZones.read(e).orig,n=d.read(e).viewZones.read(e).origViewZones;return t.concat(n)})),m=jE(this,(e=>{const t=g.read(e).viewZones.read(e).mod,n=d.read(e).viewZones.read(e).modViewZones;return t.concat(n)}));let f;this._register(KY(this._editors.original,p,(e=>{h=e}),u)),this._register(KY(this._editors.modified,m,(e=>{h=e,h?f=OB.capture(this._editors.modified):(null==f||f.restore(this._editors.modified),f=void 0)}),c)),this._accessibleDiffViewer=GE(this,(e=>this._instantiationService.createInstance(UY(sX,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,((e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t)),this._options.onlyShowAccessibleDiffViewer.map((e=>!e)),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(((e,t)=>{var n;return null===(n=null==e?void 0:e.diff.read(t))||void 0===n?void 0:n.mappings.map((e=>e.lineRangeMapping))})),new mX(this._editors)))).recomputeInitiallyAndOnChange(this._store);const _=this._accessibleDiffViewerVisible.map((e=>e?"hidden":"visible"));this._register(zY(this.elements.modified,{visibility:_})),this._register(zY(this.elements.original,{visibility:_})),this._createDiffEditorContributions(),s.addDiffEditor(this),this._gutter=GE(this,(e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance(UY(EQ,e),this.elements.root,this._diffModel,this._editors):void 0)),this._register(dI(this._layoutInfo)),GE(this,(e=>new(UY(fX,e))(this.elements.root,this._diffModel,this._layoutInfo.map((e=>e.originalEditor)),this._layoutInfo.map((e=>e.modifiedEditor)),this._editors))).recomputeInitiallyAndOnChange(this._store,(e=>{this._movedBlocksLinesPart.set(e,void 0)})),this._register(zY(this.elements.overlay,{width:this._layoutInfo.map(((e,t)=>e.originalEditor.width+(this._options.renderSideBySide.read(t)?0:e.modifiedEditor.width))),visibility:jE((e=>{var t,n;return this._options.hideUnchangedRegions.read(e)&&0===(null===(n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.diff.read(e))||void 0===n?void 0:n.mappings.length)?"visible":"hidden"}))})),this._register(ft.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(e=>this._handleCursorPositionChange(e,!0)))),this._register(ft.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,(e=>this._handleCursorPositionChange(e,!1))));const v=this._diffModel.map(this,((e,t)=>{if(e)return void 0===e.diff.read(t)&&!e.isDiffUpToDate.read(t)}));this._register(JE(((e,t)=>{if(!0===v.read(e)){const e=this._editorProgressService.show(!0,1e3);t.add(st((()=>e.done())))}}))),this._register(st((()=>{var e;this._shouldDisposeDiffModel&&(null===(e=this._diffModel.get())||void 0===e||e.dispose())}))),this._register(JE(((e,t)=>{t.add(new(UY(rQ,e))(this._editors,this._diffModel,this._options,this))})))}_createInnerEditor(e,t,n,i){return e.createInstance(yB,t,n,i)}_createDiffEditorContributions(){const e=Yu.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(e){xe(e)}}get _targetEditor(){return this._editors.modified}getEditorType(){return WO.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var e;return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:null===(e=this._diffModel.get())||void 0===e?void 0:e.serializeState()}}restoreViewState(e){var t;if(e&&e.original&&e.modified){const n=e;this._editors.original.restoreViewState(n.original),this._editors.modified.restoreViewState(n.modified),n.modelState&&(null===(t=this._diffModel.get())||void 0===t||t.restoreSerializedState(n.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(VX,e,this._options)}getModel(){var e,t;return null!==(t=null===(e=this._diffModel.get())||void 0===e?void 0:e.model)&&void 0!==t?t:null}setModel(e,t){!e&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();const n=e?"model"in e?{model:e,shouldDispose:!1}:{model:this.createViewModel(e),shouldDispose:!0}:void 0;this._diffModel.get()!==(null==n?void 0:n.model)&&BE(t,(e=>{var t;iI.batchEventsGlobally(e,(()=>{this._editors.original.setModel(n?n.model.model.original:null),this._editors.modified.setModel(n?n.model.model.modified:null)}));const i=this._diffModel.get(),o=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=null!==(t=null==n?void 0:n.shouldDispose)&&void 0!==t&&t,this._diffModel.set(null==n?void 0:n.model,e),o&&(null==i||i.dispose())}))}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var e;const t=null===(e=this._diffModel.get())||void 0===e?void 0:e.diff.get();return t?t.mappings.map((e=>{const t=e.lineRangeMapping;let n,i,o,s,r=t.innerChanges;return t.original.isEmpty?(n=t.original.startLineNumber-1,i=0,r=void 0):(n=t.original.startLineNumber,i=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(o=t.modified.startLineNumber-1,s=0,r=void 0):(o=t.modified.startLineNumber,s=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:n,originalEndLineNumber:i,modifiedStartLineNumber:o,modifiedEndLineNumber:s,charChanges:null==r?void 0:r.map((e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn})))}})):null}revert(e){const t=this._diffModel.get();t&&t.isDiffUpToDate.get()&&this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const n=e.map((e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)})));this._editors.modified.executeEdits("diffEditor",n)}_goTo(e){this._editors.modified.setPosition(new cd(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var t,n,i,o;const s=null===(n=null===(t=this._diffModel.get())||void 0===t?void 0:t.diff.get())||void 0===n?void 0:n.mappings;if(!s||0===s.length)return;const r=this._editors.modified.getPosition().lineNumber;let l;l="next"===e?null!==(i=s.find((e=>e.lineRangeMapping.modified.startLineNumber>r)))&&void 0!==i?i:s[0]:null!==(o=gh(s,(e=>e.lineRangeMapping.modified.startLineNumber{var t;const n=null===(t=e.diff.get())||void 0===t?void 0:t.mappings;n&&0!==n.length&&this._goTo(n[0])}))}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){var e,t;const n=this._editors.modified.hasWidgetFocus(),i=n?this._editors.modified:this._editors.original,o=n?this._editors.original:this._editors.modified;let s;const r=i.getSelection();if(r){const i=null===(t=null===(e=this._diffModel.get())||void 0===e?void 0:e.diff.get())||void 0===t?void 0:t.mappings.map((e=>n?e.lineRangeMapping.flip():e.lineRangeMapping));if(i){const e=qY(r.getStartPosition(),i),t=qY(r.getEndPosition(),i);s=nc.plusRange(e,t)}}return{destination:o,destinationSelection:s}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var e;const t=null===(e=this._diffModel.get())||void 0===e?void 0:e.unchangedRegions.get();t&&OE((e=>{for(const n of t)n.collapseAll(e)}))}showAllUnchangedRegions(){var e;const t=null===(e=this._diffModel.get())||void 0===e?void 0:e.unchangedRegions.get();t&&OE((e=>{for(const n of t)n.showAll(e)}))}_handleCursorPositionChange(e,t){var n,i;if(3===(null==e?void 0:e.reason)){const o=null===(i=null===(n=this._diffModel.get())||void 0===n?void 0:n.diff.get())||void 0===i?void 0:i.mappings.find((n=>t?n.lineRangeMapping.modified.contains(e.position.lineNumber):n.lineRangeMapping.original.contains(e.position.lineNumber)));(null==o?void 0:o.lineRangeMapping.modified.isEmpty)?this._accessibilitySignalService.playSignal(XY.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):(null==o?void 0:o.lineRangeMapping.original.isEmpty)?this._accessibilitySignalService.playSignal(XY.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):o&&this._accessibilitySignalService.playSignal(XY.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};AQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([TQ(3,su),TQ(4,ad),TQ(5,ud),TQ(6,GY),TQ(7,bL)],AQ);class RQ extends Eu{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:v(0,"Toggle Show Moved Code Blocks"),precondition:Bd.has("isInDiffEditor")})}run(e,...t){const n=e.get(pg),i=!n.getValue("diffEditor.experimental.showMoves");n.updateValue("diffEditor.experimental.showMoves",i)}}class PQ extends Eu{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:v(0,"Toggle Use Inline View When Space Is Limited"),precondition:Bd.has("isInDiffEditor")})}run(e,...t){const n=e.get(pg),i=!n.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");n.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",i)}}const OQ=v(0,"Diff Editor");class FQ extends Eu{constructor(){super({id:"diffEditor.revert",title:v(0,"Revert"),f1:!1,category:OQ})}run(e,t){var n;const i=function(e,t,n){return e.get(ud).listDiffEditors().find((e=>{var i,o;const s=e.getModifiedEditor(),r=e.getOriginalEditor();return s&&(null===(i=s.getModel())||void 0===i?void 0:i.uri.toString())===n.toString()&&r&&(null===(o=r.getModel())||void 0===o?void 0:o.uri.toString())===t.toString()}))||null}(e,t.originalUri,t.modifiedUri);i instanceof AQ&&i.revertRangeMappings(null!==(n=t.mapping.innerChanges)&&void 0!==n?n:[])}}const BQ=v(0,"Accessible Diff Viewer");class WQ extends Eu{constructor(){super({id:WQ.id,title:v(0,"Go to Next Difference"),category:BQ,precondition:Bd.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=HQ(e);null==t||t.accessibleDiffViewerNext()}}WQ.id="editor.action.accessibleDiffViewer.next";class VQ extends Eu{constructor(){super({id:VQ.id,title:v(0,"Go to Previous Difference"),category:BQ,precondition:Bd.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=HQ(e);null==t||t.accessibleDiffViewerPrev()}}function HQ(e){const t=e.get(ud).listDiffEditors(),n=Vs();if(n)for(const e of t)if(zQ(e.getContainerDomNode(),n))return e;return null}function zQ(e,t){let n=t;for(;n;){if(n===e)return!0;n=n.parentElement}return!1}VQ.id="editor.action.accessibleDiffViewer.prev",Iu(class extends Eu{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:v(0,"Toggle Collapse Unchanged Regions"),icon:Sa.map,toggled:Bd.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Bd.has("isInDiffEditor"),menu:{when:Bd.has("isInDiffEditor"),id:Su.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const n=e.get(pg),i=!n.getValue("diffEditor.hideUnchangedRegions.enabled");n.updateValue("diffEditor.hideUnchangedRegions.enabled",i)}}),Iu(RQ),Iu(PQ),Lu.appendMenuItem(Su.EditorTitle,{command:{id:(new PQ).desc.id,title:_(0,"Use Inline View When Space Is Limited"),toggled:Bd.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Bd.has("isInDiffEditor")},order:11,group:"1_diff",when:Bd.and(oc.diffEditorRenderSideBySideInlineBreakpointReached,Bd.has("isInDiffEditor"))}),Lu.appendMenuItem(Su.EditorTitle,{command:{id:(new RQ).desc.id,title:_(0,"Show Moved Code Blocks"),icon:Sa.move,toggled:Ud.create("config.diffEditor.experimental.showMoves",!0),precondition:Bd.has("isInDiffEditor")},order:10,group:"1_diff",when:Bd.has("isInDiffEditor")}),Iu(FQ);for(const e of[{icon:Sa.arrowRight,key:oc.diffEditorInlineMode.toNegated()},{icon:Sa.discard,key:oc.diffEditorInlineMode}])Lu.appendMenuItem(Su.DiffEditorHunkToolbar,{command:{id:(new FQ).desc.id,title:_(0,"Revert Block"),icon:e.icon},when:Bd.and(oc.diffEditorModifiedWritable,e.key),order:5,group:"primary"}),Lu.appendMenuItem(Su.DiffEditorSelectionToolbar,{command:{id:(new FQ).desc.id,title:_(0,"Revert Selection"),icon:e.icon},when:Bd.and(oc.diffEditorModifiedWritable,e.key),order:5,group:"primary"});Iu(class extends Ku{constructor(){super({id:"diffEditor.switchSide",title:v(0,"Switch Side"),icon:Sa.arrowSwap,precondition:Bd.has("isInDiffEditor"),f1:!0,category:OQ})}runEditorCommand(e,t,n){const i=HQ(e);if(i instanceof AQ){if(n&&n.dryRun)return{destinationSelection:i.mapToOtherSide().destinationSelection};i.switchSide()}}}),Iu(class extends Ku{constructor(){super({id:"diffEditor.exitCompareMove",title:v(0,"Exit Compare Move"),icon:Sa.close,precondition:oc.comparingMovedCode,f1:!1,category:OQ,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...n){const i=HQ(e);i instanceof AQ&&i.exitCompareMove()}}),Iu(class extends Ku{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:v(0,"Collapse All Unchanged Regions"),icon:Sa.fold,precondition:Bd.has("isInDiffEditor"),f1:!0,category:OQ})}runEditorCommand(e,t,...n){const i=HQ(e);i instanceof AQ&&i.collapseAllUnchangedRegions()}}),Iu(class extends Ku{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:v(0,"Show All Unchanged Regions"),icon:Sa.unfold,precondition:Bd.has("isInDiffEditor"),f1:!0,category:OQ})}runEditorCommand(e,t,...n){const i=HQ(e);i instanceof AQ&&i.showAllUnchangedRegions()}}),Lu.appendMenuItem(Su.EditorTitle,{command:{id:WQ.id,title:_(0,"Open Accessible Diff Viewer"),precondition:Bd.has("isInDiffEditor")},order:10,group:"2_diff",when:Bd.and(oc.accessibleDiffViewerVisible.negate(),Bd.has("isInDiffEditor"))}),Cd.registerCommandAlias("editor.action.diffReview.next",WQ.id),Iu(WQ),Cd.registerCommandAlias("editor.action.diffReview.prev",VQ.id),Iu(VQ);var UQ=function(e,t){return function(n,i){t(n,i,e)}};class KQ{remove(){var e;null===(e=this.parent)||void 0===e||e.children.delete(this.id)}static findId(e,t){let n;"string"==typeof e?n=`${t.id}/${e}`:(n=`${t.id}/${e.name}`,void 0!==t.children.get(n)&&(n=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let i=n;for(let e=0;void 0!==t.children.get(i);e++)i=`${n}_${e}`;return i}static empty(e){return 0===e.children.size}}class jQ extends KQ{constructor(e,t,n){super(),this.id=e,this.parent=t,this.symbol=n,this.children=new Map}}class qQ extends KQ{constructor(e,t,n,i){super(),this.id=e,this.parent=t,this.label=n,this.order=i,this.children=new Map}}class $Q extends KQ{static create(e,t,n){const i=new Tt(n),o=new $Q(t.uri),s=e.ordered(t),r=s.map(((e,n)=>{var s;const r=KQ.findId(`provider_${n}`,o),l=new qQ(r,o,null!==(s=e.displayName)&&void 0!==s?s:"Unknown Outline Provider",n);return Promise.resolve(e.provideDocumentSymbols(t,i.token)).then((e=>{for(const t of e||[])$Q._makeOutlineElement(t,l);return l}),(e=>(ke(e),l))).then((e=>{KQ.empty(e)?e.remove():o._groups.set(r,e)}))})),l=e.onDidChange((()=>{Ic(e.ordered(t),s)||i.cancel()}));return Promise.all(r).then((()=>i.token.isCancellationRequested&&!n.isCancellationRequested?$Q.create(e,t,n):o._compact())).finally((()=>{i.dispose(),l.dispose(),i.dispose()}))}static _makeOutlineElement(e,t){const n=KQ.findId(e,t),i=new jQ(n,t,e);if(e.children)for(const t of e.children)$Q._makeOutlineElement(t,i);t.children.set(i.id,i)}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,n]of this._groups)0===n.children.size?this._groups.delete(t):e+=1;if(1!==e)this.children=this._groups;else{const e=Ye.first(this._groups.values());for(const[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof jQ?e.push(t.symbol):e.push(...Ye.map(t.children.values(),(e=>e.symbol)));return e.sort(((e,t)=>nc.compareRangesUsingStarts(e.range,t.range)))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return $Q._flattenDocumentSymbols(t,e,""),t.sort(((e,t)=>cd.compare(nc.getStartPosition(e.range),nc.getStartPosition(t.range))||cd.compare(nc.getEndPosition(t.range),nc.getEndPosition(e.range))))}static _flattenDocumentSymbols(e,t,n){for(const i of t)e.push({kind:i.kind,tags:i.tags,name:i.name,detail:i.detail,containerName:i.containerName||n,range:i.range,selectionRange:i.selectionRange,children:void 0}),i.children&&$Q._flattenDocumentSymbols(e,i.children,i.name)}}const GQ=dd("IOutlineModelService");let ZQ=class{constructor(e,t,n){this._languageFeaturesService=e,this._disposables=new rt,this._cache=new il(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(n.onModelRemoved((e=>{this._cache.delete(e.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const n=this._languageFeaturesService.documentSymbolProvider,i=n.ordered(e);let o=this._cache.get(e.id);if(!o||o.versionId!==e.getVersionId()||!Ic(o.provider,i)){const t=new Tt;o={versionId:e.getVersionId(),provider:i,promiseCnt:0,source:t,promise:$Q.create(n,e,t.token),model:void 0},this._cache.set(e.id,o);const s=Date.now();o.promise.then((t=>{o.model=t,this._debounceInformation.update(e,Date.now()-s)})).catch((t=>{this._cache.delete(e.id)}))}if(o.model)return o.model;o.promiseCnt+=1;const s=t.onCancellationRequested((()=>{0==--o.promiseCnt&&(o.source.cancel(),this._cache.delete(e.id))}));try{return await o.promise}finally{s.dispose()}}};ZQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([UQ(0,wx),UQ(1,sW),UQ(2,hd)],ZQ),yg(GQ,ZQ,1);var YQ=function(e,t){return function(n,i){t(n,i,e)}};let XQ=class extends lt{constructor(e,t,n){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=n,this._currentModel=VE(this,void 0);const i=sI("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),o=sI("_textModel.onDidChangeContent",ft.debounce((e=>this._textModel.onDidChangeContent(e)),(()=>{}),100));this._register(JE((async(e,t)=>{i.read(e),o.read(e);const n=t.add(new jY),s=await this._outlineModelService.getOrCreate(this._textModel,n.token);t.isDisposed||this._currentModel.set(s,void 0)})))}getBreadcrumbItems(e,t){const n=this._currentModel.read(t);if(!n)return[];const i=n.asListOfDocumentSymbols().filter((t=>e.contains(t.range.startLineNumber)&&!e.contains(t.range.endLineNumber)));return i.sort(Jc(Yc((e=>e.range.endLineNumber-e.range.startLineNumber),Xc))),i.map((e=>({name:e.name,kind:e.kind,startLineNumber:e.range.startLineNumber})))}};XQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([YQ(1,wx),YQ(2,GQ)],XQ),tQ.setBreadcrumbsSourceFactory(((e,t)=>t.createInstance(XQ,e)));var QQ,JQ=n(8357),eJ={};eJ.styleTagTransform=Vr(),eJ.setAttributes=Or(),eJ.insert=Rr().bind(null,"head"),eJ.domAPI=Tr(),eJ.insertStyleElement=Br(),Ir()(JQ.A,eJ),JQ.A&&JQ.A.locals&&JQ.A.locals;class tJ{constructor(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n,this.targetSelection=null}getEditOperations(e,t){const n=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new nc(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),n),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new ic(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):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new ic(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):this.targetPosition.lineNumberthis._onEditorMouseDown(e)))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(e)))),this._register(this._editor.onMouseDrag((e=>this._onEditorMouseDrag(e)))),this._register(this._editor.onMouseDrop((e=>this._onEditorMouseDrop(e)))),this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled()))),this._register(this._editor.onKeyDown((e=>this.onEditorKeyDown(e)))),this._register(this._editor.onKeyUp((e=>this.onEditorKeyUp(e)))),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)&&(nJ(e)&&(this._modifierPressed=!0),this._mouseDown&&nJ(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){this._editor.getOption(35)&&!this._editor.getOption(22)&&(nJ(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===iJ.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(null===this._dragSelection){const e=(this._editor.getSelections()||[]).filter((e=>t.position&&e.containsPosition(t.position)));if(1!==e.length)return;this._dragSelection=e[0]}nJ(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 cd(e.target.position.lineNumber,e.target.position.column);if(null===this._dragSelection){let n=null;if(e.event.shiftKey){const e=this._editor.getSelection();if(e){const{selectionStartLineNumber:i,selectionStartColumn:o}=e;n=[new ic(i,o,t.lineNumber,t.column)]}}else n=(this._editor.getSelections()||[]).map((e=>e.containsPosition(t)?new ic(t.lineNumber,t.column,t.lineNumber,t.column):e));this._editor.setSelections(n||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(nJ(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(iJ.ID,new tJ(this._dragSelection,t,nJ(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 nc(e.lineNumber,e.column,e.lineNumber,e.column),options:iJ._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return 6===e.type||7===e.type}_hitMargin(e){return 2===e.type||3===e.type||4===e.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}iJ.ID="editor.contrib.dragAndDrop",iJ.TRIGGER_KEY_VALUE=U?6:5,iJ._DECORATION_OPTIONS=My.register({description:"dnd-target",className:"dnd-target"}),Zu(iJ.ID,iJ,2),Cd.registerCommand("_executeDocumentSymbolProvider",(async function(e,...t){const[n]=t;fa(Io.isUri(n));const i=e.get(GQ),o=e.get(gd),s=await o.createModelReference(n);try{return(await i.getOrCreate(s.object.textEditorModel,It.None)).getTopLevelSymbols()}finally{s.dispose()}})),Zu(JL.ID,JL,0),$H(Hx),qu(new class extends Hu{constructor(){super({id:YL,precondition:XL,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t){var n;return null===(n=JL.get(t))||void 0===n?void 0:n.changePasteType()}}),qu(new class extends Hu{constructor(){super({id:"editor.hidePasteWidget",precondition:XL,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t){var n;null===(n=JL.get(t))||void 0===n||n.clearWidgets()}}),$u((QQ=class extends zu{constructor(){super({id:"editor.action.pasteAs",label:_(0,"Paste As..."),alias:"Paste As...",precondition:oc.writable,metadata:{description:"Paste as",args:[{name:"args",schema:QQ.argsSchema}]}})}run(e,t,n){var i;let o="string"==typeof(null==n?void 0:n.kind)?n.kind:void 0;return!o&&n&&(o="string"==typeof n.id?n.id:void 0),null===(i=JL.get(t))||void 0===i?void 0:i.pasteAs(o?new dx(o):void 0)}},QQ.argsSchema={type:"object",properties:{kind:{type:"string",description:_(0,"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.")}}},QQ)),$u(class extends zu{constructor(){super({id:"editor.action.pasteAsText",label:_(0,"Paste as Text"),alias:"Paste as Text",precondition:oc.writable})}run(e,t){var n;return null===(n=JL.get(t))||void 0===n?void 0:n.pasteAs({providerId:Px.id})}});class oJ{constructor(e){this.identifier=e}}const sJ=dd("treeViewsDndService");yg(sJ,class{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}}},1);var rJ,lJ=function(e,t){return function(n,i){t(n,i,e)}};const aJ="editor.experimental.dropIntoEditor.defaultProvider",dJ="editor.changeDropType",uJ=new ou("dropWidgetVisible",!1,_(0,"Whether the drop widget is showing"));let cJ=rJ=class extends lt{static get(e){return e.getContribution(rJ.ID)}constructor(e,t,n,i,o){super(),this._configService=n,this._languageFeaturesService=i,this._treeViewsDragAndDropService=o,this.treeItemsTransfer=cx.getInstance(),this._dropProgressManager=this._register(t.createInstance(hk,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance($L,"dropIntoEditor",e,uJ,{id:dJ,label:_(0,"Show drop options...")})),this._register(e.onDropIntoEditor((t=>this.onDropIntoEditor(e,t.position,t.event))))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,n){var i;if(!n.dataTransfer||!e.hasModel())return;null===(i=this._currentOperation)||void 0===i||i.cancel(),e.focus(),e.setPosition(t);const o=Pt((async i=>{const s=new rk(e,1,void 0,i);try{const o=await this.extractDataTransferData(n);if(0===o.size||s.token.isCancellationRequested)return;const r=e.getModel();if(!r)return;const l=this._languageFeaturesService.documentOnDropEditProvider.ordered(r).filter((e=>!e.dropMimeTypes||e.dropMimeTypes.some((e=>o.matches(e))))),a=await this.getDropEdits(l,r,t,o,s);if(s.token.isCancellationRequested)return;if(a.length){const n=this.getInitialActiveEditIndex(r,a),o="afterDrop"===e.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([nc.fromPositions(t)],{activeEditIndex:n,allEdits:a},o,(async e=>e),i)}}finally{s.dispose(),this._currentOperation===o&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(t,_(0,"Running drop handlers. Click to cancel"),o),this._currentOperation=o}async getDropEdits(e,t,n,i,o){const s=await Ot(Promise.all(e.map((async e=>{try{const s=await e.provideDocumentOnDropEdits(t,n,i,o.token);return null==s?void 0:s.map((t=>({...t,providerId:e.id})))}catch(e){console.error(e)}}))),o.token);return tk(Oc(null!=s?s:[]).flat())}getInitialActiveEditIndex(e,t){const n=this._configService.getValue(aJ,{resource:e.uri});for(const[e,i]of Object.entries(n)){const n=new dx(i),o=t.findIndex((t=>n.value===t.providerId&&t.handledMimeType&&rx(e,[t.handledMimeType])));if(o>=0)return o}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new ox;const t=mx(e.dataTransfer);if(this.treeItemsTransfer.hasData(oJ.prototype)){const e=this.treeItemsTransfer.getData(oJ.prototype);if(Array.isArray(e))for(const n of e){const e=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(e)for(const[n,i]of e)t.replace(n,i)}}return t}};cJ.ID="editor.contrib.dropIntoEditorController",cJ=rJ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([lJ(1,ad),lJ(2,pg),lJ(3,wx),lJ(4,sJ)],cJ),Zu(cJ.ID,cJ,2),$H(Vx),qu(new class extends Hu{constructor(){super({id:dJ,precondition:uJ,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t,n){var i;null===(i=cJ.get(t))||void 0===i||i.changeDropType()}}),qu(new class extends Hu{constructor(){super({id:"editor.hideDropWidget",precondition:uJ,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t,n){var i;null===(i=cJ.get(t))||void 0===i||i.clearWidgets()}}),fu.as(Dg).registerConfiguration({...GD,properties:{[aJ]:{type:"object",scope:5,description:_(0,"Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class hJ{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((e=>this._editor.getModel().getDecorationRange(e))).filter((e=>!!e));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{if(null!==this._highlightedDecorationId&&(e.changeDecorationOptions(this._highlightedDecorationId,hJ._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==t&&(this._highlightedDecorationId=t,e.changeDecorationOptions(this._highlightedDecorationId,hJ._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(e.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==t){let n=this._editor.getModel().getDecorationRange(t);if(n.startLineNumber!==n.endLineNumber&&1===n.endColumn){const e=n.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);n=new nc(n.startLineNumber,n.startColumn,e,t)}this._rangeHighlightDecorationId=e.addDecoration(n,hJ._RANGE_HIGHLIGHT_DECORATION)}})),n}set(e,t){this._editor.changeDecorations((n=>{let i=hJ._FIND_MATCH_DECORATION;const o=[];if(e.length>1e3){i=hJ._FIND_MATCH_NO_OVERVIEW_DECORATION;const t=this._editor.getModel().getLineCount(),n=this._editor.getLayoutInfo().height/t,s=Math.max(2,Math.ceil(3/n));let r=e[0].range.startLineNumber,l=e[0].range.endLineNumber;for(let t=1,n=e.length;t=n.startLineNumber?n.endLineNumber>l&&(l=n.endLineNumber):(o.push({range:new nc(r,1,l,1),options:hJ._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=n.startLineNumber,l=n.endLineNumber)}o.push({range:new nc(r,1,l,1),options:hJ._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const s=new Array(e.length);for(let t=0,n=e.length;tn.removeDecoration(e))),this._findScopeDecorationIds=[]),(null==t?void 0:t.length)&&(this._findScopeDecorationIds=t.map((e=>n.addDecoration(e,hJ._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(e){if(0===this._decorations.length)return null;for(let t=this._decorations.length-1;t>=0;t--){const n=this._decorations[t],i=this._editor.getModel().getDecorationRange(n);if(i&&!(i.endLineNumber>e.lineNumber)){if(i.endLineNumbere.column))return i}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(0===this._decorations.length)return null;for(let t=0,n=this._decorations.length;te.lineNumber)return i;if(!(i.startColumn0){const e=[];for(let t=0;tnc.compareRangesUsingStarts(e.range,t.range)));const n=[];let i=e[0];for(let t=1;t0?t[0].toUpperCase()+t.substr(1):e[0][0].toUpperCase()!==e[0][0]&&t.length>0?t[0].toLowerCase()+t.substr(1):t}return t}function mJ(e,t,n){return-1!==e[0].indexOf(n)&&-1!==t.indexOf(n)&&e[0].split(n).length===t.split(n).length}function fJ(e,t,n){const i=t.split(n),o=e[0].split(n);let s="";return i.forEach(((e,t)=>{s+=pJ([o[t]],e)+n})),s.slice(0,-1)}class _J{constructor(e){this.staticValue=e,this.kind=0}}class vJ{constructor(e){this.pieces=e,this.kind=1}}class bJ{static fromStaticValue(e){return new bJ([wJ.staticValue(e)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?this._state=new _J(e[0].staticValue):this._state=new vJ(e):this._state=new _J("")}buildReplaceString(e,t){if(0===this._state.kind)return t?pJ(e,this._state.staticValue):this._state.staticValue;let n="";for(let t=0,i=this._state.pieces.length;t0){const e=[],t=i.caseOps.length;let n=0;for(let s=0,r=o.length;s=t){e.push(o.slice(s));break}switch(i.caseOps[n]){case"U":e.push(o[s].toUpperCase());break;case"u":e.push(o[s].toUpperCase()),n++;break;case"L":e.push(o[s].toLowerCase());break;case"l":e.push(o[s].toLowerCase()),n++;break;default:e.push(o[s])}}o=e.join("")}n+=o}return n}static _substitute(e,t){if(null===t)return"";if(0===e)return t[0];let n="";for(;e>0;){if(ethis.research(!1)),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((e=>{3!==e.reason&&5!==e.reason&&6!==e.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,it(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)}),240)):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 n=null;void 0!==t?null!==t&&(n=Array.isArray(t)?t:[t]):n=this._decorations.getFindScopes(),null!==n&&(n=n.map((e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return 1===e.endColumn&&(t-=1),new nc(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e})));const i=this._findMatches(n,!1,VJ);this._decorations.set(i,n);const o=this._editor.getSelection();let s=this._decorations.getCurrentMatchesPosition(o);if(0===s&&i.length>0){const e=fh(i.map((e=>e.range)),(e=>nc.compareRangesUsingStarts(e,o)>=0));s=e>0?e-1+1:s}this._state.changeMatchInfo(s,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:n,column:i}=e;const o=this._editor.getModel();return t||1===i?(1===n?n=o.getLineCount():n--,i=o.getLineMaxColumn(n)):i--,new cd(n,i)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const t=this._decorations.matchAfterPosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:n,column:i}=e;const o=this._editor.getModel();return t||i===o.getLineMaxColumn(n)?(n===o.getLineCount()?n=1:n++,i=1):i++,new cd(n,i)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const t=this._decorations.matchBeforePosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=o)break;const s=e.charCodeAt(i);if(36===s){n.emitUnchanged(i-1),n.emitStatic("$",i+1);continue}if(48===s||38===s){n.emitUnchanged(i-1),n.emitMatchIndex(0,i+1,t),t.length=0;continue}if(49<=s&&s<=57){let r=s-48;if(i+1=o)break;const s=e.charCodeAt(i);switch(s){case 92:n.emitUnchanged(i-1),n.emitStatic("\\",i+1);break;case 110:n.emitUnchanged(i-1),n.emitStatic("\n",i+1);break;case 116:n.emitUnchanged(i-1),n.emitStatic("\t",i+1);break;case 117:case 85:case 108:case 76:n.emitUnchanged(i-1),n.emitStatic("",i+1),t.push(String.fromCharCode(s))}}}return n.finalize()}(this._state.replaceString):bJ.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),!0,!1);if(n)if(t.equalsRange(n.range)){const i=e.buildReplaceString(n.matches,this._state.preserveCase),o=new Qy(t,i);this._executeEditorCommand("replace",o),this._decorations.setStartPosition(new cd(t.startLineNumber,t.startColumn+i.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}_findMatches(e,t,n){const i=(e||[null]).map((e=>HJ._getSearchRange(this._editor.getModel(),e)));return this._editor.getModel().findMatches(this._state.searchString,i,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null,t,n)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();null===e&&this._state.matchesCount>=VJ?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const e=new Zw(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e="mu";t.ignoreCase&&(e+="i"),t.global&&(e+="g"),t=new RegExp(t.source,e)}const n=this._editor.getModel(),i=n.getValue(1),o=n.getFullModelRange(),s=this._getReplacePattern();let r;const l=this._state.preserveCase;r=s.hasReplacementPatterns||l?i.replace(t,(function(){return s.buildReplaceString(arguments,l)})):i.replace(t,s.buildReplaceString(null,l));const a=new nS(o,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",a)}_regularReplaceAll(e){const t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),i=[];for(let e=0,o=n.length;ee.range)),i);this._executeEditorCommand("replaceAll",o)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let t=this._findMatches(e,!1,1073741824).map((e=>new ic(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)));const n=this._editor.getSelection();for(let e=0,i=t.length;ethis._hide()),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=n,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 i={inputActiveOptionBorder:ym(a_),inputActiveOptionForeground:ym(u_),inputActiveOptionBackground:ym(d_)},o=this._register(ML());this.caseSensitive=this._register(new wK({appendTitle:this._keybindingLabelFor(AJ),isChecked:this._state.matchCase,hoverDelegate:o,...i})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new CK({appendTitle:this._keybindingLabelFor(RJ),isChecked:this._state.wholeWord,hoverDelegate:o,...i})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new yK({appendTitle:this._keybindingLabelFor(PJ),isChecked:this._state.isRegex,hoverDelegate:o,...i})),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((e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()}))),this._register(ms(this._domNode,or.MOUSE_LEAVE,(e=>this._onMouseLeave()))),this._register(ms(this._domNode,"mouseover",(e=>this._onMouseOver())))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return KJ.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")}}function jJ(e,t){return 1===e||2!==e&&t}KJ.ID="editor.contrib.findOptionsWidget";class qJ extends lt{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return jJ(this._isRegexOverride,this._isRegex)}get wholeWord(){return jJ(this._wholeWordOverride,this._wholeWord)}get matchCase(){return jJ(this._matchCaseOverride,this._matchCase)}get preserveCase(){return jJ(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 Ct),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,n){const i={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 o=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,i.matchesPosition=!0,o=!0),this._matchesCount!==t&&(this._matchesCount=t,i.matchesCount=!0,o=!0),void 0!==n&&(nc.equalsRange(this._currentMatch,n)||(this._currentMatch=n,i.currentMatch=!0,o=!0)),o&&this._onFindReplaceStateChange.fire(i)}change(e,t,n=!0){var i;const o={moveCursor:t,updateHistory:n,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,l=this.wholeWord,a=this.matchCase,d=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,s=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,s=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,s=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,s=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&((null===(i=e.searchScope)||void 0===i?void 0:i.every((e=>{var t;return null===(t=this._searchScope)||void 0===t?void 0:t.some((t=>!nc.equalsRange(t,e)))})))||(this._searchScope=e.searchScope,o.searchScope=!0,s=!0)),void 0!==e.loop&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,s=!0),void 0!==e.isSearching&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,s=!0),void 0!==e.filters&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,s=!0),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,o.isRegex=!0),l!==this.wholeWord&&(s=!0,o.wholeWord=!0),a!==this.matchCase&&(s=!0,o.matchCase=!0),d!==this.preserveCase&&(s=!0,o.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=VJ}}var $J=n(5395),GJ={};GJ.styleTagTransform=Vr(),GJ.setAttributes=Or(),GJ.insert=Rr().bind(null,"head"),GJ.domAPI=Tr(),GJ.insertStyleElement=Br(),Ir()($J.A,GJ),$J.A&&$J.A.locals&&$J.A.locals;const ZJ=_(0,"input"),YJ=_(0,"Preserve Case");class XJ extends fK{constructor(e){var t;super({icon:Sa.preserveCase,title:YJ+e.appendTitle,isChecked:e.isChecked,hoverDelegate:null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class QJ extends jN{constructor(e,t,n,i){super(),this._showOptionButtons=n,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Ct),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Ct),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Ct),this._onInput=this._register(new Ct),this._onKeyUp=this._register(new Ct),this._onPreserveCaseKeyDown=this._register(new Ct),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||ZJ;const o=i.appendPreserveCaseLabel||"",s=i.history||[],r=!!i.flexibleHeight,l=!!i.flexibleWidth,a=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new EK(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:s,showHistoryHint:i.showHistoryHint,flexibleHeight:r,flexibleWidth:l,flexibleMaxHeight:a,inputBoxStyles:i.inputBoxStyles})),this.preserveCase=this._register(new XJ({appendTitle:o,isChecked:!1,...i.toggleStyles})),this._register(this.preserveCase.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((e=>{this._onPreserveCaseKeyDown.fire(e)}))),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const d=[this.preserveCase.domNode];this.onkeydown(this.domNode,(e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){const t=d.indexOf(this.domNode.ownerDocument.activeElement);if(t>=0){let n=-1;e.equals(17)?n=(t+1)%d.length:e.equals(15)&&(n=0===t?d.length-1:t-1),e.equals(9)?(d[t].blur(),this.inputBox.focus()):n>=0&&d[n].focus(),rr(e,!0)}}}));const u=document.createElement("div");u.className="controls",u.style.display=this._showOptionButtons?"block":"none",u.appendChild(this.preserveCase.domNode),this.domNode.appendChild(u),null==e||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}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;null===(e=this.inputBox)||void 0===e||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var JJ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},e2=function(e,t){return function(n,i){t(n,i,e)}};const t2=new ou("suggestWidgetVisible",!1,_(0,"Whether suggestion are visible")),n2="historyNavigationWidgetFocus",i2="historyNavigationForwardsEnabled",o2="historyNavigationBackwardsEnabled";let s2;const r2=[];function l2(e,t){if(r2.includes(t))throw new Error("Cannot register the same widget multiple times");r2.push(t);const n=new rt,i=new ou(n2,!1).bindTo(e),o=new ou(i2,!0).bindTo(e),s=new ou(o2,!0).bindTo(e),r=()=>{i.set(!0),s2=t},l=()=>{i.set(!1),s2===t&&(s2=void 0)};return Hs(t.element)&&r(),n.add(t.onDidFocus((()=>r()))),n.add(t.onDidBlur((()=>l()))),n.add(st((()=>{r2.splice(r2.indexOf(t),1),l()}))),{historyNavigationForwardsEnablement:o,historyNavigationBackwardsEnablement:s,dispose(){n.dispose()}}}let a2=class extends AK{constructor(e,t,n,i){super(e,t,n);const o=this._register(i.createScoped(this.inputBox.element));this._register(l2(o,this.inputBox))}};a2=JJ([e2(3,su)],a2);let d2=class extends QJ{constructor(e,t,n,i,o=!1){super(e,t,o,n);const s=this._register(i.createScoped(this.inputBox.element));this._register(l2(s,this.inputBox))}};function u2(e){var t,n;return"Up"===(null===(t=e.lookupKeybinding("history.showPrevious"))||void 0===t?void 0:t.getElectronAccelerator())&&"Down"===(null===(n=e.lookupKeybinding("history.showNext"))||void 0===n?void 0:n.getElectronAccelerator())}d2=JJ([e2(3,su)],d2),vu.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Bd.and(Bd.has(n2),Bd.equals(o2,!0),Bd.not("isComposing"),t2.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{null==s2||s2.showPreviousValue()}}),vu.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Bd.and(Bd.has(n2),Bd.equals(i2,!0),Bd.not("isComposing"),t2.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{null==s2||s2.showNextValue()}});const c2=fz("find-selection",Sa.selection,_(0,"Icon for 'Find in Selection' in the editor find widget.")),h2=fz("find-collapsed",Sa.chevronRight,_(0,"Icon to indicate that the editor find widget is collapsed.")),g2=fz("find-expanded",Sa.chevronDown,_(0,"Icon to indicate that the editor find widget is expanded.")),p2=fz("find-replace",Sa.replace,_(0,"Icon for 'Replace' in the editor find widget.")),m2=fz("find-replace-all",Sa.replaceAll,_(0,"Icon for 'Replace All' in the editor find widget.")),f2=fz("find-previous-match",Sa.arrowUp,_(0,"Icon for 'Find Previous' in the editor find widget.")),_2=fz("find-next-match",Sa.arrowDown,_(0,"Icon for 'Find Next' in the editor find widget.")),v2=_(0,"Find / Replace"),b2=_(0,"Find"),w2=_(0,"Find"),C2=_(0,"Previous Match"),y2=_(0,"Next Match"),S2=_(0,"Find in Selection"),x2=_(0,"Close"),k2=_(0,"Replace"),L2=_(0,"Replace"),D2=_(0,"Replace"),N2=_(0,"Replace All"),E2=_(0,"Toggle Replace"),I2=_(0,"Only the first {0} results are highlighted, but all find operations work on the entire text.",VJ),M2=_(0,"{0} of {1}"),T2=_(0,"No results"),A2=419;let R2=69;const P2="ctrlEnterReplaceAll.windows.donotask",O2=U?256:2048;class F2{constructor(e){this.afterLineNumber=e,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function B2(e,t,n){const i=!!t.match(/\n/);n&&i&&n.selectionStart>0&&e.stopPropagation()}function W2(e,t,n){const i=!!t.match(/\n/);n&&i&&n.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((e=>{if(e.hasChanged(91)&&(this._codeEditor.getOption(91)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(145)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(41)){const e=this._codeEditor.getOption(41).loop;this._state.change({loop:e},!1);const t=this._codeEditor.getOption(41).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new F2(0),this._showViewZone()),!t&&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 e=await this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}}))),this._findInputFocused=SJ.bindTo(s),this._findFocusTracker=this._register(ar(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=xJ.bindTo(s),this._replaceFocusTracker=this._register(ar(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 F2(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return V2.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(91)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=Ms(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 e=this._state.searchString.length>0&&0===this._state.matchesCount;this._domNode.classList.toggle("no-results",e),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,xe)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let e;if(this._matchesCount.style.minWidth=R2+"px",this._state.matchesCount>=VJ?this._matchesCount.title=I2:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=VJ&&(t+="+");let n=String(this._state.matchesPosition);"0"===n&&(n="?"),e=oi(M2,n,t)}else e=T2;this._matchesCount.appendChild(document.createTextNode(e)),Zr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),R2=Math.max(R2,this._matchesCount.clientWidth)}_getAriaLabel(e,t,n){if(e===T2)return""===n?_(0,"{0} found",e):_(0,"{0} found for '{1}'",e,n);if(t){const i=_(0,"{0} found for '{1}', at {2}",e,n,t.startLineNumber+":"+t.startColumn),o=this._codeEditor.getModel();return o&&t.startLineNumber<=o.getLineCount()&&t.startLineNumber>=1?`${o.getLineContent(t.startLineNumber)}, ${i}`:i}return _(0,"{0} found for '{1}'",e,n)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),n=this._toggleSelectionFind.checked;this._isVisible&&(n||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 n=!this._codeEditor.getOption(91);this._toggleReplaceBtn.setEnabled(this._isVisible&&n)}_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 t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;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 n=this._codeEditor.getDomNode();if(n){const i=Es(n),o=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),s=i.left+(o?o.left:0),r=o?o.top:0;if(this._viewZone&&re.startLineNumber&&(t=!1);const n=Ns(this._domNode).left;s>n&&(t=!1);const o=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());i.left+(o?o.left:0)>n&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach((e=>{clearTimeout(e)})),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)return void this._removeViewZone();if(!this._isVisible)return;const t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones((n=>{t.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)}))}_showViewZone(e=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new F2(0));const t=this._viewZone;this._codeEditor.changeViewZones((n=>{if(void 0!==this._viewZoneId){const i=this._getHeight();if(i===t.heightInPx)return;const o=i-t.heightInPx;return t.heightInPx=i,n.layoutZone(this._viewZoneId),void(e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+o))}{let i=this._getHeight();if(i-=this._codeEditor.getOption(84).top,i<=0)return;t.heightInPx=i,this._viewZoneId=n.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+i)}}))}_removeViewZone(){this._codeEditor.changeViewZones((e=>{void 0!==this._viewZoneId&&(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)return;if(!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const t=e.width,n=e.minimap.minimapWidth;let i=!1,o=!1,s=!1;if(this._resized&&Ms(this._domNode)>A2)return this._domNode.style.maxWidth=t-28-n-15+"px",void(this._replaceInput.width=Ms(this._findInput.domNode));if(447+n>=t&&(o=!0),447+n-R2>=t&&(s=!0),447+n-R2>=t+50&&(i=!0),this._domNode.classList.toggle("collapsed-find-widget",i),this._domNode.classList.toggle("narrow-find-widget",s),this._domNode.classList.toggle("reduced-find-widget",o),s||i||(this._domNode.style.maxWidth=t-28-n-15+"px"),this._findInput.layout({collapsedFindWidget:i,narrowFindWidget:s,reducedFindWidget:o}),this._resized){const e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=Ms(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(null===this._cachedHeight||this._cachedHeight!==e)&&(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((e=>{1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));const t=this._state.currentMatch;return e.startLineNumber===e.endLineNumber||nc.equalsRange(e,t)?null:e})).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){return e.equals(3|O2)?(this._keybindingService.dispatchEvent(e,e.target)||this._findInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?B2(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?W2(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(e){return e.equals(3|O2)?(this._keybindingService.dispatchEvent(e,e.target)||(z&&j&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(_(0,"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(P2,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?B2(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?W2(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){const e=!0,t=!0;this._findInput=this._register(new a2(null,this._contextViewProvider,{width:221,label:b2,placeholder:w2,appendCaseSensitiveLabel:this._keybindingLabelFor(AJ),appendWholeWordsLabel:this._keybindingLabelFor(RJ),appendRegexLabel:this._keybindingLabelFor(PJ),validation:e=>{if(0===e.length||!this._findInput.getRegex())return null;try{return new RegExp(e,"gu"),null}catch(e){return{content:e.message}}},flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>u2(this._keybindingService),inputBoxStyles:CM,toggleStyles:wM},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((e=>this._onFindInputKeyDown(e)))),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((e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((e=>{this._tryUpdateHeight()&&this._showViewZone()}))),K&&this._register(this._findInput.onMouseDown((e=>this._onFindInputMouseDown(e)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const n=this._register(ML());this._prevBtn=this._register(new H2({label:C2+this._keybindingLabelFor(MJ),icon:f2,hoverDelegate:n,onTrigger:()=>{_a(this._codeEditor.getAction(MJ)).run().then(void 0,xe)}})),this._nextBtn=this._register(new H2({label:y2+this._keybindingLabelFor(IJ),icon:_2,hoverDelegate:n,onTrigger:()=>{_a(this._codeEditor.getAction(IJ)).run().then(void 0,xe)}}));const i=document.createElement("div");i.className="find-part",i.appendChild(this._findInput.domNode);const o=document.createElement("div");o.className="find-actions",i.appendChild(o),o.appendChild(this._matchesCount),o.appendChild(this._prevBtn.domNode),o.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new fK({icon:c2,title:S2+this._keybindingLabelFor(OJ),isChecked:!1,hoverDelegate:n,inputActiveOptionBackground:ym(d_),inputActiveOptionBorder:ym(a_),inputActiveOptionForeground:ym(u_)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let e=this._codeEditor.getSelections();e=e.map((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)}))),o.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new H2({label:x2+this._keybindingLabelFor(TJ),icon:Cz,hoverDelegate:n,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}})),this._replaceInput=this._register(new d2(null,void 0,{label:k2,placeholder:L2,appendPreserveCaseLabel:this._keybindingLabelFor(FJ),history:[],flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showHistoryHint:()=>u2(this._keybindingService),inputBoxStyles:CM,toggleStyles:wM},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((e=>this._onReplaceInputKeyDown(e)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((e=>{e.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(),e.preventDefault())})));const s=this._register(ML());this._replaceBtn=this._register(new H2({label:D2+this._keybindingLabelFor(BJ),icon:p2,hoverDelegate:s,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}})),this._replaceAllBtn=this._register(new H2({label:N2+this._keybindingLabelFor(WJ),icon:m2,hoverDelegate:s,onTrigger:()=>{this._controller.replaceAll()}}));const r=document.createElement("div");r.className="replace-part",r.appendChild(this._replaceInput.domNode);const l=document.createElement("div");l.className="replace-actions",r.appendChild(l),l.appendChild(this._replaceBtn.domNode),l.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new H2({label:E2,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Ms(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),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=v2,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(i),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(r),this._resizeSash=this._register(new uU(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let a=A2;this._register(this._resizeSash.onDidStart((()=>{a=Ms(this._domNode)}))),this._register(this._resizeSash.onDidChange((e=>{this._resized=!0;const t=a+e.startX-e.currentX;t(parseFloat(xs(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=Ms(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const e=Ms(this._domNode);if(e{this._opts.onTrigger(),e.preventDefault()})),this.onkeydown(this._domNode,(e=>{var t,n;if(e.equals(10)||e.equals(3))return this._opts.onTrigger(),void e.preventDefault();null===(n=(t=this._opts).onKeyDown)||void 0===n||n.call(t,e)}))}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(...ka.asClassNameArray(h2)),this._domNode.classList.add(...ka.asClassNameArray(g2))):(this._domNode.classList.remove(...ka.asClassNameArray(g2)),this._domNode.classList.add(...ka.asClassNameArray(h2)))}}Fv(((e,t)=>{const n=e.getColor(pf);n&&t.addRule(`.monaco-editor .findMatch { border: 1px ${Iv(e.type)?"dotted":"solid"} ${n}; box-sizing: border-box; }`);const i=e.getColor(mf);i&&t.addRule(`.monaco-editor .findScope { border: 1px ${Iv(e.type)?"dashed":"solid"} ${i}; }`);const o=e.getColor(Bm);o&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${o}; }`)}));var z2,U2=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},K2=function(e,t){return function(n,i){t(n,i,e)}};function j2(e,t="single",n=!1){if(!e.hasModel())return null;const i=e.getSelection();if("single"===t&&i.startLineNumber===i.endLineNumber||"multiple"===t)if(i.isEmpty()){const t=e.getConfiguredWordAtPosition(i.getStartPosition());if(t&&!1===n)return t.word}else if(e.getModel().getValueLengthInRange(i)<524288)return e.getModel().getValueInRange(i);return null}let q2=z2=class extends lt{get editor(){return this._editor}static get(e){return e.getContribution(z2.ID)}constructor(e,t,n,i,o){super(),this._editor=e,this._findWidgetVisible=yJ.bindTo(t),this._contextKeyService=t,this._storageService=n,this._clipboardService=i,this._notificationService=o,this._updateHistoryDelayer=new Bt(500),this._state=this._register(new qJ),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const e=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),e&&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!!SJ.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((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=ri(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const n={...t,isRevealed:!0};if("single"===e.seedSearchStringFromSelection){const t=j2(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(this._state.isRegex?n.searchString=ri(t):n.searchString=t)}else if("multiple"===e.seedSearchStringFromSelection&&!e.updateSearchScope){const t=j2(this._editor,e.seedSearchStringFromSelection);t&&(n.searchString=t)}if(!n.searchString&&e.seedSearchStringFromGlobalClipboard){const e=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(n.searchString=e)}if(e.forceRevealReplace||n.isReplaceRevealed?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){const e=this._editor.getSelections();e.some((e=>!e.isEmpty()))&&(n.searchScope=e)}n.loop=e.loop,this._state.change(n,!1),this._model||(this._model=new HJ(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(e){return!!this._model&&(this._model.moveToMatch(e),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){var e;return!!this._model&&((null===(e=this._editor.getModel())||void 0===e?void 0:e.isTooLargeForHeapOperation())?(this._notificationService.warn(_(0,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}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)}};q2.ID="editor.contrib.findController",q2=z2=U2([K2(1,su),K2(2,KB),K2(3,fL),K2(4,nN)],q2);let $2=class extends q2{constructor(e,t,n,i,o,s,r,l){super(e,n,r,l,s),this._contextViewService=t,this._keybindingService=i,this._themeService=o,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const n=this._editor.getSelection();let i=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":i=!0;break;case"never":i=!1;break;case"multiline":i=!!n&&n.startLineNumber!==n.endLineNumber}e.updateSearchScope=e.updateSearchScope||i,await super._start(e,t),this._widget&&(2===e.shouldFocus?this._widget.focusReplaceInput():1===e.shouldFocus&&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 V2(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new KJ(this._editor,this._state,this._keybindingService))}};$2=U2([K2(1,VL),K2(2,su),K2(3,zL),K2(4,Tv),K2(5,nN),K2(6,KB),K2(7,fL)],$2),Gu(new Uu({id:"actions.find",label:_(0,"Find"),alias:"Find",precondition:Bd.or(oc.focus,Bd.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Su.MenubarEditMenu,group:"3_find",title:_(0,"&&Find"),order:1}})).addImplementation(0,((e,t,n)=>{const i=q2.get(t);return!!i&&i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})}));const G2={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 Z2 extends zu{async run(e,t){const n=q2.get(t);n&&!this._run(n)&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(n))}}class Y2 extends zu{async run(e,t){const n=q2.get(t);if(!n)return;const i=j2(t,"single",!1);i&&n.setSearchString(i),this._run(n)||(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(n))}}Gu(new Uu({id:"editor.action.startFindReplaceAction",label:_(0,"Replace"),alias:"Replace",precondition:Bd.or(oc.focus,Bd.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Su.MenubarEditMenu,group:"3_find",title:_(0,"&&Replace"),order:2}})).addImplementation(0,((e,t,n)=>{if(!t.hasModel()||t.getOption(91))return!1;const i=q2.get(t);if(!i)return!1;const o=t.getSelection(),s=i.isFindInputFocused(),r=!o.isEmpty()&&o.startLineNumber===o.endLineNumber&&"never"!==t.getOption(41).seedSearchStringFromSelection&&!s,l=s||r?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==t.getOption(41).seedSearchStringFromSelection,shouldFocus:l,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})})),Zu(q2.ID,$2,0),$u(class extends zu{constructor(){super({id:"editor.actions.findWithArgs",label:_(0,"Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:G2})}async run(e,t,n){const i=q2.get(t);if(i){const e=n?{searchString:n.searchString,replaceString:n.replaceString,isReplaceRevealed:void 0!==n.replaceString,isRegex:n.isRegex,wholeWord:n.matchWholeWord,matchCase:n.isCaseSensitive,preserveCase:n.preserveCase}:{};await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===i.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null==n?void 0:n.findInSelection)||!1,loop:t.getOption(41).loop},e),i.setGlobalBufferTerm(i.getState().searchString)}}}),$u(class extends zu{constructor(){super({id:"actions.findWithSelection",label:_(0,"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 n=q2.get(t);n&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),n.setGlobalBufferTerm(n.getState().searchString))}}),$u(class extends Z2{constructor(){super({id:IJ,label:_(0,"Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:oc.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Bd.and(oc.focus,SJ),primary:3,weight:100}]})}_run(e){return!!e.moveToNextMatch()&&(e.editor.pushUndoStop(),!0)}}),$u(class extends Z2{constructor(){super({id:MJ,label:_(0,"Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:oc.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Bd.and(oc.focus,SJ),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}),$u(class extends zu{constructor(){super({id:"editor.action.goToMatchFindAction",label:_(0,"Go to Match..."),alias:"Go to Match...",precondition:yJ}),this._highlightDecorations=[]}run(e,t,n){const i=q2.get(t);if(!i)return;const o=i.getState().matchesCount;if(o<1)return void e.get(nN).notify({severity:tN.Warning,message:_(0,"No matches. Try searching for something else.")});const s=e.get(SL).createInputBox();s.placeholder=_(0,"Type a number to go to a specific match (between 1 and {0})",o);const r=e=>{const t=parseInt(e);if(isNaN(t))return;const n=i.getState().matchesCount;return t>0&&t<=n?t-1:t<0&&t>=-n?n+t:void 0},l=e=>{const n=r(e);if("number"==typeof n){s.validationMessage=void 0,i.goToMatch(n);const e=i.getState().currentMatch;e&&this.addDecorations(t,e)}else s.validationMessage=_(0,"Please type a number between 1 and {0}",i.getState().matchesCount),this.clearDecorations(t)};s.onDidChangeValue((e=>{l(e)})),s.onDidAccept((()=>{const e=r(s.value);"number"==typeof e?(i.goToMatch(e),s.hide()):s.validationMessage=_(0,"Please type a number between 1 and {0}",i.getState().matchesCount)})),s.onDidHide((()=>{this.clearDecorations(t),s.dispose()})),s.show()}clearDecorations(e){e.changeDecorations((e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(e,t){e.changeDecorations((e=>{this._highlightDecorations=e.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:Av(mb),position:bc.Full}}}])}))}}),$u(class extends Y2{constructor(){super({id:"editor.action.nextSelectionMatchFindAction",label:_(0,"Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}),$u(class extends Y2{constructor(){super({id:"editor.action.previousSelectionMatchFindAction",label:_(0,"Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}});const X2=Hu.bindToContribution(q2.get);qu(new X2({id:TJ,precondition:yJ,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:Bd.and(oc.focus,Bd.not("isComposing")),primary:9,secondary:[1033]}})),qu(new X2({id:AJ,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:oc.focus,primary:kJ.primary,mac:kJ.mac,win:kJ.win,linux:kJ.linux}})),qu(new X2({id:RJ,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:oc.focus,primary:LJ.primary,mac:LJ.mac,win:LJ.win,linux:LJ.linux}})),qu(new X2({id:PJ,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:oc.focus,primary:DJ.primary,mac:DJ.mac,win:DJ.win,linux:DJ.linux}})),qu(new X2({id:OJ,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:oc.focus,primary:NJ.primary,mac:NJ.mac,win:NJ.win,linux:NJ.linux}})),qu(new X2({id:FJ,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:oc.focus,primary:EJ.primary,mac:EJ.mac,win:EJ.win,linux:EJ.linux}})),qu(new X2({id:BJ,precondition:yJ,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:oc.focus,primary:3094}})),qu(new X2({id:BJ,precondition:yJ,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:Bd.and(oc.focus,xJ),primary:3}})),qu(new X2({id:WJ,precondition:yJ,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:oc.focus,primary:2563}})),qu(new X2({id:WJ,precondition:yJ,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:Bd.and(oc.focus,xJ),primary:void 0,mac:{primary:2051}}})),qu(new X2({id:"editor.action.selectAllMatches",precondition:yJ,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:oc.focus,primary:515}}));var Q2=n(5405),J2={};J2.styleTagTransform=Vr(),J2.setAttributes=Or(),J2.insert=Rr().bind(null,"head"),J2.domAPI=Tr(),J2.insertStyleElement=Br(),Ir()(Q2.A,J2),Q2.A&&Q2.A.locals&&Q2.A.locals;const e3={0:" ",1:"u",2:"r"},t3=16777215,n3=4278190080;class i3{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,n=e%32;return!!(this._states[t]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new i3(e.length),this._userDefinedStates=new i3(e.length),this._recoveredStates=new i3(e.length),this._types=n,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(t,n)=>{const i=e[e.length-1];return this.getStartLineNumber(i)<=t&&this.getEndLineNumber(i)>=n};for(let n=0,i=this._startIndexes.length;nt3||o>t3)throw new Error("startLineNumber or endLineNumber must not exceed "+t3);for(;e.length>0&&!t(i,o);)e.pop();const s=e.length>0?e[e.length-1]:-1;e.push(n),this._startIndexes[n]=i+((255&s)<<24),this._endIndexes[n]=o+((65280&s)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&t3}getEndLineNumber(e){return this._endIndexes[e]&t3}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){1===t?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):2===t?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let n=!1;if(this._types)for(let i=0;i>>24)+((this._endIndexes[e]&n3)>>>16);return 65535===t?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,n=this._startIndexes.length;if(0===n)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(e)?n=>nn=d.startLineNumber))a&&a.startLineNumber===d.startLineNumber?(1===d.source?e=d:(e=a,e.isCollapsed=d.isCollapsed&&a.endLineNumber===d.endLineNumber,e.source=0),a=o(++r)):(e=d,d.isCollapsed&&0===d.source&&(e.source=2)),d=s(++l);else{let t=l,n=d;for(;;){if(!n||n.startLineNumber>a.endLineNumber){e=a;break}if(1===n.source&&n.endLineNumber>a.endLineNumber)break;n=s(++t)}a=o(++r)}if(e){for(;c&&c.endLineNumbere.startLineNumber&&e.startLineNumber>h&&e.endLineNumber<=n&&(!c||c.endLineNumber>=e.endLineNumber)&&(g.push(e),h=e.startLineNumber,c&&u.push(c),c=e)}}return g}}class s3{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 r3{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Ct,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new o3(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort(((e,t)=>e.regionIndex-t.regionIndex));const t={};this._decorationProvider.changeDecorations((n=>{let i=0,o=-1,s=-1;const r=e=>{for(;is&&(s=e),i++}};for(const n of e){const e=n.regionIndex,i=this._editorDecorationIds[e];if(i&&!t[i]){t[i]=!0,r(e);const n=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,n),o=Math.max(o,this._regions.getEndLineNumber(e))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,n=t=>{for(const n of e)if(!(n.startLineNumber>t.endLineNumber||t.startLineNumber>n.endLineNumber))return!0;return!1};for(let e=0;en&&(n=s)}this._decorationProvider.changeDecorations((e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t))),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){const t=(t,n)=>{for(const i of e)if(t=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>n)continue;const s=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);t.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,isCollapsed:o.isCollapsed,source:o.source,checksum:s})}return t.length>0?t:void 0}applyMemento(e){var t,n;if(!Array.isArray(e))return;const i=[],o=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>o)continue;const e=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);s.checksum&&e!==s.checksum||i.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:null===(t=s.isCollapsed)||void 0===t||t,source:null!==(n=s.source)&&void 0!==n?n:0})}const s=o3.sanitizeAndMerge(this._regions,i,o);this.updatePost(o3.fromFoldRanges(s))}_getLinesChecksum(e,t){return Go(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const n=[];if(this._regions){let i=this._regions.findRange(e),o=1;for(;i>=0;){const e=this._regions.toRegion(i);t&&!t(e,o)||n.push(e),o++,i=e.parentIndex}}return n}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 n=[],i=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length){const e=[];for(let s=i,r=this._regions.length;s0&&!i.containedBy(e[e.length-1]);)e.pop();e.push(i),t(i,e.length)&&n.push(i)}}else for(let e=i,s=this._regions.length;e1){const s=e.getRegionsInside(n,((e,n)=>e.isCollapsed!==o&&n0)for(const s of i){const i=e.getRegionAtLine(s);if(i&&(i.isCollapsed!==t&&o.push(i),n>1)){const s=e.getRegionsInside(i,((e,i)=>e.isCollapsed!==t&&ie.isCollapsed!==t&&ie.isCollapsed!==t&&i<=n));o.push(...i)}e.toggleCollapseState(o)}function u3(e,t,n){const i=[];for(const t of n){const n=e.getAllRegionsAtLine(t,void 0);n.length>0&&i.push(n[0])}const o=e.getRegionsInside(null,(e=>i.every((t=>!t.containedBy(e)&&!e.containedBy(t)))&&e.isCollapsed!==t));e.toggleCollapseState(o)}function c3(e,t,n){const i=e.textModel,o=e.regions,s=[];for(let e=o.length-1;e>=0;e--)if(n!==o.isCollapsed(e)){const n=o.getStartLineNumber(e);t.test(i.getLineContent(n))&&s.push(o.toRegion(e))}e.toggleCollapseState(s)}function h3(e,t,n){const i=e.regions,o=[];for(let e=i.length-1;e>=0;e--)n!==i.isCollapsed(e)&&t===i.getType(e)&&o.push(i.toRegion(e));e.toggleCollapseState(o)}class g3{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new Ct,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange((e=>this.updateHiddenRanges())),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some((e=>e.range.endLineNumber!==e.range.startLineNumber||0!==ah(e.text)[0])))}updateHiddenRanges(){let e=!1;const t=[];let n=0,i=0,o=Number.MAX_VALUE,s=-1;const r=this._foldingModel.regions;for(;n0}isHidden(e){return null!==p3(this._hiddenRanges,e)}adjustSelections(e){let t=!1;const n=this._foldingModel.textModel;let i=null;const o=e=>(i&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,i)||(i=p3(this._hiddenRanges,e)),i?i.startLineNumber-1:null);for(let i=0,s=e.length;i0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function p3(e,t){const n=fh(e,(e=>t=0&&e[n].endLineNumber>=t?e[n]:null}class m3{constructor(e,t,n){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=n,this.id="indent"}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,n=t&&!!t.offSide,i=t&&t.markers;return Promise.resolve(function(e,t,n,i=_3){const o=e.getOptions().tabSize,s=new f3(i);let r;n&&(r=new RegExp(`(${n.start.source})|(?:${n.end.source})`));const l=[],a=e.getLineCount()+1;l.push({indent:-1,endAbove:a,line:a});for(let n=e.getLineCount();n>0;n--){const i=e.getLineContent(n),a=Xb(i,o);let d,u=l[l.length-1];if(-1!==a){if(r&&(d=i.match(r))){if(!d[1]){l.push({indent:-2,endAbove:n,line:n});continue}{let e=l.length-1;for(;e>0&&-2!==l[e].indent;)e--;if(e>0){l.length=e+1,u=l[e],s.insertFirst(n,u.line,a),u.line=n,u.indent=a,u.endAbove=n;continue}}}if(u.indent>a){do{l.pop(),u=l[l.length-1]}while(u.indent>a);const e=u.endAbove-1;e-n>=1&&s.insertFirst(n,e,a)}u.indent===a?u.endAbove=n:l.push({indent:a,endAbove:n,line:n})}else t&&(u.endAbove=n)}return s.toIndentRanges(e)}(this.editorModel,n,i,this.foldingRangesLimit))}}class f3{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,n){if(e>t3||t>t3)return;const i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=this._length-1,i=0;n>=0;n--,i++)e[i]=this._startIndexes[n],t[i]=this._endIndexes[n];return new o3(e,t)}{this._foldingRangesLimit.update(this._length,t);let n=0,i=this._indentOccurrences.length;for(let e=0;et){i=e;break}n+=o}}const o=e.getOptions().tabSize,s=new Uint32Array(t),r=new Uint32Array(t);for(let l=this._length-1,a=0;l>=0;l--){const d=this._startIndexes[l],u=Xb(e.getLineContent(d),o);(u{}},v3=km("editor.foldBackground",{light:Nm(df,.3),dark:Nm(df,.3),hcDark:null,hcLight:null},_(0,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);km("editorGutter.foldingControlForeground",{dark:Om,light:Om,hcDark:Om,hcLight:Om},_(0,"Color of the folding control in the editor gutter."));const b3=fz("folding-expanded",Sa.chevronDown,_(0,"Icon for expanded ranges in the editor glyph margin.")),w3=fz("folding-collapsed",Sa.chevronRight,_(0,"Icon for collapsed ranges in the editor glyph margin.")),C3=fz("folding-manual-collapsed",w3,_(0,"Icon for manually collapsed ranges in the editor glyph margin.")),y3=fz("folding-manual-expanded",b3,_(0,"Icon for manually expanded ranges in the editor glyph margin.")),S3={color:Av(v3),position:1},x3=_(0,"Click to expand the range."),k3=_(0,"Click to collapse the range.");class L3{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,n){return t?L3.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?e?this.showFoldingHighlights?L3.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:L3.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:L3.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?n?this.showFoldingHighlights?L3.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:L3.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?L3.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:L3.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?n?L3.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:L3.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:n?L3.MANUALLY_EXPANDED_VISUAL_DECORATION:L3.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}L3.COLLAPSED_VISUAL_DECORATION=My.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:x3,firstLineDecorationClassName:ka.asClassName(w3)}),L3.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=My.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:S3,isWholeLine:!0,linesDecorationsTooltip:x3,firstLineDecorationClassName:ka.asClassName(w3)}),L3.MANUALLY_COLLAPSED_VISUAL_DECORATION=My.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:x3,firstLineDecorationClassName:ka.asClassName(C3)}),L3.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=My.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:S3,isWholeLine:!0,linesDecorationsTooltip:x3,firstLineDecorationClassName:ka.asClassName(C3)}),L3.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=My.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:x3}),L3.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=My.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:S3,isWholeLine:!0,linesDecorationsTooltip:x3}),L3.EXPANDED_VISUAL_DECORATION=My.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ka.asClassName(b3),linesDecorationsTooltip:k3}),L3.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=My.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ka.asClassName(b3),linesDecorationsTooltip:k3}),L3.MANUALLY_EXPANDED_VISUAL_DECORATION=My.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ka.asClassName(y3),linesDecorationsTooltip:k3}),L3.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=My.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:ka.asClassName(y3),linesDecorationsTooltip:k3}),L3.NO_CONTROLS_EXPANDED_RANGE_DECORATION=My.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),L3.HIDDEN_RANGE_DECORATION=My.register({description:"folding-hidden-range-decoration",stickiness:1});const D3={};class N3{constructor(e,t,n,i,o){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=n,this.foldingRangesLimit=i,this.fallbackRangeProvider=o,this.id="syntax",this.disposables=new rt,o&&this.disposables.add(o);for(const e of t)"function"==typeof e.onDidChange&&this.disposables.add(e.onDidChange(n))}compute(e){return function(e,t,n){let i=null;const o=e.map(((e,o)=>Promise.resolve(e.provideFoldingRanges(t,D3,n)).then((e=>{if(!n.isCancellationRequested&&Array.isArray(e)){Array.isArray(i)||(i=[]);const n=t.getLineCount();for(const t of e)t.start>0&&t.end>t.start&&t.end<=n&&i.push({start:t.start,end:t.end,rank:o,kind:t.kind})}}),ke)));return Promise.all(o).then((e=>i))}(this.providers,this.editorModel,e).then((t=>{var n,i;return t?function(e,t){const n=e.sort(((e,t)=>{let n=e.start-t.start;return 0===n&&(n=e.rank-t.rank),n})),i=new E3(t);let o;const s=[];for(const e of n)if(o){if(e.start>o.start)if(e.end<=o.end)s.push(o),o=e,i.add(e.start,e.end,e.kind&&e.kind.value,s.length);else{if(e.start>o.end){do{o=s.pop()}while(o&&e.start>o.end);o&&s.push(o),o=e}i.add(e.start,e.end,e.kind&&e.kind.value,s.length)}}else o=e,i.add(e.start,e.end,e.kind&&e.kind.value,s.length);return i.toIndentRanges()}(t,this.foldingRangesLimit):null!==(i=null===(n=this.fallbackRangeProvider)||void 0===n?void 0:n.compute(e))&&void 0!==i?i:null}))}dispose(){this.disposables.dispose()}}class E3{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,n,i){if(e>t3||t>t3)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=i,this._types[o]=n,this._length++,i<30&&(this._nestingLevelCounts[i]=(this._nestingLevelCounts[i]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=0;ne){n=i;break}t+=o}}const i=new Uint32Array(e),o=new Uint32Array(e),s=[];for(let r=0,l=0;rthis.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((e=>{if(e.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(47)&&this.onModelChanged(),e.hasChanged(110)||e.hasChanged(45)){const e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(110),this.foldingDecorationProvider.showFoldingHighlights=e.get(45),this.triggerFoldingModelChanged()}e.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),e.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),e.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(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n,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 r3(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new g3(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((e=>this.onHiddenRangesChanges(e)))),this.updateScheduler=new Bt(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new jt((()=>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((e=>this.onDidChangeModelContent(e)))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged()))),this.localToDispose.add(this.editor.onMouseDown((e=>this.onEditorMouseDown(e)))),this.localToDispose.add(this.editor.onMouseUp((e=>this.onEditorMouseUp(e)))),this.localToDispose.add({dispose:()=>{var e,t;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),null===(e=this.updateScheduler)||void 0===e||e.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,null===(t=this.rangeProvider)||void 0===t||t.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;null===(e=this.rangeProvider)||void 0===e||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new m3(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const n=I3.getFoldingRangeProviders(this.languageFeaturesService,e);n.length>0&&(this.rangeProvider=new N3(e,n,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;null===(t=this.hiddenRangeModel)||void 0===t||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 mt,n=this.getRangeProvider(e.textModel),i=this.foldingRegionPromise=Pt((e=>n.compute(e)));return i.then((n=>{if(n&&i===this.foldingRegionPromise){let i;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const e=n.setCollapsedAllOfType(NC.Imports.value,!0);e&&(i=OB.capture(this.editor),this._currentModelHasFoldedImports=e)}const o=this.editor.getSelections(),s=o?o.map((e=>e.startLineNumber)):[];e.update(n,s),null==i||i.restore(this.editor);const r=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return e}))})).then(void 0,(e=>(xe(e),null))))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then((e=>{if(e){const t=this.editor.getSelections();if(t&&t.length>0){const n=[];for(const i of t){const t=i.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&n.push(...e.getAllRegionsAtLine(t,(e=>e.isCollapsed&&t>e.startLineNumber)))}n.length&&(e.toggleCollapseState(n),this.reveal(t[0].getPosition()))}}})).then(void 0,xe)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range)return;if(!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let n=!1;switch(e.target.type){case 4:{const t=e.target.detail,i=e.target.element.offsetLeft;if(t.offsetX-i<4)return;n=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){const e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:n}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const n=this.mouseDownInfo.lineNumber,i=this.mouseDownInfo.iconClicked,o=e.target.range;if(!o||o.startLineNumber!==n)return;if(i){if(4!==e.target.type)return}else{const e=this.editor.getModel();if(!e||o.startColumn!==e.getLineMaxColumn(n))return}const s=t.getRegionAtLine(n);if(s&&s.startLineNumber===n){const o=s.isCollapsed;if(i||o){let i=[];if(e.event.altKey){const e=e=>!e.containedBy(s)&&!s.containedBy(e),n=t.getRegionsInside(null,e);for(const e of n)e.isCollapsed&&i.push(e);0===i.length&&(i=n)}else{const n=e.event.middleButton||e.event.shiftKey;if(n)for(const e of t.getRegionsInside(s))e.isCollapsed===o&&i.push(e);!o&&n&&0!==i.length||i.push(s)}t.toggleCollapseState(i),this.reveal({lineNumber:n,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};A3.ID="editor.contrib.folding",A3=I3=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([M3(1,su),M3(2,Qg),M3(3,nN),M3(4,sW),M3(5,wx)],A3);class R3{constructor(e){this.editor=e,this._onDidChange=new Ct,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 P3 extends zu{runEditorCommand(e,t,n){const i=e.get(Qg),o=A3.get(t);if(!o)return;const s=o.getFoldingModel();return s?(this.reportTelemetry(e,t),s.then((e=>{if(e){this.invoke(o,e,t,n,i);const s=t.getSelection();s&&o.reveal(s.getStartPosition())}}))):void 0}getSelectedLines(e){const t=e.getSelections();return t?t.map((e=>e.startLineNumber)):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map((e=>e+1)):this.getSelectedLines(t)}run(e,t){}}function O3(e){if(!ga(e)){if(!aa(e))return!1;const t=e;if(!ga(t.levels)&&!ua(t.levels))return!1;if(!ga(t.direction)&&!la(t.direction))return!1;if(!(ga(t.selectionLines)||Array.isArray(t.selectionLines)&&t.selectionLines.every(ua)))return!1}return!0}class F3 extends P3{getFoldingLevel(){return parseInt(this.id.substr(F3.ID_PREFIX.length))}invoke(e,t,n){!function(e,t,n,i){const o=e.getRegionsInside(null,((e,n)=>n===t&&true!==e.isCollapsed&&!i.some((t=>e.containsLine(t)))));e.toggleCollapseState(o)}(t,this.getFoldingLevel(),0,this.getSelectedLines(n))}}F3.ID_PREFIX="editor.foldLevel",F3.ID=e=>F3.ID_PREFIX+e,Zu(A3.ID,A3,0),$u(class extends P3{constructor(){super({id:"editor.unfold",label:_(0,"Unfold"),alias:"Unfold",precondition:T3,kbOpts:{kbExpr:oc.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:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* '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.\n\t\t\t\t\t\t",constraint:O3,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,n,i){const o=i&&i.levels||1,s=this.getLineNumbers(i,n);i&&"up"===i.direction?d3(t,!1,o,s):a3(t,!1,o,s)}}),$u(class extends P3{constructor(){super({id:"editor.unfoldRecursively",label:_(0,"Unfold Recursively"),alias:"Unfold Recursively",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2142),weight:100}})}invoke(e,t,n,i){a3(t,!1,Number.MAX_VALUE,this.getSelectedLines(n))}}),$u(class extends P3{constructor(){super({id:"editor.fold",label:_(0,"Fold"),alias:"Fold",precondition:T3,kbOpts:{kbExpr:oc.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:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* '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.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:O3,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,n,i){const o=this.getLineNumbers(i,n),s=i&&i.levels,r=i&&i.direction;"number"!=typeof s&&"string"!=typeof r?function(e,t,n){const i=[];for(const t of n){const n=e.getAllRegionsAtLine(t,(e=>true!==e.isCollapsed));n.length>0&&i.push(n[0])}e.toggleCollapseState(i)}(t,0,o):"up"===r?d3(t,!0,s||1,o):a3(t,!0,s||1,o)}}),$u(class extends P3{constructor(){super({id:"editor.foldRecursively",label:_(0,"Fold Recursively"),alias:"Fold Recursively",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2140),weight:100}})}invoke(e,t,n){const i=this.getSelectedLines(n);a3(t,!0,Number.MAX_VALUE,i)}}),$u(class extends P3{constructor(){super({id:"editor.foldAll",label:_(0,"Fold All"),alias:"Fold All",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2069),weight:100}})}invoke(e,t,n){a3(t,!0)}}),$u(class extends P3{constructor(){super({id:"editor.unfoldAll",label:_(0,"Unfold All"),alias:"Unfold All",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2088),weight:100}})}invoke(e,t,n){a3(t,!1)}}),$u(class extends P3{constructor(){super({id:"editor.foldAllBlockComments",label:_(0,"Fold All Block Comments"),alias:"Fold All Block Comments",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2138),weight:100}})}invoke(e,t,n,i,o){if(t.regions.hasTypes())h3(t,NC.Comment.value,!0);else{const e=n.getModel();if(!e)return;const i=o.getLanguageConfiguration(e.getLanguageId()).comments;i&&i.blockCommentStartToken&&c3(t,new RegExp("^\\s*"+ri(i.blockCommentStartToken)),!0)}}}),$u(class extends P3{constructor(){super({id:"editor.foldAllMarkerRegions",label:_(0,"Fold All Regions"),alias:"Fold All Regions",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2077),weight:100}})}invoke(e,t,n,i,o){if(t.regions.hasTypes())h3(t,NC.Region.value,!0);else{const e=n.getModel();if(!e)return;const i=o.getLanguageConfiguration(e.getLanguageId()).foldingRules;i&&i.markers&&i.markers.start&&c3(t,new RegExp(i.markers.start),!0)}}}),$u(class extends P3{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:_(0,"Unfold All Regions"),alias:"Unfold All Regions",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2078),weight:100}})}invoke(e,t,n,i,o){if(t.regions.hasTypes())h3(t,NC.Region.value,!1);else{const e=n.getModel();if(!e)return;const i=o.getLanguageConfiguration(e.getLanguageId()).foldingRules;i&&i.markers&&i.markers.start&&c3(t,new RegExp(i.markers.start),!1)}}}),$u(class extends P3{constructor(){super({id:"editor.foldAllExcept",label:_(0,"Fold All Except Selected"),alias:"Fold All Except Selected",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2136),weight:100}})}invoke(e,t,n){u3(t,!0,this.getSelectedLines(n))}}),$u(class extends P3{constructor(){super({id:"editor.unfoldAllExcept",label:_(0,"Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2134),weight:100}})}invoke(e,t,n){u3(t,!1,this.getSelectedLines(n))}}),$u(class extends P3{constructor(){super({id:"editor.toggleFold",label:_(0,"Toggle Fold"),alias:"Toggle Fold",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2090),weight:100}})}invoke(e,t,n){l3(t,1,this.getSelectedLines(n))}}),$u(class extends P3{constructor(){super({id:"editor.gotoParentFold",label:_(0,"Go to Parent Fold"),alias:"Go to Parent Fold",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,weight:100}})}invoke(e,t,n){const i=this.getSelectedLines(n);if(i.length>0){const e=function(e,t){let n=null;const i=t.getRegionAtLine(e);if(null!==i&&(n=i.startLineNumber,e===n)){const e=i.parentIndex;n=-1!==e?t.regions.getStartLineNumber(e):null}return n}(i[0],t);null!==e&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),$u(class extends P3{constructor(){super({id:"editor.gotoPreviousFold",label:_(0,"Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,weight:100}})}invoke(e,t,n){const i=this.getSelectedLines(n);if(i.length>0){const e=function(e,t){let n=t.getRegionAtLine(e);if(null!==n&&n.startLineNumber===e){if(e!==n.startLineNumber)return n.startLineNumber;{const e=n.parentIndex;let i=0;for(-1!==e&&(i=t.regions.getStartLineNumber(n.parentIndex));null!==n;){if(!(n.regionIndex>0))return null;if(n=t.regions.toRegion(n.regionIndex-1),n.startLineNumber<=i)return null;if(n.parentIndex===e)return n.startLineNumber}}}else if(t.regions.length>0)for(n=t.regions.toRegion(t.regions.length-1);null!==n;){if(n.startLineNumber0?t.regions.toRegion(n.regionIndex-1):null}return null}(i[0],t);null!==e&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),$u(class extends P3{constructor(){super({id:"editor.gotoNextFold",label:_(0,"Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,weight:100}})}invoke(e,t,n){const i=this.getSelectedLines(n);if(i.length>0){const e=function(e,t){let n=t.getRegionAtLine(e);if(null!==n&&n.startLineNumber===e){const e=n.parentIndex;let i=0;if(-1!==e)i=t.regions.getEndLineNumber(n.parentIndex);else{if(0===t.regions.length)return null;i=t.regions.getEndLineNumber(t.regions.length-1)}for(;null!==n;){if(!(n.regionIndex=i)return null;if(n.parentIndex===e)return n.startLineNumber}}else if(t.regions.length>0)for(n=t.regions.toRegion(0);null!==n;){if(n.startLineNumber>e)return n.startLineNumber;n=n.regionIndexe.startLineNumber&&(o.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),n.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(o.length>0){o.sort(((e,t)=>e.startLineNumber-t.startLineNumber));const e=o3.sanitizeAndMerge(t.regions,o,null===(i=n.getModel())||void 0===i?void 0:i.getLineCount());t.updatePost(o3.fromFoldRanges(e))}}}}),$u(class extends P3{constructor(){super({id:"editor.removeManualFoldingRanges",label:_(0,"Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2137),weight:100}})}invoke(e,t,n){const i=n.getSelections();if(i){const n=[];for(const e of i){const{startLineNumber:t,endLineNumber:i}=e;n.push(i>=t?{startLineNumber:t,endLineNumber:i}:{endLineNumber:i,startLineNumber:t})}t.removeManualRanges(n),e.triggerFoldingModelChanged()}}});for(let e=1;e<=7;e++)B3=new F3({id:F3.ID(e),label:_(0,"Fold Level {0}",e),alias:`Fold Level ${e}`,precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2048|21+e),weight:100}}),Xu.INSTANCE.registerEditorAction(B3);var B3;Cd.registerCommand("_executeFoldingRangeProvider",(async function(e,...t){const[n]=t;if(!(n instanceof Io))throw Ie();const i=e.get(wx),o=e.get(hd).getModel(n);if(!o)throw Ie();const s=e.get(pg);if(!s.getValue("editor.folding",{resource:n}))return[];const r=e.get(Qg),l=s.getValue("editor.foldingStrategy",{resource:n}),a={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:n})},update:(e,t)=>{}},d=new m3(o,r,a);let u=d;if("indentation"!==l){const e=A3.getFoldingRangeProviders(i,o);e.length&&(u=new N3(o,e,(()=>{}),a,d))}const c=await u.compute(It.None),h=[];try{if(c)for(let e=0;ewY.replace(nc.lift(e.range),e.text)))):e.executeEdits("formatEditsCommand",o.map((e=>wY.replaceMove(nc.lift(e.range),e.text)))),n&&e.pushUndoStop(),i.restoreRelativeVerticalPositionOfCursor(e)}}class V3{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return"string"==typeof e?e.toLowerCase():e._lower}}class H3{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(V3.toKey(e))}has(e){return this._set.has(V3.toKey(e))}}function z3(e,t,n){const i=[],o=new H3,s=e.ordered(n);for(const e of s)i.push(e),e.extensionId&&o.add(e.extensionId);const r=t.ordered(n);for(const e of r){if(e.extensionId){if(o.has(e.extensionId))continue;o.add(e.extensionId)}i.push({displayName:e.displayName,extensionId:e.extensionId,provideDocumentFormattingEdits:(t,n,i)=>e.provideDocumentRangeFormattingEdits(t,t.getFullModelRange(),n,i)})}return i}class U3{static setFormatterSelector(e){return{dispose:U3._selectors.unshift(e)}}static async select(e,t,n,i){if(0===e.length)return;const o=Ye.first(U3._selectors);return o?await o(e,t,n,i):void 0}}async function K3(e,t,n,i,o,s,r){const l=e.get(ad),{documentRangeFormattingEditProvider:a}=e.get(wx),d=GU(t)?t.getModel():t,u=a.ordered(d),c=await U3.select(u,d,i,2);c&&(o.report(c),await l.invokeFunction(j3,c,t,n,s,r))}async function j3(e,t,n,i,o,s){var r,l;const a=e.get(AX),d=e.get(Tu),u=e.get(GY);let c,h;GU(n)?(c=n.getModel(),h=new rk(n,5,void 0,o)):(c=n,h=new lk(n,o));const g=[];let p=0;for(const e of $c(i).sort(nc.compareRangesUsingStarts))p>0&&nc.areIntersectingOrTouching(g[p-1],e)?g[p-1]=nc.fromPositions(g[p-1].getStartPosition(),e.getEndPosition()):p=g.push(e);const m=async e=>{var n,i;d.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(n=t.extensionId)||void 0===n?void 0:n.value,e);const o=await t.provideDocumentRangeFormattingEdits(c,e,c.getFormattingOptions(),h.token)||[];return d.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(i=t.extensionId)||void 0===i?void 0:i.value,o),o},f=(e,t)=>{if(!e.length||!t.length)return!1;const n=e.reduce(((e,t)=>nc.plusRange(e,t.range)),e[0].range);if(!t.some((e=>nc.intersectRanges(n,e.range))))return!1;for(const n of e)for(const e of t)if(nc.intersectRanges(n.range,e.range))return!0;return!1},_=[],v=[];try{if("function"==typeof t.provideDocumentRangesFormattingEdits){d.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(r=t.extensionId)||void 0===r?void 0:r.value,g);const e=await t.provideDocumentRangesFormattingEdits(c,g,c.getFormattingOptions(),h.token)||[];d.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(l=t.extensionId)||void 0===l?void 0:l.value,e),v.push(e)}else{for(const e of g){if(h.token.isCancellationRequested)return!0;v.push(await m(e))}for(let e=0;e({text:e.text,range:nc.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:n}of e)if(nc.areIntersectingOrTouching(n,t))return[new ic(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null}))}return u.playSignal(XY.format,{userGesture:s}),!0}async function q3(e,t,n,i,o,s){const r=e.get(ad),l=e.get(wx),a=GU(t)?t.getModel():t,d=z3(l.documentFormattingEditProvider,l.documentRangeFormattingEditProvider,a),u=await U3.select(d,a,n,1);u&&(i.report(u),await r.invokeFunction($3,u,t,n,o,s))}async function $3(e,t,n,i,o,s){const r=e.get(AX),l=e.get(GY);let a,d,u;GU(n)?(a=n.getModel(),d=new rk(n,5,void 0,o)):(a=n,d=new lk(n,o));try{const e=await t.provideDocumentFormattingEdits(a,a.getFormattingOptions(),d.token);if(u=await r.computeMoreMinimalEdits(a.uri,e),d.token.isCancellationRequested)return!0}finally{d.dispose()}if(!u||0===u.length)return!1;if(GU(n))W3.execute(n,u,2!==i),2!==i&&n.revealPositionInCenterIfOutsideViewport(n.getPosition(),1);else{const[{range:e}]=u,t=new ic(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);a.pushEditOperations([t],u.map((e=>({text:e.text,range:nc.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:n}of e)if(nc.areIntersectingOrTouching(n,t))return[new ic(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null}))}return l.playSignal(XY.format,{userGesture:s}),!0}function G3(e,t,n,i,o,s,r){const l=t.onTypeFormattingEditProvider.ordered(n);return 0===l.length||l[0].autoFormatTriggerCharacters.indexOf(o)<0?Promise.resolve(void 0):Promise.resolve(l[0].provideOnTypeFormattingEdits(n,i,o,s,r)).catch(ke).then((t=>e.computeMoreMinimalEdits(n.uri,t)))}U3._selectors=new gt,Cd.registerCommand("_executeFormatRangeProvider",(async function(e,...t){const[n,i,o]=t;fa(Io.isUri(n)),fa(nc.isIRange(i));const s=e.get(gd),r=e.get(AX),l=e.get(wx),a=await s.createModelReference(n);try{return async function(e,t,n,i,o,s){const r=t.documentRangeFormattingEditProvider.ordered(n);for(const t of r){const r=await Promise.resolve(t.provideDocumentRangeFormattingEdits(n,i,o,s)).catch(ke);if(Wc(r))return await e.computeMoreMinimalEdits(n.uri,r)}}(r,l,a.object.textEditorModel,nc.lift(i),o,It.None)}finally{a.dispose()}})),Cd.registerCommand("_executeFormatDocumentProvider",(async function(e,...t){const[n,i]=t;fa(Io.isUri(n));const o=e.get(gd),s=e.get(AX),r=e.get(wx),l=await o.createModelReference(n);try{return async function(e,t,n,i,o){const s=z3(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,n);for(const t of s){const s=await Promise.resolve(t.provideDocumentFormattingEdits(n,i,o)).catch(ke);if(Wc(s))return await e.computeMoreMinimalEdits(n.uri,s)}}(s,r,l.object.textEditorModel,i,It.None)}finally{l.dispose()}})),Cd.registerCommand("_executeFormatOnTypeProvider",(async function(e,...t){const[n,i,o,s]=t;fa(Io.isUri(n)),fa(cd.isIPosition(i)),fa("string"==typeof o);const r=e.get(gd),l=e.get(AX),a=e.get(wx),d=await r.createModelReference(n);try{return G3(l,a,d.object.textEditorModel,cd.lift(i),o,s,It.None)}finally{d.dispose()}}));var Z3=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Y3=function(e,t){return function(n,i){t(n,i,e)}};let X3=class{constructor(e,t,n,i){this._editor=e,this._languageFeaturesService=t,this._workerService=n,this._accessibilitySignalService=i,this._disposables=new rt,this._sessionDisposables=new rt,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((e=>{e.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const n=new jw;for(const e of t.autoFormatTriggerCharacters)n.add(e.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((e=>{const t=e.charCodeAt(e.length-1);n.has(t)&&this._trigger(String.fromCharCode(t))})))}_trigger(e){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),n=this._editor.getPosition(),i=new Tt,o=this._editor.onDidChangeModelContent((e=>{if(e.isFlush)return i.cancel(),void o.dispose();for(let t=0,s=e.changes.length;t{i.token.isCancellationRequested||Wc(e)&&(this._accessibilitySignalService.playSignal(XY.format,{userGesture:!1}),W3.execute(this._editor,e,!0))})).finally((()=>{o.dispose()}))}};X3.ID="editor.contrib.autoFormat",X3=Z3([Y3(1,wx),Y3(2,AX),Y3(3,GY)],X3);let Q3=class{constructor(e,t,n){this.editor=e,this._languageFeaturesService=t,this._instantiationService=n,this._callOnDispose=new rt,this._callOnModel=new rt,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(K3,this.editor,e,2,vL.None,It.None,!1).catch(xe))}};Q3.ID="editor.contrib.formatOnPaste",Q3=Z3([Y3(1,wx),Y3(2,ad)],Q3),Zu(X3.ID,X3,2),Zu(Q3.ID,Q3,2),$u(class extends zu{constructor(){super({id:"editor.action.formatDocument",label:_(0,"Format Document"),alias:"Format Document",precondition:Bd.and(oc.notInCompositeEditor,oc.writable,oc.hasDocumentFormattingProvider),kbOpts:{kbExpr:oc.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const n=e.get(ad),i=e.get(bL);await i.showWhile(n.invokeFunction(q3,t,1,vL.None,It.None,!0),250)}}}),$u(class extends zu{constructor(){super({id:"editor.action.formatSelection",label:_(0,"Format Selection"),alias:"Format Selection",precondition:Bd.and(oc.writable,oc.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2084),weight:100},contextMenuOpts:{when:oc.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const n=e.get(ad),i=t.getModel(),o=t.getSelections().map((e=>e.isEmpty()?new nc(e.startLineNumber,1,e.startLineNumber,i.getLineMaxColumn(e.startLineNumber)):e)),s=e.get(bL);await s.showWhile(n.invokeFunction(K3,t,o,1,vL.None,It.None,!0),250)}}),Cd.registerCommand("editor.action.format",(async e=>{const t=e.get(ud).getFocusedCodeEditor();if(!t||!t.hasModel())return;const n=e.get(wd);t.getSelection().isEmpty()?await n.executeCommand("editor.action.formatDocument"):await n.executeCommand("editor.action.formatSelection")}));class J3{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t){var n;const i=new rt;e.canAcceptInBackground=!!(null===(n=this.options)||void 0===n?void 0:n.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const o=i.add(new at);return o.value=this.doProvide(e,t),i.add(this.onDidActiveTextEditorControlChange((()=>{o.value=void 0,o.value=this.doProvide(e,t)}))),i}doProvide(e,t){var n;const i=new rt,o=this.activeTextEditorControl;if(o&&this.canProvideWithTextEditor(o)){const s={editor:o},r=YU(o);if(r){let e=null!==(n=o.saveViewState())&&void 0!==n?n:void 0;i.add(r.onDidChangeCursorPosition((()=>{var t;e=null!==(t=o.saveViewState())&&void 0!==t?t:void 0}))),s.restoreViewState=()=>{e&&o===this.activeTextEditorControl&&o.restoreViewState(e)},i.add(Ze(t.onCancellationRequested)((()=>{var e;return null===(e=s.restoreViewState)||void 0===e?void 0:e.call(s)})))}i.add(st((()=>this.clearDecorations(o)))),i.add(this.provideWithTextEditor(s,e,t))}else i.add(this.provideWithoutTextEditor(e,t));return i}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const n=e.getModel();n&&"getLineContent"in n&&Yr(`${n.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return ZU(e)?null===(t=e.getModel())||void 0===t?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations((e=>{const n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const i=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:Av(mb),position:bc.Full}}}],[o,s]=e.deltaDecorations(n,i);this.rangeHighlightDecorationId={rangeHighlightId:o,overviewRulerDecorationId:s}}))}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations((e=>{e.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class e0 extends J3{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=_(0,"Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,lt.None}provideWithTextEditor(e,t,n){const i=e.editor,o=new rt;o.add(t.onDidAccept((n=>{const[o]=t.selectedItems;if(o){if(!this.isValidLineNumber(i,o.lineNumber))return;this.gotoLocation(e,{range:this.toRange(o.lineNumber,o.column),keyMods:t.keyMods,preserveFocus:n.inBackground}),n.inBackground||t.hide()}})));const s=()=>{const e=this.parsePosition(i,t.value.trim().substr(e0.PREFIX.length)),n=this.getPickLabel(i,e.lineNumber,e.column);if(t.items=[{lineNumber:e.lineNumber,column:e.column,label:n}],t.ariaLabel=n,!this.isValidLineNumber(i,e.lineNumber))return void this.clearDecorations(i);const o=this.toRange(e.lineNumber,e.column);i.revealRangeInCenter(o,0),this.addDecorations(i,o)};s(),o.add(t.onDidChangeValue((()=>s())));const r=YU(i);return r&&2===r.getOptions().get(68).renderType&&(r.updateOptions({lineNumbers:"on"}),o.add(st((()=>r.updateOptions({lineNumbers:"relative"}))))),o}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const n=t.split(/,|:|#/).map((e=>parseInt(e,10))).filter((e=>!isNaN(e))),i=this.lineCount(e)+1;return{lineNumber:n[0]>0?n[0]:i+n[0],column:n[1]}}getPickLabel(e,t,n){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,n)?_(0,"Go to line {0} and character {1}.",t,n):_(0,"Go to line {0}.",t);const i=e.getPosition()||{lineNumber:1,column:1},o=this.lineCount(e);return o>1?_(0,"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",i.lineNumber,i.column,o):_(0,"Current Line: {0}, Character: {1}. Type a line number to navigate to.",i.lineNumber,i.column)}isValidLineNumber(e,t){return!(!t||"number"!=typeof t)&&t>0&&t<=this.lineCount(e)}isValidColumn(e,t,n){if(!n||"number"!=typeof n)return!1;const i=this.getModel(e);if(!i)return!1;const o={lineNumber:t,column:n};return i.validatePosition(o).equals(o)}lineCount(e){var t,n;return null!==(n=null===(t=this.getModel(e))||void 0===t?void 0:t.getLineCount())&&void 0!==n?n:0}}var t0;e0.PREFIX=":",function(e){e[e.PRESERVE=0]="PRESERVE",e[e.LAST=1]="LAST"}(t0||(t0={}));const n0="workbench.contributions.quickaccess";var i0,o0,s0,r0,l0,a0,d0,u0;fu.add(n0,new class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return 0===e.prefix.length?this.defaultProvider=e:this.providers.push(e),this.providers.sort(((e,t)=>t.prefix.length-e.prefix.length)),st((()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)}))}getQuickAccessProviders(){return Oc([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find((t=>e.startsWith(t.prefix)))||this.defaultProvider}}),function(e){e.inspectTokensAction=_(0,"Developer: Inspect Tokens")}(i0||(i0={})),function(e){e.gotoLineActionLabel=_(0,"Go to Line/Column...")}(o0||(o0={})),function(e){e.helpQuickAccessActionLabel=_(0,"Show all Quick Access Providers")}(s0||(s0={})),function(e){e.quickCommandActionLabel=_(0,"Command Palette"),e.quickCommandHelp=_(0,"Show And Run Commands")}(r0||(r0={})),function(e){e.quickOutlineActionLabel=_(0,"Go to Symbol..."),e.quickOutlineByCategoryActionLabel=_(0,"Go to Symbol by Category...")}(l0||(l0={})),function(e){e.editorViewAccessibleLabel=_(0,"Editor content"),e.accessibilityHelpMessage=_(0,"Press Alt+F1 for Accessibility Options.")}(a0||(a0={})),function(e){e.toggleHighContrast=_(0,"Toggle High Contrast Theme")}(d0||(d0={})),function(e){e.bulkEditServiceSummary=_(0,"Made {0} edits in {1} files")}(u0||(u0={}));let c0=class extends e0{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=ft.None}get activeTextEditorControl(){var e;return null!==(e=this.editorService.getFocusedCodeEditor())&&void 0!==e?e:void 0}};c0=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,ud)],c0);class h0 extends zu{constructor(){super({id:h0.ID,label:o0.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(SL).quickAccess.show(c0.PREFIX)}}h0.ID="editor.action.gotoLine",$u(h0),fu.as(n0).registerQuickAccessProvider({ctor:c0,prefix:c0.PREFIX,helpEntries:[{description:o0.gotoLineActionLabel,commandId:h0.ID}]});var g0=n(9337),p0={};p0.styleTagTransform=Vr(),p0.setAttributes=Or(),p0.insert=Rr().bind(null,"head"),p0.domAPI=Tr(),p0.insertStyleElement=Br(),Ir()(g0.A,p0),g0.A&&g0.A.locals&&g0.A.locals;class m0 extends lt{constructor(e){super(),this.editor=e,this.widget=null,G&&(this._register(e.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const e=!this.editor.getOption(91);!this.widget&&e?this.widget=new f0(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}m0.ID="editor.contrib.iPadShowKeyboard";class f0 extends lt{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(ms(this._domNode,"touchstart",(e=>{this.editor.focus()}))),this._register(ms(this._domNode,"focus",(e=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return f0.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}f0.ID="editor.contrib.ShowKeyboardWidget",Zu(m0.ID,m0,3);class _0{constructor(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new ic(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new ic(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var v0=n(6437),b0={};b0.styleTagTransform=Vr(),b0.setAttributes=Or(),b0.insert=Rr().bind(null,"head"),b0.domAPI=Tr(),b0.insertStyleElement=Br(),Ir()(v0.A,b0),v0.A&&v0.A.locals&&v0.A.locals;var w0;let C0=w0=class{static get(e){return e.getContribution(w0.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var n;null===(n=this.currentRequest)||void 0===n||n.cancel();const i=this.editor.getSelection(),o=this.editor.getModel();if(!o||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const r=new sk(this.editor,5),l=o.uri;return this.editorWorkerService.canNavigateValueSet(l)?(this.currentRequest=Pt((e=>this.editorWorkerService.navigateValueSet(l,s,t))),this.currentRequest.then((t=>{var n;if(!t||!t.range||!t.value)return;if(!r.validate(this.editor))return;const i=nc.lift(t.range);let o=t.range;const l=t.value.length-(s.endColumn-s.startColumn);o={startLineNumber:o.startLineNumber,startColumn:o.startColumn,endLineNumber:o.endLineNumber,endColumn:o.startColumn+t.value.length},l>1&&(s=new ic(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+l-1));const a=new _0(i,s,t.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,a),this.editor.pushUndoStop(),this.decorations.set([{range:o,options:w0.DECORATION}]),null===(n=this.decorationRemover)||void 0===n||n.cancel(),this.decorationRemover=Vt(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(xe)})).catch(xe)):Promise.resolve(void 0)}};function y0(e,t){let n=0;for(let i=0;ii-1)return[];const{tabSize:r,indentSize:l,insertSpaces:a}=e.getOptions(),d=(e,t)=>(t=t||1,fS.shiftIndent(e,e.length+t,r,l,a)),u=(e,t)=>(t=t||1,fS.unshiftIndent(e,e.length+t,r,l,a)),c=[];let h;const g=e.getLineContent(n);let p=g;if(null!=o){h=o;const e=gi(g);p=h+g.substring(e.length),s.decreaseIndentPattern&&s.decreaseIndentPattern.test(p)&&(h=u(h),p=h+g.substring(e.length)),g!==p&&c.push(wY.replaceMove(new ic(n,1,n,e.length+1),uh(h,l,a)))}else h=gi(g);let m=h;s.increaseIndentPattern&&s.increaseIndentPattern.test(p)?(m=d(m),h=d(h)):s.indentNextLinePattern&&s.indentNextLinePattern.test(p)&&(m=d(m));for(let t=++n;t<=i;t++){const n=e.getLineContent(t),i=gi(n),o=m+n.substring(i.length);s.decreaseIndentPattern&&s.decreaseIndentPattern.test(o)&&(m=u(m),h=u(h)),i!==m&&c.push(wY.replaceMove(new ic(t,1,t,i.length+1),uh(m,l,a))),s.unIndentedLinePattern&&s.unIndentedLinePattern.test(n)||(s.increaseIndentPattern&&s.increaseIndentPattern.test(o)?(h=d(h),m=h):m=s.indentNextLinePattern&&s.indentNextLinePattern.test(o)?d(m):h)}return c}C0.ID="editor.contrib.inPlaceReplaceController",C0.DECORATION=My.register({description:"in-place-replace",className:"valueSetReplacement"}),C0=w0=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,AX)],C0),Zu(C0.ID,C0,4),$u(class extends zu{constructor(){super({id:"editor.action.inPlaceReplace.up",label:_(0,"Replace with Previous Value"),alias:"Replace with Previous Value",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:3159,weight:100}})}run(e,t){const n=C0.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)}}),$u(class extends zu{constructor(){super({id:"editor.action.inPlaceReplace.down",label:_(0,"Replace with Next Value"),alias:"Replace with Next Value",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:3161,weight:100}})}run(e,t){const n=C0.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)}});class k0 extends zu{constructor(){super({id:k0.ID,label:_(0,"Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:oc.writable})}run(e,t){const n=t.getModel();if(!n)return;const i=n.getOptions(),o=t.getSelection();if(!o)return;const s=new P0(o,i.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),n.updateOptions({insertSpaces:!0})}}k0.ID="editor.action.indentationToSpaces";class L0 extends zu{constructor(){super({id:L0.ID,label:_(0,"Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:oc.writable})}run(e,t){const n=t.getModel();if(!n)return;const i=n.getOptions(),o=t.getSelection();if(!o)return;const s=new O0(o,i.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),n.updateOptions({insertSpaces:!1})}}L0.ID="editor.action.indentationToTabs";class D0 extends zu{constructor(e,t,n){super(n),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const n=e.get(SL),i=e.get(hd),o=t.getModel();if(!o)return;const s=i.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget),r=o.getOptions(),l=[1,2,3,4,5,6,7,8].map((e=>({id:e.toString(),label:e.toString(),description:e===s.tabSize&&e===r.tabSize?_(0,"Configured Tab Size"):e===s.tabSize?_(0,"Default Tab Size"):e===r.tabSize?_(0,"Current Tab Size"):void 0}))),a=Math.min(o.getOptions().tabSize-1,7);setTimeout((()=>{n.pick(l,{placeHolder:_(0,"Select Tab Size for Current File"),activeItem:l[a]}).then((e=>{if(e&&o&&!o.isDisposed()){const t=parseInt(e.label,10);this.displaySizeOnly?o.updateOptions({tabSize:t}):o.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}}))}),50)}}class N0 extends D0{constructor(){super(!1,!1,{id:N0.ID,label:_(0,"Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}N0.ID="editor.action.indentUsingTabs";class E0 extends D0{constructor(){super(!0,!1,{id:E0.ID,label:_(0,"Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}E0.ID="editor.action.indentUsingSpaces";class I0 extends D0{constructor(){super(!0,!0,{id:I0.ID,label:_(0,"Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}I0.ID="editor.action.changeTabDisplaySize";class M0 extends zu{constructor(){super({id:M0.ID,label:_(0,"Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const n=e.get(hd),i=t.getModel();if(!i)return;const o=n.getCreationOptions(i.getLanguageId(),i.uri,i.isForSimpleWidget);i.detectIndentation(o.insertSpaces,o.tabSize)}}M0.ID="editor.action.detectIndentation";class T0{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const t of e)t.range&&"string"==typeof t.text&&this._edits.push(t)}getEditOperations(e,t){for(const e of this._edits)t.addEditOperation(nc.lift(e.range),e.text);let n=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),n||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let A0=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new rt,this.callOnModel=new rt,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(null===t||t.length>1)return;const n=this.editor.getModel();if(!n)return;if(!n.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const i=this.editor.getOption(12),{tabSize:o,indentSize:s,insertSpaces:r}=n.getOptions(),l=[],a={shiftIndent:e=>fS.shiftIndent(e,e.length+1,o,s,r),unshiftIndent:e=>fS.unshiftIndent(e,e.length+1,o,s,r)};let d=e.startLineNumber;for(;d<=e.endLineNumber&&this.shouldIgnoreLine(n,d);)d++;if(d>e.endLineNumber)return;let u=n.getLineContent(d);if(!/\S/.test(u.substring(0,e.startColumn-1))){const e=wS(i,n,n.getLanguageId(),d,a,this._languageConfigurationService);if(null!==e){const t=gi(u),i=y0(e,o);if(i!==y0(t,o)){const e=S0(i,o,r);l.push({range:new nc(d,1,d,t.length+1),text:e}),u=e+u.substr(t.length)}else{const e=CS(n,d,this._languageConfigurationService);if(0===e||8===e)return}}}const c=d;for(;dn.tokenization.getLineTokens(e),getLanguageId:()=>n.getLanguageId(),getLanguageIdAtPosition:(e,t)=>n.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===c?u:n.getLineContent(e)},n.getLanguageId(),d+1,a,this._languageConfigurationService);if(null!==t){const i=y0(t,o),s=y0(gi(n.getLineContent(d+1)),o);if(i!==s){const t=i-s;for(let i=d+1;i<=e.endLineNumber;i++){const e=gi(n.getLineContent(i)),s=S0(y0(e,o)+t,o,r);s!==e&&l.push({range:new nc(i,1,i,e.length+1),text:s})}}}}if(l.length>0){this.editor.pushUndoStop();const e=new T0(l,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",e),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const n=e.getLineFirstNonWhitespaceColumn(t);if(0===n)return!0;const i=e.tokenization.getLineTokens(t);if(i.getCount()>0){const e=i.findTokenIndexAtOffset(n);if(e>=0&&1===i.getStandardTokenType(e))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function R0(e,t,n,i){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;let o="";for(let e=0;e=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,Qg)],A0);class P0{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),R0(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class O0{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),R0(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}Zu(A0.ID,A0,2),$u(k0),$u(L0),$u(N0),$u(E0),$u(I0),$u(M0),$u(class extends zu{constructor(){super({id:"editor.action.reindentlines",label:_(0,"Reindent Lines"),alias:"Reindent Lines",precondition:oc.writable})}run(e,t){const n=e.get(Qg),i=t.getModel();if(!i)return;const o=x0(i,n,1,i.getLineCount());o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}),$u(class extends zu{constructor(){super({id:"editor.action.reindentselectedlines",label:_(0,"Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:oc.writable})}run(e,t){const n=e.get(Qg),i=t.getModel();if(!i)return;const o=t.getSelections();if(null===o)return;const s=[];for(const e of o){let t=e.startLineNumber,o=e.endLineNumber;if(t!==o&&1===e.endColumn&&o--,1===t){if(t===o)continue}else t--;const r=x0(i,n,t,o);s.push(...r)}s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}});class F0{constructor(e,t){this.range=e,this.direction=t}}class B0{constructor(e,t,n){this.hint=e,this.anchor=t,this.provider=n,this._isResolved=!1}with(e){const t=new B0(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,e.isCancellationRequested)return;return this.resolve(e)}this._isResolved||(this._currentResolve=this._doResolve(e).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(e){var t,n,i;try{const o=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=null!==(t=null==o?void 0:o.tooltip)&&void 0!==t?t:this.hint.tooltip,this.hint.label=null!==(n=null==o?void 0:o.label)&&void 0!==n?n:this.hint.label,this.hint.textEdits=null!==(i=null==o?void 0:o.textEdits)&&void 0!==i?i:this.hint.textEdits,this._isResolved=!0}catch(e){ke(e),this._isResolved=!1}}}class W0{static async create(e,t,n,i){const o=[],s=e.ordered(t).reverse().map((e=>n.map((async n=>{try{const s=await e.provideInlayHints(t,n,i);((null==s?void 0:s.hints.length)||e.onDidChangeInlayHints)&&o.push([null!=s?s:W0._emptyInlayHintList,e])}catch(e){ke(e)}}))));if(await Promise.all(s.flat()),i.isCancellationRequested||t.isDisposed())throw new Ee;return new W0(n,o,t)}constructor(e,t,n){this._disposables=new rt,this.ranges=e,this.provider=new Set;const i=[];for(const[e,o]of t){this._disposables.add(e),this.provider.add(o);for(const t of e.hints){const e=n.validatePosition(t.position);let s="before";const r=W0._getRangeAtPosition(n,e);let l;r.getStartPosition().isBefore(e)?(l=nc.fromPositions(r.getStartPosition(),e),s="after"):(l=nc.fromPositions(e,r.getEndPosition()),s="before"),i.push(new B0(t,new F0(l,s),o))}}this.items=i.sort(((e,t)=>cd.compare(e.hint.position,t.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const n=t.lineNumber,i=e.getWordAtPosition(t);if(i)return new nc(n,i.startColumn,n,i.endColumn);e.tokenization.tokenizeIfCheap(n);const o=e.tokenization.getLineTokens(n),s=t.column-1,r=o.findTokenIndexAtOffset(s);let l=o.getStartOffset(r),a=o.getEndOffset(r);return a-l==1&&(l===s&&r>1?(l=o.getStartOffset(r-1),a=o.getEndOffset(r-1)):a===s&&ryu(e)?e.command.id:nx())));for(const e of aG.all())h.has(e.desc.id)&&c.push(new pd(e.desc.id,Nu.label(e.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const n=await s.createModelReference(u.uri);try{const o=new lG(n.object.textEditorModel,nc.getStartPosition(u.range)),s=i.item.anchor.range;await a.invokeFunction(e.runEditorCommand.bind(e),t,o,s)}finally{n.dispose()}})));if(i.part.command){const{command:e}=i.part;c.push(new fd),c.push(new pd(e.id,e.title,void 0,!0,(async()=>{var t;try{await l.executeCommand(e.id,...null!==(t=e.arguments)&&void 0!==t?t:[])}catch(e){d.notify({severity:tN.Error,source:i.item.provider.displayName,message:e})}})))}const g=t.getOption(127);r.showContextMenu({domForShadowRoot:g&&null!==(o=t.getDomNode())&&void 0!==o?o:void 0,getAnchor:()=>{const e=Es(n);return{x:e.left,y:e.top+e.height+8}},getActions:()=>c,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}async function H0(e,t,n,i){const o=e.get(gd),s=await o.createModelReference(i.uri);await n.invokeWithinContext((async e=>{const o=t.hasSideBySideModifier,r=e.get(su),l=BU.inPeekEditor.getValue(r),a=!o&&n.getOption(88)&&!l;return new dG({openToSide:o,openInPeek:a,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e,new lG(s.object.textEditorModel,nc.getStartPosition(i.range)),nc.lift(i.range))})),s.dispose()}W0._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});var z0,U0=function(e,t){return function(n,i){t(n,i,e)}};class K0{constructor(){this._entries=new il(50)}get(e){const t=K0._key(e);return this._entries.get(t)}set(e,t){const n=K0._key(e);this._entries.set(n,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const j0=dd("IInlayHintsCache");yg(j0,K0,1);class q0{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return"string"==typeof e?{label:e}:e[this.index]}}class $0{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let G0=z0=class{static get(e){var t;return null!==(t=e.getContribution(z0.ID))&&void 0!==t?t:void 0}constructor(e,t,n,i,o,s,r){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=i,this._commandService=o,this._notificationService=s,this._instaService=r,this._disposables=new rt,this._sessionDisposables=new rt,this._decorationsMetadata=new Map,this._ruleFactory=new KT(this._editor),this._activeRenderMode=0,this._debounceInfo=n.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((e=>{e.hasChanged(141)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(141);if("off"===e.enabled)return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if("on"===e.enabled)this._activeRenderMode=0;else{let t,n;"onUnlessPressed"===e.enabled?(t=0,n=1):(t=1,n=0),this._activeRenderMode=t,this._sessionDisposables.add(xr.getInstance().event((e=>{if(!this._editor.hasModel())return;const i=e.altKey&&e.ctrlKey&&!e.shiftKey&&!e.metaKey?n:t;if(i!==this._activeRenderMode){this._activeRenderMode=i;const e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),s.schedule(0)}})))}const n=this._inlayHintsCache.get(t);let i;n&&this._updateHintsDecorators([t.getFullModelRange()],n),this._sessionDisposables.add(st((()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)})));const o=new Set,s=new jt((async()=>{const e=Date.now();null==i||i.dispose(!0),i=new Tt;const n=t.onWillDispose((()=>null==i?void 0:i.cancel()));try{const n=i.token,r=await W0.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),n);if(s.delay=this._debounceInfo.update(t,Date.now()-e),n.isCancellationRequested)return void r.dispose();for(const e of r.provider)"function"!=typeof e.onDidChangeInlayHints||o.has(e)||(o.add(e),this._sessionDisposables.add(e.onDidChangeInlayHints((()=>{s.isScheduled()||s.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(t)}catch(e){xe(e)}finally{i.dispose(),n.dispose()}}),this._debounceInfo.get(t));this._sessionDisposables.add(s),this._sessionDisposables.add(st((()=>null==i?void 0:i.dispose(!0)))),s.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((e=>{!e.scrollTopChanged&&s.isScheduled()||s.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((e=>{null==i||i.cancel();const t=Math.max(s.delay,1250);s.schedule(t)}))),this._sessionDisposables.add(this._installDblClickGesture((()=>s.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new rt,t=e.add(new Zz(this._editor)),n=new rt;return e.add(n),e.add(t.onMouseMoveOrRelevantKeyDown((e=>{const[t]=e,i=this._getInlayHintLabelPart(t),o=this._editor.getModel();if(!i||!o)return void n.clear();const s=new Tt;n.add(st((()=>s.dispose(!0)))),i.item.resolve(s.token),this._activeInlayHintPart=i.part.command||i.part.location?new $0(i,t.hasTriggerModifier):void 0;const r=o.validatePosition(i.item.hint.position).lineNumber,l=new nc(r,1,r,o.getLineMaxColumn(r)),a=this._getInlineHintsForRange(l);this._updateHintsDecorators([l],a),n.add(st((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([l],a)})))}))),e.add(t.onCancel((()=>n.clear()))),e.add(t.onExecute((async e=>{const t=this._getInlayHintLabelPart(e);if(t){const n=t.part;n.location?this._instaService.invokeFunction(H0,e,this._editor,n.location):LC.is(n.command)&&await this._invokeCommand(n.command,t.item)}}))),e}_getInlineHintsForRange(e){const t=new Set;for(const n of this._decorationsMetadata.values())e.containsRange(n.item.anchor.range)&&t.add(n.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp((async t=>{if(2!==t.event.detail)return;const n=this._getInlayHintLabelPart(t);if(n&&(t.event.preventDefault(),await n.item.resolve(It.None),Wc(n.item.hint.textEdits))){const t=n.item.hint.textEdits.map((e=>wY.replace(nc.lift(e.range),e.text)));this._editor.executeEdits("inlayHint.default",t),e()}}))}_installContextMenu(){return this._editor.onContextMenu((async e=>{if(!(e.event.target instanceof HTMLElement))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(V0,this._editor,e.event.target,t)}))}_getInlayHintLabelPart(e){var t;if(6!==e.target.type)return;const n=null===(t=e.target.detail.injectedText)||void 0===t?void 0:t.options;return n instanceof Iy&&(null==n?void 0:n.attachedData)instanceof q0?n.attachedData:void 0}async _invokeCommand(e,t){var n;try{await this._commandService.executeCommand(e.id,...null!==(n=e.arguments)&&void 0!==n?n:[])}catch(e){this._notificationService.notify({severity:tN.Error,source:t.provider.displayName,message:e})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[n,i]of this._decorationsMetadata){if(t.has(i.item))continue;const o=e.getDecorationRange(n);if(o){const e=new F0(o,i.item.anchor.direction),n=i.item.with({anchor:e});t.set(i.item,n)}}return Array.from(t.values())}_getHintsRanges(){const e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(const i of t.sort(nc.compareRangesUsingStarts)){const t=e.validateRange(new nc(i.startLineNumber-30,i.startColumn,i.endLineNumber+30,i.endColumn));0!==n.length&&nc.areIntersectingOrTouching(n[n.length-1],t)?n[n.length-1]=nc.plusRange(n[n.length-1],t):n.push(t)}return n}_updateHintsDecorators(e,t){var n,i;const o=[],s=(e,t,n,i,s)=>{const r={content:n,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:i,attachedData:s};o.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:"InlayHint",showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},r=(e,t)=>{const n=this._ruleFactory.createClassNameRef({width:(l/3|0)+"px",display:"inline-block"});s(e,n," ",t?Cc.Right:Cc.None)},{fontSize:l,fontFamily:a,padding:d,isUniform:u}=this._getLayoutInfo(),c="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(c,a);let h={line:0,totalLen:0};for(const e of t){if(h.line!==e.anchor.range.startLineNumber&&(h={line:e.anchor.range.startLineNumber,totalLen:0}),h.totalLen>z0._MAX_LABEL_LEN)continue;e.hint.paddingLeft&&r(e,!1);const t="string"==typeof e.hint.label?[{label:e.hint.label}]:e.hint.label;for(let i=0;i0&&(p=p.slice(0,-f)+"…",m=!0),s(e,this._ruleFactory.createClassNameRef(g),p.replace(/[ \t]/g," "),a&&!e.hint.paddingRight?Cc.Right:Cc.None,new q0(e,i)),m)break}if(e.hint.paddingRight&&r(e,!0),o.length>z0._MAX_DECORATORS)break}const g=[];for(const[t,n]of this._decorationsMetadata){const o=null===(i=this._editor.getModel())||void 0===i?void 0:i.getDecorationRange(t);o&&e.some((e=>e.containsRange(o)))&&(g.push(t),n.classNameRef.dispose(),this._decorationsMetadata.delete(t))}const p=OB.capture(this._editor);this._editor.changeDecorations((e=>{const t=e.deltaDecorations(g,o.map((e=>e.decoration)));for(let e=0;en)&&(o=n);const s=e.fontFamily||i;return{fontSize:o,fontFamily:s,padding:t,isUniform:!t&&s===i&&o===n}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};G0.ID="editor.contrib.InlayHints",G0._MAX_DECORATORS=1500,G0._MAX_LABEL_LEN=43,G0=z0=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([U0(1,wx),U0(2,sW),U0(3,j0),U0(4,wd),U0(5,nN),U0(6,ad)],G0),Cd.registerCommand("_executeInlayHintProvider",(async(e,...t)=>{const[n,i]=t;fa(Io.isUri(n)),fa(nc.isIRange(i));const{inlayHintsProvider:o}=e.get(wx),s=await e.get(gd).createModelReference(n);try{const e=await W0.create(o,s.object.textEditorModel,[nc.lift(i)],It.None),t=e.items.map((e=>e.hint));return setTimeout((()=>e.dispose()),0),t}finally{s.dispose()}}));var Z0=function(e,t){return function(n,i){t(n,i,e)}};class Y0 extends DG{constructor(e,t,n,i){super(10,t,e.item.anchor.range,n,i,!0),this.part=e}}let X0=class extends QG{constructor(e,t,n,i,o,s){super(e,t,n,i,s),this._resolverService=o,this.hoverOrdinal=6}suggestHoverAnchor(e){var t;if(!G0.get(this._editor))return null;if(6!==e.target.type)return null;const n=null===(t=e.target.detail.injectedText)||void 0===t?void 0:t.options;return n instanceof Iy&&n.attachedData instanceof q0?new Y0(n.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,n){return e instanceof Y0?new Qt((async t=>{const{part:i}=e;if(await i.item.resolve(n),n.isCancellationRequested)return;let o,s;if("string"==typeof i.item.hint.tooltip?o=(new ed).appendText(i.item.hint.tooltip):i.item.hint.tooltip&&(o=i.item.hint.tooltip),o&&t.emitOne(new XG(this,e.range,[o],!1,0)),Wc(i.item.hint.textEdits)&&t.emitOne(new XG(this,e.range,[(new ed).appendText(_(0,"Double-click to insert"))],!1,10001)),"string"==typeof i.part.tooltip?s=(new ed).appendText(i.part.tooltip):i.part.tooltip&&(s=i.part.tooltip),s&&t.emitOne(new XG(this,e.range,[s],!1,1)),i.part.location||i.part.command){let n;const o=_(0,"altKey"===this._editor.getOption(78)?U?"cmd + click":"ctrl + click":U?"option + click":"alt + click");i.part.location&&i.part.command?n=(new ed).appendText(_(0,"Go to Definition ({0}), right click for more",o)):i.part.location?n=(new ed).appendText(_(0,"Go to Definition ({0})",o)):i.part.command&&(n=new ed(`[${_(0,"Execute Command")}](${r=i.part.command,Io.from({scheme:Ho.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${i.part.command.title}") (${o})`,{isTrusted:!0})),n&&t.emitOne(new XG(this,e.range,[n],!1,1e4))}var r;const l=await this._resolveInlayHintLabelPartHover(i,n);for await(const e of l)t.emitOne(e)})):Qt.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Qt.EMPTY;const{uri:n,range:i}=e.part.location,o=await this._resolverService.createModelReference(n);try{const n=o.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(n)?GG(this._languageFeaturesService.hoverProvider,n,new cd(i.startLineNumber,i.startColumn),t).filter((e=>!td(e.hover.contents))).map((t=>new XG(this,e.item.anchor.range,t.hover.contents,!1,2+t.ordinal))):Qt.EMPTY}finally{o.dispose()}}};X0=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Z0(1,Sh),Z0(2,rL),Z0(3,pg),Z0(4,gd),Z0(5,wx)],X0),Zu(G0.ID,G0,1),NG.register(X0);class Q0 extends lt{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Q0.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Q0.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Q0.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Q0.suppressSuggestions.bindTo(this.contextKeyService),this._register(YE((e=>{const t=this.model.read(e),n=null==t?void 0:t.state.read(e),i=!!(null==n?void 0:n.inlineCompletion)&&void 0!==(null==n?void 0:n.primaryGhostText)&&!(null==n?void 0:n.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(i),(null==n?void 0:n.primaryGhostText)&&(null==n?void 0:n.inlineCompletion)&&this.suppressSuggestions.set(n.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register(YE((e=>{const t=this.model.read(e);let n=!1,i=!0;const o=null==t?void 0:t.primaryGhostText.read(e);if((null==t?void 0:t.selectedSuggestItem)&&o&&o.parts.length>0){const{column:e,lines:s}=o.parts[0],r=s[0];if(e<=t.textModel.getLineIndentColumn(o.lineNumber)){let e=hi(r);-1===e&&(e=r.length-1),n=e>0;const o=t.textModel.getOptions().tabSize;i=dh.visibleColumnFromColumn(r,e+1,o)t.equals(e.parts[n])))}renderForScreenReader(e){if(0===this.parts.length)return"";const t=this.parts[this.parts.length-1],n=e.substr(0,t.column-1);return new _Q([...this.parts.map((e=>new vQ(nc.fromPositions(new cd(1,e.column)),e.lines.join("\n"))))]).applyToString(n).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((e=>0===e.lines.length))}get lineCount(){return 1+this.parts.reduce(((e,t)=>e+t.lines.length-1),0)}}class n1{constructor(e,t,n){this.column=e,this.text=t,this.preview=n,this.lines=ci(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every(((t,n)=>t===e.lines[n]))}}class i1{constructor(e,t,n,i=0){this.lineNumber=e,this.columnRange=t,this.text=n,this.additionalReservedLineCount=i,this.parts=[new n1(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=ci(this.text)}renderForScreenReader(e){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((e=>0===e.lines.length))}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every(((t,n)=>t===e.newLines[n]))&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function o1(e,t){return Ic(e,t,s1)}function s1(e,t){return e===t||!(!e||!t)&&(e instanceof t1&&t instanceof t1||e instanceof i1&&t instanceof i1)&&e.equals(t)}const r1=[];class l1{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Re(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new nc(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function a1(e,t){const n=new rt,i=e.createDecorationsCollection();return n.add(XE({debugName:()=>`Apply decorations from ${t.debugName}`},(e=>{const n=t.read(e);i.set(n)}))),n.add({dispose:()=>{i.clear()}}),n}function d1(e,t){return new cd(e.lineNumber-t.lineNumber+1,e.lineNumber-t.lineNumber==0?e.column-t.column+1:e.column)}const u1="ghost-text";let c1=class extends lt{constructor(e,t,n){super(),this.editor=e,this.model=t,this.languageService=n,this.isDisposed=VE(this,!1),this.currentTextModel=iI(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=jE(this,(e=>{if(this.isDisposed.read(e))return;const t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;const n=this.model.ghostText.read(e);if(!n)return;const i=n instanceof i1?n.columnRange:void 0,o=[],s=[];function r(e,t){if(s.length>0){const n=s[s.length-1];t&&n.decorations.push(new oA(n.content.length+1,n.content.length+1+e[0].length,t,0)),n.content+=e[0],e=e.slice(1)}for(const n of e)s.push({content:n,decorations:t?[new oA(1,n.length+1,t,0)]:[]})}const l=t.getLineContent(n.lineNumber);let a,d=0;for(const e of n.parts){let t=e.lines;void 0===a?(o.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):r([l.substring(d,e.column-1)],void 0),t.length>0&&(r(t,u1),void 0===a&&e.column<=l.length&&(a=e.column)),d=e.column-1}void 0!==a&&r([l.substring(d)],void 0);const u=void 0!==a?new l1(a,l.length+1):void 0;return{replacedRange:i,inlineTexts:o,additionalLines:s,hiddenRange:u,lineNumber:n.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t}})),this.decorations=jE(this,(e=>{const t=this.uiState.read(e);if(!t)return[];const n=[];t.replacedRange&&n.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),t.hiddenRange&&n.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const e of t.inlineTexts)n.push({range:nc.fromPositions(new cd(t.lineNumber,e.column)),options:{description:u1,after:{content:e.text,inlineClassName:e.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Cc.Left},showIfCollapsed:!0}});return n})),this.additionalLinesWidget=this._register(new h1(this.editor,this.languageService.languageIdCodec,jE((e=>{const t=this.uiState.read(e);return t?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0})))),this._register(st((()=>{this.isDisposed.set(!0,void 0)}))),this._register(a1(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};c1=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,Sh)],c1);class h1 extends lt{get viewZoneId(){return this._viewZoneId}constructor(e,t,n){super(),this.editor=e,this.languageIdCodec=t,this.lines=n,this._viewZoneId=void 0,this.editorOptionsChanged=sI("editorOptionChanged",ft.filter(this.editor.onDidChangeConfiguration,(e=>e.hasChanged(33)||e.hasChanged(117)||e.hasChanged(99)||e.hasChanged(94)||e.hasChanged(51)||e.hasChanged(50)||e.hasChanged(67)))),this._register(YE((e=>{const t=this.lines.read(e);this.editorOptionsChanged.read(e),t?this.updateLines(t.lineNumber,t.additionalLines,t.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,n){const i=this.editor.getModel();if(!i)return;const{tabSize:o}=i.getOptions();this.editor.changeViewZones((i=>{this._viewZoneId&&(i.removeZone(this._viewZoneId),this._viewZoneId=void 0);const s=Math.max(t.length,n);if(s>0){const n=document.createElement("div");!function(e,t,n,i,o){const s=i.get(33),r=i.get(117),l=i.get(94),a=i.get(51),d=i.get(50),u=i.get(67),c=new eg(1e4);c.appendString('
    ');for(let e=0,i=n.length;e');const g=Fi(h),p=Pi(h),m=BC.createEmpty(h,o);pA(new uA(d.isMonospace&&!s,d.canUseHalfwidthRightwardsArrow,h,!1,g,p,0,m,i.decorations,t,0,d.spaceWidth,d.middotWidth,d.wsmiddotWidth,r,"none",l,a!==ED.OFF,null),c),c.appendString("
    ")}c.appendString(""),nL(e,d);const h=c.build(),g=g1?g1.createHTML(h):h;e.innerHTML=g}(n,o,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=i.addZone({afterLineNumber:e,heightInLines:s,domNode:n,afterColumnAffinity:1})}}))}}const g1=Yk("editorGhostText",{createHTML:e=>e});class p1{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function m1(e,t,n,i,o=It.None,s){const r=function(e,t){const n=t.getWordAtPosition(e),i=t.getLineMaxColumn(e.lineNumber);return n?new nc(e.lineNumber,n.startColumn,e.lineNumber,i):nc.fromPositions(e,e.with(void 0,i))}(t,n),l=e.all(n),a=new sl;for(const e of l)e.groupId&&a.add(e.groupId,e);function d(e){if(!e.yieldsToGroupIds)return[];const t=[];for(const n of e.yieldsToGroupIds||[]){const e=a.get(n);for(const n of e)t.push(n)}return t}const u=new Map,c=new Set;function h(e,t){if(t=[...t,e],c.has(e))return t;c.add(e);try{const n=d(e);for(const e of n){const n=h(e,t);if(n)return n}}finally{c.delete(e)}}function g(e){const s=u.get(e);if(s)return s;const r=h(e,[]);r&&ke(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((e=>e.toString?e.toString():""+e)).join(" -> ")}`));const l=new Yt;return u.set(e,l.p),(async()=>{if(!r){const t=d(e);for(const e of t){const t=await g(e);if(t&&t.items.length>0)return}}try{return await e.provideInlineCompletions(n,t,i,o)}catch(e){return void ke(e)}})().then((e=>l.complete(e)),(e=>l.error(e))),l.p}const p=await Promise.all(l.map((async e=>({provider:e,completions:await g(e)})))),m=new Map,f=[];for(const e of p){const t=e.completions;if(!t)continue;const i=new _1(t,e.provider);f.push(i);for(const e of t.items){const t=v1.from(e,i,r,n,s);m.set(t.hash(),t)}}return new f1(Array.from(m.values()),new Set(m.keys()),f)}class f1{constructor(e,t,n){this.completions=e,this.hashs=t,this.providerResults=n}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class _1{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class v1{static from(e,t,n,i,o){let s,r,l=e.range?nc.lift(e.range):n;if("string"==typeof e.insertText){if(s=e.insertText,o&&e.completeBracketPairs){s=b1(s,l.getStartPosition(),i,o);const t=s.length-e.insertText.length;0!==t&&(l=new nc(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+t))}r=void 0}else if("snippet"in e.insertText){const t=e.insertText.snippet.length;if(o&&e.completeBracketPairs){e.insertText.snippet=b1(e.insertText.snippet,l.getStartPosition(),i,o);const n=e.insertText.snippet.length-t;0!==n&&(l=new nc(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+n))}const n=(new Jx).parse(e.insertText.snippet);1===n.children.length&&n.children[0]instanceof Kx?(s=n.children[0].value,r=void 0):(s=n.toString(),r={snippet:e.insertText.snippet,range:l})}else hu(e.insertText);return new v1(s,e.command,l,s,r,e.additionalTextEdits||r1,e,t)}constructor(e,t,n,i,o,s,r,l){this.filterText=e,this.command=t,this.range=n,this.insertText=i,this.snippetInfo=o,this.additionalTextEdits=s,this.sourceInlineCompletion=r,this.source=l,i=(e=e.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(e){return new v1(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()})}}function b1(e,t,n,i){const o=n.getLineContent(t.lineNumber).substring(0,t.column-1)+e,s=n.tokenization.tokenizeLineWithEdit(t,o.length-(t.column-1),e),r=null==s?void 0:s.sliceAndInflate(t.column-1,o.length,0);if(!r)return e;const l=function(e,t){const n=new Rp,i=new Jp(n,(e=>t.getLanguageConfiguration(e))),o=rm(new Zp(new p1([e]),i),[],void 0,!0);let s="";const r=e.getLineContent();return function e(t,n){if(2===t.kind)if(e(t.openingBracket,n),n=bp(n,t.openingBracket.length),t.child&&(e(t.child,n),n=bp(n,t.child.length)),t.closingBracket)e(t.closingBracket,n),n=bp(n,t.closingBracket.length);else{const e=i.getSingleLanguageBracketTokens(t.openingBracket.languageId).findClosingTokenText(t.openingBracket.bracketIds);s+=e}else if(3===t.kind);else if(0===t.kind||1===t.kind)s+=r.substring(n,bp(n,t.length));else if(4===t.kind)for(const i of t.children)e(i,n),n=bp(n,i.length)}(o,pp),s}(r,i);return l}function w1(e,t,n){const i=n?e.range.intersectRanges(n):e.range;if(!i)return e;const o=t.getValueInRange(i,1),s=xi(o,e.text),r=gp.ofText(o.substring(0,s)).addToPosition(e.range.getStartPosition()),l=e.text.substring(s),a=nc.fromPositions(r,e.range.getEndPosition());return new vQ(a,l)}function C1(e,t){return e.text.startsWith(t.text)&&(n=e.range,(i=t.range).getStartPosition().equals(n.getStartPosition())&&i.getEndPosition().isBeforeOrEqual(n.getEndPosition()));var n,i}function y1(e,t,n,i,o=0){let s=w1(e,t);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=t.getLineContent(s.range.startLineNumber),l=gi(r).length;if(s.range.startColumn-1<=l){const e=gi(s.text).length,t=r.substring(s.range.startColumn-1,l),[n,i]=[s.range.getStartPosition(),s.range.getEndPosition()],o=n.column+t.length<=i.column?n.delta(0,t.length):i,a=nc.fromPositions(o,i),d=s.text.startsWith(t)?s.text.substring(t.length):s.text.substring(e);s=new vQ(a,d)}const a=t.getValueInRange(s.range),d=function(e,t){if((null==S1?void 0:S1.originalValue)===e&&(null==S1?void 0:S1.newValue)===t)return null==S1?void 0:S1.changes;{let n=k1(e,t,!0);if(n){const i=x1(n);if(i>0){const o=k1(e,t,!1);o&&x1(o)0===e.originalLength));if(e.length>1||1===e.length&&e[0].originalStart!==a.length)return}const h=s.text.length-o;for(const e of d){const t=s.range.startColumn+e.originalStart+e.originalLength;if("subwordSmart"===n&&i&&i.lineNumber===s.range.startLineNumber&&t0)return;if(0===e.modifiedLength)continue;const o=e.modifiedStart+e.modifiedLength,r=Math.max(e.modifiedStart,Math.min(o,h)),l=s.text.substring(e.modifiedStart,r),a=s.text.substring(r,Math.max(e.modifiedStart,o));l.length>0&&c.push(new n1(t,l,!1)),a.length>0&&c.push(new n1(t,a,!0))}return new t1(u,c)}let S1;function x1(e){let t=0;for(const n of e)t+=n.originalLength;return t}function k1(e,t,n){if(e.length>5e3||t.length>5e3)return;function i(e){let t=0;for(let n=0,i=e.length;nt&&(t=i)}return t}const o=Math.max(i(e),i(t));function s(e){if(e<0)throw new Error("unexpected");return o+e+1}function r(e){let t=0,i=0;const o=new Int32Array(e.length);for(let r=0,l=e.length;rl},{getElements:()=>a}).ComputeDiff(!1).changes}var L1=function(e,t){return function(n,i){t(n,i,e)}};let D1=class extends lt{constructor(e,t,n,i,o){super(),this.textModel=e,this.versionId=t,this._debounceValue=n,this.languageFeaturesService=i,this.languageConfigurationService=o,this._updateOperation=this._register(new at),this.inlineCompletions=zE("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=zE("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(e,t,n){var i,o;const s=new N1(e,t,this.textModel.getVersionId()),r=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(null===(i=this._updateOperation.value)||void 0===i?void 0:i.request.satisfies(s))return this._updateOperation.value.promise;if(null===(o=r.get())||void 0===o?void 0:o.request.satisfies(s))return Promise.resolve(!0);const l=!!this._updateOperation.value;this._updateOperation.clear();const a=new Tt,d=(async()=>{var i,o;if((l||t.triggerKind===vC.Automatic)&&await(i=this._debounceValue.get(this.textModel),o=a.token,new Promise((e=>{let t;const n=setTimeout((()=>{t&&t.dispose(),e()}),i);o&&(t=o.onCancellationRequested((()=>{clearTimeout(n),t&&t.dispose(),e()})))}))),a.token.isCancellationRequested||this.textModel.getVersionId()!==s.versionId)return!1;const d=new Date,u=await m1(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,a.token,this.languageConfigurationService);if(a.token.isCancellationRequested||this.textModel.getVersionId()!==s.versionId)return!1;const c=new Date;this._debounceValue.update(this.textModel,c.getTime()-d.getTime());const h=new I1(u,s,this.textModel,this.versionId);if(n){const t=n.toInlineCompletion(void 0);n.canBeReused(this.textModel,e)&&!u.has(t)&&h.prepend(n.inlineCompletion,t.range,!0)}return this._updateOperation.clear(),OE((e=>{r.set(h,e)})),!0})(),u=new E1(s,a,d);return this._updateOperation.value=u,d}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;(null===(t=this._updateOperation.value)||void 0===t?void 0:t.request.context.selectedSuggestionInfo)&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};D1=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([L1(3,wx),L1(4,Qg)],D1);class N1{constructor(e,t,n){this.position=e,this.context=t,this.versionId=n}satisfies(e){return this.position.equals(e.position)&&(t=this.context.selectedSuggestionInfo,n=e.context.selectedSuggestionInfo,t&&n?((e,t)=>e.equals(t))(t,n):t===n)&&(e.context.triggerKind===vC.Automatic||this.context.triggerKind===vC.Explicit)&&this.versionId===e.versionId;var t,n}}class E1{constructor(e,t,n){this.request=e,this.cancellationTokenSource=t,this.promise=n}dispose(){this.cancellationTokenSource.cancel()}}class I1{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,n,i){this.inlineCompletionProviderResult=e,this.request=t,this.textModel=n,this.versionId=i,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=jE(this,(e=>{this.versionId.read(e);let t=!1;for(const e of this._inlineCompletions)t=t||e._updateRange(this.textModel);return t&&this._rangeVersionIdValue++,this._rangeVersionIdValue}));const o=n.deltaDecorations([],e.completions.map((e=>({range:e.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=e.completions.map(((e,t)=>new M1(e,o[t],this._rangeVersionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){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,n){n&&e.source.addRef();const i=this.textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new M1(e,i,this._rangeVersionId,t)),this._prependedInlineCompletionItems.push(e)}}class M1{get forwardStable(){var e;return null!==(e=this.inlineCompletion.source.inlineCompletions.enableForwardStability)&&void 0!==e&&e}constructor(e,t,n,i){this.inlineCompletion=e,this.decorationId=t,this.rangeVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=null!=i?i:e.range}toInlineCompletion(e){return this.inlineCompletion.withRange(this._getUpdatedRange(e))}toSingleTextEdit(e){return new vQ(this._getUpdatedRange(e),this.inlineCompletion.insertText)}isVisible(e,t,n){const i=w1(this._toFilterTextReplacement(n),e);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(n).getStartPosition())||t.lineNumber!==i.range.startLineNumber)return!1;const o=e.getValueInRange(i.range,1),s=i.text,r=Math.max(0,t.column-i.range.startColumn);let l=s.substring(0,r),a=s.substring(r),d=o.substring(0,r),u=o.substring(r);const c=e.getLineIndentColumn(i.range.startLineNumber);return i.range.startColumn<=c&&(d=d.trimStart(),0===d.length&&(u=u.trimStart()),l=l.trimStart(),0===l.length&&(a=a.trimStart())),l.startsWith(d)&&!!_l(u,a)}canBeReused(e,t){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(t)&&this.isVisible(e,t,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(e){return new vQ(this._getUpdatedRange(e),this.inlineCompletion.filterText)}_isSmallerThanOriginal(e){return T1(this._getUpdatedRange(e)).isBefore(T1(this.inlineCompletion.range))}_getUpdatedRange(e){return this.rangeVersion.read(e),this._updatedRange}_updateRange(e){const t=e.getDecorationRange(this.decorationId);return t?!this._updatedRange.equalsRange(t)&&(this._updatedRange=t,!0):(this._isValid=!1,!0)}}function T1(e){return e.startLineNumber===e.endLineNumber?new cd(1,1+e.endColumn-e.startColumn):new cd(1+e.endLineNumber-e.startLineNumber,e.endColumn)}const A1={Visible:t2,HasFocusedSuggestion:new ou("suggestWidgetHasFocusedSuggestion",!1,_(0,"Whether any suggestion is focused")),DetailsVisible:new ou("suggestWidgetDetailsVisible",!1,_(0,"Whether suggestion details are visible")),MultipleSuggestions:new ou("suggestWidgetMultipleSuggestions",!1,_(0,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new ou("suggestionMakesTextEdit",!0,_(0,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ou("acceptSuggestionOnEnter",!0,_(0,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ou("suggestionHasInsertAndReplaceRange",!1,_(0,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new ou("suggestionInsertMode",void 0,{type:"string",description:_(0,"Whether the default behaviour is to insert or replace")}),CanResolve:new ou("suggestionCanResolve",!1,_(0,"Whether the current suggestion supports to resolve further details"))},R1=new Su("suggestWidgetStatusBar");class P1{constructor(e,t,n,i){var o;this.position=e,this.completion=t,this.container=n,this.provider=i,this.isInvalid=!1,this.score=ta.Default,this.distance=0,this.textLabel="string"==typeof t.label?t.label:null===(o=t.label)||void 0===o?void 0:o.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,nc.isIRange(t.range)?(this.editStart=new cd(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new cd(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new cd(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||nc.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new cd(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new cd(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new cd(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||nc.spansMultipleLines(t.range.insert)||nc.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),"function"!=typeof i.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),n=new mt(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then((e=>{Object.assign(this.completion,e),this._resolveDuration=n.elapsed()}),(e=>{Ne(e)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{t.dispose()}))}return this._resolveCache}}class O1{constructor(e=2,t=new Set,n=new Set,i=new Map,o=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=n,this.providerItemsToReuse=i,this.showDeprecated=o}}O1.default=new O1;class F1{constructor(e,t,n,i){this.items=e,this.needsClipboard=t,this.durations=n,this.disposable=i}}async function B1(e,t,n,i=O1.default,o={triggerKind:0},s=It.None){const r=new mt;n=n.clone();const l=t.getWordAtPosition(n),a=l?new nc(n.lineNumber,l.startColumn,n.lineNumber,l.endColumn):nc.fromPositions(n),d={replace:a,insert:a.setEndPosition(n.lineNumber,n.column)},u=[],c=new rt,h=[];let g=!1;const p=(e,t,o)=>{var s,r,l;let a=!1;if(!t)return a;for(const o of t.suggestions)if(!i.kindFilter.has(o.kind)){if(!i.showDeprecated&&(null===(s=null==o?void 0:o.tags)||void 0===s?void 0:s.includes(1)))continue;o.range||(o.range=d),o.sortText||(o.sortText="string"==typeof o.label?o.label:o.label.label),!g&&o.insertTextRules&&4&o.insertTextRules&&(g=Jx.guessNeedsClipboard(o.insertText)),u.push(new P1(n,o,t,e)),a=!0}return nt(t)&&c.add(t),h.push({providerName:null!==(r=e._debugDisplayName)&&void 0!==r?r:"unknown_provider",elapsedProvider:null!==(l=t.duration)&&void 0!==l?l:-1,elapsedOverall:o.elapsed()}),a},m=(async()=>{})();for(const r of e.orderedGroups(t)){let e=!1;if(await Promise.all(r.map((async r=>{if(i.providerItemsToReuse.has(r)){const t=i.providerItemsToReuse.get(r);return t.forEach((e=>u.push(e))),void(e=e||t.length>0)}if(!(i.providerFilter.size>0)||i.providerFilter.has(r))try{const i=new mt,l=await r.provideCompletionItems(t,n,o,s);e=p(r,l,i)||e}catch(e){ke(e)}}))),e||s.isCancellationRequested)break}return await m,s.isCancellationRequested?(c.dispose(),Promise.reject(new Ee)):new F1(u.sort((f=i.snippetSortOrder,V1.get(f))),g,{entries:h,elapsed:r.elapsed()},c);var f}function W1(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLowt.sortTextLow)return 1}return e.textLabelt.textLabel?1:e.completion.kind-t.completion.kind}const V1=new Map;V1.set(0,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return W1(e,t)})),V1.set(2,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return W1(e,t)})),V1.set(1,W1),Cd.registerCommand("_executeCompletionItemProvider",(async(e,...t)=>{const[n,i,o,s]=t;fa(Io.isUri(n)),fa(cd.isIPosition(i)),fa("string"==typeof o||!o),fa("number"==typeof s||!s);const{completionProvider:r}=e.get(wx),l=await e.get(gd).createModelReference(n);try{const e={incomplete:!1,suggestions:[]},t=[],n=l.object.textEditorModel.validatePosition(i),a=await B1(r,l.object.textEditorModel,n,void 0,{triggerCharacter:null!=o?o:void 0,triggerKind:o?1:0});for(const n of a.items)t.length<(null!=s?s:0)&&t.push(n.resolve(It.None)),e.incomplete=e.incomplete||n.container.incomplete,e.suggestions.push(n.completion);try{return await Promise.all(t),e}finally{setTimeout((()=>a.disposable.dispose()),100)}}finally{l.dispose()}}));class H1{static isAllOff(e){return"off"===e.other&&"off"===e.comments&&"off"===e.strings}static isAllOn(e){return"on"===e.other&&"on"===e.comments&&"on"===e.strings}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}var z1=n(69),U1={};function K1(e,t=z){return function(e,t=z){return!!t&&Ba(e.charCodeAt(0))&&58===e.charCodeAt(1)}(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}U1.styleTagTransform=Vr(),U1.setAttributes=Or(),U1.insert=Rr().bind(null,"head"),U1.domAPI=Tr(),U1.insertStyleElement=Br(),Ir()(z1.A,U1),z1.A&&z1.A.locals&&z1.A.locals,Object.create(null);Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class j1{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const n=t.resolve(e);if(void 0!==n)return n}}}class q1{constructor(e,t,n,i){this._model=e,this._selection=t,this._selectionIdx=n,this._overtypingCapturer=i}resolve(e){const{name:t}=e;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){let t=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){const e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,n=e.multiline)}if(t&&n&&e.snippet){const n=gi(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1);let i=n;e.snippet.walk((t=>t!==e&&(t instanceof Kx&&(i=gi(ci(t.value).pop())),!0)));const o=xi(i,n);t=t.replace(/(\r\n|\r|\n)(.*)/g,((e,t,n)=>`${t}${i.substr(o)}${n}`))}return t}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){const e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}return"TM_LINE_INDEX"===t?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===t?String(this._selection.positionLineNumber):"CURSOR_INDEX"===t?String(this._selectionIdx):"CURSOR_NUMBER"===t?String(this._selectionIdx+1):void 0}}class $1{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if("TM_FILENAME"===t)return Co(this._model.uri.fsPath);if("TM_FILENAME_BASE"===t){const e=Co(this._model.uri.fsPath),t=e.lastIndexOf(".");return t<=0?e:e.slice(0,t)}return"TM_DIRECTORY"===t?"."===wo(this._model.uri.fsPath)?"":this._labelService.getUriLabel(qa(this._model.uri)):"TM_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class G1{constructor(e,t,n,i){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=n,this._spread=i}resolve(e){if("CLIPBOARD"!==e.name)return;const t=this._readClipboardText();if(t){if(this._spread){const e=t.split(/\r\n|\n|\r/).filter((e=>!ni(e)));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}}let Z1=class{constructor(e,t,n){this._model=e,this._selection=t,this._languageConfigurationService=n}resolve(e){const{name:t}=e,n=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),i=this._languageConfigurationService.getLanguageConfiguration(n).comments;if(i)return"LINE_COMMENT"===t?i.lineCommentToken||void 0:"BLOCK_COMMENT_START"===t?i.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===t&&i.blockCommentEndToken||void 0}};Z1=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,Qg)],Z1);class Y1{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if("CURRENT_YEAR"===t)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===t)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===t)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===t)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===t)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===t)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===t)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===t)return Y1.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===t)return Y1.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===t)return Y1.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===t)return Y1.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===t)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===t){const e=this._date.getTimezoneOffset(),t=e>0?"-":"+",n=Math.trunc(Math.abs(e/60)),i=n<10?"0"+n:n,o=Math.abs(e)-60*n;return t+i+":"+(o<10?"0"+o:o)}}}Y1.dayNames=[_(0,"Sunday"),_(0,"Monday"),_(0,"Tuesday"),_(0,"Wednesday"),_(0,"Thursday"),_(0,"Friday"),_(0,"Saturday")],Y1.dayNamesShort=[_(0,"Sun"),_(0,"Mon"),_(0,"Tue"),_(0,"Wed"),_(0,"Thu"),_(0,"Fri"),_(0,"Sat")],Y1.monthNames=[_(0,"January"),_(0,"February"),_(0,"March"),_(0,"April"),_(0,"May"),_(0,"June"),_(0,"July"),_(0,"August"),_(0,"September"),_(0,"October"),_(0,"November"),_(0,"December")],Y1.monthNamesShort=[_(0,"Jan"),_(0,"Feb"),_(0,"Mar"),_(0,"Apr"),_(0,"May"),_(0,"Jun"),_(0,"Jul"),_(0,"Aug"),_(0,"Sep"),_(0,"Oct"),_(0,"Nov"),_(0,"Dec")];class X1{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=function(e,t){if("string"==typeof e||void 0===e)return"string"==typeof e?{id:Co(e)}:Ex;const n=e;return n.configuration?{id:n.id,configPath:n.configuration}:1===n.folders.length?{id:n.id,uri:n.folders[0].uri}:{id:n.id}}(this._workspaceService.getWorkspace());return"string"!=typeof(null==(n=t)?void 0:n.id)||Nx(n)||function(e){const t=e;return"string"==typeof(null==t?void 0:t.id)&&Io.isUri(t.configPath)}(n)?"WORKSPACE_NAME"===e.name?this._resolveWorkspaceName(t):"WORKSPACE_FOLDER"===e.name?this._resoveWorkspacePath(t):void 0:void 0;var n}_resolveWorkspaceName(e){if(Nx(e))return Co(e.uri.path);let t=Co(e.configPath.path);return t.endsWith("code-workspace")&&(t=t.substr(0,t.length-14-1)),t}_resoveWorkspacePath(e){if(Nx(e))return K1(e.uri.fsPath);const t=Co(e.configPath.path);let n=e.configPath.fsPath;return n.endsWith(t)&&(n=n.substr(0,n.length-t.length-1)),n?K1(n):"/"}}class Q1{resolve(e){const{name:t}=e;return"RANDOM"===t?Math.random().toString().slice(-6):"RANDOM_HEX"===t?Math.random().toString(16).slice(-6):"UUID"===t?nx():void 0}}var J1;class e4{constructor(e,t,n){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=n,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=Ac(t.placeholders,qx.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(-1===this._offset)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 n of this._snippet.placeholders){const i=this._snippet.offset(n),o=this._snippet.fullLen(n),s=nc.fromPositions(e.getPositionAt(this._offset+i),e.getPositionAt(this._offset+i+o)),r=n.isFinalTabstop?e4._decor.inactiveFinal:e4._decor.inactive,l=t.addDecoration(s,r);this._placeholderDecorations.set(n,l)}}))}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const e=[];for(const t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){const n=this._placeholderDecorations.get(t),i=this._editor.getModel().getDecorationRange(n),o=this._editor.getModel().getValueInRange(i),s=t.transform.resolve(o).split(/\r\n|\r|\n/);for(let e=1;e0&&this._editor.executeEdits("snippet.placeholderTransform",e)}let t=!1;!0===e&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const n=this._editor.getModel().changeDecorations((e=>{const n=new Set,i=[];for(const o of this._placeholderGroups[this._placeholderGroupsIdx]){const s=this._placeholderDecorations.get(o),r=this._editor.getModel().getDecorationRange(s);i.push(new ic(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(o),e.changeDecorationOptions(s,o.isFinalTabstop?e4._decor.activeFinal:e4._decor.active),n.add(o);for(const t of this._snippet.enclosingPlaceholders(o)){const i=this._placeholderDecorations.get(t);e.changeDecorationOptions(i,t.isFinalTabstop?e4._decor.activeFinal:e4._decor.active),n.add(t)}}for(const[t,i]of this._placeholderDecorations)n.has(t)||e.changeDecorationOptions(i,t.isFinalTabstop?e4._decor.inactiveFinal:e4._decor.inactive);return i}));return t?this.move(e):null!=n?n:[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof qx){const e=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(e).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){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 n;for(const i of t){if(i.isFinalTabstop)break;n||(n=[],e.set(i.index,n));const t=this._placeholderDecorations.get(i),o=this._editor.getModel().getDecorationRange(t);if(!o){e.delete(i.index);break}n.push(o)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(null==e?void 0:e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const n=this._editor.getModel().getDecorationRange(t);return n?{range:n,choice:e.choice}:void 0}get hasChoice(){let e=!1;return this._snippet.walk((t=>(e=t instanceof $x,!e))),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((n=>{for(const i of this._placeholderGroups[this._placeholderGroupsIdx]){const o=e.shift();console.assert(-1!==o._offset),console.assert(!o._placeholderDecorations);const s=o._snippet.placeholderInfo.last.index;for(const e of o._snippet.placeholderInfo.all)e.isFinalTabstop?e.index=i.index+(s+1)/this._nestingLevel:e.index=i.index+e.index/this._nestingLevel;this._snippet.replace(i,o._snippet.children);const r=this._placeholderDecorations.get(i);n.removeDecoration(r),this._placeholderDecorations.delete(i);for(const e of o._snippet.placeholders){const i=o._snippet.offset(e),s=o._snippet.fullLen(e),r=nc.fromPositions(t.getPositionAt(o._offset+i),t.getPositionAt(o._offset+i+s)),l=n.addDecoration(r,e4._decor.inactive);this._placeholderDecorations.set(e,l)}}this._placeholderGroups=Ac(this._snippet.placeholders,qx.compareByIndex)}))}}e4._decor={active:My.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:My.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:My.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:My.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const t4={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let n4=J1=class{static adjustWhitespace(e,t,n,i,o){const s=gi(e.getLineContent(t.lineNumber),0,t.column-1);let r;return i.walk((t=>{if(!(t instanceof Kx)||t.parent instanceof $x)return!0;if(o&&!o.has(t))return!0;const l=t.value.split(/\r\n|\r|\n/);if(n){const n=i.offset(t);if(0===n)l[0]=e.normalizeIndentation(l[0]);else{r=null!=r?r:i.toString();const t=r.charCodeAt(n-1);10!==t&&13!==t||(l[0]=e.normalizeIndentation(s+l[0]))}for(let t=1;te.get(Dx))),g=e.invokeWithinContext((e=>new $1(e.get(_$),c))),p=()=>r,m=c.getValueInRange(J1.adjustSelection(c,e.getSelection(),n,0)),f=c.getValueInRange(J1.adjustSelection(c,e.getSelection(),0,i)),_=c.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),v=e.getSelections().map(((e,t)=>({selection:e,idx:t}))).sort(((e,t)=>nc.compareRangesUsingStarts(e.selection,t.selection)));for(const{selection:r,idx:b}of v){let w=J1.adjustSelection(c,r,n,0),C=J1.adjustSelection(c,r,0,i);m!==c.getValueInRange(w)&&(w=r),f!==c.getValueInRange(C)&&(C=r);const y=r.setStartPosition(w.startLineNumber,w.startColumn).setEndPosition(C.endLineNumber,C.endColumn),S=(new Jx).parse(t,!0,o),x=y.getStartPosition(),k=J1.adjustWhitespace(c,x,s||b>0&&_!==c.getLineFirstNonWhitespaceColumn(r.positionLineNumber),S);S.resolveVariables(new j1([g,new G1(p,b,v.length,"spread"===e.getOption(79)),new q1(c,r,b,l),new Z1(c,r,a),new Y1,new X1(h),new Q1])),d[b]=wY.replace(y,S.toString()),d[b].identifier={major:b,minor:0},d[b]._isTracked=!0,u[b]=new e4(e,S,k)}return{edits:d,snippets:u}}static createEditsAndSnippetsFromEdits(e,t,n,i,o,s,r){if(!e.hasModel()||0===t.length)return{edits:[],snippets:[]};const l=[],a=e.getModel(),d=new Jx,u=new Qx,c=new j1([e.invokeWithinContext((e=>new $1(e.get(_$),a))),new G1((()=>o),0,e.getSelections().length,"spread"===e.getOption(79)),new q1(a,e.getSelection(),0,s),new Z1(a,e.getSelection(),r),new Y1,new X1(e.invokeWithinContext((e=>e.get(Dx)))),new Q1]);t=t.sort(((e,t)=>nc.compareRangesUsingStarts(e.range,t.range)));let h=0;for(let e=0;e0){const i=t[e-1].range,o=nc.fromPositions(i.getEndPosition(),n.getStartPosition()),s=new Kx(a.getValueInRange(o));u.appendChild(s),h+=s.value.length}const o=d.parseFragment(i,u);J1.adjustWhitespace(a,n.getStartPosition(),!0,u,new Set(o)),u.resolveVariables(c);const s=u.toString(),r=s.slice(h);h=s.length;const g=wY.replace(n,r);g.identifier={major:e,minor:0},g._isTracked=!0,l.push(g)}return d.ensureFinalTabstop(u,n,!0),{edits:l,snippets:[new e4(e,u,"")]}}constructor(e,t,n=t4,i){this._editor=e,this._template=t,this._options=n,this._languageConfigurationService=i,this._templateMerges=[],this._snippets=[]}dispose(){it(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}="string"==typeof this._template?J1.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):J1.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,(e=>{const n=e.filter((e=>!!e.identifier));for(let e=0;eic.fromPositions(e.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=t4){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:n,snippets:i}=J1.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",n,(e=>{const t=e.filter((e=>!!e.identifier));for(let e=0;eic.fromPositions(e.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 n of this._snippets){const i=n.move(e);t.push(...i)}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{e.push(...i.get(t))}))}e.sort(nc.compareRangesUsingStarts);for(const[n,i]of t)if(i.length===e.length){i.sort(nc.compareRangesUsingStarts);for(let o=0;o0}};n4=J1=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,Qg)],n4);var i4,o4=function(e,t){return function(n,i){t(n,i,e)}};const s4={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let r4=i4=class{static get(e){return e.getContribution(i4.ID)}constructor(e,t,n,i,o){this._editor=e,this._logService=t,this._languageFeaturesService=n,this._languageConfigurationService=o,this._snippetListener=new rt,this._modelVersionId=-1,this._inSnippet=i4.InSnippetMode.bindTo(i),this._hasNextTabstop=i4.HasNextTabstop.bindTo(i),this._hasPrevTabstop=i4.HasPrevTabstop.bindTo(i)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),null===(e=this._session)||void 0===e||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,void 0===t?s4:{...s4,...t})}catch(t){this.cancel(),this._logService.error(t),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){var n;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof e&&this.cancel(),this._session?(fa("string"==typeof e),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new n4(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),null===(n=this._session)||void 0===n?void 0:n.hasChoice){const e={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!cd.equals(this._editor.getPosition(),t))return;const{activeChoice:n}=this._session;if(!n||0===n.choice.options.length)return;const i=e.getValueInRange(n.range),o=Boolean(n.choice.options.find((e=>e.value===i))),s=[];for(let e=0;e{null==n||n.dispose(),i=!1},s=()=>{i||(n=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(n),i=!0)};this._choiceCompletions={provider:e,enable:s,disable:o}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((e=>e.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 e;if(!this._session||!this._editor.hasModel())return void(this._currentChoice=void 0);const{activeChoice:t}=this._session;if(!t||!this._choiceCompletions)return null===(e=this._choiceCompletions)||void 0===e||e.disable(),void(this._currentChoice=void 0);this._currentChoice!==t.choice&&(this._currentChoice=t.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(e,t){var n;null===(n=e.getContribution("editor.contrib.suggestController"))||void 0===n||n.triggerSuggest((new Set).add(t),void 0,!0)}(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,null===(t=this._session)||void 0===t||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;null===(e=this._session)||void 0===e||e.prev(),this._updateState()}next(){var e;null===(e=this._session)||void 0===e||e.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};r4.ID="snippetController2",r4.InSnippetMode=new ou("inSnippetMode",!1,_(0,"Whether the editor in current in snippet mode")),r4.HasNextTabstop=new ou("hasNextTabstop",!1,_(0,"Whether there is a next tab stop when in snippet mode")),r4.HasPrevTabstop=new ou("hasPrevTabstop",!1,_(0,"Whether there is a previous tab stop when in snippet mode")),r4=i4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([o4(1,Tu),o4(2,wx),o4(3,su),o4(4,Qg)],r4),Zu(r4.ID,r4,4);const l4=Hu.bindToContribution(r4.get);qu(new l4({id:"jumpToNextSnippetPlaceholder",precondition:Bd.and(r4.InSnippetMode,r4.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:oc.editorTextFocus,primary:2}})),qu(new l4({id:"jumpToPrevSnippetPlaceholder",precondition:Bd.and(r4.InSnippetMode,r4.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:oc.editorTextFocus,primary:1026}})),qu(new l4({id:"leaveSnippet",precondition:r4.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:oc.editorTextFocus,primary:9,secondary:[1033]}})),qu(new l4({id:"acceptSnippet",precondition:r4.InSnippetMode,handler:e=>e.finish()}));var a4,d4=function(e,t){return function(n,i){t(n,i,e)}};!function(e){e[e.Undo=0]="Undo",e[e.Redo=1]="Redo",e[e.AcceptWord=2]="AcceptWord",e[e.Other=3]="Other"}(a4||(a4={}));let u4=class extends lt{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,n,i,o,s,r,l,a,d,u,c){let h;super(),this.textModel=e,this.selectedSuggestItem=t,this.textModelVersionId=n,this._positions=i,this._debounceValue=o,this._suggestPreviewEnabled=s,this._suggestPreviewMode=r,this._inlineSuggestMode=l,this._enabled=a,this._instantiationService=d,this._commandService=u,this._languageConfigurationService=c,this._source=this._register(this._instantiationService.createInstance(D1,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=VE(this,!1),this._forceUpdateSignal=lI("forceUpdate"),this._selectedInlineCompletionId=VE(this,void 0),this._primaryPosition=jE(this,(e=>{var t;return null!==(t=this._positions.read(e)[0])&&void 0!==t?t:new cd(1,1)})),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([a4.Redo,a4.Undo,a4.AcceptWord]),this._fetchInlineCompletions=function(e,t){var n;return new ZE(new xE(e.owner,e.debugName,void 0),t,e.createEmptyChangeSummary,e.handleChange,void 0,null!==(n=e.equalityComparer)&&void 0!==n?n:KE)}({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:vC.Automatic}),handleChange:(e,t)=>(e.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(e.change)?t.preserveCurrentCompletion=!0:e.didChange(this._forceUpdateSignal)&&(t.inlineCompletionTriggerKind=e.change),!0)},((e,t)=>{if(this._forceUpdateSignal.read(e),!(this._enabled.read(e)&&this.selectedSuggestItem.read(e)||this._isActive.read(e)))return void this._source.cancelUpdate();this.textModelVersionId.read(e);const n=this.selectedInlineCompletion.get(),i=t.preserveCurrentCompletion||(null==n?void 0:n.forwardStable)?n:void 0,o=this._source.suggestWidgetInlineCompletions.get(),s=this.selectedSuggestItem.read(e);if(o&&!s){const e=this._source.inlineCompletions.get();OE((t=>{(!e||o.request.versionId>e.request.versionId)&&this._source.inlineCompletions.set(o.clone(),t),this._source.clearSuggestWidgetInlineCompletions(t)}))}const r=this._primaryPosition.read(e),l={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:null==s?void 0:s.toSelectedSuggestionInfo()};return this._source.fetch(r,l,i)})),this._filteredInlineCompletionItems=jE(this,(e=>{const t=this._source.inlineCompletions.read(e);if(!t)return[];const n=this._primaryPosition.read(e),i=t.inlineCompletions.filter((t=>t.isVisible(this.textModel,n,e)));return i})),this.selectedInlineCompletionIndex=jE(this,(e=>{const t=this._selectedInlineCompletionId.read(e),n=this._filteredInlineCompletionItems.read(e),i=void 0===this._selectedInlineCompletionId?-1:n.findIndex((e=>e.semanticId===t));return-1===i?(this._selectedInlineCompletionId.set(void 0,void 0),0):i})),this.selectedInlineCompletion=jE(this,(e=>this._filteredInlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(e=>null==e?void 0:e.request.context.triggerKind)),this.inlineCompletionsCount=jE(this,(e=>this.lastTriggerKind.read(e)===vC.Explicit?this._filteredInlineCompletionItems.read(e).length:void 0)),this.state=qE({owner:this,equalityComparer:(e,t)=>e&&t?o1(e.ghostTexts,t.ghostTexts)&&e.inlineCompletion===t.inlineCompletion&&e.suggestItem===t.suggestItem:e===t},(e=>{var t,n;const i=this.textModel,o=this.selectedSuggestItem.read(e);if(o){const s=w1(o.toSingleTextEdit(),i),r=this._computeAugmentation(s,e);if(!this._suggestPreviewEnabled.read(e)&&!r)return;const l=null!==(t=null==r?void 0:r.edit)&&void 0!==t?t:s,a=r?r.edit.text.length-s.text.length:0,d=this._suggestPreviewMode.read(e),u=this._positions.read(e),c=[l,...c4(this.textModel,u,l)],h=c.map(((e,t)=>y1(e,i,d,u[t],a))).filter(pa);return{edits:c,primaryGhostText:null!==(n=h[0])&&void 0!==n?n:new t1(l.range.endLineNumber,[]),ghostTexts:h,inlineCompletion:null==r?void 0:r.completion,suggestItem:o}}{if(!this._isActive.read(e))return;const t=this.selectedInlineCompletion.read(e);if(!t)return;const n=t.toSingleTextEdit(e),o=this._inlineSuggestMode.read(e),s=this._positions.read(e),r=[n,...c4(this.textModel,s,n)],l=r.map(((e,t)=>y1(e,i,o,s[t],0))).filter(pa);if(!l[0])return;return{edits:r,primaryGhostText:l[0],ghostTexts:l,inlineCompletion:t,suggestItem:void 0}}})),this.ghostTexts=qE({owner:this,equalityComparer:o1},(e=>{const t=this.state.read(e);if(t)return t.ghostTexts})),this.primaryGhostText=qE({owner:this,equalityComparer:s1},(e=>{const t=this.state.read(e);if(t)return null==t?void 0:t.primaryGhostText})),this._register(dI(this._fetchInlineCompletions)),this._register(YE((e=>{var t,n;const i=this.state.read(e),o=null==i?void 0:i.inlineCompletion;if((null==o?void 0:o.semanticId)!==(null==h?void 0:h.semanticId)&&(h=o,o)){const e=o.inlineCompletion,i=e.source;null===(n=(t=i.provider).handleItemDidShow)||void 0===n||n.call(t,i.inlineCompletions,e.sourceInlineCompletion,e.insertText)}})))}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletions.get()}async triggerExplicitly(e){BE(e,(e=>{this._isActive.set(!0,e),this._forceUpdateSignal.trigger(e,vC.Explicit)})),await this._fetchInlineCompletions.get()}stop(e){BE(e,(e=>{this._isActive.set(!1,e),this._source.clear(e)}))}_computeAugmentation(e,t){const n=this.textModel,i=this._source.suggestWidgetInlineCompletions.read(t);return function(e,t){for(const n of e){const e=t(n);if(void 0!==e)return e}}(i?i.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(pa),(i=>{let o=i.toSingleTextEdit(t);return o=w1(o,n,nc.fromPositions(o.range.getStartPosition(),e.range.getEndPosition())),C1(o,e)?{completion:i,edit:o}:void 0}))}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const n=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[n].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 t;if(e.getModel()!==this.textModel)throw new Re;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const i=n.inlineCompletion.toInlineCompletion(void 0);if(e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[wY.replaceMove(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),null===(t=r4.get(e))||void 0===t||t.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const t=n.edits,o=h4(t).map((e=>ic.fromPositions(e)));e.executeEdits("inlineSuggestion.accept",[...t.map((e=>wY.replaceMove(e.range,e.text))),...i.additionalTextEdits]),e.setSelections(o,"inlineCompletionAccept")}i.command&&i.source.addRef(),OE((e=>{this._source.clear(e),this._isActive.set(!1,e)})),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,ke),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,((e,t)=>{const n=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),i=this._languageConfigurationService.getLanguageConfiguration(n),o=new RegExp(i.wordDefinition.source,i.wordDefinition.flags.replace("g","")),s=t.match(o);let r=0;r=s&&void 0!==s.index?0===s.index?s[0].length:s.index:t.length;const l=/\s+/g.exec(t);return l&&void 0!==l.index&&l.index+l[0].length{const n=t.match(/\n/);return n&&void 0!==n.index?n.index+1:t.length}),1)}async _acceptNext(e,t,n){if(e.getModel()!==this.textModel)throw new Re;const i=this.state.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineCompletion)return;const o=i.primaryGhostText,s=i.inlineCompletion.toInlineCompletion(void 0);if(s.snippetInfo||s.filterText!==s.insertText)return void await this.accept(e);const r=o.parts[0],l=new cd(o.lineNumber,r.column),a=r.text,d=t(l,a);if(d===a.length&&1===o.parts.length)return void this.accept(e);const u=a.substring(0,d),c=this._positions.get(),h=c[0];s.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const t=nc.fromPositions(h,l),n=e.getModel().getValueInRange(t)+u,i=new vQ(t,n),o=[i,...c4(this.textModel,c,i)],s=h4(o).map((e=>ic.fromPositions(e)));e.executeEdits("inlineSuggestion.accept",o.map((e=>wY.replaceMove(e.range,e.text)))),e.setSelections(s,"inlineCompletionPartialAccept")}finally{this._isAcceptingPartially=!1}if(s.source.provider.handlePartialAccept){const t=nc.fromPositions(s.range.getStartPosition(),gp.ofText(u).addToPosition(l)),i=e.getModel().getValueInRange(t,1);s.source.provider.handlePartialAccept(s.source.inlineCompletions,s.sourceInlineCompletion,i.length,{kind:n})}}finally{s.source.removeRef()}}handleSuggestAccepted(e){var t,n;const i=w1(e.toSingleTextEdit(),this.textModel),o=this._computeAugmentation(i,void 0);if(!o)return;const s=o.completion.inlineCompletion;null===(n=(t=s.source.provider).handlePartialAccept)||void 0===n||n.call(t,s.source.inlineCompletions,s.sourceInlineCompletion,i.text.length,{kind:2})}};function c4(e,t,n){if(1===t.length)return[];const i=t[0],o=t.slice(1),s=n.range.getStartPosition(),r=n.range.getEndPosition(),l=e.getValueInRange(nc.fromPositions(i,r)),a=d1(i,s);if(a.lineNumber<1)return xe(new Re(`positionWithinTextEdit line number should be bigger than 0.\n\t\t\tInvalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const d=function(e,t){let n="";const i=function(e){var t;const n=[],i=e.split(/(\r\n|\r|\n)/);for(let e=0;e{const n=(i=d1(t,s),o=r,new cd(i.lineNumber+o.lineNumber-1,1===o.lineNumber?i.column+o.column-1:o.column));var i,o;const a=e.getValueInRange(nc.fromPositions(t,n)),u=xi(l,a),c=nc.fromPositions(t,t.delta(0,u));return new vQ(c,d)}))}function h4(e){const t=nh.createSortPermutation(e,((e,t)=>nc.compareRangesUsingStarts(e.range,t.range))),n=new _Q(t.apply(e)).getNewRanges();return t.inverse().apply(n).map((e=>e.getEndPosition()))}u4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([d4(9,ad),d4(10,wd),d4(11,Qg)],u4);var g4,p4=function(e,t){return function(n,i){t(n,i,e)}};class m4{constructor(e){this.name=e}select(e,t,n){if(0===n.length)return 0;const i=n[0].score[0];for(let e=0;ethis._saveState()),500),this._disposables.add(e.onWillSaveState((e=>{e.reason===jB.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,n){this._withStrategy(e,t).memorize(e,t,n),this._persistSoon.schedule()}select(e,t,n){return this._withStrategy(e,t).select(e,t,n)}_withStrategy(e,t){var n;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if((null===(n=this._strategy)||void 0===n?void 0:n.name)!==i){this._saveState();const e=g4._strategyCtors.get(i)||f4;this._strategy=new e;try{const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=this._storageService.get(`${g4._storagePrefix}/${i}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch(e){}}return this._strategy}_saveState(){if(this._strategy){const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=JSON.stringify(this._strategy);this._storageService.store(`${g4._storagePrefix}/${this._strategy.name}`,t,e,1)}}};_4._strategyCtors=new Map([["recentlyUsedByPrefix",class extends m4{constructor(){super("recentlyUsedByPrefix"),this._trie=Lx.forStrings(),this._seq=0}memorize(e,t,n){const{word:i}=e.getWordUntilPosition(t),o=`${e.getLanguageId()}/${i}`;this._trie.set(o,{type:n.completion.kind,insertText:n.completion.insertText,touch:this._seq++})}select(e,t,n){const{word:i}=e.getWordUntilPosition(t);if(!i)return super.select(e,t,n);const o=`${e.getLanguageId()}/${i}`;let s=this._trie.get(o);if(s||(s=this._trie.findSubstr(o)),s)for(let e=0;ee.push([n,t]))),e.sort(((e,t)=>-(e[1].touch-t[1].touch))).forEach(((e,t)=>e[1].touch=t)),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,n]of e)n.type="number"==typeof n.type?n.type:_C.fromString(n.type),this._trie.set(t,n)}}}],["recentlyUsed",class extends m4{constructor(){super("recentlyUsed"),this._cache=new il(300,.66),this._seq=0}memorize(e,t,n){const i=`${e.getLanguageId()}/${n.textLabel}`;this._cache.set(i,{touch:this._seq++,type:n.completion.kind,insertText:n.completion.insertText})}select(e,t,n){if(0===n.length)return 0;const i=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(i))return super.select(e,t,n);const o=n[0].score[0];let s=-1,r=-1;for(let t=0;tr&&o.type===n[t].completion.kind&&o.insertText===n[t].completion.insertText&&(r=o.touch,s=t),n[t].completion.preselect)return t}return-1!==s?s:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(const[t,n]of e)n.touch=0,n.type="number"==typeof n.type?n.type:_C.fromString(n.type),this._cache.set(t,n);this._seq=this._cache.size}}],["first",f4]]),_4._storagePrefix="suggest/memories",_4=g4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([p4(0,KB),p4(1,pg)],_4);const v4=dd("ISuggestMemories");yg(v4,_4,1);var b4;let w4=b4=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=b4.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration((e=>e.hasChanged(123)&&this._update())),this._update()}dispose(){var e;this._configListener.dispose(),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._ckAtEnd.reset()}_update(){const e="on"===this._editor.getOption(123);if(this._enabled!==e)if(this._enabled=e,this._enabled){const e=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const e=this._editor.getModel(),t=this._editor.getSelection(),n=e.getWordAtPosition(t.getStartPosition());n?this._ckAtEnd.set(n.endColumn===t.getStartPosition().column):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};w4.AtEnd=new ou("atEndOfWord",!1),w4=b4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,su)],w4);var C4;let y4=C4=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=C4.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),null===(e=this._listener)||void 0===e||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},n){0!==e.items.length&&C4._moveIndex(!0,e,t)!==t?(this._acceptNext=n,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(e,t,n){let i=n;for(let o=t.items.length;o>0&&(i=(i+t.items.length+(e?1:-1))%t.items.length,i!==n)&&t.items[i].completion.additionalTextEdits;o--);return i}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=C4._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};y4.OtherSuggestions=new ou("hasOtherSuggestions",!1),y4=C4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,su)],y4);class S4{constructor(e,t,n,i){this._disposables=new rt,this._disposables.add(n.onDidSuggest((e=>{0===e.completionModel.items.length&&this.reset()}))),this._disposables.add(n.onDidCancel((e=>{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((o=>{if(this._active&&!t.isFrozen()&&0!==n.state){const t=o.charCodeAt(o.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&i(this._active.item)}})))}_onItem(e){if(!e||!Wc(e.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===e.item)return;const t=new jw;for(const n of e.item.completion.commitCharacters)n.length>0&&t.add(n.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class x4{async provideSelectionRanges(e,t){const n=[];for(const i of t){const t=[];n.push(t);const o=new Map;await new Promise((t=>x4._bracketsRightYield(t,0,e,i,o))),await new Promise((n=>x4._bracketsLeftYield(n,0,e,i,o,t)))}return n}static _bracketsRightYield(e,t,n,i,o){const s=new Map,r=Date.now();for(;;){if(t>=x4._maxRounds){e();break}if(!i){e();break}const l=n.bracketPairs.findNextBracket(i);if(!l){e();break}if(Date.now()-r>x4._maxDuration){setTimeout((()=>x4._bracketsRightYield(e,t+1,n,i,o)));break}if(l.bracketInfo.isOpeningBracket){const e=l.bracketInfo.bracketText,t=s.has(e)?s.get(e):0;s.set(e,t+1)}else{const e=l.bracketInfo.getOpeningBrackets()[0].bracketText;let t=s.has(e)?s.get(e):0;if(t-=1,s.set(e,Math.max(0,t)),t<0){let t=o.get(e);t||(t=new gt,o.set(e,t)),t.push(l.range)}}i=l.range.getEndPosition()}}static _bracketsLeftYield(e,t,n,i,o,s){const r=new Map,l=Date.now();for(;;){if(t>=x4._maxRounds&&0===o.size){e();break}if(!i){e();break}const a=n.bracketPairs.findPrevBracket(i);if(!a){e();break}if(Date.now()-l>x4._maxDuration){setTimeout((()=>x4._bracketsLeftYield(e,t+1,n,i,o,s)));break}if(a.bracketInfo.isOpeningBracket){const e=a.bracketInfo.bracketText;let t=r.has(e)?r.get(e):0;if(t-=1,r.set(e,Math.max(0,t)),t<0){const t=o.get(e);if(t){const i=t.shift();0===t.size&&o.delete(e);const r=nc.fromPositions(a.range.getEndPosition(),i.getStartPosition()),l=nc.fromPositions(a.range.getStartPosition(),i.getEndPosition());s.push({range:r}),s.push({range:l}),x4._addBracketLeading(n,l,s)}}}else{const e=a.bracketInfo.getOpeningBrackets()[0].bracketText,t=r.has(e)?r.get(e):0;r.set(e,t+1)}i=a.range.getStartPosition()}}static _addBracketLeading(e,t,n){if(t.startLineNumber===t.endLineNumber)return;const i=t.startLineNumber,o=e.getLineFirstNonWhitespaceColumn(i);0!==o&&o!==t.startColumn&&(n.push({range:nc.fromPositions(new cd(i,o),t.getEndPosition())}),n.push({range:nc.fromPositions(new cd(i,1),t.getEndPosition())}));const s=i-1;if(s>0){const i=e.getLineFirstNonWhitespaceColumn(s);i===t.startColumn&&i!==e.getLineLastNonWhitespaceColumn(s)&&(n.push({range:nc.fromPositions(new cd(s,i),t.getEndPosition())}),n.push({range:nc.fromPositions(new cd(s,1),t.getEndPosition())}))}}}x4._maxDuration=30,x4._maxRounds=2;class k4{static async create(e,t){if(!t.getOption(118).localityBonus)return k4.None;if(!t.hasModel())return k4.None;const n=t.getModel(),i=t.getPosition();if(!e.canComputeWordRanges(n.uri))return k4.None;const[o]=await(new x4).provideSelectionRanges(n,[i]);if(0===o.length)return k4.None;const s=await e.computeWordRanges(n.uri,o[0].range);if(!s)return k4.None;const r=n.getWordUntilPosition(i);return delete s[r.word],new class extends k4{distance(e,n){if(!i.equals(t.getPosition()))return 0;if(17===n.kind)return 2<<20;const r="string"==typeof n.label?n.label:n.label.label,l=s[r];if(Bc(l))return 2<<20;const a=Mc(l,nc.fromPositions(e),nc.compareRangesUsingStarts),d=a>=0?l[a]:l[Math.max(0,~a-1)];let u=o.length;for(const e of o){if(!nc.containsRange(e.range,d))break;u-=1}return u}}}}k4.None=new class extends k4{distance(){return 0}};class L4{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}}class D4{constructor(e,t,n,i,o,s,r=na.default,l=void 0){this.clipboardText=l,this._snippetCompareFn=D4._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=i,this._options=o,this._refilterKind=1,this._lineContext=n,this._fuzzyScoreOptions=r,"top"===s?this._snippetCompareFn=D4._compareCompletionItemsSnippetsUp:"bottom"===s&&(this._snippetCompareFn=D4._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&n[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:n}=this._lineContext;let i="",o="";const s=1===this._refilterKind?this._items:this._filteredItems,r=[],l=!this._options.filterGraceful||s.length>2e3?ia:sa;for(let a=0;a=h)d.score=ta.Default;else if("string"==typeof d.completion.filterText){const t=l(i,o,e,d.completion.filterText,d.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;0===_i(d.completion.filterText,d.textLabel)?d.score=t:(d.score=Vl(i,o,e,d.textLabel,d.labelLow,0),d.score[0]=t[0])}else{const t=l(i,o,e,d.textLabel,d.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;d.score=t}}d.idx=a,d.distance=this._wordDistance.distance(d.position,d.completion),r.push(d),e.push(d.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?Tc(e.length-.85,e,((e,t)=>e-t)):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return D4._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return D4._compareCompletionItems(e,t)}}var N4,E4=function(e,t){return function(n,i){t(n,i,e)}};class I4{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),n=e.getPosition();t.tokenization.tokenizeIfCheap(n.lineNumber);const i=t.getWordAtPosition(n);return!(!i||i.endColumn!==n.column&&i.startColumn+1!==n.column||!isNaN(Number(i.word)))}constructor(e,t,n){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=n}}let M4=N4=class{constructor(e,t,n,i,o,s,r,l,a){this._editor=e,this._editorWorkerService=t,this._clipboardService=n,this._telemetryService=i,this._logService=o,this._contextKeyService=s,this._configurationService=r,this._languageFeaturesService=l,this._envService=a,this._toDispose=new rt,this._triggerCharacterListener=new rt,this._triggerQuickSuggest=new Ut,this._triggerState=void 0,this._completionDisposables=new rt,this._onDidCancel=new Ct,this._onDidTrigger=new Ct,this._onDidSuggest=new Ct,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new ic(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 d=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{d=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{d=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((e=>{d||this._onCursorChange(e)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{d||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){it(this._triggerCharacterListener),it([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(91)||!this._editor.hasModel()||!this._editor.getOption(121))return;const e=new Map;for(const t of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const n of t.triggerCharacters||[]){let i=e.get(n);i||(i=new Set,i.add(undefined),e.set(n,i)),i.add(t)}const t=t=>{var n;if(!function(e,t,n){if(!Boolean(t.getContextKeyValue("inlineSuggestionVisible")))return!0;const i=t.getContextKeyValue(Q0.suppressSuggestions.key);return void 0!==i?!i:!e.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService,this._configurationService))return;if(I4.shouldAutoTrigger(this._editor))return;if(!t){const e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let i="";Di(t.charCodeAt(t.length-1))?Li(t.charCodeAt(t.length-2))&&(i=t.substr(t.length-2)):i=t.charAt(t.length-1);const o=e.get(i);if(o){const e=new Map;if(this._completionModel)for(const[t,n]of this._completionModel.getItemsByProvider())o.has(t)||e.set(t,n);this.trigger({auto:!0,triggerKind:1,triggerCharacter:i,retrigger:Boolean(this._completionModel),clipboardText:null===(n=this._completionModel)||void 0===n?void 0:n.clipboardText,completionOptions:{providerFilter:o,providerItemsToReuse:e}})}};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;void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),null===(t=this._requestToken)||void 0===t||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(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||0!==e.reason&&3!==e.reason||"keyboard"!==e.source&&"deleteLeft"!==e.source?this.cancel():void 0===this._triggerState&&0===e.reason?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===e.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;H1.isAllOff(this._editor.getOption(89))||this._editor.getOption(118).snippetsPreventQuickSuggestions&&(null===(e=r4.get(this._editor))||void 0===e?void 0:e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!I4.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const e=this._editor.getModel(),t=this._editor.getPosition(),n=this._editor.getOption(89);if(!H1.isAllOff(n)){if(!H1.isAllOn(n)){e.tokenization.tokenizeIfCheap(t.lineNumber);const i=e.tokenization.getLineTokens(t.lineNumber),o=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("on"!==H1.valueFor(n,o))return}(function(e,t,n){if(!Boolean(t.getContextKeyValue(Q0.inlineSuggestionVisible.key)))return!0;const i=t.getContextKeyValue(Q0.suppressSuggestions.key);return void 0!==i?!i:!e.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&this.trigger({auto:!0})}}),this._editor.getOption(90)))}_refilterCompletionItems(){fa(this._editor.hasModel()),fa(void 0!==this._triggerState);const e=this._editor.getModel(),t=this._editor.getPosition(),n=new I4(e,t,{...this._triggerState,refilter:!0});this._onNewContext(n)}trigger(e){var t,n,i,o,s,r;if(!this._editor.hasModel())return;const l=this._editor.getModel(),a=new I4(l,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:null!==(t=e.shy)&&void 0!==t&&t,position:this._editor.getPosition()}),this._context=a;let d={triggerKind:null!==(n=e.triggerKind)&&void 0!==n?n:0};e.triggerCharacter&&(d={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new Tt;let u=1;switch(this._editor.getOption(112)){case"top":u=0;break;case"bottom":u=2}const{itemKind:c,showDeprecated:h}=N4.createSuggestFilter(this._editor),g=new O1(u,null!==(o=null===(i=e.completionOptions)||void 0===i?void 0:i.kindFilter)&&void 0!==o?o:c,null===(s=e.completionOptions)||void 0===s?void 0:s.providerFilter,null===(r=e.completionOptions)||void 0===r?void 0:r.providerItemsToReuse,h),p=k4.create(this._editorWorkerService,this._editor),m=B1(this._languageFeaturesService.completionProvider,l,this._editor.getPosition(),g,d,this._requestToken.token);Promise.all([m,p]).then((async([t,n])=>{var i;if(null===(i=this._requestToken)||void 0===i||i.dispose(),!this._editor.hasModel())return;let o=null==e?void 0:e.clipboardText;if(!o&&t.needsClipboard&&(o=await this._clipboardService.readText()),void 0===this._triggerState)return;const s=this._editor.getModel(),r=new I4(s,this._editor.getPosition(),e),l={...na.default,firstMatchCanBeWeak:!this._editor.getOption(118).matchOnWordStartOnly};if(this._completionModel=new D4(t.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},n,this._editor.getOption(118),this._editor.getOption(112),l,o),this._completionDisposables.add(t.disposable),this._onNewContext(r),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)})).catch(xe)}_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;"none"===e.getOption(112)&&t.add(27);const n=e.getOption(118);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)if(gi(e.leadingLineContent)===gi(this._context.leadingLineContent)){if(e.columnthis._context.leadingWord.startColumn){if(I4.shouldAutoTrigger(this._editor)&&this._context){const e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}}else if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==e.leadingWord.word.length){const e=new Map,t=new Set;for(const[n,i]of this._completionModel.getItemsByProvider())i.length>0&&i[0].container.incomplete?t.add(n):e.set(n,i);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{const t=this._completionModel.lineContext;let n=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){const i=I4.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(i&&this._context.leadingWord.endColumn0,n&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:n})}}else this.cancel();else this.cancel()}};M4=N4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([E4(1,AX),E4(2,fL),E4(3,Mu),E4(4,Tu),E4(5,su),E4(6,pg),E4(7,wx),E4(8,iW)],M4);class T4{constructor(e,t){this._disposables=new rt,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType((()=>{if(this._locked||!e.hasModel())return;const t=e.getSelections(),n=t.length;let i=!1;for(let e=0;eT4._maxSelectionLength)return;this._lastOvertyped[e]={value:o.getValueInRange(n),multiline:n.startLineNumber!==n.endLineNumber}}}))),this._disposables.add(t.onDidTrigger((e=>{this._locked=!0}))),this._disposables.add(t.onDidCancel((e=>{this._locked=!1})))}getLastOvertypedInfo(e){if(e>=0&&ee instanceof Nu?n.createInstance(O4,e,void 0):void 0;this._leftActions=new iM(this.element,{actionViewItemProvider:s}),this._rightActions=new iM(this.element,{actionViewItemProvider:s}),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 t=[],n=[];for(const[i,o]of e.getActions())"left"===i?t.push(...o):n.push(...o);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange((()=>t()))),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};F4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([P4(2,ad),P4(3,xu),P4(4,su)],F4);function B4(e){return!!e&&Boolean(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}let W4=class{constructor(e,t){this._editor=e,this._onDidClose=new Ct,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Ct,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new rt,this._renderDisposeable=new rt,this._borderWidth=1,this._size=new Ds(330,0),this.domNode=mr(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(dL,{editor:e}),this._body=mr(".body"),this._scrollbar=new cE(this._body,{alwaysConsumeMouseWheel:!0}),dr(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=dr(this._body,mr(".header")),this._close=dr(this._header,mr("span"+ka.asCSSSelector(Sa.close))),this._close.title=_(0,"Close"),this._type=dr(this._header,mr("p.type")),this._docs=dr(this._body,mr("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),n=t.getMassagedFontFamily(),i=e.get(119)||t.fontSize,o=e.get(120)||t.lineHeight,s=t.fontWeight,r=`${i}px`,l=`${o}px`;this.domNode.style.fontSize=r,this.domNode.style.lineHeight=""+o/i,this.domNode.style.fontWeight=s,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=n,this._close.style.height=l,this._close.style.width=l}getLayoutInfo(){const e=this._editor.getOption(120)||this._editor.getOption(50).lineHeight,t=this._borderWidth;return{lineHeight:e,borderWidth:t,borderHeight:2*t,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=_(0,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(e,t){var n,i;this._renderDisposeable.clear();let{detail:o,documentation:s}=e.completion;if(t){let t="";t+=`score: ${e.score[0]}\n`,t+=`prefix: ${null!==(n=e.word)&&void 0!==n?n:"(no prefix)"}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}\n`,t+=`commit_chars: ${null===(i=e.completion.commitCharacters)||void 0===i?void 0:i.join("")}\n`,s=(new ed).appendCodeblock("empty",t),o=`Provider: ${e.provider._debugDisplayName}`}if(t||B4(e)){if(this.domNode.classList.remove("no-docs","no-type"),o){const e=o.length>1e5?`${o.substr(0,1e5)}…`:o;this._type.textContent=e,this._type.title=e,fr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(e))}else gs(this._type),this._type.title="",_r(this._type),this.domNode.classList.add("no-type");if(gs(this._docs),"string"==typeof s)this._docs.classList.remove("markdown-docs"),this._docs.textContent=s;else if(s){this._docs.classList.add("markdown-docs"),gs(this._docs);const e=this._markdownRenderer.render(s);this._docs.appendChild(e.element),this._renderDisposeable.add(e),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=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}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 n=new Ds(e,t);Ds.equals(n,this._size)||(this._size=n,function(e,t,n){"number"==typeof t&&(e.style.width=`${t}px`),"number"==typeof n&&(e.style.height=`${n}px`)}(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}};W4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,ad)],W4);class V4{constructor(e,t){let n,i;this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new rt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new EG,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let o=0,s=0;this._disposables.add(this._resizable.onDidWillResize((()=>{n=this._topLeft,i=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((e=>{if(n&&i){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(s=i.width-e.dimension.width,t=!0),e.north&&(o=i.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:n.top+o,left:n.left+s})}e.done&&(n=void 0,i=void 0,o=0,s=0,this._userSize=e.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{var e;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e: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){var n;const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,null!==(n=this._userSize)&&void 0!==n?n:this.widget.size,t)}_placeAtAnchor(e,t,n){var i;const o=ks(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Ds(220,2*s.lineHeight),l=e.top,a=function(){const n=o.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),i=-s.borderWidth+e.left+e.width,a=new Ds(n,o.height-e.top-s.borderHeight-s.verticalPadding),d=a.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:i,fit:n-t.width,maxSizeTop:a,maxSizeBottom:d,minSize:r.with(Math.min(n,r.width))}}(),d=function(){const n=e.left-s.borderWidth-s.horizontalPadding,i=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),a=new Ds(n,o.height-e.top-s.borderHeight-s.verticalPadding),d=a.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:i,fit:n-t.width,maxSizeTop:a,maxSizeBottom:d,minSize:r.with(Math.min(n,r.width))}}(),u=function(){const n=e.left,i=-s.borderWidth+e.top+e.height,l=new Ds(e.width-s.borderHeight,o.height-e.top-e.height-s.verticalPadding);return{top:i,left:n,fit:l.height-t.height,maxSizeBottom:l,maxSizeTop:l,minSize:r.with(l.width)}}(),c=[a,d,u],h=null!==(i=c.find((e=>e.fit>=0)))&&void 0!==i?i:c.sort(((e,t)=>t.fit-e.fit))[0],g=e.top+e.height-s.borderHeight;let p,m=t.height;const f=Math.max(h.maxSizeTop.height,h.maxSizeBottom.height);let _;m>f&&(m=f),n?m<=h.maxSizeTop.height?(p=!0,_=h.maxSizeTop):(p=!1,_=h.maxSizeBottom):m<=h.maxSizeBottom.height?(p=!1,_=h.maxSizeBottom):(p=!0,_=h.maxSizeTop);let{top:v,left:b}=h;!p&&m>e.height&&(v=g-m);const w=this._editor.getDomNode();if(w){const e=w.getBoundingClientRect();v-=e.top,b-=e.left}this._applyTopLeft({left:b,top:v}),this._resizable.enableSashes(!p,h===a,p,h!==a),this._resizable.minSize=h.minSize,this._resizable.maxSize=_,this._resizable.layout(m,Math.min(_.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var H4;!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(H4||(H4={}));const z4=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function U4(e,t,n,i,o){if(o)return[`codicon-${o.id}`,"predefined-file-icon"];const s=i===H4.ROOT_FOLDER?["rootfolder-icon"]:i===H4.FOLDER?["folder-icon"]:["file-icon"];if(n){let o;if(n.scheme===Ho.data)o=Ja.parseMetaData(n).get(Ja.META_DATA_LABEL);else{const e=n.path.match(z4);e?(o=K4(e[2].toLowerCase()),e[1]&&s.push(`${K4(e[1].toLowerCase())}-name-dir-icon`)):o=K4(n.authority.toLowerCase())}if(i===H4.ROOT_FOLDER)s.push(`${o}-root-name-folder-icon`);else if(i===H4.FOLDER)s.push(`${o}-name-folder-icon`);else{if(o){if(s.push(`${o}-name-file-icon`),s.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t{const e=this._editor.getOptions(),t=e.get(50),o=t.getMassagedFontFamily(),s=t.fontFeatureSettings,l=e.get(119)||t.fontSize,a=e.get(120)||t.lineHeight,d=t.fontWeight,u=`${l}px`,c=`${a}px`,h=`${t.letterSpacing}px`;n.style.fontSize=u,n.style.fontWeight=d,n.style.letterSpacing=h,r.style.fontFamily=o,r.style.fontFeatureSettings=s,r.style.lineHeight=c,i.style.height=c,i.style.width=c,p.style.height=c,p.style.width=c}}}renderElement(e,t,n){n.configureFont();const{completion:i}=e;n.root.id=$4(t),n.colorspan.style.backgroundColor="";const o={labelEscapeNewLines:!0,matches:Hl(e.score)},s=[];if(19===i.kind&&Z4.extract(e,s))n.icon.className="icon customcolor",n.iconContainer.className="icon hide",n.colorspan.style.backgroundColor=s[0];else if(20===i.kind&&this._themeService.getFileIconTheme().hasFileIcons){n.icon.className="icon hide",n.iconContainer.className="icon hide";const t=U4(this._modelService,this._languageService,Io.from({scheme:"fake",path:e.textLabel}),H4.FILE),s=U4(this._modelService,this._languageService,Io.from({scheme:"fake",path:i.detail}),H4.FILE);o.extraClasses=t.length>s.length?t:s}else 23===i.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(n.icon.className="icon hide",n.iconContainer.className="icon hide",o.extraClasses=[U4(this._modelService,this._languageService,Io.from({scheme:"fake",path:e.textLabel}),H4.FOLDER),U4(this._modelService,this._languageService,Io.from({scheme:"fake",path:i.detail}),H4.FOLDER)].flat()):(n.icon.className="icon hide",n.iconContainer.className="",n.iconContainer.classList.add("suggest-icon",...ka.asClassNameArray(_C.toIcon(i.kind))));i.tags&&i.tags.indexOf(1)>=0&&(o.extraClasses=(o.extraClasses||[]).concat(["deprecated"]),o.matches=[]),n.iconLabel.setLabel(e.textLabel,void 0,o),"string"==typeof i.label?(n.parametersLabel.textContent="",n.detailsLabel.textContent=X4(i.detail||""),n.root.classList.add("string-label")):(n.parametersLabel.textContent=X4(i.label.detail||""),n.detailsLabel.textContent=X4(i.label.description||""),n.root.classList.remove("string-label")),this._editor.getOption(118).showInlineDetails?fr(n.detailsLabel):_r(n.detailsLabel),B4(e)?(n.right.classList.add("can-expand-details"),fr(n.readMore),n.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},n.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(n.right.classList.remove("can-expand-details"),_r(n.readMore),n.readMore.onmousedown=null,n.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};function X4(e){return e.replace(/\r\n|\r|\n/g,"")}Y4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([q4(1,hd),q4(2,Sh),q4(3,Tv)],Y4);var Q4,J4=function(e,t){return function(n,i){t(n,i,e)}};km("editorSuggestWidget.background",{dark:Ym,light:Ym,hcDark:Ym,hcLight:Ym},_(0,"Background color of the suggest widget.")),km("editorSuggestWidget.border",{dark:Qm,light:Qm,hcDark:Qm,hcLight:Qm},_(0,"Border color of the suggest widget."));const e5=km("editorSuggestWidget.foreground",{dark:Zm,light:Zm,hcDark:Zm,hcLight:Zm},_(0,"Foreground color of the suggest widget."));km("editorSuggestWidget.selectedForeground",{dark:Lv,light:Lv,hcDark:Lv,hcLight:Lv},_(0,"Foreground color of the selected entry in the suggest widget.")),km("editorSuggestWidget.selectedIconForeground",{dark:Dv,light:Dv,hcDark:Dv,hcLight:Dv},_(0,"Icon foreground color of the selected entry in the suggest widget."));const t5=km("editorSuggestWidget.selectedBackground",{dark:Nv,light:Nv,hcDark:Nv,hcLight:Nv},_(0,"Background color of the selected entry in the suggest widget."));km("editorSuggestWidget.highlightForeground",{dark:tv,light:tv,hcDark:tv,hcLight:tv},_(0,"Color of the match highlights in the suggest widget.")),km("editorSuggestWidget.focusHighlightForeground",{dark:nv,light:nv,hcDark:nv,hcLight:nv},_(0,"Color of the match highlights in the suggest widget when an item is focused.")),km("editorSuggestWidgetStatus.foreground",{dark:Nm(e5,.5),light:Nm(e5,.5),hcDark:Nm(e5,.5),hcLight:Nm(e5,.5)},_(0,"Foreground color of the suggest widget status."));class n5{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Jz}`}restore(){var e;const t=null!==(e=this._service.get(this._key,0))&&void 0!==e?e:"";try{const e=JSON.parse(t);if(Ds.is(e))return Ds.lift(e)}catch(e){}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let i5=Q4=class{constructor(e,t,n,i,o){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new at,this._pendingShowDetails=new at,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Ut,this._disposables=new rt,this._onDidSelect=new St,this._onDidFocus=new St,this._onDidHide=new Ct,this._onDidShow=new Ct,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Ct,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new EG,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new o5(this,e),this._persistedSize=new n5(t,e);class s{constructor(e,t,n=!1,i=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=n,this.persistWidth=i}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new s(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((e=>{var t,n,i,o;if(this._resize(e.dimension.width,e.dimension.height),r&&(r.persistHeight=r.persistHeight||!!e.north||!!e.south,r.persistWidth=r.persistWidth||!!e.east||!!e.west),e.done){if(r){const{itemHeight:e,defaultSize:s}=this.getLayoutInfo(),l=Math.round(e/2);let{width:a,height:d}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-d)<=l)&&(d=null!==(n=null===(t=r.persistedSize)||void 0===t?void 0:t.height)&&void 0!==n?n:s.height),(!r.persistWidth||Math.abs(r.currentSize.width-a)<=l)&&(a=null!==(o=null===(i=r.persistedSize)||void 0===i?void 0:i.width)&&void 0!==o?o:s.width),this._persistedSize.store(new Ds(a,d))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=dr(this.element.domNode,mr(".message")),this._listElement=dr(this.element.domNode,mr(".tree"));const l=this._disposables.add(o.createInstance(W4,this.editor));l.onDidClose(this.toggleDetails,this,this._disposables),this._details=new V4(l,this.editor);const a=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(118).showIcons);a();const d=o.createInstance(Y4,this.editor);this._disposables.add(d),this._disposables.add(d.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new HI("SuggestWidget",this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>"suggestion"},[d],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>_(0,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:e=>{let t=e.textLabel;if("string"!=typeof e.completion.label){const{detail:n,description:i}=e.completion.label;n&&i?t=_(0,"{0} {1}, {2}",t,n,i):n?t=_(0,"{0} {1}",t,n):i&&(t=_(0,"{0}, {1}",t,i))}if(!e.isResolved||!this._isDetailsVisible())return t;const{documentation:n,detail:i}=e.completion;return _(0,"{0}, docs: {1}",t,oi("{0}{1}",i||"",n?"string"==typeof n?n:n.value:""))}}}),this._list.style(kM({listInactiveFocusBackground:t5,listInactiveFocusOutline:Wm})),this._status=o.createInstance(F4,this.element.domNode,R1);const u=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(118).showStatusBar);u(),this._disposables.add(i.onDidColorThemeChange((e=>this._onThemeChange(e)))),this._onThemeChange(i.getColorTheme()),this._disposables.add(this._list.onMouseDown((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onTap((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onDidChangeSelection((e=>this._onListSelection(e)))),this._disposables.add(this._list.onDidChangeFocus((e=>this._onListFocus(e)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((e=>{e.hasChanged(118)&&(u(),a()),this._completionModel&&(e.hasChanged(50)||e.hasChanged(119)||e.hasChanged(120))&&this._list.splice(0,this._list.length,this._completionModel.items)}))),this._ctxSuggestWidgetVisible=A1.Visible.bindTo(n),this._ctxSuggestWidgetDetailsVisible=A1.DetailsVisible.bindTo(n),this._ctxSuggestWidgetMultipleSuggestions=A1.MultipleSuggestions.bindTo(n),this._ctxSuggestWidgetHasFocusedSuggestion=A1.HasFocusedSuggestion.bindTo(n),this._disposables.add(_s(this._details.widget.domNode,"keydown",(e=>{this._onDetailsKeydown.fire(e)}))),this._disposables.add(this.editor.onMouseDown((e=>this._onEditorMouseDown(e))))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(e=this._loadingTimeout)||void 0===e||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(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(e){void 0!==e.element&&void 0!==e.index&&(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 n=this._completionModel;n&&(this._onDidSelect.fire({item:e,index:t,model:n}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=Iv(e.type)?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!e.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const n=e.elements[0],i=e.indexes[0];n!==this._focusedItem&&(null===(t=this._currentSuggestionDetails)||void 0===t||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=n,this._list.reveal(i),this._currentSuggestionDetails=Pt((async e=>{const t=Ht((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),i=e.onCancellationRequested((()=>t.dispose()));try{return await n.resolve(e)}finally{t.dispose(),i.dispose()}})),this._currentSuggestionDetails.then((()=>{i>=this._list.length||n!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[n]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:$4(i)}))})).catch(xe)),this._onDidFocus.fire({item:n,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",4===e),this.element.domNode.classList.remove("message"),e){case 0:_r(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=Q4.LOADING_MESSAGE,_r(this._listElement,this._status.element),fr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Yr(Q4.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Q4.NO_SUGGESTIONS_MESSAGE,_r(this._listElement,this._status.element),fr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Yr(Q4.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:_r(this._messageElement),fr(this._listElement,this._status.element),this._show();break;case 5:_r(this._messageElement),fr(this._listElement,this._status.element),this._details.show(),this._show()}}_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){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=Ht((()=>this._setState(1)),t)))}showSuggestions(e,t,n,i,o){var s,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(s=this._loadingTimeout)||void 0===s||s.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),n&&2!==this._state&&0!==this._state)return void this._setState(4);const l=this._completionModel.items.length,a=0===l;if(this._ctxSuggestWidgetMultipleSuggestions.set(l>1),a)return this._setState(i?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(n?4:3),this._list.reveal(t,0),this._list.setFocus(o?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=ws(is(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(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&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")):!B4(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=ws(is(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 e;this._pendingLayout.clear(),this._pendingShowDetails.clear(),null===(e=this._loadingTimeout)||void 0===e||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const t=this._persistedSize.restore(),n=Math.ceil(4.3*this.getLayoutInfo().itemHeight);t&&t.heighta&&(l=a);const d=this._completionModel?this._completionModel.stats.pLabelLen*s.typicalHalfwidthCharacterWidth:l,u=s.statusBarHeight+this._list.contentHeight+s.borderHeight,c=s.itemHeight+s.statusBarHeight,h=Es(this.editor.getDomNode()),g=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=h.top+g.top+g.height,m=Math.min(o.height-p-s.verticalPadding,u),f=h.top+g.top-s.verticalPadding,_=Math.min(f,u);let v=Math.min(Math.max(_,m)+s.borderHeight,u);r===(null===(t=this._cappedHeight)||void 0===t?void 0:t.capped)&&(r=this._cappedHeight.wanted),rv&&(r=v);const b=150;r>m||this._forceRenderingAbove&&f>b?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),v=_):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),v=m),this.element.preferredSize=new Ds(d,s.defaultSize.height),this.element.maxSize=new Ds(a,v),this.element.minSize=new Ds(220,c),this._cappedHeight=r===u?{wanted:null!==(i=null===(n=this._cappedHeight)||void 0===n?void 0:n.wanted)&&void 0!==i?i:e.height,capped:r}:void 0}this._resize(l,r)}_resize(e,t){const{width:n,height:i}=this.element.maxSize;e=Math.min(n,e),t=Math.min(i,t);const{statusBarHeight:o}=this.getLayoutInfo();this._list.layout(t-o,e),this._listElement.style.height=t-o+"px",this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===(null===(e=this._contentWidget.getPosition())||void 0===e?void 0:e.preference[0]))}getLayoutInfo(){const e=this.editor.getOption(50),t=BN(this.editor.getOption(120)||e.lineHeight,8,1e3),n=this.editor.getOption(118).showStatusBar&&2!==this._state&&1!==this._state?t:0,i=this._details.widget.borderWidth,o=2*i;return{itemHeight:t,statusBarHeight:n,borderWidth:i,borderHeight:o,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Ds(430,n+12*t+o)}}_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}};i5.LOADING_MESSAGE=_(0,"Loading..."),i5.NO_SUGGESTIONS_MESSAGE=_(0,"No suggestions."),i5=Q4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([J4(1,KB),J4(2,su),J4(3,Tv),J4(4,ad)],i5);class o5{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?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:n,horizontalPadding:i}=this._widget.getLayoutInfo();return new Ds(t+2*n+i,e+2*n)}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 s5,r5=function(e,t){return function(n,i){t(n,i,e)}};class l5{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=My.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const n=e.getOffsetAt(t),i=e.getPositionAt(n+1);e.changeDecorations((e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(nc.fromPositions(t,i),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)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let a5=s5=class{static get(e){return e.getContribution(s5.ID)}constructor(e,t,n,i,o,s,r){this._memoryService=t,this._commandService=n,this._contextKeyService=i,this._instantiationService=o,this._logService=s,this._telemetryService=r,this._lineSuffix=new at,this._toDispose=new rt,this._selectors=new d5((e=>e.priority)),this._onWillInsertSuggestItem=new Ct,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=o.createInstance(M4,this.editor),this._selectors.register({priority:0,select:(e,t,n)=>this._memoryService.select(e,t,n)});const l=A1.InsertMode.bindTo(i);l.set(e.getOption(118).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>l.set(e.getOption(118).insertMode)))),this.widget=this._toDispose.add(new bs(is(e.getDomNode()),(()=>{const e=this._instantiationService.createInstance(i5,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect((e=>this._insertSuggestion(e,0)),this));const t=new S4(this.editor,e,this.model,(e=>this._insertSuggestion(e,2)));this._toDispose.add(t);const n=A1.MakesTextEdit.bindTo(this._contextKeyService),i=A1.HasInsertAndReplaceRange.bindTo(this._contextKeyService),o=A1.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(st((()=>{n.reset(),i.reset(),o.reset()}))),this._toDispose.add(e.onDidFocus((({item:e})=>{const t=this.editor.getPosition(),s=e.editStart.column,r=t.column;let l=!0;"smart"!==this.editor.getOption(1)||2!==this.model.state||e.completion.additionalTextEdits||4&e.completion.insertTextRules||r-s!==e.completion.insertText.length||(l=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:s,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText),n.set(l),i.set(!cd.equals(e.editInsertEnd,e.editReplaceEnd)),o.set(Boolean(e.provider.resolveCompletionItem)||Boolean(e.completion.documentation)||e.completion.detail!==e.completion.label)}))),this._toDispose.add(e.onDetailsKeyDown((e=>{e.toKeyCodeChord().equals(new Fe(!0,!1,!1,!1,33))||U&&e.toKeyCodeChord().equals(new Fe(!1,!1,!1,!0,33))?e.stopPropagation():e.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),e}))),this._overtypingCapturer=this._toDispose.add(new bs(is(e.getDomNode()),(()=>this._toDispose.add(new T4(this.editor,this.model))))),this._alternatives=this._toDispose.add(new bs(is(e.getDomNode()),(()=>this._toDispose.add(new y4(this.editor,this._contextKeyService))))),this._toDispose.add(o.createInstance(w4,e)),this._toDispose.add(this.model.onDidTrigger((e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new l5(this.editor.getModel(),e.position)}))),this._toDispose.add(this.model.onDidSuggest((e=>{if(e.triggerOptions.shy)return;let t=-1;for(const n of this._selectors.itemsOrderedByPriorityDesc)if(t=n.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),-1!==t)break;if(-1===t&&(t=0),0===this.model.state)return;let n=!1;if(e.triggerOptions.auto){const t=this.editor.getOption(118);"never"===t.selectionMode||"always"===t.selectionMode?n="never"===t.selectionMode:"whenTriggerCharacter"===t.selectionMode?n=1!==e.triggerOptions.triggerKind:"whenQuickSuggestion"===t.selectionMode&&(n=1===e.triggerOptions.triggerKind&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,n)}))),this._toDispose.add(this.model.onDidCancel((e=>{e.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const a=A1.AcceptSuggestionsOnEnter.bindTo(i),d=()=>{const e=this.editor.getOption(1);a.set("on"===e||"smart"===e)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>d()))),d()}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)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const n=r4.get(this.editor);if(!n)return;this._onWillInsertSuggestItem.fire({item:e.item});const i=this.editor.getModel(),o=i.getAlternativeVersionId(),{item:s}=e,r=[],l=new Tt;1&t||this.editor.pushUndoStop();const a=this.getOverwriteInfo(s,Boolean(8&t));this._memoryService.memorize(i,this.editor.getPosition(),s);const d=s.isResolved;let u=-1,c=-1;if(Array.isArray(s.completion.additionalTextEdits)){this.model.cancel();const e=OB.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",s.completion.additionalTextEdits.map((e=>{let t=nc.lift(e.range);if(t.startLineNumber===s.position.lineNumber&&t.startColumn>s.position.column){const e=this.editor.getPosition().column-s.position.column,n=e,i=nc.spansMultipleLines(t)?0:e;t=new nc(t.startLineNumber,t.startColumn+n,t.endLineNumber,t.endColumn+i)}return wY.replaceMove(t,e.text)}))),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!d){const e=new mt;let n;const o=i.onDidChangeContent((e=>{if(e.isFlush)return l.cancel(),void o.dispose();for(const t of e.changes){const e=nc.getEndPosition(t.range);n&&!cd.isBefore(e,n)||(n=e)}})),a=t;t|=2;let d=!1;const u=this.editor.onWillType((()=>{u.dispose(),d=!0,2&a||this.editor.pushUndoStop()}));r.push(s.resolve(l.token).then((()=>{if(!s.completion.additionalTextEdits||l.token.isCancellationRequested)return;if(n&&s.completion.additionalTextEdits.some((e=>cd.isBefore(n,nc.getStartPosition(e.range)))))return!1;d&&this.editor.pushUndoStop();const e=OB.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",s.completion.additionalTextEdits.map((e=>wY.replaceMove(nc.lift(e.range),e.text)))),e.restoreRelativeVerticalPositionOfCursor(this.editor),!d&&2&a||this.editor.pushUndoStop(),!0})).then((t=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",e.elapsed(),t),c=!0===t?1:!1===t?0:-2})).finally((()=>{o.dispose(),u.dispose()})))}let{insertText:h}=s.completion;if(4&s.completion.insertTextRules||(h=Jx.escape(h)),this.model.cancel(),n.insert(h,{overwriteBefore:a.overwriteBefore,overwriteAfter:a.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&s.completion.insertTextRules),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&t||this.editor.pushUndoStop(),s.completion.command)if(s.completion.command.id===u5.id)this.model.trigger({auto:!0,retrigger:!0});else{const e=new mt;r.push(this._commandService.executeCommand(s.completion.command.id,...s.completion.command.arguments?[...s.completion.command.arguments]:[]).catch((e=>{s.completion.extensionId?ke(e):xe(e)})).finally((()=>{u=e.elapsed()})))}4&t&&this._alternatives.value.set(e,(e=>{for(l.cancel();i.canUndo();){o!==i.getAlternativeVersionId()&&i.undo(),this._insertSuggestion(e,3|(8&t?8:0));break}})),this._alertCompletionItem(s),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(s,i,d,u,c),this.model.clear(),l.dispose()}))}_reportSuggestionAcceptedTelemetry(e,t,n,i,o){var s,r,l;0!==Math.floor(100*Math.random())&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:null!==(r=null===(s=e.extensionId)||void 0===s?void 0:s.value)&&void 0!==r?r:"unknown",providerId:null!==(l=e.provider._debugDisplayName)&&void 0!==l?l:"unknown",kind:e.completion.kind,basenameHash:Go(Ka(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:ja(t.uri),resolveInfo:e.provider.resolveCompletionItem?n?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:i,additionalEditsAsync:o})}getOverwriteInfo(e,t){fa(this.editor.hasModel());let n="replace"===this.editor.getOption(118).insertMode;t&&(n=!n);const i=e.position.column-e.editStart.column,o=(n?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column;return{overwriteBefore:i+(this.editor.getPosition().column-e.position.column),overwriteAfter:o+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(e){Wc(e.completion.additionalTextEdits)&&Zr(_(0,"Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length))}triggerSuggest(e,t,n){this.editor.hasModel()&&(this.model.trigger({auto:null!=t&&t,completionOptions:{providerFilter:e,kindFilter:n?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(),n=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},i=e=>{if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;const t=this.editor.getPosition(),n=e.editStart.column,i=t.column;return i-n!==e.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:n,endLineNumber:t.lineNumber,endColumn:i})!==e.completion.insertText};ft.once(this.model.onDidTrigger)((e=>{const t=[];ft.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{it(t),n()}),void 0,t),this.model.onDidSuggest((({completionModel:e})=>{if(it(t),0===e.items.length)return void n();const o=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),s=e.items[o];i(s)?(this.editor.pushUndoStop(),this._insertSuggestion({index:o,item:s,model:e},7)):n()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const n=this.widget.value.getFocusedItem();let i=0;e&&(i|=4),t&&(i|=8),this._insertSuggestion(n,i)}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)}};a5.ID="editor.contrib.suggestController",a5=s5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([r5(1,v4),r5(2,wd),r5(3,su),r5(4,ad),r5(5,Tu),r5(6,Mu)],a5);class d5{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(-1!==this._items.indexOf(e))throw new Error("Value is already registered");return this._items.push(e),this._items.sort(((e,t)=>this.prioritySelector(t)-this.prioritySelector(e))),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class u5 extends zu{constructor(){super({id:u5.id,label:_(0,"Trigger Suggest"),alias:"Trigger Suggest",precondition:Bd.and(oc.writable,oc.hasCompletionItemProvider,A1.Visible.toNegated()),kbOpts:{kbExpr:oc.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,n){const i=a5.get(t);if(!i)return;let o;n&&"object"==typeof n&&!0===n.auto&&(o=!0),i.triggerSuggest(void 0,o,void 0)}}u5.id="editor.action.triggerSuggest",Zu(a5.ID,a5,2),$u(u5);const c5=190,h5=Hu.bindToContribution(a5.get);qu(new h5({id:"acceptSelectedSuggestion",precondition:Bd.and(A1.Visible,A1.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Bd.and(A1.Visible,oc.textInputFocus),weight:c5},{primary:3,kbExpr:Bd.and(A1.Visible,oc.textInputFocus,A1.AcceptSuggestionsOnEnter,A1.MakesTextEdit),weight:c5}],menuOpts:[{menuId:R1,title:_(0,"Insert"),group:"left",order:1,when:A1.HasInsertAndReplaceRange.toNegated()},{menuId:R1,title:_(0,"Insert"),group:"left",order:1,when:Bd.and(A1.HasInsertAndReplaceRange,A1.InsertMode.isEqualTo("insert"))},{menuId:R1,title:_(0,"Replace"),group:"left",order:1,when:Bd.and(A1.HasInsertAndReplaceRange,A1.InsertMode.isEqualTo("replace"))}]})),qu(new h5({id:"acceptAlternativeSelectedSuggestion",precondition:Bd.and(A1.Visible,oc.textInputFocus,A1.HasFocusedSuggestion),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:R1,group:"left",order:2,when:Bd.and(A1.HasInsertAndReplaceRange,A1.InsertMode.isEqualTo("insert")),title:_(0,"Replace")},{menuId:R1,group:"left",order:2,when:Bd.and(A1.HasInsertAndReplaceRange,A1.InsertMode.isEqualTo("replace")),title:_(0,"Insert")}]})),Cd.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),qu(new h5({id:"hideSuggestWidget",precondition:A1.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:9,secondary:[1033]}})),qu(new h5({id:"selectNextSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),qu(new h5({id:"selectNextPageSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:12,secondary:[2060]}})),qu(new h5({id:"selectLastSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),qu(new h5({id:"selectPrevSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),qu(new h5({id:"selectPrevPageSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:11,secondary:[2059]}})),qu(new h5({id:"selectFirstSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),qu(new h5({id:"focusSuggestion",precondition:Bd.and(A1.Visible,A1.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),qu(new h5({id:"focusAndAcceptSuggestion",precondition:Bd.and(A1.Visible,A1.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),qu(new h5({id:"toggleSuggestionDetails",precondition:Bd.and(A1.Visible,A1.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:R1,group:"right",order:1,when:Bd.and(A1.DetailsVisible,A1.CanResolve),title:_(0,"show less")},{menuId:R1,group:"right",order:1,when:Bd.and(A1.DetailsVisible.toNegated(),A1.CanResolve),title:_(0,"show more")}]})),qu(new h5({id:"toggleExplainMode",precondition:A1.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),qu(new h5({id:"toggleSuggestionFocus",precondition:A1.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:2570,mac:{primary:778}}})),qu(new h5({id:"insertBestCompletion",precondition:Bd.and(oc.textInputFocus,Bd.equals("config.editor.tabCompletion","on"),w4.AtEnd,A1.Visible.toNegated(),y4.OtherSuggestions.toNegated(),r4.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(aa(t)?{fallback:"tab",...t}:{fallback:"tab"})},kbOpts:{weight:c5,primary:2}})),qu(new h5({id:"insertNextSuggestion",precondition:Bd.and(oc.textInputFocus,Bd.equals("config.editor.tabCompletion","on"),y4.OtherSuggestions,A1.Visible.toNegated(),r4.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:2}})),qu(new h5({id:"insertPrevSuggestion",precondition:Bd.and(oc.textInputFocus,Bd.equals("config.editor.tabCompletion","on"),y4.OtherSuggestions,A1.Visible.toNegated(),r4.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:1026}})),$u(class extends zu{constructor(){super({id:"editor.action.resetSuggestSize",label:_(0,"Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(e,t){var n;null===(n=a5.get(t))||void 0===n||n.resetWidgetSize()}});class g5 extends lt{get selectedItem(){return this._selectedItem}constructor(e,t,n,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.checkModelVersion=n,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=VE(this,void 0),this._register(e.onKeyDown((e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(e.onKeyUp((e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const o=a5.get(this.editor);if(o){this._register(o.registerSelector({priority:100,select:(e,t,n)=>{OE((e=>this.checkModelVersion(e)));const i=this.editor.getModel();if(!i)return-1;const s=this.suggestControllerPreselector(),r=s?w1(s,i):void 0;if(!r)return-1;const l=cd.lift(t),a=vh(n.map(((e,t)=>{const n=w1(p5.fromSuggestion(o,i,l,e,this.isShiftKeyPressed).toSingleTextEdit(),i);return{index:t,valid:C1(r,n),prefixLength:n.text.length,suggestItem:e}})).filter((e=>e&&e.valid&&e.prefixLength>0)),Yc((e=>e.prefixLength),Xc));return a?a.index:-1}}));let e=!1;const t=()=>{e||(e=!0,this._register(o.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(o.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(o.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(ft.once(o.model.onDidTrigger)((e=>{t()}))),this._register(o.onWillInsertSuggestItem((e=>{const t=this.editor.getPosition(),n=this.editor.getModel();if(!t||!n)return;const i=p5.fromSuggestion(o,n,t,e.item,this.isShiftKeyPressed);this.onWillAccept(i)})))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();var n,i;this._isActive===e&&((n=this._currentSuggestItemInfo)===(i=t)||n&&i&&n.equals(i))||(this._isActive=e,this._currentSuggestItemInfo=t,OE((e=>{this.checkModelVersion(e),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,e)})))}getSuggestItemInfo(){const e=a5.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),n=this.editor.getPosition(),i=this.editor.getModel();return t&&n&&i?p5.fromSuggestion(e,i,n,t.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const e=a5.get(this.editor);null==e||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=a5.get(this.editor);null==e||e.forceRenderingAbove()}}class p5{static fromSuggestion(e,t,n,i,o){let{insertText:s}=i.completion,r=!1;if(4&i.completion.insertTextRules){const e=(new Jx).parse(s);e.children.length<100&&n4.adjustWhitespace(t,n,!0,e),s=e.toString(),r=!0}const l=e.getOverwriteInfo(i,o);return new p5(nc.fromPositions(n.delta(0,-l.overwriteBefore),n.delta(0,Math.max(l.overwriteAfter,0))),s,i.completion.kind,r)}constructor(e,t,n,i){this.range=e,this.insertText=t,this.completionItemKind=n,this.isSnippetText=i}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new yC(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new vQ(this.range,this.insertText)}}var m5,f5=function(e,t){return function(n,i){t(n,i,e)}};let _5=m5=class extends lt{static get(e){return e.getContribution(m5.ID)}constructor(e,t,n,i,o,s,r,l,a){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=n,this._configurationService=i,this._commandService=o,this._debounceService=s,this._languageFeaturesService=r,this._accessibilitySignalService=l,this._keybindingService=a,this.model=this._register(zE("inlineCompletionModel",void 0)),this._textModelVersionId=VE(this,-1),this._positions=VE(this,[new cd(1,1)]),this._suggestWidgetAdaptor=this._register(new g5(this.editor,(()=>{var e,t;return null===(t=null===(e=this.model.get())||void 0===e?void 0:e.selectedInlineCompletion.get())||void 0===t?void 0:t.toSingleTextEdit(void 0)}),(e=>this.updateObservables(e,a4.Other)),(e=>{OE((t=>{var n;this.updateObservables(t,a4.Other),null===(n=this.model.get())||void 0===n||n.handleSuggestAccepted(e)}))}))),this._enabled=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._fontFamily=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).fontFamily)),this._ghostTexts=jE(this,(e=>{var t;const n=this.model.read(e);return null!==(t=null==n?void 0:n.ghostTexts.read(e))&&void 0!==t?t:[]})),this._stablizedGhostTexts=function(e,t){const n=VE("result",[]),i=[];return t.add(YE((t=>{const o=e.read(t);OE((e=>{if(o.length!==i.length){i.length=o.length;for(let e=0;et.set(o[n],e)))}))}))),n}(this._ghostTexts,this._store),this._ghostTextWidgets=function(e,t,n,i){let o=new cI(n,void 0);return qE({debugReferenceFn:n,owner:e,onLastObserverRemoved:()=>{o.dispose(),o=new cI(n)}},(e=>(o.setItems(t.read(e)),o.getItems())))}(this,this._stablizedGhostTexts,((e,t)=>t.add(this._instantiationService.createInstance(c1,this.editor,{ghostText:e,minReservedLineCount:tI(0),targetTextModel:this.model.map((e=>null==e?void 0:e.textModel))})))).recomputeInitiallyAndOnChange(this._store),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAccessibilitySignal=lI(this),this._isReadonly=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(91))),this._textModel=iI(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this._textModelIfWritable=jE((e=>this._isReadonly.read(e)?void 0:this._textModel.read(e))),this._register(new Q0(this._contextKeyService,this.model)),this._register(YE((n=>{const i=this._textModelIfWritable.read(n);OE((n=>{if(this.model.set(void 0,n),this.updateObservables(n,a4.Other),i){const o=t.createInstance(u4,i,this._suggestWidgetAdaptor.selectedItem,this._textModelVersionId,this._positions,this._debounceValue,iI(e.onDidChangeConfiguration,(()=>e.getOption(118).preview)),iI(e.onDidChangeConfiguration,(()=>e.getOption(118).previewMode)),iI(e.onDidChangeConfiguration,(()=>e.getOption(62).mode)),this._enabled);this.model.set(o,n)}}))})));const d=this._register(js());this._register(YE((e=>{const t=this._fontFamily.read(e);d.setStyle(""===t||"default"===t?"":`\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .ghost-text {\n\tfont-family: ${t};\n}`)})));const u=e=>{var t;return e.isUndoing?a4.Undo:e.isRedoing?a4.Redo:(null===(t=this.model.get())||void 0===t?void 0:t.isAcceptingPartially)?a4.AcceptWord:a4.Other};let c;this._register(e.onDidChangeModelContent((e=>OE((t=>this.updateObservables(t,u(e))))))),this._register(e.onDidChangeCursorPosition((e=>OE((t=>{var n;this.updateObservables(t,a4.Other),3!==e.reason&&"api"!==e.source||null===(n=this.model.get())||void 0===n||n.stop(t)}))))),this._register(e.onDidType((()=>OE((e=>{var t;this.updateObservables(e,a4.Other),this._enabled.get()&&(null===(t=this.model.get())||void 0===t||t.trigger(e))}))))),this._register(this._commandService.onDidExecuteCommand((t=>{new Set([FS.Tab.id,FS.DeleteLeft.id,FS.DeleteRight.id,WZ,"acceptSelectedSuggestion"]).has(t.commandId)&&e.hasTextFocus()&&this._enabled.get()&&OE((e=>{var t;null===(t=this.model.get())||void 0===t||t.trigger(e)}))}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||nY.dropDownVisible||OE((e=>{var t;null===(t=this.model.get())||void 0===t||t.stop(e)}))}))),this._register(YE((e=>{var t;const n=null===(t=this.model.read(e))||void 0===t?void 0:t.state.read(e);(null==n?void 0:n.suggestItem)?n.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(st((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(QE({handleChange:(e,t)=>(e.didChange(this._playAccessibilitySignal)&&(c=void 0),!0)},(async e=>{this._playAccessibilitySignal.read(e);const t=this.model.read(e),n=null==t?void 0:t.state.read(e);if(t&&n&&n.inlineCompletion){if(n.inlineCompletion.semanticId!==c){c=n.inlineCompletion.semanticId;const e=t.textModel.getLineContent(n.primaryGhostText.lineNumber);this._accessibilitySignalService.playSignal(XY.inlineSuggestion).then((()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(n.primaryGhostText.renderForScreenReader(e))}))}}else c=void 0}))),this._register(new JZ(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.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"),n=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let i;!t&&n&&this.editor.getOption(149)&&(i=_(0,"Inspect this in the accessible view ({0})",n.getAriaLabel())),Zr(i?e+", "+i:e)}updateObservables(e,t){var n,i,o;const s=this.editor.getModel();this._textModelVersionId.set(null!==(n=null==s?void 0:s.getVersionId())&&void 0!==n?n:-1,e,t),this._positions.set(null!==(o=null===(i=this.editor.getSelections())||void 0===i?void 0:i.map((e=>e.getPosition())))&&void 0!==o?o:[new cd(1,1)],e)}shouldShowHoverAt(e){var t;const n=null===(t=this.model.get())||void 0===t?void 0:t.primaryGhostText.get();return!!n&&n.parts.some((t=>e.containsPosition(new cd(n.lineNumber,t.column))))}shouldShowHoverAtViewZone(e){var t,n;return null!==(n=null===(t=this._ghostTextWidgets.get()[0])||void 0===t?void 0:t.ownsViewZone(e))&&void 0!==n&&n}};_5.ID="editor.contrib.inlineCompletionsController",_5=m5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([f5(1,ad),f5(2,su),f5(3,pg),f5(4,wd),f5(5,sW),f5(6,wx),f5(7,GY),f5(8,zL)],_5);class v5 extends zu{constructor(){super({id:v5.ID,label:_(0,"Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Bd.and(oc.writable,Q0.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=_5.get(t);null===(n=null==i?void 0:i.model.get())||void 0===n||n.next()}}v5.ID=HZ;class b5 extends zu{constructor(){super({id:b5.ID,label:_(0,"Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Bd.and(oc.writable,Q0.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=_5.get(t);null===(n=null==i?void 0:i.model.get())||void 0===n||n.previous()}}b5.ID=VZ;class w5 extends zu{constructor(){super({id:w5.ID,label:_(0,"Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Q0.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const n=_5.get(t);OE((e=>{var t;null===(t=null==n?void 0:n.model.get())||void 0===t||t.stop(e)}))}}w5.ID="editor.action.inlineSuggest.hide";class C5 extends Eu{constructor(){super({id:C5.ID,title:_(0,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Su.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Bd.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const n=e.get(pg),i="always"===n.getValue("editor.inlineSuggest.showToolbar")?"onHover":"always";n.updateValue("editor.inlineSuggest.showToolbar",i)}}C5.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var y5=function(e,t){return function(n,i){t(n,i,e)}};class S5{constructor(e,t,n){this.owner=e,this.range=t,this.controller=n}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let x5=class{constructor(e,t,n,i,o,s){this._editor=e,this._languageService=t,this._openerService=n,this.accessibilityService=i,this._instantiationService=o,this._telemetryService=s,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=_5.get(this._editor);if(!t)return null;const n=e.target;if(8===n.type){const i=n.detail;if(t.shouldShowHoverAtViewZone(i.viewZoneId))return new DG(1e3,this,nc.fromPositions(this._editor.getModel().validatePosition(i.positionBefore||i.position)),e.event.posx,e.event.posy,!1)}return 7===n.type&&t.shouldShowHoverAt(n.range)||6===n.type&&n.detail.mightBeForeignElement&&t.shouldShowHoverAt(n.range)?new DG(1e3,this,n.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const n=_5.get(this._editor);return n&&n.shouldShowHoverAt(e.range)?[new S5(this,e.range,n)]:[]}renderHoverParts(e,t){const n=new rt,i=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(e,i,n);const o=i.controller.model.get(),s=this._instantiationService.createInstance(nY,this._editor,!1,tI(null),o.selectedInlineCompletionIndex,o.inlineCompletionsCount,o.selectedInlineCompletion.map((e=>{var t;return null!==(t=null==e?void 0:e.inlineCompletion.source.inlineCompletions.commands)&&void 0!==t?t:[]})));return e.fragment.appendChild(s.getDomNode()),o.triggerExplicitly(),n.add(s),n}renderScreenReaderText(e,t,n){const i=mr,o=i("div.hover-row.markdown-hover"),s=dr(o,i("div.hover-contents",{"aria-live":"assertive"})),r=n.add(new dL({editor:this._editor},this._languageService,this._openerService));n.add(YE((i=>{var o;const l=null===(o=t.controller.model.read(i))||void 0===o?void 0:o.primaryGhostText.read(i);if(l){const t=this._editor.getModel().getLineContent(l.lineNumber);(t=>{n.add(r.onDidRenderAsync((()=>{s.className="hover-contents code-hover-contents",e.onContentsChanged()})));const i=_(0,"Suggestion:"),o=n.add(r.render((new ed).appendText(i).appendCodeblock("text",t)));s.replaceChildren(o.element)})(l.renderForScreenReader(t))}else cr(s)}))),e.fragment.appendChild(o)}};x5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([y5(1,Sh),y5(2,rL),y5(3,qS),y5(4,ad),y5(5,Mu)],x5),Zu(_5.ID,_5,3),$u(class extends zu{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:_(0,"Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:oc.writable})}async run(e,t){const n=_5.get(t);await async function(e,t){const n=new WE(e,void 0);try{await e(n)}finally{n.finish()}}((async e=>{var t;await(null===(t=null==n?void 0:n.model.get())||void 0===t?void 0:t.triggerExplicitly(e)),null==n||n.playAccessibilitySignal(e)}))}}),$u(v5),$u(b5),$u(class extends zu{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:_(0,"Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:Bd.and(oc.writable,Q0.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Bd.and(oc.writable,Q0.inlineSuggestionVisible)},menuOpts:[{menuId:Su.InlineSuggestionToolbar,title:_(0,"Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=_5.get(t);await(null===(n=null==i?void 0:i.model.get())||void 0===n?void 0:n.acceptNextWord(i.editor))}}),$u(class extends zu{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:_(0,"Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:Bd.and(oc.writable,Q0.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Su.InlineSuggestionToolbar,title:_(0,"Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=_5.get(t);await(null===(n=null==i?void 0:i.model.get())||void 0===n?void 0:n.acceptNextLine(i.editor))}}),$u(class extends zu{constructor(){super({id:WZ,label:_(0,"Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Q0.inlineSuggestionVisible,menuOpts:[{menuId:Su.InlineSuggestionToolbar,title:_(0,"Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Bd.and(Q0.inlineSuggestionVisible,oc.tabMovesFocus.toNegated(),Q0.inlineSuggestionHasIndentationLessThanTabSize,A1.Visible.toNegated(),oc.hoverFocused.toNegated())}})}async run(e,t){var n;const i=_5.get(t);i&&(null===(n=i.model.get())||void 0===n||n.accept(i.editor),i.editor.focus())}}),$u(w5),Iu(C5),NG.register(x5);var k5=n(1935),L5={};L5.styleTagTransform=Vr(),L5.setAttributes=Or(),L5.insert=Rr().bind(null,"head"),L5.domAPI=Tr(),L5.insertStyleElement=Br(),Ir()(k5.A,L5),k5.A&&k5.A.locals&&k5.A.locals;const D5="inline-edit";let N5=class extends lt{constructor(e,t,n){super(),this.editor=e,this.model=t,this.languageService=n,this.isDisposed=VE(this,!1),this.currentTextModel=iI(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=jE(this,(e=>{var t;if(this.isDisposed.read(e))return;const n=this.currentTextModel.read(e);if(n!==this.model.targetTextModel.read(e))return;const i=this.model.ghostText.read(e);if(!i)return;let o=null===(t=this.model.range)||void 0===t?void 0:t.read(e);o&&o.startLineNumber===o.endLineNumber&&o.startColumn===o.endColumn&&(o=void 0);const s=(!o||o.startLineNumber===o.endLineNumber)&&1===i.parts.length&&1===i.parts[0].lines.length,r=1===i.parts.length&&i.parts[0].lines.every((e=>0===e.length)),l=[],a=[];function d(e,t){if(a.length>0){const n=a[a.length-1];t&&n.decorations.push(new oA(n.content.length+1,n.content.length+1+e[0].length,t,0)),n.content+=e[0],e=e.slice(1)}for(const n of e)a.push({content:n,decorations:t?[new oA(1,n.length+1,t,0)]:[]})}const u=n.getLineContent(i.lineNumber);let c,h=0;if(!r){for(const e of i.parts){let t=e.lines;o&&!s&&(d(t,D5),t=[]),void 0===c?(l.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):d([u.substring(h,e.column-1)],void 0),t.length>0&&(d(t,D5),void 0===c&&e.column<=u.length&&(c=e.column)),h=e.column-1}void 0!==c&&d([u.substring(h)],void 0)}const g=void 0!==c?new l1(c,u.length+1):void 0,p=s||!o?i.lineNumber:o.endLineNumber-1;return{inlineTexts:l,additionalLines:a,hiddenRange:g,lineNumber:p,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:n,range:o,isSingleLine:s,isPureRemove:r,backgroundColoring:this.model.backgroundColoring.read(e)}})),this.decorations=jE(this,(e=>{const t=this.uiState.read(e);if(!t)return[];const n=[];if(t.hiddenRange&&n.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),t.range){const e=[];if(t.isSingleLine)e.push(t.range);else if(t.isPureRemove){const n=t.range.endLineNumber-t.range.startLineNumber;for(let i=0;i{const t=this.uiState.read(e);return t&&!t.isPureRemove?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0})))),this._register(st((()=>{this.isDisposed.set(!0,void 0)}))),this._register(a1(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};N5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,Sh)],N5);var E5=n(5269),I5={};I5.styleTagTransform=Vr(),I5.setAttributes=Or(),I5.insert=Rr().bind(null,"head"),I5.domAPI=Tr(),I5.insertStyleElement=Br(),Ir()(E5.A,I5),E5.A&&E5.A.locals&&E5.A.locals;var M5,T5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},A5=function(e,t){return function(n,i){t(n,i,e)}};let R5=class extends lt{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=iI(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(63).showToolbar)),this.sessionPosition=void 0,this.position=jE(this,(e=>{var t,n,i;const o=null===(t=this.model.read(e))||void 0===t?void 0:t.widget.model.ghostText.read(e);if(!this.alwaysShowToolbar.read(e)||!o||0===o.parts.length)return this.sessionPosition=void 0,null;const s=o.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==o.lineNumber&&(this.sessionPosition=void 0);const r=new cd(o.lineNumber,Math.min(s,null!==(i=null===(n=this.sessionPosition)||void 0===n?void 0:n.column)&&void 0!==i?i:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(JE(((t,n)=>{if(!this.model.read(t)||!this.alwaysShowToolbar.read(t))return;const i=n.add(this.instantiationService.createInstance(P5,this.editor,!0,this.position));e.addContentWidget(i),n.add(st((()=>e.removeContentWidget(i))))})))}};R5=T5([A5(2,ad)],R5);let P5=M5=class extends lt{constructor(e,t,n,i,o,s){super(),this.editor=e,this.withBorder=t,this._position=n,this._contextKeyService=o,this._menuService=s,this.id="InlineEditHintsContentWidget"+M5.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Dr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Dr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Su.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(i.createInstance(F5,this.nodes.toolBar,this.editor,Su.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof Nu)return i.createInstance(O5,e,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{M5._dropDownVisible=e}))),this._register(YE((e=>{this._position.read(e),this.editor.layoutContentWidget(this)}))),this._register(YE((e=>{const t=[];for(const[e,n]of this.inlineCompletionsActionsMenus.getActions())for(const e of n)e instanceof Nu&&t.push(e);t.length>0&&t.unshift(new fd),this.toolBar.setAdditionalSecondaryActions(t)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};P5._dropDownVisible=!1,P5.id=0,P5=M5=T5([A5(3,ad),A5(4,su),A5(5,xu)],P5);class O5 extends IU{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Dr("div.keybinding").root;this._register(new fM(t,ee,{disableTitle:!0,...mM})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let F5=class extends GZ{constructor(e,t,n,i,o,s,r,l,a){super(e,{resetMenu:n,...i},o,s,r,l,a),this.editor=t,this.menuId=n,this.options2=i,this.menuService=o,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._store.add(this.editor.onDidChangeCursorPosition((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){var e,t,n,i,o,s,r;const l=[],a=[];NU(this.menu,null===(e=this.options2)||void 0===e?void 0:e.menuOptions,{primary:l,secondary:a},null===(n=null===(t=this.options2)||void 0===t?void 0:t.toolbarOptions)||void 0===n?void 0:n.primaryGroup,null===(o=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===o?void 0:o.shouldInlineSubmenu,null===(r=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),a.push(...this.additionalActions),l.unshift(...this.prependedPrimaryActions),this.setActions(l,a)}setAdditionalSecondaryActions(e){Ic(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};F5=T5([A5(4,xu),A5(5,su),A5(6,HL),A5(7,zL),A5(8,Mu)],F5);var B5,W5=function(e,t){return function(n,i){t(n,i,e)}};class V5{constructor(e,t){this.widget=e,this.edit=t}dispose(){this.widget.dispose()}}let H5=B5=class extends lt{static get(e){return e.getContribution(B5.ID)}constructor(e,t,n,i,o,s){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=n,this.languageFeaturesService=i,this._commandService=o,this._configurationService=s,this._isVisibleContext=B5.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=B5.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=this._register(zE(this,void 0)),this._isAccepting=VE(this,!1),this._enabled=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).enabled)),this._fontFamily=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).fontFamily)),this._backgroundColoring=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).backgroundColoring));const r=sI("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(YE((t=>{this._enabled.read(t)&&(r.read(t),this._isAccepting.read(t)||this.getInlineEdit(e,!0))})));const l=iI(e.onDidChangeCursorPosition,(()=>e.getPosition()));this._register(YE((e=>{if(!this._enabled.read(e))return;const t=l.read(e);t&&this.checkCursorPosition(t)}))),this._register(YE((t=>{const n=this._currentEdit.read(t);if(this._isCursorAtInlineEditContext.set(!1),!n)return void this._isVisibleContext.set(!1);this._isVisibleContext.set(!0);const i=e.getPosition();i&&this.checkCursorPosition(i)})));const a=sI("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(YE((async t=>{var n;this._enabled.read(t)&&(a.read(t),this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur||(null===(n=this._currentRequestCts)||void 0===n||n.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))})));const d=sI("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(YE((t=>{this._enabled.read(t)&&(d.read(t),this.getInlineEdit(e,!0))})));const u=this._register(js());this._register(YE((e=>{const t=this._fontFamily.read(e);u.setStyle(""===t||"default"===t?"":`\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .inline-edit {\n\tfont-family: ${t};\n}`)}))),this._register(new R5(this.editor,this._currentEdit,this.instantiationService))}checkCursorPosition(e){var t;if(!this._currentEdit)return void this._isCursorAtInlineEditContext.set(!1);const n=null===(t=this._currentEdit.get())||void 0===t?void 0:t.edit;n?this._isCursorAtInlineEditContext.set(nc.containsPosition(n.range,e)):this._isCursorAtInlineEditContext.set(!1)}validateInlineEdit(e,t){var n,i;if(t.text.includes("\n")&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(1!==t.range.startColumn)return!1;const o=t.range.endLineNumber;if(t.range.endColumn!==(null!==(i=null===(n=e.getModel())||void 0===n?void 0:n.getLineLength(o))&&void 0!==i?i:0)+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const n=e.getModel();if(!n)return;const i=n.getVersionId(),o=this.languageFeaturesService.inlineEditProvider.all(n);if(0===o.length)return;const s=o[0];this._currentRequestCts=new Tt;const r=this._currentRequestCts.token,l=t?MC.Automatic:MC.Invoke;var a;if(t&&await(50,a=r,new Promise((e=>{let t;const n=setTimeout((()=>{t&&t.dispose(),e()}),50);a&&(t=a.onCancellationRequested((()=>{clearTimeout(n),t&&t.dispose(),e()})))}))),r.isCancellationRequested||n.isDisposed()||n.getVersionId()!==i)return;const d=await s.provideInlineEdit(n,{triggerKind:l},r);return d&&!r.isCancellationRequested&&!n.isDisposed()&&n.getVersionId()===i&&this.validateInlineEdit(e,d)?d:void 0}async getInlineEdit(e,t){var n;this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);if(!i)return;const o=i.range.endLineNumber,s=i.range.endColumn,r=new t1(o,[new n1(s,i.text,!1)]),l=this.instantiationService.createInstance(N5,this.editor,{ghostText:tI(r),minReservedLineCount:tI(0),targetTextModel:tI(null!==(n=this.editor.getModel())&&void 0!==n?n:void 0),range:tI(i.range),backgroundColoring:this._backgroundColoring});this._currentEdit.set(new V5(l,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(){var e;this._isAccepting.set(!0,void 0);const t=null===(e=this._currentEdit.get())||void 0===e?void 0:e.edit;if(!t)return;let n=t.text;t.text.startsWith("\n")&&(n=t.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[wY.replace(nc.lift(t.range),n)]),t.accepted&&await this._commandService.executeCommand(t.accepted.id,...t.accepted.arguments||[]).then(void 0,ke),this.freeEdit(t),OE((e=>{this._currentEdit.set(void 0,e),this._isAccepting.set(!1,e)}))}jumpToCurrent(){var e,t;this._jumpBackPosition=null===(e=this.editor.getSelection())||void 0===e?void 0:e.getStartPosition();const n=null===(t=this._currentEdit.get())||void 0===t?void 0:t.edit;if(!n)return;const i=cd.lift({lineNumber:n.range.startLineNumber,column:n.range.startColumn});this.editor.setPosition(i),this.editor.revealPositionInCenterIfOutsideViewport(i)}async clear(e=!0){var t;const n=null===(t=this._currentEdit.get())||void 0===t?void 0:t.edit;n&&(null==n?void 0:n.rejected)&&e&&await this._commandService.executeCommand(n.rejected.id,...n.rejected.arguments||[]).then(void 0,ke),n&&this.freeEdit(n),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const n=this.languageFeaturesService.inlineEditProvider.all(t);0!==n.length&&n[0].freeInlineEdit(e)}shouldShowHoverAt(e){const t=this._currentEdit.get();if(!t)return!1;const n=t.edit,i=t.widget.model;if(nc.containsPosition(n.range,e.getStartPosition())||nc.containsPosition(n.range,e.getEndPosition()))return!0;const o=i.ghostText.get();return!!o&&o.parts.some((t=>e.containsPosition(new cd(o.lineNumber,t.column))))}shouldShowHoverAtViewZone(e){var t,n;return null!==(n=null===(t=this._currentEdit.get())||void 0===t?void 0:t.widget.ownsViewZone(e))&&void 0!==n&&n}};H5.ID="editor.contrib.inlineEditController",H5.inlineEditVisibleKey="inlineEditVisible",H5.inlineEditVisibleContext=new ou(B5.inlineEditVisibleKey,!1),H5.cursorAtInlineEditKey="cursorAtInlineEdit",H5.cursorAtInlineEditContext=new ou(B5.cursorAtInlineEditKey,!1),H5=B5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([W5(1,ad),W5(2,su),W5(3,wx),W5(4,wd),W5(5,pg)],H5);var z5=function(e,t){return function(n,i){t(n,i,e)}};class U5{constructor(e,t,n){this.owner=e,this.range=t,this.controller=n}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let K5=class{constructor(e,t,n){this._editor=e,this._instantiationService=t,this._telemetryService=n,this.hoverOrdinal=5}suggestHoverAnchor(e){const t=H5.get(this._editor);if(!t)return null;const n=e.target;if(8===n.type){const i=n.detail;if(t.shouldShowHoverAtViewZone(i.viewZoneId)){const t=n.range;return new DG(1e3,this,t,e.event.posx,e.event.posy,!1)}}return 7===n.type&&t.shouldShowHoverAt(n.range)||6===n.type&&n.detail.mightBeForeignElement&&t.shouldShowHoverAt(n.range)?new DG(1e3,this,n.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if("onHover"!==this._editor.getOption(63).showToolbar)return[];const n=H5.get(this._editor);return n&&n.shouldShowHoverAt(e.range)?[new U5(this,e.range,n)]:[]}renderHoverParts(e,t){const n=new rt;this._telemetryService.publicLog2("inlineEditHover.shown");const i=this._instantiationService.createInstance(P5,this._editor,!1,tI(null));return e.fragment.appendChild(i.getDomNode()),n.add(i),n}};K5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([z5(1,ad),z5(2,Mu)],K5),$u(class extends zu{constructor(){super({id:"editor.action.inlineEdit.accept",label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:Bd.and(oc.writable,H5.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:Bd.and(oc.writable,H5.inlineEditVisibleContext,H5.cursorAtInlineEditContext)}],menuOpts:[{menuId:Su.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const n=H5.get(t);await(null==n?void 0:n.accept())}}),$u(class extends zu{constructor(){const e=Bd.and(oc.writable,H5.inlineEditVisibleContext);super({id:"editor.action.inlineEdit.reject",label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Su.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const n=H5.get(t);await(null==n?void 0:n.clear())}}),$u(class extends zu{constructor(){const e=Bd.and(oc.writable,H5.inlineEditVisibleContext,Bd.not(H5.cursorAtInlineEditKey));super({id:"editor.action.inlineEdit.jumpTo",label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Su.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const n=H5.get(t);null==n||n.jumpToCurrent()}}),$u(class extends zu{constructor(){const e=Bd.and(oc.writable,H5.cursorAtInlineEditContext);super({id:"editor.action.inlineEdit.jumpBack",label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Su.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const n=H5.get(t);null==n||n.jumpBack()}}),$u(class extends zu{constructor(){const e=Bd.and(oc.writable,Bd.not(H5.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 n=H5.get(t);null==n||n.trigger()}}),Zu(H5.ID,H5,3),NG.register(K5);var j5=n(2931),q5={};q5.styleTagTransform=Vr(),q5.setAttributes=Or(),q5.insert=Rr().bind(null,"head"),q5.domAPI=Tr(),q5.insertStyleElement=Br(),Ir()(j5.A,q5),j5.A&&j5.A.locals&&j5.A.locals;const $5=dd("themeService");var G5,Z5=function(e,t){return function(n,i){t(n,i,e)}};let Y5=G5=class extends lt{static get(e){return e.getContribution(G5.ID)}constructor(e,t,n){super(),this._editor=e,this._languageService=n,this._widget=null,this._register(this._editor.onDidChangeModel((e=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((e=>this.stop()))),this._register(IC.onDidChange((e=>this.stop()))),this._register(this._editor.onKeyUp((e=>9===e.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new X5(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};Y5.ID="editor.contrib.inspectTokens",Y5=G5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Z5(1,$5),Z5(2,Sh)],Y5);class X5 extends lt{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=function(e,t){const n=IC.get(t);if(n)return n;const i=e.encodeLanguageId(t);return{getInitialState:()=>TC,tokenize:(e,n,i)=>AC(t,i),tokenizeEncoded:(e,t,n)=>RC(i,n)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((e=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return X5._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let n=0;for(let i=t.tokens1.length-1;i>=0;i--){const o=t.tokens1[i];if(e.column-1>=o.offset){n=i;break}}let i=0;for(let n=t.tokens2.length>>>1;n>=0;n--)if(e.column-1>=t.tokens2[n<<1]){i=n;break}const o=this._model.getLineContent(e.lineNumber);let s="";if(ne.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber));for(let e=t.length-2;e>=0;e--)t[e].lineNumber===t[e+1].lineNumber&&t.splice(e,1);const i=[];let o=0,s=0;const r=t.length;for(let l=1,a=e.getLineCount();l<=a;l++){const a=e.getLineContent(l),d=a.length+1;let u=0;if(se.tokenization.getLineTokens(t),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,n)=>e.getLanguageIdAtPosition(t,n)},getLineContent:null};if(i.startLineNumber===i.endLineNumber&&1===e.getLineMaxColumn(i.startLineNumber)){const n=i.startLineNumber,o=this._isMovingDown?n+1:n-1;1===e.getLineMaxColumn(o)?t.addEditOperation(new nc(1,1,1,1),null):(t.addEditOperation(new nc(n,1,n,1),e.getLineContent(o)),t.addEditOperation(new nc(o,1,o,e.getLineMaxColumn(o)),null)),i=new ic(o,1,o,1)}else{let n,s;if(this._isMovingDown){n=i.endLineNumber+1,s=e.getLineContent(n),t.addEditOperation(new nc(n-1,e.getLineMaxColumn(n-1),n,e.getLineMaxColumn(n)),null);let d=s;if(this.shouldAutoIndent(e,i)){const u=this.matchEnterRule(e,l,o,n,i.startLineNumber-1);if(null!==u){const t=S0(u+y0(gi(e.getLineContent(n)),o),o,r);d=t+this.trimStart(s)}else{a.getLineContent=t=>t===i.startLineNumber?e.getLineContent(n):e.getLineContent(t);const t=wS(this._autoIndent,a,e.getLanguageIdAtPosition(n,1),i.startLineNumber,l,this._languageConfigurationService);if(null!==t){const i=gi(e.getLineContent(n)),l=y0(t,o);if(l!==y0(i,o)){const e=S0(l,o,r);d=e+this.trimStart(s)}}}t.addEditOperation(new nc(i.startLineNumber,1,i.startLineNumber,1),d+"\n");const c=this.matchEnterRuleMovingDown(e,l,o,i.startLineNumber,n,d);if(null!==c)0!==c&&this.getIndentEditsOfMovingBlock(e,t,i,o,r,c);else{a.getLineContent=t=>t===i.startLineNumber?d:t>=i.startLineNumber+1&&t<=i.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t);const s=wS(this._autoIndent,a,e.getLanguageIdAtPosition(n,1),i.startLineNumber+1,l,this._languageConfigurationService);if(null!==s){const n=gi(e.getLineContent(i.startLineNumber)),l=y0(s,o),a=y0(n,o);if(l!==a){const n=l-a;this.getIndentEditsOfMovingBlock(e,t,i,o,r,n)}}}}else t.addEditOperation(new nc(i.startLineNumber,1,i.startLineNumber,1),d+"\n")}else if(n=i.startLineNumber-1,s=e.getLineContent(n),t.addEditOperation(new nc(n,1,n+1,1),null),t.addEditOperation(new nc(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),"\n"+s),this.shouldAutoIndent(e,i)){a.getLineContent=t=>t===n?e.getLineContent(i.startLineNumber):e.getLineContent(t);const s=this.matchEnterRule(e,l,o,i.startLineNumber,i.startLineNumber-2);if(null!==s)0!==s&&this.getIndentEditsOfMovingBlock(e,t,i,o,r,s);else{const s=wS(this._autoIndent,a,e.getLanguageIdAtPosition(i.startLineNumber,1),n,l,this._languageConfigurationService);if(null!==s){const n=gi(e.getLineContent(i.startLineNumber)),l=y0(s,o),a=y0(n,o);if(l!==a){const n=l-a;this.getIndentEditsOfMovingBlock(e,t,i,o,r,n)}}}}}this._selectionId=t.trackSelection(i)}buildIndentConverter(e,t,n){return{shiftIndent:i=>fS.shiftIndent(i,i.length+1,e,t,n),unshiftIndent:i=>fS.unshiftIndent(i,i.length+1,e,t,n)}}parseEnterResult(e,t,n,i,o){if(o){let s=o.indentation;o.indentAction===Ih.None||o.indentAction===Ih.Indent?s=o.indentation+o.appendText:o.indentAction===Ih.IndentOutdent?s=o.indentation:o.indentAction===Ih.Outdent&&(s=t.unshiftIndent(o.indentation)+o.appendText);const r=e.getLineContent(i);if(this.trimStart(r).indexOf(this.trimStart(s))>=0){const o=gi(e.getLineContent(i));let r=gi(s);const l=CS(e,i,this._languageConfigurationService);return null!==l&&2&l&&(r=t.unshiftIndent(r)),y0(r,n)-y0(o,n)}}return null}matchEnterRuleMovingDown(e,t,n,i,o,s){if(pi(s)>=0){const s=e.getLineMaxColumn(o),r=hS(this._autoIndent,e,new nc(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,r)}{let o=i-1;for(;o>=1&&!(pi(e.getLineContent(o))>=0);)o--;if(o<1||i>e.getLineCount())return null;const s=e.getLineMaxColumn(o),r=hS(this._autoIndent,e,new nc(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,r)}}matchEnterRule(e,t,n,i,o,s){let r=o;for(;r>=1;){let t;if(t=r===o&&void 0!==s?s:e.getLineContent(r),pi(t)>=0)break;r--}if(r<1||i>e.getLineCount())return null;const l=e.getLineMaxColumn(r),a=hS(this._autoIndent,e,new nc(r,l,r,l),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,a)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4)return!1;if(!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(n).indentRulesSupport}getIndentEditsOfMovingBlock(e,t,n,i,o,s){for(let r=n.startLineNumber;r<=n.endLineNumber;r++){const l=gi(e.getLineContent(r)),a=S0(y0(l,i)+s,i,o);a!==l&&(t.addEditOperation(new nc(r,1,r,l.length+1),a),r===n.endLineNumber&&n.endColumn<=l.length+1&&""===a&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,Qg)],e6);class t6{static getCollator(){return t6._COLLATOR||(t6._COLLATOR=new Intl.Collator),t6._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const n=function(e,t,n){const i=n6(e,t,n);return i?wY.replace(new nc(i.startLineNumber,1,i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),i.after.join("\n")):null}(e,this.selection,this.descending);n&&t.addEditOperation(n.range,n.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,n){if(null===e)return!1;const i=n6(e,t,n);if(!i)return!1;for(let e=0,t=i.before.length;e=o)return null;const s=[];for(let t=i;t<=o;t++)s.push(e.getLineContent(t));let r=s.slice(0);return r.sort(t6.getCollator().compare),!0===n&&(r=r.reverse()),{startLineNumber:i,endLineNumber:o,before:s,after:r}}t6._COLLATOR=null;class i6 extends zu{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const n=t.getSelections().map(((e,t)=>({selection:e,index:t,ignore:!1})));n.sort(((e,t)=>nc.compareRangesUsingStarts(e.selection,t.selection)));let i=n[0];for(let e=1;enew cd(e.positionLineNumber,e.positionColumn))));const o=t.getSelection();if(null===o)return;const s=e.get(pg),r=t.getModel(),l=s.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:null==r?void 0:r.getLanguageId(),resource:null==r?void 0:r.uri}),a=new Q5(o,i,l);t.pushUndoStop(),t.executeCommands(this.id,[a]),t.pushUndoStop()}}r6.ID="editor.action.trimTrailingWhitespace";class l6 extends zu{run(e,t){if(!t.hasModel())return;const n=t.getSelection(),i=this._getRangesToDelete(t),o=[];for(let e=0,t=i.length-1;ewY.replace(e,"")));t.pushUndoStop(),t.executeEdits(this.id,r,s),t.pushUndoStop()}}class a6 extends zu{run(e,t){const n=t.getSelections();if(null===n)return;const i=t.getModel();if(null===i)return;const o=t.getOption(131),s=[];for(const e of n)if(e.isEmpty()){const n=e.getStartPosition(),r=t.getConfiguredWordAtPosition(n);if(!r)continue;const l=new nc(n.lineNumber,r.startColumn,n.lineNumber,r.endColumn),a=i.getValueInRange(l);s.push(wY.replace(l,this._modifyText(a,o)))}else{const t=i.getValueInRange(e);s.push(wY.replace(e,this._modifyText(t,o)))}t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop()}}class d6{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(e){}}return this._actual}isSupported(){return null!==this.get()}}class u6 extends a6{constructor(){super({id:"editor.action.transformToTitlecase",label:_(0,"Transform to Title Case"),alias:"Transform to Title Case",precondition:oc.writable})}_modifyText(e,t){const n=u6.titleBoundary.get();return n?e.toLocaleLowerCase().replace(n,(e=>e.toLocaleUpperCase())):e}}u6.titleBoundary=new d6("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class c6 extends a6{constructor(){super({id:"editor.action.transformToSnakecase",label:_(0,"Transform to Snake Case"),alias:"Transform to Snake Case",precondition:oc.writable})}_modifyText(e,t){const n=c6.caseBoundary.get(),i=c6.singleLetters.get();return n&&i?e.replace(n,"$1_$2").replace(i,"$1_$2$3").toLocaleLowerCase():e}}c6.caseBoundary=new d6("(\\p{Ll})(\\p{Lu})","gmu"),c6.singleLetters=new d6("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class h6 extends a6{constructor(){super({id:"editor.action.transformToCamelcase",label:_(0,"Transform to Camel Case"),alias:"Transform to Camel Case",precondition:oc.writable})}_modifyText(e,t){const n=h6.wordBoundary.get();if(!n)return e;const i=e.split(n);return i.shift()+i.map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join("")}}h6.wordBoundary=new d6("[_\\s-]","gm");class g6 extends a6{constructor(){super({id:"editor.action.transformToPascalcase",label:_(0,"Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:oc.writable})}_modifyText(e,t){const n=g6.wordBoundary.get(),i=g6.wordBoundaryToMaintain.get();return n&&i?e.split(i).map((e=>e.split(n))).flat().map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join(""):e}}g6.wordBoundary=new d6("[_\\s-]","gm"),g6.wordBoundaryToMaintain=new d6("(?<=\\.)","gm");class p6 extends a6{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((e=>e.isSupported()))}constructor(){super({id:"editor.action.transformToKebabcase",label:_(0,"Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:oc.writable})}_modifyText(e,t){const n=p6.caseBoundary.get(),i=p6.singleLetters.get(),o=p6.underscoreBoundary.get();return n&&i&&o?e.replace(o,"$1-$3").replace(n,"$1-$2").replace(i,"$1-$2").toLocaleLowerCase():e}}p6.caseBoundary=new d6("(\\p{Ll})(\\p{Lu})","gmu"),p6.singleLetters=new d6("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),p6.underscoreBoundary=new d6("(\\S)(_)(\\S)","gm"),$u(class extends i6{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:_(0,"Copy Line Up"),alias:"Copy Line Up",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"&&Copy Line Up"),order:1}})}}),$u(class extends i6{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:_(0,"Copy Line Down"),alias:"Copy Line Down",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"Co&&py Line Down"),order:2}})}}),$u(class extends zu{constructor(){super({id:"editor.action.duplicateSelection",label:_(0,"Duplicate Selection"),alias:"Duplicate Selection",precondition:oc.writable,menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"&&Duplicate Selection"),order:5}})}run(e,t,n){if(!t.hasModel())return;const i=[],o=t.getSelections(),s=t.getModel();for(const e of o)if(e.isEmpty())i.push(new J5(e,!0));else{const t=new ic(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn);i.push(new Jy(t,s.getValueInRange(e)))}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}),$u(class extends o6{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:_(0,"Move Line Up"),alias:"Move Line Up",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"Mo&&ve Line Up"),order:3}})}}),$u(class extends o6{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:_(0,"Move Line Down"),alias:"Move Line Down",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"Move &&Line Down"),order:4}})}}),$u(class extends s6{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:_(0,"Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:oc.writable})}}),$u(class extends s6{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:_(0,"Sort Lines Descending"),alias:"Sort Lines Descending",precondition:oc.writable})}}),$u(class extends zu{constructor(){super({id:"editor.action.removeDuplicateLines",label:_(0,"Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:oc.writable})}run(e,t){if(!t.hasModel())return;const n=t.getModel();if(1===n.getLineCount()&&1===n.getLineMaxColumn(1))return;const i=[],o=[];let s=0,r=!0,l=t.getSelections();1===l.length&&l[0].isEmpty()&&(l=[new ic(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))],r=!1);for(const e of l){const t=new Set,r=[];for(let i=e.startLineNumber;i<=e.endLineNumber;i++){const e=n.getLineContent(i);t.has(e)||(r.push(e),t.add(e))}const l=new ic(e.startLineNumber,1,e.endLineNumber,n.getLineMaxColumn(e.endLineNumber)),a=e.startLineNumber-s,d=new ic(a,1,a+r.length-1,r[r.length-1].length);i.push(wY.replace(l,r.join("\n"))),o.push(d),s+=e.endLineNumber-e.startLineNumber+1-r.length}t.pushUndoStop(),t.executeEdits(this.id,i,r?o:void 0),t.pushUndoStop()}}),$u(r6),$u(class extends zu{constructor(){super({id:"editor.action.deleteLines",label:_(0,"Delete Line"),alias:"Delete Line",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const n=this._getLinesToRemove(t),i=t.getModel();if(1===i.getLineCount()&&1===i.getLineMaxColumn(1))return;let o=0;const s=[],r=[];for(let e=0,t=n.length;e1&&(l-=1,d=i.getLineMaxColumn(l)),s.push(wY.replace(new ic(l,d,a,u),"")),r.push(new ic(l-o,t.positionColumn,l-o,t.positionColumn)),o+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,s,r),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map((e=>{let t=e.endLineNumber;return e.startLineNumbere.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber));const n=[];let i=t[0];for(let e=1;e=t[e].startLineNumber?i.endLineNumber=t[e].endLineNumber:(n.push(i),i=t[e]);return n.push(i),n}}),$u(class extends zu{constructor(){super({id:"editor.action.indentLines",label:_(0,"Indent Line"),alias:"Indent Line",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:2142,weight:100}})}run(e,t){const n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,yS.indent(n.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}),$u(class extends zu{constructor(){super({id:"editor.action.outdentLines",label:_(0,"Outdent Line"),alias:"Outdent Line",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:2140,weight:100}})}run(e,t){FS.Outdent.runEditorCommand(e,t,null)}}),$u(class extends zu{constructor(){super({id:"editor.action.insertLineBefore",label:_(0,"Insert Line Above"),alias:"Insert Line Above",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:3075,weight:100}})}run(e,t){const n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,yS.lineInsertBefore(n.cursorConfig,t.getModel(),t.getSelections())))}}),$u(class extends zu{constructor(){super({id:"editor.action.insertLineAfter",label:_(0,"Insert Line Below"),alias:"Insert Line Below",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:2051,weight:100}})}run(e,t){const n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,yS.lineInsertAfter(n.cursorConfig,t.getModel(),t.getSelections())))}}),$u(class extends l6{constructor(){super({id:"deleteAllLeft",label:_(0,"Delete All Left"),alias:"Delete All Left",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let n=null;const i=[];let o=0;return t.forEach((t=>{let s;if(1===t.endColumn&&o>0){const e=t.startLineNumber-o;s=new ic(e,t.startColumn,e,t.startColumn)}else s=new ic(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);o+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=s:i.push(s)})),n&&i.unshift(n),i}_getRangesToDelete(e){const t=e.getSelections();if(null===t)return[];let n=t;const i=e.getModel();return null===i?[]:(n.sort(nc.compareRangesUsingStarts),n=n.map((e=>{if(e.isEmpty()){if(1===e.startColumn){const t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:i.getLineLength(t)+1;return new nc(t,n,e.startLineNumber,1)}return new nc(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new nc(e.startLineNumber,1,e.endLineNumber,e.endColumn)})),n)}}),$u(class extends l6{constructor(){super({id:"deleteAllRight",label:_(0,"Delete All Right"),alias:"Delete All Right",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let n=null;const i=[];for(let o=0,s=t.length,r=0;o{if(e.isEmpty()){const n=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===n?new nc(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new nc(e.startLineNumber,e.startColumn,e.startLineNumber,n)}return e}));return i.sort(nc.compareRangesUsingStarts),i}}),$u(class extends zu{constructor(){super({id:"editor.action.joinLines",label:_(0,"Join Lines"),alias:"Join Lines",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const n=t.getSelections();if(null===n)return;let i=t.getSelection();if(null===i)return;n.sort(nc.compareRangesUsingStarts);const o=[],s=n.reduce(((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(i.equalsSelection(e)&&(i=t),t):t.startLineNumber>e.endLineNumber+1?(o.push(e),t):new ic(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new ic(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)));o.push(s);const r=t.getModel();if(null===r)return;const l=[],a=[];let d=i,u=0;for(let e=0,t=o.length;e=1){let e=!0;""===m&&(e=!1),!e||" "!==m.charAt(m.length-1)&&"\t"!==m.charAt(m.length-1)||(e=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g," "));const i=t.substr(n-1);m+=(e?" ":"")+i,g=e?i.length+1:i.length}else g=0}const f=new nc(n,s,c,h);if(!f.isEmpty()){let e;t.isEmpty()?(l.push(wY.replace(f,m)),e=new ic(f.startLineNumber-u,m.length-g+1,n-u,m.length-g+1)):t.startLineNumber===t.endLineNumber?(l.push(wY.replace(f,m)),e=new ic(t.startLineNumber-u,t.startColumn,t.endLineNumber-u,t.endColumn)):(l.push(wY.replace(f,m)),e=new ic(t.startLineNumber-u,t.startColumn,t.startLineNumber-u,m.length-p)),null!==nc.intersectRanges(f,i)?d=e:a.push(e)}u+=f.endLineNumber-f.startLineNumber}a.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,l,a),t.pushUndoStop()}}),$u(class extends zu{constructor(){super({id:"editor.action.transpose",label:_(0,"Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:oc.writable})}run(e,t){const n=t.getSelections();if(null===n)return;const i=t.getModel();if(null===i)return;const o=[];for(let e=0,t=n.length;e=r){if(s.lineNumber===i.getLineCount())continue;const e=new nc(s.lineNumber,Math.max(1,s.column-1),s.lineNumber+1,1),t=i.getValueInRange(e).split("").reverse().join("");o.push(new Qy(new ic(s.lineNumber,Math.max(1,s.column-1),s.lineNumber+1,1),t))}else{const e=new nc(s.lineNumber,Math.max(1,s.column-1),s.lineNumber,s.column+1),t=i.getValueInRange(e).split("").reverse().join("");o.push(new nS(e,t,new ic(s.lineNumber,s.column+1,s.lineNumber,s.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}),$u(class extends a6{constructor(){super({id:"editor.action.transformToUppercase",label:_(0,"Transform to Uppercase"),alias:"Transform to Uppercase",precondition:oc.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}),$u(class extends a6{constructor(){super({id:"editor.action.transformToLowercase",label:_(0,"Transform to Lowercase"),alias:"Transform to Lowercase",precondition:oc.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}),c6.caseBoundary.isSupported()&&c6.singleLetters.isSupported()&&$u(c6),h6.wordBoundary.isSupported()&&$u(h6),g6.wordBoundary.isSupported()&&$u(g6),u6.titleBoundary.isSupported()&&$u(u6),p6.isSupported()&&$u(p6);var m6=n(3293),f6={};f6.styleTagTransform=Vr(),f6.setAttributes=Or(),f6.insert=Rr().bind(null,"head"),f6.domAPI=Tr(),f6.insertStyleElement=Br(),Ir()(m6.A,f6),m6.A&&m6.A.locals&&m6.A.locals;var _6,v6=function(e,t){return function(n,i){t(n,i,e)}};const b6=new ou("LinkedEditingInputVisible",!1);let w6=_6=class extends lt{static get(e){return e.getContribution(_6.ID)}constructor(e,t,n,i,o){super(),this.languageConfigurationService=i,this._syncRangesToken=0,this._localToDispose=this._register(new rt),this._editor=e,this._providers=n.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=b6.bindTo(t),this._debounceInformation=o.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 rt),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((e=>{(e.hasChanged(70)||e.hasChanged(93))&&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(),n=null!==t&&(this._editor.getOption(70)||this._editor.getOption(93))&&this._providers.has(t);if(n===this._enabled&&!e)return;if(this._enabled=n,this.clearRanges(),this._localToDispose.clear(),!n||null===t)return;this._localToDispose.add(ft.runAndSubscribe(t.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()})));const i=new Bt(this._debounceInformation.get(t)),o=()=>{var e;this._rangeUpdateTriggerPromise=i.trigger((()=>this.updateRanges()),null!==(e=this._debounceDuration)&&void 0!==e?e:this._debounceInformation.get(t))},s=new Bt(0),r=e=>{this._rangeSyncTriggerPromise=s.trigger((()=>this._syncRanges(e)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{o()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((e=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&e.changes.every((e=>t.intersectRanges(e.range))))return void r(this._syncRangesToken)}o()}))),this._localToDispose.add({dispose:()=>{i.dispose(),s.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||0===this._currentDecorations.length)return;const t=this._editor.getModel(),n=this._currentDecorations.getRange(0);if(!n||n.startLineNumber!==n.endLineNumber)return this.clearRanges();const i=t.getValueInRange(n);if(this._currentWordPattern){const e=i.match(this._currentWordPattern);if((e?e[0].length:0)!==i.length)return this.clearRanges()}const o=[];for(let e=1,n=this._currentDecorations.length;e1)return void this.clearRanges();const n=this._editor.getModel(),i=n.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===i){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const e=this._currentDecorations.getRange(0);if(e&&e.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=i;const o=this._currentRequestCts=new Tt;try{const e=new mt(!1),s=await C6(this._providers,n,t,o.token);if(this._debounceInformation.update(n,e.elapsed()),o!==this._currentRequestCts)return;if(this._currentRequestCts=null,i!==n.getVersionId())return;let r=[];(null==s?void 0:s.ranges)&&(r=s.ranges),this._currentWordPattern=(null==s?void 0:s.wordPattern)||this._languageWordPattern;let l=!1;for(let e=0,n=r.length;e({range:e,options:_6.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(a),this._syncRangesToken++}catch(e){Ne(e)||xe(e),this._currentRequestCts!==o&&this._currentRequestCts||this.clearRanges()}}};function C6(e,t,n,i){return zt(e.ordered(t).map((e=>async()=>{try{return await e.provideLinkedEditingRanges(t,n,i)}catch(e){return void ke(e)}})),(e=>!!e&&Wc(null==e?void 0:e.ranges)))}w6.ID="editor.contrib.linkedEditing",w6.DECORATION=My.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"}),w6=_6=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([v6(1,su),v6(2,wx),v6(3,Qg),v6(4,sW)],w6),qu(new(Hu.bindToContribution(w6.get))({id:"cancelLinkedEditingInput",precondition:b6,handler:e=>e.clearRanges(),kbOpts:{kbExpr:oc.editorTextFocus,weight:199,primary:9,secondary:[1033]}})),km("editor.linkedEditingBackground",{dark:lh.fromHex("#f00").transparent(.3),light:lh.fromHex("#f00").transparent(.3),hcDark:lh.fromHex("#f00").transparent(.3),hcLight:lh.white},_(0,"Background color when the editor auto renames on type.")),ju("_executeLinkedEditingProvider",((e,t,n)=>{const{linkedEditingRangeProvider:i}=e.get(wx);return C6(i,t,n,It.None)})),Zu(w6.ID,w6,1),$u(class extends zu{constructor(){super({id:"editor.action.linkedEditing",label:_(0,"Start Linked Editing"),alias:"Start Linked Editing",precondition:Bd.and(oc.writable,oc.hasRenameProvider),kbOpts:{kbExpr:oc.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const n=e.get(ud),[i,o]=Array.isArray(t)&&t||[void 0,void 0];return Io.isUri(i)&&cd.isIPosition(o)?n.openCodeEditor({resource:i},n.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(o),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),xe):super.runCommand(e,t)}run(e,t){const n=w6.get(t);return n?Promise.resolve(n.updateRanges(!0)):Promise.resolve()}});var y6=n(1177),S6={};S6.styleTagTransform=Vr(),S6.setAttributes=Or(),S6.insert=Rr().bind(null,"head"),S6.domAPI=Tr(),S6.insertStyleElement=Br(),Ir()(y6.A,S6),y6.A&&y6.A.locals&&y6.A.locals;class x6{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:"function"==typeof this._provider.resolveLink?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 k6{constructor(e){this._disposables=new rt;let t=[];for(const[n,i]of e){const e=n.links.map((e=>new x6(e,i)));t=k6._union(t,e),nt(n)&&this._disposables.add(n)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const n=[];let i,o,s,r;for(i=0,s=0,o=e.length,r=t.length;iPromise.resolve(e.provideLinks(t,n)).then((t=>{t&&(i[o]=[t,e])}),ke)));return Promise.all(o).then((()=>{const e=new k6(Oc(i));return n.isCancellationRequested?(e.dispose(),new k6([])):e}))}Cd.registerCommand("_executeLinkProvider",(async(e,...t)=>{let[n,i]=t;fa(n instanceof Io),"number"!=typeof i&&(i=0);const{linkProvider:o}=e.get(wx),s=e.get(hd).getModel(n);if(!s)return[];const r=await L6(o,s,It.None);if(!r)return[];for(let e=0;ethis.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const s=this._register(new Zz(e));this._register(s.onMouseMoveOrRelevantKeyDown((([e,t])=>{this._onEditorMouseMove(e,t)}))),this._register(s.onExecute((e=>{this.onEditorMouseUp(e)}))),this._register(s.onCancel((e=>{this.cleanUpActiveLinkDecoration()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(e.onDidChangeModelContent((e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(e.onDidChangeModel((e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(e.onDidChangeModelLanguage((e=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((e=>{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=Pt((t=>L6(this.providers,e,t)));try{const t=new mt(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(e){xe(e)}finally{this.computePromise=null}}}updateDecorations(e){const t="altKey"===this.editor.getOption(78),n=[],i=Object.keys(this.currentOccurrences);for(const e of i){const t=this.currentOccurrences[e];n.push(t.decorationId)}const o=[];if(e)for(const n of e)o.push(T6.decoration(n,t));this.editor.changeDecorations((t=>{const i=t.deltaDecorations(n,o);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let t=0,n=i.length;t{t.activate(e,n),this.activeLinkDecorationId=t.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e="altKey"===this.editor.getOption(78);if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations((n=>{t.deactivate(n,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,n=!1){if(!this.openerService)return;const{link:i}=e;i.resolve(It.None).then((e=>{if("string"==typeof e&&this.editor.hasModel()){const t=this.editor.getModel().uri;if(t.scheme===Ho.file&&e.startsWith(`${Ho.file}:`)){const n=Io.parse(e);if(n.scheme===Ho.file){const i=Wa(n);let o=null;i.startsWith("/./")||i.startsWith("\\.\\")?o=`.${i.substr(1)}`:(i.startsWith("//./")||i.startsWith("\\\\.\\"))&&(o=`.${i.substr(2)}`),o&&(e=$a(t,o))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:n,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(e=>{const t=e instanceof Error?e.message:e;"invalid"===t?this.notificationService.warn(_(0,"Failed to open this link because it is not well-formed: {0}",i.url.toString())):"missing"===t?this.notificationService.warn(_(0,"Failed to open this link because its target is missing.")):xe(e)}))}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 e of t){const t=this.currentOccurrences[e.id];if(t)return t}return null}isEnabled(e,t){return Boolean(6===e.target.type&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&(null===(e=this.activeLinksList)||void 0===e||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};E6.ID="editor.linkDetector",E6=D6=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([N6(1,rL),N6(2,nN),N6(3,wx),N6(4,sW)],E6);const I6=My.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),M6=My.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class T6{static decoration(e,t){return{range:e.range,options:T6._getOptions(e,t,!1)}}static _getOptions(e,t,n){const i={...n?M6:I6};return i.hoverMessage=function(e,t){const n=e.url&&/^command:/i.test(e.url.toString()),i=e.tooltip?e.tooltip:_(0,n?"Execute command":"Follow link"),o=_(0,t?U?"cmd + click":"ctrl + click":U?"option + click":"alt + click");if(e.url){let t="";if(/^command:/i.test(e.url.toString())){const n=e.url.toString().match(/^command:([^?#]+)/);n&&(t=_(0,"Execute command {0}",n[1]))}return new ed("",!0).appendLink(e.url.toString(!0).replace(/ /g,"%20"),i,t).appendMarkdown(` (${o})`)}return(new ed).appendText(`${i} (${o})`)}(e,t),i}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,T6._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,T6._getOptions(this.link,t,!1))}}Zu(E6.ID,E6,1),$u(class extends zu{constructor(){super({id:"editor.action.openLink",label:_(0,"Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const n=E6.get(t);if(!n)return;if(!t.hasModel())return;const i=t.getSelections();for(const e of i){const t=n.getLinkOccurrence(e.getEndPosition());t&&n.openLinkOccurrence(t,!1)}}});class A6 extends lt{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown((e=>{const t=this._editor.getOption(117);t>=0&&6===e.target.type&&e.target.position.column>=t&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}A6.ID="editor.contrib.longLinesHelper",Zu(A6.ID,A6,2);var R6=n(9803),P6={};P6.styleTagTransform=Vr(),P6.setAttributes=Or(),P6.insert=Rr().bind(null,"head"),P6.domAPI=Tr(),P6.insertStyleElement=Br(),Ir()(R6.A,P6),R6.A&&R6.A.locals&&R6.A.locals;const O6=km("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},_(0,"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);km("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},_(0,"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),km("editor.wordHighlightTextBackground",{light:O6,dark:O6,hcDark:O6,hcLight:O6},_(0,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const F6=km("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of a symbol during read-access, like reading a variable."));km("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of a symbol during write-access, like writing to a variable.")),km("editor.wordHighlightTextBorder",{light:F6,dark:F6,hcDark:F6,hcLight:F6},_(0,"Border color of a textual occurrence for a symbol."));const B6=km("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},_(0,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),W6=km("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},_(0,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),V6=km("editorOverviewRuler.wordHighlightTextForeground",{dark:$f,light:$f,hcDark:$f,hcLight:$f},_(0,"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),H6=My.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Av(W6),position:bc.Center},minimap:{color:Av(Qf),position:1}}),z6=My.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Av(V6),position:bc.Center},minimap:{color:Av(Qf),position:1}}),U6=My.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Av($f),position:bc.Center},minimap:{color:Av(Qf),position:1}}),K6=My.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),j6=My.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Av(B6),position:bc.Center},minimap:{color:Av(Qf),position:1}});function q6(e){return e?K6:U6}Fv(((e,t)=>{const n=e.getColor(hf);n&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${n.transparent(.5)}; }`)}));var $6;function G6(e,t){const n=t.filter((t=>!e.find((e=>e.equals(t)))));if(n.length>=1){const e=n.map((e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`)).join(", ");Yr(1===n.length?_(0,"Cursor added: {0}",e):_(0,"Cursors added: {0}",e))}}class Z6{constructor(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}}class Y6{static create(e,t){if(!e.hasModel())return null;const n=t.getState();if(!e.hasTextFocus()&&n.isRevealed&&n.searchString.length>0)return new Y6(e,t,!1,n.searchString,n.wholeWord,n.matchCase,null);let i,o,s=!1;const r=e.getSelections();1===r.length&&r[0].isEmpty()?(s=!0,i=!0,o=!0):(i=n.wholeWord,o=n.matchCase);const l=e.getSelection();let a,d=null;if(l.isEmpty()){const t=e.getConfiguredWordAtPosition(l.getStartPosition());if(!t)return null;a=t.word,d=new ic(l.startLineNumber,t.startColumn,l.startLineNumber,t.endColumn)}else a=e.getModel().getValueInRange(l).replace(/\r\n/g,"\n");return new Y6(e,t,s,a,i,o,d)}constructor(e,t,n,i,o,s,r){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=o,this.matchCase=s,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Z6(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 Z6(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return n?new ic(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.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 Z6(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 Z6(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return n?new ic(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.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(131):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824)}}class X6 extends lt{static get(e){return e.getContribution(X6.ID)}constructor(e){super(),this._sessionDispose=this._register(new rt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Y6.create(this._editor,e);if(!t)return;this._session=t;const n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((e=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(e.getState().onFindReplaceStateChange((e=>{(e.matchCase||e.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 n=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return n?new ic(t.startLineNumber,n.startColumn,t.startLineNumber,n.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(!t9(this._editor.getModel(),t,n)){const e=this._editor.getModel(),n=[];for(let i=0,o=t.length;i0&&n.isRegex){const e=this._editor.getModel();t=n.searchScope?e.findMatches(n.searchString,n.searchScope,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(131):null,!1,1073741824):e.findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(131):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(n.searchScope)}if(t.length>0){const e=this._editor.getSelection();for(let n=0,i=t.length;nnew ic(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn))))}}}X6.ID="editor.contrib.multiCursorController";class Q6 extends zu{run(e,t){const n=X6.get(t);if(!n)return;const i=t._getViewModel();if(i){const o=i.getCursorStates(),s=q2.get(t);if(s)this._run(n,s);else{const i=e.get(ad).createInstance(q2,t);this._run(n,i),i.dispose()}G6(o,i.getCursorStates())}}}class J6{constructor(e,t,n,i,o){this._model=e,this._searchText=t,this._matchCase=n,this._wordSeparators=i,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,o&&this._model===o._model&&this._searchText===o._searchText&&this._matchCase===o._matchCase&&this._wordSeparators===o._wordSeparators&&this._modelVersionId===o._modelVersionId&&(this._cachedFindMatches=o._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((e=>e.range)),this._cachedFindMatches.sort(nc.compareRangesUsingStarts)),this._cachedFindMatches}}let e9=$6=class extends lt{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(108),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new jt((()=>this._update()),300)),this.state=null,this._register(e.onDidChangeConfiguration((t=>{this._isEnabled=e.getOption(108)}))),this._register(e.onDidChangeCursorSelection((e=>{this._isEnabled&&(e.selection.isEmpty()?3===e.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(e.onDidChangeModel((e=>{this._setState(null)}))),this._register(e.onDidChangeModelContent((e=>{this._isEnabled&&this.updateSoon.schedule()})));const n=q2.get(e);n&&this._register(n.getState().onFindReplaceStateChange((e=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState($6._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,n){if(!t)return null;if(!n.hasModel())return null;const i=n.getSelection();if(i.startLineNumber!==i.endLineNumber)return null;const o=X6.get(n);if(!o)return null;const s=q2.get(n);if(!s)return null;let r=o.getSession(s);if(!r){const e=n.getSelections();if(e.length>1){const t=s.getState().matchCase;if(!t9(n.getModel(),e,t))return null}r=Y6.create(n,s)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const l=s.getState(),a=l.matchCase;if(l.isRevealed){let e=l.searchString;a||(e=e.toLowerCase());let t=r.searchText;if(a||(t=t.toLowerCase()),e===t&&r.matchCase===l.matchCase&&r.wholeWord===l.wholeWord&&!l.isRegex)return null}return new J6(n.getModel(),r.searchText,r.matchCase,r.wholeWord?n.getOption(131):null,e)}_setState(e){if(this.state=e,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const n=this.state.findMatches(),i=this.editor.getSelections();i.sort(nc.compareRangesUsingStarts);const o=[];for(let e=0,t=0,s=n.length,r=i.length;e=r)o.push(s),e++;else{const n=nc.compareRangesUsingStarts(s,i[t]);n<0?(!i[t].isEmpty()&&nc.areIntersecting(s,i[t])||o.push(s),e++):(n>0||e++,t++)}}const s="off"!==this.editor.getOption(81),r=this._languageFeaturesService.documentHighlightProvider.has(t)&&s,l=o.map((e=>({range:e,options:q6(r)})));this._decorations.set(l)}dispose(){this._setState(null),super.dispose()}};function t9(e,t,n){const i=n9(e,t[0],!n);for(let o=1,s=t.length;o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,wx)],e9),Zu(X6.ID,X6,4),Zu(e9.ID,e9,1),$u(class extends zu{constructor(){super({id:"editor.action.insertCursorAbove",label:_(0,"Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"&&Add Cursor Above"),order:2}})}run(e,t,n){if(!t.hasModel())return;let i=!0;n&&!1===n.logicalLine&&(i=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(n.source,3,uS.addCursorUp(o,s,i)),o.revealTopMostCursor(n.source),G6(s,o.getCursorStates())}}),$u(class extends zu{constructor(){super({id:"editor.action.insertCursorBelow",label:_(0,"Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"A&&dd Cursor Below"),order:3}})}run(e,t,n){if(!t.hasModel())return;let i=!0;n&&!1===n.logicalLine&&(i=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(n.source,3,uS.addCursorDown(o,s,i)),o.revealBottomMostCursor(n.source),G6(s,o.getCursorStates())}}),$u(class extends zu{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:_(0,"Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,n){if(!e.isEmpty()){for(let i=e.startLineNumber;i1&&n.push(new ic(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const n=t.getModel(),i=t.getSelections(),o=t._getViewModel(),s=o.getCursorStates(),r=[];i.forEach((e=>this.getCursorsForSelection(e,n,r))),r.length>0&&t.setSelections(r),G6(s,o.getCursorStates())}}),$u(class extends Q6{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:_(0,"Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:2082,weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:_(0,"Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:_(0,"Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:ye(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:_(0,"Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.selectHighlights",label:_(0,"Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:3114,weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.changeAll",label:_(0,"Change All Occurrences"),alias:"Change All Occurrences",precondition:Bd.and(oc.writable,oc.editorTextFocus),kbOpts:{kbExpr:oc.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}),$u(class extends zu{constructor(){super({id:"editor.action.addCursorsToBottom",label:_(0,"Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const n=t.getSelections(),i=t.getModel().getLineCount(),o=[];for(let e=n[0].startLineNumber;e<=i;e++)o.push(new ic(e,n[0].startColumn,e,n[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();o.length>0&&t.setSelections(o),G6(r,s.getCursorStates())}}),$u(class extends zu{constructor(){super({id:"editor.action.addCursorsToTop",label:_(0,"Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const n=t.getSelections(),i=[];for(let e=n[0].startLineNumber;e>=1;e--)i.push(new ic(e,n[0].startColumn,e,n[0].endColumn));const o=t._getViewModel(),s=o.getCursorStates();i.length>0&&t.setSelections(i),G6(s,o.getCursorStates())}}),$u(class extends zu{constructor(){super({id:"editor.action.focusNextCursor",label:_(0,"Focus Next Cursor"),metadata:{description:_(0,"Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,n){if(!t.hasModel())return;const i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();const o=Array.from(i.getCursorStates()),s=o.shift();s&&(o.push(s),i.setCursorStates(n.source,3,o),i.revealPrimaryCursor(n.source,!0),G6(o,i.getCursorStates()))}}),$u(class extends zu{constructor(){super({id:"editor.action.focusPreviousCursor",label:_(0,"Focus Previous Cursor"),metadata:{description:_(0,"Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,n){if(!t.hasModel())return;const i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();const o=Array.from(i.getCursorStates()),s=o.pop();s&&(o.unshift(s),i.setCursorStates(n.source,3,o),i.revealPrimaryCursor(n.source,!0),G6(o,i.getCursorStates()))}});const i9={Visible:new ou("parameterHintsVisible",!1),MultipleSignatures:new ou("parameterHintsMultipleSignatures",!1)};async function o9(e,t,n,i,o){const s=e.ordered(t);for(const e of s)try{const s=await e.provideSignatureHelp(t,n,o,i);if(s)return s}catch(e){ke(e)}}var s9;Cd.registerCommand("_executeSignatureHelpProvider",(async(e,...t)=>{const[n,i,o]=t;fa(Io.isUri(n)),fa(cd.isIPosition(i)),fa("string"==typeof o||!o);const s=e.get(wx),r=await e.get(gd).createModelReference(n);try{const e=await o9(s.signatureHelpProvider,r.object.textEditorModel,cd.lift(i),{triggerKind:wC.Invoke,isRetrigger:!1,triggerCharacter:o},It.None);if(!e)return;return setTimeout((()=>e.dispose()),0),e.value}finally{r.dispose()}})),function(e){e.Default={type:0},e.Pending=class{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}},e.Active=class{constructor(e){this.hints=e,this.type=1}}}(s9||(s9={}));class r9 extends lt{constructor(e,t,n=r9.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Ct),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=s9.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new at),this.triggerChars=new jw,this.retriggerChars=new jw,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Bt(n),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((e=>this.onCursorChange(e)))),this._register(this.editor.onDidChangeModelContent((e=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((e=>this.onDidType(e)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){2===this._state.type&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=s9.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const n=this.editor.getModel();if(!n||!this.providers.has(n))return;const i=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger((()=>this.doTrigger(i)),t).catch(xe)}next(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t%e==e-1,i=this.editor.getOption(86).cycle;!(e<2||n)||i?this.updateActiveSignature(n&&i?0:t+1):this.cancel()}previous(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=0===t,i=this.editor.getOption(86).cycle;!(e<2||n)||i?this.updateActiveSignature(n&&i?e-1:t-1):this.cancel()}updateActiveSignature(e){1===this.state.type&&(this.state=new s9.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=1===this.state.type||2===this.state.type,n=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const i=this._pendingTriggers.reduce(l9);this._pendingTriggers=[];const o={triggerKind:i.triggerKind,triggerCharacter:i.triggerCharacter,isRetrigger:t,activeSignatureHelp:n};if(!this.editor.hasModel())return!1;const s=this.editor.getModel(),r=this.editor.getPosition();this.state=new s9.Pending(Pt((e=>o9(this.providers,s,r,o,e))),n);try{const t=await this.state.request;return e!==this.triggerId?(null==t||t.dispose(),!1):t&&t.value.signatures&&0!==t.value.signatures.length?(this.state=new s9.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(null==t||t.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(t){return e===this.triggerId&&(this.state=s9.Default),xe(t),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||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 e of t.signatureHelpTriggerCharacters||[])if(e.length){const t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(const e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,n=e.charCodeAt(t);(this.triggerChars.has(n)||this.isTriggered&&this.retriggerChars.has(n))&&this.trigger({triggerKind:wC.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){"mouse"===e.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:wC.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:wC.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function l9(e,t){switch(t.triggerKind){case wC.Invoke:return t;case wC.ContentChange:return e;case wC.TriggerCharacter:default:return t}}r9.DEFAULT_DELAY=120;var a9=n(991),d9={};d9.styleTagTransform=Vr(),d9.setAttributes=Or(),d9.insert=Rr().bind(null,"head"),d9.domAPI=Tr(),d9.insertStyleElement=Br(),Ir()(a9.A,d9),a9.A&&a9.A.locals&&a9.A.locals;var u9,c9=function(e,t){return function(n,i){t(n,i,e)}};const h9=mr,g9=fz("parameter-hints-next",Sa.chevronDown,_(0,"Icon for show next parameter hint.")),p9=fz("parameter-hints-previous",Sa.chevronUp,_(0,"Icon for show previous parameter hint."));let m9=u9=class extends lt{constructor(e,t,n,i,o){super(),this.editor=e,this.model=t,this.renderDisposeables=this._register(new rt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new dL({editor:e},o,i)),this.keyVisible=i9.Visible.bindTo(n),this.keyMultipleSignatures=i9.MultipleSignatures.bindTo(n)}createParameterHintDOMNodes(){const e=h9(".editor-widget.parameter-hints-widget"),t=dr(e,h9(".phwrapper"));t.tabIndex=-1;const n=dr(t,h9(".controls")),i=dr(n,h9(".button"+ka.asCSSSelector(p9))),o=dr(n,h9(".overloads")),s=dr(n,h9(".button"+ka.asCSSSelector(g9)));this._register(ms(i,"click",(e=>{rr(e),this.previous()}))),this._register(ms(s,"click",(e=>{rr(e),this.next()})));const r=h9(".body"),l=new cE(r,{alwaysConsumeMouseWheel:!0});this._register(l),t.appendChild(l.getDomNode());const a=dr(r,h9(".signature")),d=dr(r,h9(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:a,overloads:o,docs:d,scrollbar:l},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((e=>{this.visible&&this.editor.layoutContentWidget(this)})));const u=()=>{if(!this.domNodes)return;const e=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${e.fontSize}px`,this.domNodes.element.style.lineHeight=""+e.lineHeight/e.fontSize};u(),this._register(ft.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(e=>e.filter((e=>e.hasChanged(50)))))(u)),this._register(this.editor.onDidLayoutChange((e=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{var e;null===(e=this.domNodes)||void 0===e||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,null===(e=this.domNodes)||void 0===e||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const n=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",n),this.keyMultipleSignatures.set(n),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const o=dr(this.domNodes.signature,h9(".code")),s=this.editor.getOption(50);o.style.fontSize=`${s.fontSize}px`,o.style.fontFamily=s.fontFamily;const r=i.parameters.length>0,l=null!==(t=i.activeParameter)&&void 0!==t?t:e.activeParameter;r?this.renderParameters(o,i,l):dr(o,h9("span")).textContent=i.label;const a=i.parameters[l];if(null==a?void 0:a.documentation){const e=h9("span.documentation");if("string"==typeof a.documentation)e.textContent=a.documentation;else{const t=this.renderMarkdownDocs(a.documentation);e.appendChild(t.element)}dr(this.domNodes.docs,h9("p",{},e))}if(void 0===i.documentation);else if("string"==typeof i.documentation)dr(this.domNodes.docs,h9("p",{},i.documentation));else{const e=this.renderMarkdownDocs(i.documentation);dr(this.domNodes.docs,e.element)}const d=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let e="";const t=i.parameters[l];e=Array.isArray(t.label)?i.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+="string"==typeof t.documentation?`, ${t.documentation}`:`, ${t.documentation.value}`),i.documentation&&(e+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==e&&(Zr(_(0,"{0}, hint",e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var e;null===(e=this.domNodes)||void 0===e||e.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&"string"==typeof t.documentation&&_a(t.documentation).length>0||t&&"object"==typeof t.documentation&&_a(t.documentation).value.length>0||e.documentation&&"string"==typeof e.documentation&&_a(e.documentation).length>0||e.documentation&&"object"==typeof e.documentation&&_a(e.documentation.value).length>0)}renderParameters(e,t,n){const[i,o]=this.getParameterLabelOffsets(t,n),s=document.createElement("span");s.textContent=t.label.substring(0,i);const r=document.createElement("span");r.textContent=t.label.substring(i,o),r.className="parameter active";const l=document.createElement("span");l.textContent=t.label.substring(o),dr(e,s,r,l)}getParameterLabelOffsets(e,t){const n=e.parameters[t];if(n){if(Array.isArray(n.label))return n.label;if(n.label.length){const t=new RegExp(`(\\W|^)${ri(n.label)}(?=\\W|$)`,"g");t.test(e.label);const i=t.lastIndex-n.label.length;return i>=0?[i,t.lastIndex]:[0,0]}return[0,0]}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 u9.ID}updateMaxHeight(){if(!this.domNodes)return;const e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;const t=this.domNodes.element.getElementsByClassName("phwrapper");t.length&&(t[0].style.maxHeight=e)}};m9.ID="editor.widget.parameterHintsWidget",m9=u9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([c9(2,su),c9(3,rL),c9(4,Sh)],m9),km("editorHoverWidget.highlightForeground",{dark:tv,light:tv,hcDark:tv,hcLight:tv},_(0,"Foreground color of the active item in the parameter hint."));var f9,_9=function(e,t){return function(n,i){t(n,i,e)}};let v9=f9=class extends lt{static get(e){return e.getContribution(f9.ID)}constructor(e,t,n){super(),this.editor=e,this.model=this._register(new r9(e,n.signatureHelpProvider)),this._register(this.model.onChangedHints((e=>{var t;e?(this.widget.value.show(),this.widget.value.render(e)):null===(t=this.widget.rawValue)||void 0===t||t.hide()}))),this.widget=new ei((()=>this._register(t.createInstance(m9,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var e;null===(e=this.widget.rawValue)||void 0===e||e.previous()}next(){var e;null===(e=this.widget.rawValue)||void 0===e||e.next()}trigger(e){this.model.trigger(e,0)}};v9.ID="editor.controller.parameterHints",v9=f9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([_9(1,ad),_9(2,wx)],v9),Zu(v9.ID,v9,2),$u(class extends zu{constructor(){super({id:"editor.action.triggerParameterHints",label:_(0,"Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:oc.hasSignatureHelpProvider,kbOpts:{kbExpr:oc.editorTextFocus,primary:3082,weight:100}})}run(e,t){const n=v9.get(t);null==n||n.trigger({triggerKind:wC.Invoke})}});const b9=Hu.bindToContribution(v9.get);function w9(e,t){return t&&(e.stack||e.stacktrace)?_(0,"{0}: {1}",y9(e),C9(e.stack)||C9(e.stacktrace)):y9(e)}function C9(e){return Array.isArray(e)?e.join("\n"):e}function y9(e){return"ERR_UNC_HOST_NOT_ALLOWED"===e.code?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof e.code&&"number"==typeof e.errno&&"string"==typeof e.syscall?_(0,"A system error occurred ({0})",e.message):e.message||_(0,"An unknown error occurred. Please consult the log for more details.")}function S9(e=null,t=!1){if(!e)return _(0,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(e)){const n=Oc(e),i=S9(n[0],t);return n.length>1?_(0,"{0} ({1} errors in total)",i,n.length):i}if(la(e))return e;if(e.detail){const n=e.detail;if(n.error)return w9(n.error,t);if(n.exception)return w9(n.exception,t)}return e.stack?w9(e,t):e.message?e.message:_(0,"An unknown error occurred. Please consult the log for more details.")}qu(new b9({id:"closeParameterHints",precondition:i9.Visible,handler:e=>e.cancel(),kbOpts:{weight:175,kbExpr:oc.focus,primary:9,secondary:[1033]}})),qu(new b9({id:"showPrevParameterHint",precondition:Bd.and(i9.Visible,i9.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:175,kbExpr:oc.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),qu(new b9({id:"showNextParameterHint",precondition:Bd.and(i9.Visible,i9.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:175,kbExpr:oc.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));class x9{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const n=this.computeEmbedding(e),i=new Map,o=[];for(const[e,s]of this.documents){if(t.isCancellationRequested)return[];for(const t of s.chunks){const s=this.computeSimilarityScore(t,n,i);s>0&&o.push({key:e,score:s})}}return o}static termFrequencies(e){return function(e){var t;const n=new Map;for(const i of e)n.set(i,(null!==(t=n.get(i))&&void 0!==t?t:0)+1);return n}(x9.splitTerms(e))}static*splitTerms(e){const t=e=>e.toLowerCase();for(const[n]of e.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield t(n);const e=n.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(e.length>1)for(const n of e)n.length>2&&/\p{Letter}{3,}/gu.test(n)&&(yield t(n))}}updateDocuments(e){var t;for(const{key:t}of e)this.deleteDocument(t);for(const n of e){const e=[];for(const i of n.textChunks){const n=x9.termFrequencies(i);for(const e of n.keys())this.chunkOccurrences.set(e,(null!==(t=this.chunkOccurrences.get(e))&&void 0!==t?t:0)+1);e.push({text:i,tf:n})}this.chunkCount+=e.length,this.documents.set(n.key,{chunks:e})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const e of t.chunks)for(const t of e.tf.keys()){const e=this.chunkOccurrences.get(t);if("number"==typeof e){const n=e-1;n<=0?this.chunkOccurrences.delete(t):this.chunkOccurrences.set(t,n)}}}}computeSimilarityScore(e,t,n){let i=0;for(const[o,s]of Object.entries(t)){const t=e.tf.get(o);if(!t)continue;let r=n.get(o);"number"!=typeof r&&(r=this.computeIdf(o),n.set(o,r)),i+=t*r*s}return i}computeEmbedding(e){const t=x9.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){var t;const n=null!==(t=this.chunkOccurrences.get(e))&&void 0!==t?t:0;return n>0?Math.log((this.chunkCount+1)/n):0}computeTfidf(e){const t=Object.create(null);for(const[n,i]of e){const e=this.computeIdf(n);e>0&&(t[n]=i*e)}return t}}const k9=dd("dialogService");var L9;function D9(e){const t=e;return Array.isArray(t.items)}function N9(e){const t=e;return!!t.picks&&t.additionalPicks instanceof Promise}!function(e){e[e.NO_ACTION=0]="NO_ACTION",e[e.CLOSE_PICKER=1]="CLOSE_PICKER",e[e.REFRESH_PICKER=2]="REFRESH_PICKER",e[e.REMOVE_ITEM=3]="REMOVE_ITEM"}(L9||(L9={}));class E9 extends lt{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,n){var i;const o=new rt;let s;e.canAcceptInBackground=!!(null===(i=this.options)||void 0===i?void 0:i.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const r=o.add(new at),l=async()=>{var i;const o=r.value=new rt;null==s||s.dispose(!0),e.busy=!1,s=new Tt(t);const l=s.token;let a=e.value.substring(this.prefix.length);(null===(i=this.options)||void 0===i?void 0:i.shouldSkipTrimPickFilter)||(a=a.trim());const d=this._getPicks(a,o,l,n),u=(t,n)=>{var i;let o,s;if(D9(t)?(o=t.items,s=t.active):o=t,0===o.length){if(n)return!1;(a.length>0||e.hideInput)&&(null===(i=this.options)||void 0===i?void 0:i.noResultsPick)&&(o=va(this.options.noResultsPick)?[this.options.noResultsPick(a)]:[this.options.noResultsPick])}return e.items=o,s&&(e.activeItems=[s]),!0},c=async t=>{let n=!1,i=!1;await Promise.all([(async()=>{"number"==typeof t.mergeDelay&&(await Vt(t.mergeDelay),l.isCancellationRequested)||i||(n=u(t.picks,!0))})(),(async()=>{e.busy=!0;try{const i=await t.additionalPicks;if(l.isCancellationRequested)return;let o,s,r,a;if(D9(t.picks)?(o=t.picks.items,s=t.picks.active):o=t.picks,D9(i)?(r=i.items,a=i.active):r=i,r.length>0||!n){let t;if(!s&&!a){const n=e.activeItems[0];n&&-1!==o.indexOf(n)&&(t=n)}u({items:[...o,...r],active:s||a||t})}}finally{l.isCancellationRequested||(e.busy=!1),i=!0}})()])};if(null===d);else if(N9(d))await c(d);else if(d instanceof Promise){e.busy=!0;try{const e=await d;if(l.isCancellationRequested)return;N9(e)?await c(e):u(e)}finally{l.isCancellationRequested||(e.busy=!1)}}else u(d)};o.add(e.onDidChangeValue((()=>l()))),l(),o.add(e.onDidAccept((t=>{const[n]=e.selectedItems;"function"==typeof(null==n?void 0:n.accept)&&(t.inBackground||e.hide(),n.accept(e.keyMods,t))})));const a=async(n,i)=>{var o,s;if("function"!=typeof i.trigger)return;const r=null!==(s=null===(o=i.buttons)||void 0===o?void 0:o.indexOf(n))&&void 0!==s?s:-1;if(r>=0){const n=i.trigger(r,e.keyMods),o="number"==typeof n?n:await n;if(t.isCancellationRequested)return;switch(o){case L9.NO_ACTION:break;case L9.CLOSE_PICKER:e.hide();break;case L9.REFRESH_PICKER:l();break;case L9.REMOVE_ITEM:{const t=e.items.indexOf(i);if(-1!==t){const n=e.items.slice(),i=n.splice(t,1),o=e.activeItems.filter((e=>e!==i[0])),s=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=n,o&&(e.activeItems=o),e.keepScrollPosition=s}break}}}};return o.add(e.onDidTriggerItemButton((({button:e,item:t})=>a(e,t)))),o.add(e.onDidTriggerSeparatorButton((({button:e,separator:t})=>a(e,t)))),o}}var I9,M9,T9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},A9=function(e,t){return function(n,i){t(n,i,e)}};let R9=I9=class extends E9{constructor(e,t,n,i,o,s){super(I9.PREFIX,e),this.instantiationService=t,this.keybindingService=n,this.commandService=i,this.telemetryService=o,this.dialogService=s,this.commandsHistory=this._register(this.instantiationService.createInstance(P9)),this.options=e}async _getPicks(e,t,n,i){var o,s,r,l;const a=await this.getCommandPicks(n);if(n.isCancellationRequested)return[];const d=Ze((()=>{const t=new x9;return t.updateDocuments(a.map((e=>({key:e.commandId,textChunks:[this.getTfIdfChunk(e)]})))),function(e){var t,n;const i=e.slice(0);i.sort(((e,t)=>t.score-e.score));const o=null!==(n=null===(t=i[0])||void 0===t?void 0:t.score)&&void 0!==n?n:0;if(o>0)for(const e of i)e.score/=o;return i}(t.calculateScores(e,n)).filter((e=>e.score>I9.TFIDF_THRESHOLD)).slice(0,I9.TFIDF_MAX_RESULTS)})),u=[];for(const t of a){const i=null!==(o=I9.WORD_FILTER(e,t.label))&&void 0!==o?o:void 0,r=t.commandAlias&&null!==(s=I9.WORD_FILTER(e,t.commandAlias))&&void 0!==s?s:void 0;if(i||r)t.highlights={label:i,detail:this.options.showAlias?r:void 0},u.push(t);else if(e===t.commandId)u.push(t);else if(e.length>=3){const e=d();if(n.isCancellationRequested)return[];const i=e.find((e=>e.key===t.commandId));i&&(t.tfIdfScore=i.score,u.push(t))}}const c=new Map;for(const e of u){const t=c.get(e.label);t?(e.description=e.commandId,t.description=t.commandId):c.set(e.label,e)}u.sort(((e,t)=>{if(e.tfIdfScore&&t.tfIdfScore)return e.tfIdfScore===t.tfIdfScore?e.label.localeCompare(t.label):t.tfIdfScore-e.tfIdfScore;if(e.tfIdfScore)return 1;if(t.tfIdfScore)return-1;const n=this.commandsHistory.peek(e.commandId),i=this.commandsHistory.peek(t.commandId);if(n&&i)return n>i?-1:1;if(n)return-1;if(i)return 1;if(this.options.suggestedCommandIds){const n=this.options.suggestedCommandIds.has(e.commandId),i=this.options.suggestedCommandIds.has(t.commandId);if(n&&i)return 0;if(n)return-1;if(i)return 1}return e.label.localeCompare(t.label)}));const h=[];let g=!1,p=!0,m=!!this.options.suggestedCommandIds;for(let e=0;e{var t;const o=await this.getAdditionalCommandPicks(a,u,e,n);if(n.isCancellationRequested)return[];const s=o.map((e=>this.toCommandPick(e,i)));return p&&"separator"!==(null===(t=s[0])||void 0===t?void 0:t.type)&&s.unshift({type:"separator",label:_(0,"similar commands")}),s})()}:h}toCommandPick(e,t){if("separator"===e.type)return e;const n=this.keybindingService.lookupKeybinding(e.commandId),i=n?_(0,"{0}, {1}",e.label,n.getAriaLabel()):e.label;return{...e,ariaLabel:i,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:n,accept:async()=>{var n,i;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:null!==(n=null==t?void 0:t.from)&&void 0!==n?n:"quick open"});try{(null===(i=e.args)||void 0===i?void 0:i.length)?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(t){Ne(t)||this.dialogService.error(_(0,"Command '{0}' resulted in an error",e.label),S9(t))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:n}){let i=e;return t&&t!==e&&(i+=` - ${t}`),n&&n.value!==e&&(i+=` - ${n.value===n.original?n.value:`${n.value} (${n.original})`}`),i}};R9.PREFIX=">",R9.TFIDF_THRESHOLD=.5,R9.TFIDF_MAX_RESULTS=5,R9.WORD_FILTER=gl(pl,(function(e,t,n=!1){if(!t||0===t.length)return null;let i=null,o=0;for(e=e.toLowerCase(),t=t.toLowerCase();othis.updateConfiguration(e)))),this._register(this.storageService.onWillSaveState((e=>{e.reason===jB.SHUTDOWN&&this.saveState()})))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=M9.getConfiguredCommandHistoryLength(this.configurationService),M9.cache&&M9.cache.limit!==this.configuredCommandsHistoryLength&&(M9.cache.limit=this.configuredCommandsHistoryLength,M9.hasChanges=!0))}load(){const e=this.storageService.get(M9.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(e){this.logService.error(`[CommandsHistory] invalid data: ${e}`)}const n=M9.cache=new il(this.configuredCommandsHistoryLength,1);if(t){let e;e=t.usesLRU?t.entries:t.entries.sort(((e,t)=>e.value-t.value)),e.forEach((e=>n.set(e.key,e.value)))}M9.counter=this.storageService.getNumber(M9.PREF_KEY_COUNTER,0,M9.counter)}push(e){M9.cache&&(M9.cache.set(e,M9.counter++),M9.hasChanges=!0)}peek(e){var t;return null===(t=M9.cache)||void 0===t?void 0:t.peek(e)}saveState(){if(!M9.cache)return;if(!M9.hasChanges)return;const e={usesLRU:!0,entries:[]};M9.cache.forEach(((t,n)=>e.entries.push({key:n,value:t}))),this.storageService.store(M9.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(M9.PREF_KEY_COUNTER,M9.counter,0,0),M9.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var t,n;const i=null===(n=null===(t=e.getValue().workbench)||void 0===t?void 0:t.commandPalette)||void 0===n?void 0:n.history;return"number"==typeof i?i:M9.DEFAULT_COMMANDS_HISTORY_LENGTH}};P9.DEFAULT_COMMANDS_HISTORY_LENGTH=50,P9.PREF_KEY_CACHE="commandPalette.mru.cache",P9.PREF_KEY_COUNTER="commandPalette.mru.counter",P9.counter=1,P9.hasChanges=!1,P9=M9=T9([A9(0,KB),A9(1,pg),A9(2,Tu)],P9);class O9 extends R9{constructor(e,t,n,i,o,s){super(e,t,n,i,o,s)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions())t.push({commandId:n.id,commandAlias:n.alias,label:Ia(n.label)||n.id});return t}}var F9=function(e,t){return function(n,i){t(n,i,e)}};let B9=class extends O9{get activeTextEditorControl(){var e;return null!==(e=this.codeEditorService.getFocusedCodeEditor())&&void 0!==e?e:void 0}constructor(e,t,n,i,o,s){super({showAlias:!1},e,n,i,o,s),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};B9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([F9(0,ad),F9(1,ud),F9(2,zL),F9(3,wd),F9(4,Mu),F9(5,k9)],B9);class W9 extends zu{constructor(){super({id:W9.ID,label:r0.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(SL).quickAccess.show(B9.PREFIX)}}W9.ID="editor.action.quickCommand",$u(W9),fu.as(n0).registerQuickAccessProvider({ctor:B9,prefix:B9.PREFIX,helpEntries:[{description:r0.quickCommandHelp,commandId:W9.ID}]});var V9,H9=function(e,t){return function(n,i){t(n,i,e)}};let z9=V9=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=fu.as(n0)}provide(e){const t=new rt;return t.add(e.onDidAccept((()=>{const[t]=e.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})}))),t.add(e.onDidChangeValue((e=>{const t=this.registry.getQuickAccessProvider(e.substr(V9.PREFIX.length));t&&t.prefix&&t.prefix!==V9.PREFIX&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})}))),e.items=this.getQuickAccessProviders().filter((e=>e.prefix!==V9.PREFIX)),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((e,t)=>e.prefix.localeCompare(t.prefix))).flatMap((e=>this.createPicks(e)))}createPicks(e){return e.helpEntries.map((t=>{const n=t.prefix||e.prefix,i=n||"…";return{prefix:n,label:i,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:_(0,"{0}, {1}",i,t.description),description:t.description}}))}};z9.PREFIX="?",z9=V9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([H9(0,SL),H9(1,zL)],z9),fu.as(n0).registerQuickAccessProvider({ctor:z9,prefix:"",helpEntries:[{description:s0.helpQuickAccessActionLabel}]});const U9=[void 0,[]];function K9(e,t,n=0,i=0){const o=t;return o.values&&o.values.length>1?function(e,t,n,i){let o=0;const s=[];for(const r of t){const[t,l]=j9(e,r,n,i);if("number"!=typeof t)return U9;o+=t,s.push(...l)}return[o,q9(s)]}(e,o.values,n,i):j9(e,t,n,i)}function j9(e,t,n,i){const o=ia(t.original,t.originalLowercase,n,e,e.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return o?[o[0],Hl(o)]:U9}function q9(e){const t=e.sort(((e,t)=>e.start-t.start)),n=[];let i;for(const e of t)!i||(s=e,(o=i).end=0,r=$9(e);let l;const a=e.split(G9);if(a.length>1)for(const e of a){const t=$9(e),{pathNormalized:n,normalized:i,normalizedLowercase:o}=Y9(e);i&&(l||(l=[]),l.push({original:e,originalLowercase:e.toLowerCase(),pathNormalized:n,normalized:i,normalizedLowercase:o,expectContiguousMatch:t}))}return{original:e,originalLowercase:t,pathNormalized:n,normalized:i,normalizedLowercase:o,values:l,containsPathSeparator:s,expectContiguousMatch:r}}function Y9(e){let t;t=z?e.replace(/\//g,So):e.replace(/\\/g,So);const n=(i=t,i.replace(/\*/g,"")).replace(/\s|"/g,"");var i;return{pathNormalized:t,normalized:n,normalizedLowercase:n.toLowerCase()}}function X9(e){return Array.isArray(e)?Z9(e.map((e=>e.original)).join(G9)):Z9(e.original)}var Q9,J9=function(e,t){return function(n,i){t(n,i,e)}};let e8=Q9=class extends J3{constructor(e,t,n=Object.create(null)){super(n),this._languageFeaturesService=e,this._outlineModelService=t,this.options=n,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,_(0,"To go to a symbol, first open a text editor with symbol information.")),lt.None}provideWithTextEditor(e,t,n){const i=e.editor,o=this.getModel(i);return o?this._languageFeaturesService.documentSymbolProvider.has(o)?this.doProvideWithEditorSymbols(e,o,t,n):this.doProvideWithoutEditorSymbols(e,o,t,n):lt.None}doProvideWithoutEditorSymbols(e,t,n,i){const o=new rt;return this.provideLabelPick(n,_(0,"The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(t,o)&&!i.isCancellationRequested&&o.add(this.doProvideWithEditorSymbols(e,t,n,i))})(),o}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 n=new Yt,i=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(i.dispose(),n.complete(!0))})));return t.add(st((()=>n.complete(!1)))),n.p}doProvideWithEditorSymbols(e,t,n,i){var o;const s=e.editor,r=new rt;r.add(n.onDidAccept((t=>{const[i]=n.selectedItems;i&&i.range&&(this.gotoLocation(e,{range:i.range.selection,keyMods:n.keyMods,preserveFocus:t.inBackground}),t.inBackground||n.hide())}))),r.add(n.onDidTriggerItemButton((({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:n.keyMods,forceSideBySide:!0}),n.hide())})));const l=this.getDocumentSymbols(t,i);let a;const d=async e=>{null==a||a.dispose(!0),n.busy=!1,a=new Tt(i),n.busy=!0;try{const t=Z9(n.value.substr(Q9.PREFIX.length).trim()),o=await this.doGetSymbolPicks(l,t,void 0,a.token);if(i.isCancellationRequested)return;if(o.length>0){if(n.items=o,e&&0===t.original.length){const t=gh(o,(t=>Boolean("separator"!==t.type&&t.range&&nc.containsPosition(t.range.decoration,e))));t&&(n.activeItems=[t])}}else t.original.length>0?this.provideLabelPick(n,_(0,"No matching editor symbols")):this.provideLabelPick(n,_(0,"No editor symbols"))}finally{i.isCancellationRequested||(n.busy=!1)}};return r.add(n.onDidChangeValue((()=>d(void 0)))),d(null===(o=s.getSelection())||void 0===o?void 0:o.getPosition()),r.add(n.onDidChangeActive((()=>{const[e]=n.activeItems;e&&e.range&&(s.revealRangeInCenter(e.range.selection,0),this.addDecorations(s,e.range.decoration))}))),r}async doGetSymbolPicks(e,t,n,i){var o,s;const r=await e;if(i.isCancellationRequested)return[];const l=0===t.original.indexOf(Q9.SCOPE_PREFIX),a=l?1:0;let d,u,c;t.values&&t.values.length>1?(d=X9(t.values[0]),u=X9(t.values.slice(1))):d=t;const h=null===(s=null===(o=this.options)||void 0===o?void 0:o.openSideBySideDirection)||void 0===s?void 0:s.call(o);h&&(c=[{iconClass:"right"===h?ka.asClassName(Sa.splitHorizontal):ka.asClassName(Sa.splitVertical),tooltip:_(0,"right"===h?"Open to the Side":"Open to the Bottom")}]);const g=[];for(let b=0;ba){let I=!1;if(d!==t&&([x,k]=K9(y,{...t,values:void 0},a,S),"number"==typeof x&&(I=!0)),"number"!=typeof x&&([x,k]=K9(y,d,a,S),"number"!=typeof x))continue;if(!I&&u){if(N&&u.original.length>0&&([L,D]=K9(N,u)),"number"!=typeof L)continue;"number"==typeof x&&(x+=L)}}const E=w.tags&&w.tags.indexOf(1)>=0;g.push({index:b,kind:w.kind,score:x,label:y,ariaLabel:(p=w.name,m=w.kind,_(0,"{0} ({1})",p,SC[m])),description:N,highlights:E?void 0:{label:k,description:D},range:{selection:nc.collapseToStart(w.selectionRange),decoration:w.range},strikethrough:E,buttons:c})}var p,m;const f=g.sort(((e,t)=>l?this.compareByKindAndScore(e,t):this.compareByScore(e,t)));let v=[];if(l){let M,T,A=0;function R(){T&&"number"==typeof M&&A>0&&(T.label=oi(n8[M]||t8,A))}for(const P of f)M!==P.kind?(R(),M=P.kind,A=1,T={type:"separator"},v.push(T)):A++,v.push(P);R()}else f.length>0&&(v=[{label:_(0,"symbols ({0})",g.length),type:"separator"},...f]);return v}compareByScore(e,t){if("number"!=typeof e.score&&"number"==typeof t.score)return 1;if("number"==typeof e.score&&"number"!=typeof t.score)return-1;if("number"==typeof e.score&&"number"==typeof t.score){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const n=n8[e.kind]||t8,i=n8[t.kind]||t8,o=n.localeCompare(i);return 0===o?this.compareByScore(e,t):o}async getDocumentSymbols(e,t){const n=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:n.asListOfDocumentSymbols()}};e8.PREFIX="@",e8.SCOPE_PREFIX=":",e8.PREFIX_BY_CATEGORY=`${Q9.PREFIX}${Q9.SCOPE_PREFIX}`,e8=Q9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([J9(0,wx),J9(1,GQ)],e8);const t8=_(0,"properties ({0})"),n8={5:_(0,"methods ({0})"),11:_(0,"functions ({0})"),8:_(0,"constructors ({0})"),12:_(0,"variables ({0})"),4:_(0,"classes ({0})"),22:_(0,"structs ({0})"),23:_(0,"events ({0})"),24:_(0,"operators ({0})"),10:_(0,"interfaces ({0})"),2:_(0,"namespaces ({0})"),3:_(0,"packages ({0})"),25:_(0,"type parameters ({0})"),1:_(0,"modules ({0})"),6:_(0,"properties ({0})"),9:_(0,"enumerations ({0})"),21:_(0,"enumeration members ({0})"),14:_(0,"strings ({0})"),0:_(0,"files ({0})"),17:_(0,"arrays ({0})"),15:_(0,"numbers ({0})"),16:_(0,"booleans ({0})"),18:_(0,"objects ({0})"),19:_(0,"keys ({0})"),7:_(0,"fields ({0})"),13:_(0,"constants ({0})")};var i8=function(e,t){return function(n,i){t(n,i,e)}};let o8=class extends e8{constructor(e,t,n){super(t,n),this.editorService=e,this.onDidActiveTextEditorControlChange=ft.None}get activeTextEditorControl(){var e;return null!==(e=this.editorService.getFocusedCodeEditor())&&void 0!==e?e:void 0}};o8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([i8(0,ud),i8(1,wx),i8(2,GQ)],o8);class s8 extends zu{constructor(){super({id:s8.ID,label:l0.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:oc.hasDocumentSymbolProvider,kbOpts:{kbExpr:oc.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(SL).quickAccess.show(e8.PREFIX,{itemActivation:yL.NONE})}}s8.ID="editor.action.quickOutline",$u(s8),fu.as(n0).registerQuickAccessProvider({ctor:o8,prefix:e8.PREFIX,helpEntries:[{description:l0.quickOutlineActionLabel,prefix:e8.PREFIX,commandId:s8.ID},{description:l0.quickOutlineByCategoryActionLabel,prefix:e8.PREFIX_BY_CATEGORY}]});class r8 extends lt{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const e=pL.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(92);t||(t=this.editor.isSimpleWidget?new ed(_(0,"Cannot edit in read-only input")):new ed(_(0,"Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}}r8.ID="editor.contrib.readOnlyMessageController",Zu(r8.ID,r8,2);var l8=function(e,t){return function(n,i){t(n,i,e)}};let a8=class extends B${constructor(e,t,n,i,o,s,r){super(!0,e,t,n,i,o,s,r)}};a8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([l8(1,su),l8(2,ud),l8(3,nN),l8(4,ad),l8(5,KB),l8(6,pg)],a8),Zu(B$.ID,a8,4);var d8=n(8033),u8={};u8.styleTagTransform=Vr(),u8.setAttributes=Or(),u8.insert=Rr().bind(null,"head"),u8.domAPI=Tr(),u8.insertStyleElement=Br(),Ir()(d8.A,u8),d8.A&&d8.A.locals&&d8.A.locals;var c8=function(e,t){return function(n,i){t(n,i,e)}};const h8=new ou("renameInputVisible",!1,_(0,"Whether the rename input widget is visible"));new ou("renameInputFocused",!1,_(0,"Whether the rename input widget is focused"));let g8=class{constructor(e,t,n,i,o,s){this._editor=e,this._acceptKeybindings=t,this._themeService=n,this._keybindingService=i,this._logService=s,this.allowEditorOverflow=!0,this._disposables=new rt,this._visibleContextKey=h8.bindTo(o),this._isEditingRenameCandidate=!1,this._beforeFirstInputFieldEditSW=new mt,this._input=new m8,this._disposables.add(this._input),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()}))),this._disposables.add(n.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._input.domNode),this._renameCandidateListView=this._disposables.add(new p8(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._input.domNode.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._input.onDidChange((()=>{var e,t,n,i;void 0!==(null===(e=this._renameCandidateListView)||void 0===e?void 0:e.focusedCandidate)&&(this._isEditingRenameCandidate=!0),null!==(t=this._timeBeforeFirstInputFieldEdit)&&void 0!==t||(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),!1===(null===(n=this._renameCandidateProvidersCts)||void 0===n?void 0:n.token.isCancellationRequested)&&this._renameCandidateProvidersCts.cancel(),null===(i=this._renameCandidateListView)||void 0===i||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){var t,n,i,o;if(!this._domNode)return;const s=e.getColor(Mf),r=e.getColor(Tf);this._domNode.style.backgroundColor=String(null!==(t=e.getColor(Ym))&&void 0!==t?t:""),this._domNode.style.boxShadow=s?` 0 0 8px 2px ${s}`:"",this._domNode.style.border=r?`1px solid ${r}`:"",this._domNode.style.color=String(null!==(n=e.getColor(r_))&&void 0!==n?n:""),this._input.domNode.style.backgroundColor=String(null!==(i=e.getColor(s_))&&void 0!==i?i:"");const l=e.getColor(l_);this._input.domNode.style.borderWidth=l?"1px":"0px",this._input.domNode.style.borderStyle=l?"solid":"none",this._input.domNode.style.borderColor=null!==(o=null==l?void 0:l.toString())&&void 0!==o?o:"none"}_updateFont(){if(void 0===this._domNode)return;fa(void 0!==this._label,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._input.domNode);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return.8*e}getPosition(){if(!this._visible)return null;if(!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=ks(this.getDomNode().ownerDocument.body),t=Es(this._editor.getDomNode()),n=this._getTopForPosition();this._nPxAvailableAbove=n+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const i=this._editor.getOption(67),{totalHeight:o}=f8.getLayoutInfo({lineHeight:i}),s=this._nPxAvailableBelow>6*o?[2,1]:[1,2];return{position:this._position,preference:s}}beforeRender(){var e,t;const[n,i]=this._acceptKeybindings;return this._label.innerText=_(0,"{0} to Rename, {1} to Preview",null===(e=this._keybindingService.lookupKeybinding(n))||void 0===e?void 0:e.getLabel(),null===(t=this._keybindingService.lookupKeybinding(i))||void 0===t?void 0:t.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(this._trace("invoking afterRender, position: ",e?"not null":"null"),null===e)return void this.cancelInput(!0,"afterRender (because position is null)");if(!this._editor.hasModel()||!this._editor.getDomNode())return;fa(this._renameCandidateListView),fa(void 0!==this._nPxAvailableAbove),fa(void 0!==this._nPxAvailableBelow);const t=Rs(this._input.domNode),n=Rs(this._label);let i;i=2===e?this._nPxAvailableBelow:this._nPxAvailableAbove,this._renameCandidateListView.layout({height:i-n-t,width:Ms(this._input.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),null===(t=this._currentAcceptInput)||void 0===t||t.call(this,e)}cancelInput(e,t){var n;this._trace(`invoking cancelInput, caller: ${t}, _currentCancelInput: ${this._currentAcceptInput?"not undefined":"undefined"}`),null===(n=this._currentCancelInput)||void 0===n||n.call(this,e)}focusNextRenameSuggestion(){var e;(null===(e=this._renameCandidateListView)||void 0===e?void 0:e.focusNext())||(this._input.domNode.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(null===(e=this._renameCandidateListView)||void 0===e?void 0:e.focusPrevious())||(this._input.domNode.value=this._currentName)}getInput(e,t,n,i,o){const{start:s,end:r}=this._getSelection(e,t);this._renameCandidateProvidersCts=new Tt;const l=i(this._renameCandidateProvidersCts.token);this._updateRenameCandidates(l,t,o.token),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",n),this._position=new cd(e.startLineNumber,e.startColumn),this._currentName=t,this._input.domNode.value=t,this._input.domNode.setAttribute("selectionStart",s.toString()),this._input.domNode.setAttribute("selectionEnd",r.toString()),this._input.domNode.size=Math.max(1.1*(e.endColumn-e.startColumn),20),this._beforeFirstInputFieldEditSW.reset();const a=new rt;a.add(st((()=>o.dispose(!0)))),a.add(st((()=>{void 0!==this._renameCandidateProvidersCts&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})));const d=new Yt;return d.p.finally((()=>{a.dispose(),this._hide()})),this._currentCancelInput=e=>{var t;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,null===(t=this._renameCandidateListView)||void 0===t||t.clearCandidates(),d.complete(e),!0},this._currentAcceptInput=e=>{this._trace("invoking _currentAcceptInput"),fa(void 0!==this._renameCandidateListView);const i=this._renameCandidateListView.nCandidates;let o,s;const r=this._renameCandidateListView.focusedCandidate;void 0!==r?(this._trace("using new name from renameSuggestion"),o=r,s={k:"renameSuggestion"}):(this._trace("using new name from inputField"),o=this._input.domNode.value,s=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),o!==t&&0!==o.trim().length?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),d.complete({newName:o,wantsPreview:n&&e,stats:{source:s,nRenameSuggestions:i,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit}})):this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)")},a.add(o.token.onCancellationRequested((()=>this.cancelInput(!0,"cts.token.onCancellationRequested")))),a.add(this._editor.onDidBlurEditorWidget((()=>{var e;return this.cancelInput(!(null===(e=this._domNode)||void 0===e?void 0:e.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")}))),this._show(),d.p}_getSelection(e,t){fa(this._editor.hasModel());const n=this._editor.getSelection();let i=0,o=t.length;return nc.isEmpty(n)||nc.spansMultipleLines(n)||!nc.containsRange(e,n)||(i=Math.max(0,n.startColumn-e.startColumn),o=Math.min(e.endColumn,n.endColumn)-e.startColumn),{start:i,end:o}}_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._input.domNode.focus(),this._input.domNode.setSelectionRange(parseInt(this._input.domNode.getAttribute("selectionStart")),parseInt(this._input.domNode.getAttribute("selectionEnd")))}),100)}async _updateRenameCandidates(e,t,n){const i=(...e)=>this._trace("_updateRenameCandidates",...e);i("start");const o=await Ot(Promise.allSettled(e),n);if(void 0===o)return void i("returning early - received updateRenameCandidates results - undefined");const s=o.flatMap((e=>"fulfilled"===e.status&&pa(e.value)?e.value:[]));i(`received updateRenameCandidates results - total (unfiltered) ${s.length} candidates.`);const r=Vc(s,(e=>e.newSymbolName));i(`distinct candidates - ${r.length} candidates.`);const l=r.filter((({newSymbolName:e})=>e.trim().length>0&&e!==this._input.domNode.value&&e!==t));i(`valid distinct candidates - ${s.length} candidates.`),l.length<1?i("returning early - no valid distinct candidates"):(i("setting candidates"),this._renameCandidateListView.setCandidates(l),i("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)}};g8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([c8(2,Tv),c8(3,zL),c8(4,su),c8(5,Tu)],g8);class p8{constructor(e,t){this._disposables=new rt,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),e.appendChild(this._listContainer),this._listWidget=p8._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus((e=>{1===e.elements.length&&t.onFocusChange(e.elements[0].newSymbolName)}),this._disposables),this._listWidget.onDidChangeSelection((e=>{1===e.elements.length&&t.onSelectionChange()}),this._disposables),this._disposables.add(this._listWidget.onDidBlur((e=>{this._listWidget.setFocus([])}))),this._listWidget.style(kM({listInactiveFocusForeground:Lv,listInactiveFocusBackground:Nv}))}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(e.length),n=this._pickListWidth(e);this._listWidget.layout(t,n),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${n}px`,Yr(_(0,"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(0===this._listWidget.length)return;const e=this._listWidget.getSelectedElements()[0];if(void 0!==e)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];return void 0!==t?t.newSymbolName:void 0}focusNext(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();return 0===e.length?(this._listWidget.focusFirst(),!0):e[0]===this._listWidget.length-1?(this._listWidget.setFocus([]),!1):(this._listWidget.focusNext(),!0)}focusPrevious(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();return 0===e.length?(this._listWidget.focusLast(),!0):0===e[0]?(this._listWidget.setFocus([]),!1):(this._listWidget.focusPrevious(),!0)}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=f8.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,7*this._candidateViewHeight)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map((e=>e.newSymbolName.length)))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,n){const i=new class{getTemplateId(e){return"candidate"}getHeight(e){return t}},o=new class{constructor(){this.templateId="candidate"}renderTemplate(e){return new f8(e,n)}renderElement(e,t,n){n.populate(e)}disposeTemplate(e){e.dispose()}};return new HI("NewSymbolNameCandidates",e,i,[o],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class m8{constructor(){this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._disposables=new rt}get domNode(){return this._domNode||(this._domNode=document.createElement("input"),this._domNode.className="rename-input",this._domNode.type="text",this._domNode.setAttribute("aria-label",_(0,"Rename input. Type new name and press Enter to commit.")),this._disposables.add(ms(this._domNode,"input",(()=>this._onDidChange.fire())))),this._domNode}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}}class f8{constructor(e,t){this._domNode=document.createElement("div"),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=`${f8._PADDING}px`;const n=document.createElement("div");n.style.display="flex",n.style.alignItems="center",n.style.width=n.style.height=.8*t.lineHeight+"px",this._domNode.appendChild(n),this._icon=wk(Sa.sparkle),this._icon.style.display="none",n.appendChild(this._icon),this._label=document.createElement("div"),nL(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var t;const n=!!(null===(t=e.tags)||void 0===t?void 0:t.includes(kC.AIGenerated));this._icon.style.display=n?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+2*f8._PADDING}}dispose(){}}f8._PADDING=2;var _8,v8=function(e,t){return function(n,i){t(n,i,e)}};class b8{constructor(e,t,n){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=n.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join("\n"):void 0}:{range:nc.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join("\n"):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,n,i){const o=this._providers[t];if(!o)return{edits:[],rejectReason:n.join("\n")};const s=await o.provideRenameEdits(this.model,this.position,e,i);return s?s.rejectReason?this._provideRenameEdits(e,t+1,n.concat(s.rejectReason),i):s:this._provideRenameEdits(e,t+1,n.concat(_(0,"No result.")),i)}}let w8=_8=class{static get(e){return e.getContribution(_8.ID)}constructor(e,t,n,i,o,s,r,l,a){this.editor=e,this._instaService=t,this._notificationService=n,this._bulkEditService=i,this._progressService=o,this._logService=s,this._configService=r,this._languageFeaturesService=l,this._telemetryService=a,this._disposableStore=new rt,this._cts=new Tt,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(g8,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var e,t;const n=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Tt,!this.editor.hasModel())return void n("editor has no model");const i=this.editor.getPosition(),o=new b8(this.editor.getModel(),i,this._languageFeaturesService.renameProvider);if(!o.hasProvider())return void n("skeleton has no provider");const s=new rk(this.editor,5,void 0,this._cts.token);let r;try{n("resolving rename location");const e=o.resolveRenameLocation(s.token);this._progressService.showWhile(e,250),r=await e,n("resolved rename location")}catch(t){return void(t instanceof Ee?n("resolve rename location cancelled",JSON.stringify(t,null,"\t")):(n("resolve rename location failed",t instanceof Error?t:JSON.stringify(t,null,"\t")),("string"==typeof t||nd(t))&&(null===(e=pL.get(this.editor))||void 0===e||e.showMessage(t||_(0,"An unknown error occurred while resolving rename location"),i))))}finally{s.dispose()}if(!r)return void n("returning early - no loc");if(r.rejectReason)return n(`returning early - rejected with reason: ${r.rejectReason}`,r.rejectReason),void(null===(t=pL.get(this.editor))||void 0===t||t.showMessage(r.rejectReason,i));if(s.token.isCancellationRequested)return void n("returning early - cts1 cancelled");const l=new rk(this.editor,5,r.range,this._cts.token),a=this.editor.getModel(),d=this._languageFeaturesService.newSymbolNamesProvider.all(a);n("creating rename input field and awaiting its result");const u=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),c=await this._renameWidget.getInput(r.range,r.text,u,(e=>d.map((t=>t.provideNewSymbolNames(a,r.range,e)))),l);if(n("received response from rename input field"),d.length>0&&this._reportTelemetry(d.length,a.getLanguageId(),c),"boolean"==typeof c)return n(`returning early - rename input field response - ${c}`),c&&this.editor.focus(),void l.dispose();this.editor.focus(),n("requesting rename edits");const h=Ot(o.provideRenameEdits(c.newName,l.token),l.token).then((async e=>{if(e)if(this.editor.hasModel()){if(e.rejectReason)return n(`returning early - rejected with reason: ${e.rejectReason}`),void this._notificationService.info(e.rejectReason);this.editor.setSelection(nc.fromPositions(this.editor.getSelection().getPosition())),n("applying edits"),this._bulkEditService.apply(e,{editor:this.editor,showPreview:c.wantsPreview,label:_(0,"Renaming '{0}' to '{1}'",null==r?void 0:r.text,c.newName),code:"undoredo.rename",quotableLabel:_(0,"Renaming {0} to {1}",null==r?void 0:r.text,c.newName),respectAutoSaveConfig:!0}).then((e=>{n("edits applied"),e.ariaSummary&&Zr(_(0,"Successfully renamed '{0}' to '{1}'. Summary: {2}",r.text,c.newName,e.ariaSummary))})).catch((e=>{n(`error when applying edits ${JSON.stringify(e,null,"\t")}`),this._notificationService.error(_(0,"Rename failed to apply edits")),this._logService.error(e)}))}else n("returning early - no model after rename edits are provided");else n("returning early - no rename edits result")}),(e=>{n("error when providing rename edits",JSON.stringify(e,null,"\t")),this._notificationService.error(_(0,"Rename failed to compute edits")),this._logService.error(e)})).finally((()=>{l.dispose()}));return n("returning rename operation"),this._progressService.showWhile(h,250),h}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,n){const i="boolean"==typeof n?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:n.stats.source.k,nRenameSuggestions:n.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:n.stats.timeBeforeFirstInputFieldEdit,wantsPreview:n.wantsPreview};this._telemetryService.publicLog2("renameInvokedEvent",i)}};w8.ID="editor.contrib.renameController",w8=_8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([v8(1,ad),v8(2,nN),v8(3,fx),v8(4,bL),v8(5,Tu),v8(6,PH),v8(7,wx),v8(8,Mu)],w8),Zu(w8.ID,w8,4),$u(class extends zu{constructor(){super({id:"editor.action.rename",label:_(0,"Rename Symbol"),alias:"Rename Symbol",precondition:Bd.and(oc.writable,oc.hasRenameProvider),kbOpts:{kbExpr:oc.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const n=e.get(ud),[i,o]=Array.isArray(t)&&t||[void 0,void 0];return Io.isUri(i)&&cd.isIPosition(o)?n.openCodeEditor({resource:i},n.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(o),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),xe):super.runCommand(e,t)}run(e,t){const n=e.get(Tu),i=w8.get(t);return i?(n.trace("[RenameAction] got controller, running..."),i.run()):(n.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}});const C8=Hu.bindToContribution(w8.get);qu(new C8({id:"acceptRenameInput",precondition:h8,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Bd.and(oc.focus,Bd.not("isComposing")),primary:3}})),qu(new C8({id:"acceptRenameInputWithPreview",precondition:Bd.and(h8,Bd.has("config.editor.rename.enablePreview")),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Bd.and(oc.focus,Bd.not("isComposing")),primary:2051}})),qu(new C8({id:"cancelRenameInput",precondition:h8,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:oc.focus,primary:9,secondary:[1033]}})),Iu(class extends Eu{constructor(){super({id:"focusNextRenameSuggestion",title:{...v(0,"Focus Next Rename Suggestion")},precondition:h8,keybinding:[{primary:2,secondary:[18],weight:199}]})}run(e){const t=e.get(ud).getFocusedCodeEditor();if(!t)return;const n=w8.get(t);n&&n.focusNextRenameSuggestion()}}),Iu(class extends Eu{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...v(0,"Focus Previous Rename Suggestion")},precondition:h8,keybinding:[{primary:1026,secondary:[16],weight:199}]})}run(e){const t=e.get(ud).getFocusedCodeEditor();if(!t)return;const n=w8.get(t);n&&n.focusPreviousRenameSuggestion()}}),ju("_executeDocumentRenameProvider",(function(e,t,n,...i){const[o]=i;fa("string"==typeof o);const{renameProvider:s}=e.get(wx);return async function(e,t,n,i){const o=new b8(t,n,e),s=await o.resolveRenameLocation(It.None);return(null==s?void 0:s.rejectReason)?{edits:[],rejectReason:s.rejectReason}:o.provideRenameEdits(i,It.None)}(s,t,n,o)})),ju("_executePrepareRename",(async function(e,t,n){const{renameProvider:i}=e.get(wx),o=new b8(t,n,i),s=await o.resolveRenameLocation(It.None);if(null==s?void 0:s.rejectReason)throw new Error(s.rejectReason);return s})),fu.as(Dg).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:_(0,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var y8=function(e,t){return function(n,i){t(n,i,e)}};let S8=class extends lt{constructor(e,t,n){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=n,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel((t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)}))),this._register(e.onDidChangeModelLanguage((t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)}))),this._register(t.onDidChange((t=>{var n;const i=null===(n=this.editor.getModel())||void 0===n?void 0:n.getLanguageId();i&&t.affects(i)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))}))),this._register(e.onDidChangeConfiguration((t=>{this.options&&!t.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))}))),this._register(this.editor.onDidChangeModelContent((e=>{this.computeSectionHeaders.schedule()}))),this.computeSectionHeaders=this._register(new jt((()=>{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 n=this.languageConfigurationService.getLanguageConfiguration(t).comments,i=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;return n||(null==i?void 0:i.markers)?{foldingRules:i,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}:void 0}findSectionHeaders(){var e,t;if(!this.editor.hasModel()||!(null===(e=this.options)||void 0===e?void 0:e.findMarkSectionHeaders)&&!(null===(t=this.options)||void 0===t?void 0:t.findRegionSectionHeaders))return;const n=this.editor.getModel();if(n.isDisposed()||n.isTooLargeForSyncing())return;const i=n.getVersionId();this.editorWorkerService.findSectionHeaders(n.uri,this.options).then((e=>{n.isDisposed()||n.getVersionId()!==i||this.updateDecorations(e)}))}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter((e=>{if(!e.shouldBeInComments)return!0;const n=t.validateRange(e.range),i=t.tokenization.getLineTokens(n.startLineNumber),o=i.findTokenIndexAtOffset(n.startColumn-1),s=i.getStandardTokenType(o);return i.getLanguageId(o)===t.getLanguageId()&&1===s})));const n=Object.values(this.currentOccurrences).map((e=>e.decorationId)),i=e.map((e=>function(e){return{range:e.range,options:My.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:e.hasSeparatorLine?2:1,sectionHeaderText:e.text}})}}(e)));this.editor.changeDecorations((t=>{const o=t.deltaDecorations(n,i);this.currentOccurrences={};for(let t=0,n=o.length;t=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([y8(1,Qg),y8(2,AX)],S8),Zu(S8.ID,S8,1);class x8{static create(e,t){return new x8(e,new k8(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new nc(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,n,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber,[i,o,s]=this._tokens.split(t,e.startColumn-1,n,e.endColumn-1);return[new x8(this._startLineNumber,i),new x8(this._startLineNumber+s,o)]}applyEdit(e,t){const[n,i,o]=ah(t);this.acceptEdit(e,n,i,o,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,n,i,o){this._acceptDeleteRange(e),this._acceptInsertText(new cd(e.startLineNumber,e.startColumn),t,n,i,o),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;if(n<0){const e=n-t;return void(this._startLineNumber-=e)}const i=this._tokens.getMaxDeltaLine();if(!(t>=i+1)){if(t<0&&n>=i+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const i=-t;this._startLineNumber-=i,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}_acceptInsertText(e,t,n,i,o){if(0===t&&0===n)return;const s=e.lineNumber-this._startLineNumber;s<0?this._startLineNumber+=t:s>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(s,e.column-1,t,n,i,o)}}class k8{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let n=0;ne)){let o=i;for(;o>t&&this._getDeltaLine(o-1)===e;)o--;let s=i;for(;se||u===e&&h>=t)&&(ue||c===e&&g>=t){if(co?p-=o-n:p=n;else if(h===t&&g===n){if(!(h===i&&p>o)){d=!0;continue}p-=o-n}else if(ho)){d=!0;continue}h=t,g=n,p=g+(p-o)}else if(h>i){if(0===l&&!d){a=r;break}h-=l}else{if(!(h===i&&g>=o))throw new Error("Not possible!");e&&0===h&&(g+=e,p+=e),h-=l,g-=o-n,p-=o-n}const f=4*a;s[f]=h,s[f+1]=g,s[f+2]=p,s[f+3]=m,a++}this._tokenCount=a}acceptInsertText(e,t,n,i,o,s){const r=0===n&&1===i&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),l=this._tokens,a=this._tokenCount;for(let s=0;s0&&t>=1;e>0&&this._logService.getLevel()===Au.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${t.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),r.push("not-in-legend"));const i=this._themeService.getColorTheme().getTokenStyleMetadata(o,r,n);void 0===i?s=2147483647:(s=0,void 0!==i.italic&&(s|=1|(i.italic?1:0)<<11),void 0!==i.bold&&(s|=2|(i.bold?2:0)<<11),void 0!==i.underline&&(s|=4|(i.underline?4:0)<<11),void 0!==i.strikethrough&&(s|=8|(i.strikethrough?8:0)<<11),i.foreground&&(s|=16|i.foreground<<15),0===s&&(s=2147483647))}else this._logService.getLevel()===Au.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${e} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),s=2147483647,o="not-in-legend";this._hashTable.add(e,t,i,s),this._logService.getLevel()===Au.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${e} (${o}) / ${t} (${r.join(" ")}): foreground ${$p.getForeground(s)}, fontStyle ${$p.getFontStyle(s).toString(2)}`)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,n,i,o){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${n}: The provided start offset ${i} is outside the previous data (length ${o}).`))}};function E8(e,t,n){const i=e.data,o=e.data.length/5|0,s=Math.max(Math.ceil(o/1024),400),r=[];let l=0,a=1,d=0;for(;le&&0===i[5*t];)t--;if(t-1===e){let e=u;for(;e+1u)t.warnOverlappingSemanticTokens(r,u+1);else{const e=t.getMetadata(_,v,n);2147483647!==e&&(0===g&&(g=r),c[h]=r-g,c[h+1]=u,c[h+2]=f,c[h+3]=e,h+=4,p=r,m=f)}a=r,d=u,l++}h!==c.length&&(c=c.subarray(0,h));const f=x8.create(g,c);r.push(f)}return r}N8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([D8(1,Tv),D8(2,Sh),D8(3,Tu)],N8);class I8{constructor(e,t,n,i){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=i,this.next=null}}class M8{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=M8._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=M8._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+10?n[0]:[]}(e,t),r=await Promise.all(s.map((async e=>{let s,r=null;try{s=await e.provideDocumentSemanticTokens(t,e===n?i:null,o)}catch(e){r=e,s=null}return s&&(A8(s)||R8(s))||(s=null),new P8(e,s,r)})));for(const e of r){if(e.error)throw e.error;if(e.tokens)return e}return r.length>0?r[0]:null}class B8{constructor(e,t){this.provider=e,this.tokens=t}}function W8(e,t){const n=e.orderedGroups(t);return n.length>0?n[0]:[]}async function V8(e,t,n,i){const o=W8(e,t),s=await Promise.all(o.map((async e=>{let o;try{o=await e.provideDocumentRangeSemanticTokens(t,n,i)}catch(e){ke(e),o=null}return o&&A8(o)||(o=null),new B8(e,o)})));for(const e of s)if(e.tokens)return e;return s.length>0?s[0]:null}Cd.registerCommand("_provideDocumentSemanticTokensLegend",(async(e,...t)=>{const[n]=t;fa(n instanceof Io);const i=e.get(hd).getModel(n);if(!i)return;const{documentSemanticTokensProvider:o}=e.get(wx),s=function(e,t){const n=e.orderedGroups(t);return n.length>0?n[0]:null}(o,i);return s?s[0].getLegend():e.get(wd).executeCommand("_provideDocumentRangeSemanticTokensLegend",n)})),Cd.registerCommand("_provideDocumentSemanticTokens",(async(e,...t)=>{const[n]=t;fa(n instanceof Io);const i=e.get(hd).getModel(n);if(!i)return;const{documentSemanticTokensProvider:o}=e.get(wx);if(!O8(o,i))return e.get(wd).executeCommand("_provideDocumentRangeSemanticTokens",n,i.getFullModelRange());const s=await F8(o,i,null,null,It.None);if(!s)return;const{provider:r,tokens:l}=s;if(!l||!A8(l))return;const a=T8({id:0,type:"full",data:l.data});return l.resultId&&r.releaseDocumentSemanticTokens(l.resultId),a})),Cd.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(e,...t)=>{const[n,i]=t;fa(n instanceof Io);const o=e.get(hd).getModel(n);if(!o)return;const{documentRangeSemanticTokensProvider:s}=e.get(wx),r=W8(s,o);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!i||!nc.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const l=await V8(s,o,nc.lift(i),It.None);return l?l.provider.getLegend():void 0})),Cd.registerCommand("_provideDocumentRangeSemanticTokens",(async(e,...t)=>{const[n,i]=t;fa(n instanceof Io),fa(nc.isIRange(i));const o=e.get(hd).getModel(n);if(!o)return;const{documentRangeSemanticTokensProvider:s}=e.get(wx),r=await V8(s,o,nc.lift(i),It.None);return r&&r.tokens?T8({id:0,type:"full",data:r.tokens.data}):void 0}));const H8=dd("semanticTokensStylingService"),z8="editor.semanticHighlighting";function U8(e,t,n){var i;const o=null===(i=n.getValue(z8,{overrideIdentifier:e.getLanguageId(),resource:e.uri}))||void 0===i?void 0:i.enabled;return"boolean"==typeof o?o:t.getColorTheme().semanticHighlighting}var K8,j8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},q8=function(e,t){return function(n,i){t(n,i,e)}};let $8=class extends lt{constructor(e,t,n,i,o,s){super(),this._watchers=Object.create(null);const r=t=>{this._watchers[t.uri.toString()]=new G8(t,e,n,o,s)},l=(e,t)=>{t.dispose(),delete this._watchers[e.uri.toString()]},a=()=>{for(const e of t.getModels()){const t=this._watchers[e.uri.toString()];U8(e,n,i)?t||r(e):t&&l(e,t)}};t.getModels().forEach((e=>{U8(e,n,i)&&r(e)})),this._register(t.onModelAdded((e=>{U8(e,n,i)&&r(e)}))),this._register(t.onModelRemoved((e=>{const t=this._watchers[e.uri.toString()];t&&l(e,t)}))),this._register(i.onDidChangeConfiguration((e=>{e.affectsConfiguration(z8)&&a()}))),this._register(n.onDidColorThemeChange(a))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};$8=j8([q8(0,H8),q8(1,hd),q8(2,Tv),q8(3,pg),q8(4,sW),q8(5,wx)],$8);let G8=K8=class extends lt{constructor(e,t,n,i,o){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=o.documentSemanticTokensProvider,this._debounceInformation=i.for(this._provider,"DocumentSemanticTokens",{min:K8.REQUEST_MIN_DELAY,max:K8.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new jt((()=>this._fetchDocumentSemanticTokensNow()),K8.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 s=()=>{it(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const t of this._provider.all(e))"function"==typeof t.onDidChange&&this._documentProvidersChangeListeners.push(t.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};s(),this._register(this._provider.onDidChange((()=>{s(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(n.onDidColorThemeChange((e=>{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),it(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!O8(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const e=new Tt,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,n=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,i=F8(this._provider,this._model,t,n,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const o=[],s=this._model.onDidChangeContent((e=>{o.push(e)})),r=new mt(!1);i.then((e=>{if(this._debounceInformation.update(this._model,r.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),e){const{provider:t,tokens:n}=e,i=this._semanticTokensStylingService.getStyling(t);this._setDocumentSemanticTokens(t,n||null,i,o)}else this._setDocumentSemanticTokens(null,null,null,o)}),(e=>{e&&(Ne(e)||"string"==typeof e.message&&-1!==e.message.indexOf("busy"))||xe(e),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(o.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(e,t,n,i,o){o=Math.min(o,n.length-i,e.length-t);for(let s=0;s{(i.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);else if(e&&n){if(!t)return this._model.tokenization.setSemanticTokens(null,!0),void s();if(R8(t)){if(!o)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===t.edits.length)t={resultId:t.resultId,data:o.data};else{let e=0;for(const n of t.edits)e+=(n.data?n.data.length:0)-n.deleteCount;const i=o.data,s=new Uint32Array(i.length+e);let r=i.length,l=s.length;for(let e=t.edits.length-1;e>=0;e--){const a=t.edits[e];if(a.start>i.length)return n.warnInvalidEditStart(o.resultId,t.resultId,e,a.start,i.length),void this._model.tokenization.setSemanticTokens(null,!0);const d=r-(a.start+a.deleteCount);d>0&&(K8._copy(i,r-d,s,l-d,d),l-=d),a.data&&(K8._copy(a.data,0,s,l-a.data.length,a.data.length),l-=a.data.length),r=a.start}r>0&&K8._copy(i,0,s,0,r),t={resultId:t.resultId,data:s}}}if(A8(t)){this._currentDocumentResponse=new Z8(e,t.resultId,t.data);const o=E8(t,n,this._model.getLanguageId());if(i.length>0)for(const e of i)for(const t of o)for(const n of e.changes)t.applyEdit(n.range,n.text);this._model.tokenization.setSemanticTokens(o,!0)}else this._model.tokenization.setSemanticTokens(null,!0);s()}else this._model.tokenization.setSemanticTokens(null,!1)}};G8.REQUEST_MIN_DELAY=300,G8.REQUEST_MAX_DELAY=2e3,G8=K8=j8([q8(1,H8),q8(2,Tv),q8(3,sW),q8(4,wx)],G8);class Z8{constructor(e,t,n){this.provider=e,this.resultId=t,this.data=n}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}$H($8);var Y8=function(e,t){return function(n,i){t(n,i,e)}};let X8=class extends lt{constructor(e,t,n,i,o,s){super(),this._semanticTokensStylingService=t,this._themeService=n,this._configurationService=i,this._editor=e,this._provider=s.documentRangeSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new jt((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((e=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(z8)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,n=this._outstandingRequests.length;tthis._requestRange(e,t))))}_requestRange(e,t){const n=e.getVersionId(),i=Pt((n=>Promise.resolve(V8(this._provider,e,t,n)))),o=new mt(!1);return i.then((i=>{if(this._debounceInformation.update(e,o.elapsed()),!i||!i.tokens||e.isDisposed()||e.getVersionId()!==n)return;const{provider:s,tokens:r}=i,l=this._semanticTokensStylingService.getStyling(s);e.tokenization.setPartialSemanticTokens(t,E8(r,l,e.getLanguageId()))})).then((()=>this._removeOutstandingRequest(i)),(()=>this._removeOutstandingRequest(i))),i}};X8.ID="editor.contrib.viewportSemanticTokens",X8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Y8(1,H8),Y8(2,Tv),Y8(3,pg),Y8(4,sW),Y8(5,wx)],X8),Zu(X8.ID,X8,1);class Q8{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const n=[];for(const i of t){const t=[];n.push(t),this.selectSubwords&&this._addInWordRanges(t,e,i),this._addWordRanges(t,e,i),this._addWhitespaceLine(t,e,i),t.push({range:e.getFullModelRange()})}return n}_addInWordRanges(e,t,n){const i=t.getWordAtPosition(n);if(!i)return;const{word:o,startColumn:s}=i,r=n.column-s;let l=r,a=r,d=0;for(;l>=0;l--){const e=o.charCodeAt(l);if(l!==r&&(95===e||45===e))break;if(wi(e)&&Ci(d))break;d=e}for(l+=1;a0&&0===t.getLineFirstNonWhitespaceColumn(n.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(n.lineNumber)&&e.push({range:new nc(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})}}var J8;class e7{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 n=new e7(t,this.ranges);return n.ranges[t].equalsRange(this.ranges[this.index])?n.mov(e):n}}let t7=J8=class{static get(e){return e.getContribution(J8.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;null===(e=this._selectionListener)||void 0===e||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),n=this._editor.getModel();if(this._state||await i7(this._languageFeaturesService.selectionRangeProvider,n,t.map((e=>e.getPosition())),this._editor.getOption(113),It.None).then((e=>{var n;if(Wc(e)&&e.length===t.length&&this._editor.hasModel()&&Ic(this._editor.getSelections(),t,((e,t)=>e.equalsSelection(t)))){for(let n=0;ne.containsPosition(t[n].getStartPosition())&&e.containsPosition(t[n].getEndPosition()))),e[n].unshift(t[n]);this._state=e.map((e=>new e7(0,e))),null===(n=this._selectionListener)||void 0===n||n.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var e;this._ignoreSelection||(null===(e=this._selectionListener)||void 0===e||e.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((t=>t.mov(e)));const i=this._state.map((e=>ic.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(i)}finally{this._ignoreSelection=!1}}};t7.ID="editor.contrib.smartSelectController",t7=J8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,wx)],t7);class n7 extends zu{constructor(e,t){super(t),this._forward=e}async run(e,t){const n=t7.get(t);n&&await n.run(this._forward)}}async function i7(e,t,n,i,o){const s=e.all(t).concat(new Q8(i.selectSubwords));1===s.length&&s.unshift(new x4);const r=[],l=[];for(const e of s)r.push(Promise.resolve(e.provideSelectionRanges(t,n,o)).then((e=>{if(Wc(e)&&e.length===n.length)for(let t=0;t{if(0===e.length)return[];e.sort(((e,t)=>cd.isBefore(e.getStartPosition(),t.getStartPosition())?1:cd.isBefore(t.getStartPosition(),e.getStartPosition())||cd.isBefore(e.getEndPosition(),t.getEndPosition())?-1:cd.isBefore(t.getEndPosition(),e.getEndPosition())?1:0));const n=[];let o;for(const t of e)(!o||nc.containsRange(t,o)&&!nc.equalsRange(t,o))&&(n.push(t),o=t);if(!i.selectLeadingAndTrailingWhitespace)return n;const s=[n[0]];for(let e=1;ee}),d7="data-sticky-line-index",u7="data-sticky-is-line",c7="data-sticky-is-folding-icon";class h7 extends lt{constructor(e){super(),this._editor=e,this._foldingIconStore=new rt,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 Jz),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(115).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(115)&&t(),e.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))}))),this._register(this._editor.onDidScrollChange((e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{t(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange((e=>{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,n){if(void 0===n&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const i=this._isWidgetHeightZero(e),o=i?void 0:e,s=i?0:this._findLineToRebuildWidgetFrom(e,n);this._renderRootNode(o,t,s),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 t=[...e.startLineNumbers];null!==e.showEndForLine&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=t}else this._lastLineRelativePosition=0,this._lineNumbers=[];return 0===t}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(void 0!==t)return t;const n=this._previousState,i=e.startLineNumbers.findIndex((e=>!n.startLineNumbers.includes(e)));return-1===i?0:i}_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;te.scrollWidth)))+i.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(110)&&(this._foldingIconStore.add(ms(this._lineNumbersDomNode,or.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(ms(this._lineNumbersDomNode,or.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(e,t,n,i){const o=this._editor._getViewModel();if(!o)return;const s=o.coordinatesConverter.convertModelPositionToViewPosition(new cd(t,1)).lineNumber,r=o.getViewLineRenderingData(s),l=this._editor.getOption(68);let a;try{a=oA.filter(r.inlineDecorations,s,r.minColumn,r.maxColumn)}catch(e){a=[]}const d=new uA(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,a,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),u=new eg(2e3),c=pA(d,u);let h;h=a7?a7.createHTML(u.build()):u.build();const g=document.createElement("span");g.setAttribute(d7,String(e)),g.setAttribute(u7,""),g.setAttribute("role","listitem"),g.tabIndex=0,g.className="sticky-line-content",g.classList.add(`stickyLine${t}`),g.style.lineHeight=`${this._lineHeight}px`,g.innerHTML=h;const p=document.createElement("span");p.setAttribute(d7,String(e)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`;const m=i.contentLeft;p.style.width=`${m}px`;const f=document.createElement("span");1===l.renderType||3===l.renderType&&t%10==0?f.innerText=t.toString():2===l.renderType&&(f.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),f.className="sticky-line-number-inner",f.style.lineHeight=`${this._lineHeight}px`,f.style.width=`${i.lineNumbersWidth}px`,f.style.paddingLeft=`${i.lineNumbersLeft}px`,p.appendChild(f);const _=this._renderFoldingIconForLine(n,t);_&&p.appendChild(_.domNode),this._editor.applyFontInfo(g),this._editor.applyFontInfo(f),p.style.lineHeight=`${this._lineHeight}px`,g.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,g.style.height=`${this._lineHeight}px`;const v=new g7(e,t,g,p,_,c.characterMapping,g.scrollWidth);return this._updateTopAndZIndexOfStickyLine(v)}_updateTopAndZIndexOfStickyLine(e){var t;const n=e.index,i=e.lineDomNode,o=e.lineNumberDomNode,s=n===this._lineNumbers.length-1;i.style.zIndex=s?"0":"1",o.style.zIndex=s?"0":"1";const r=`${n*this._lineHeight+this._lastLineRelativePosition+((null===(t=e.foldingIcon)||void 0===t?void 0:t.isCollapsed)?1:0)}px`,l=n*this._lineHeight+"px";return i.style.top=s?r:l,o.style.top=s?r:l,e}_renderFoldingIconForLine(e,t){const n=this._editor.getOption(110);if(!e||"never"===n)return;const i=e.regions,o=i.findRange(t),s=i.getStartLineNumber(o);if(t!==s)return;const r=i.isCollapsed(o),l=new p7(r,s,i.getEndLineNumber(o),this._lineHeight);return l.setVisible(!!this._isOnGlyphMargin||r||"always"===n),l.domNode.setAttribute(c7,""),l}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const n=DA(t.characterMapping,e,0);return new cd(t.lineNumber,n)}getLineNumberFromChildDomNode(e){var t,n;return null!==(n=null===(t=this._getRenderedStickyLineFromChildDomNode(e))||void 0===t?void 0:t.lineNumber)&&void 0!==n?n:null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return null===t||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,d7);return t?parseInt(t,10):null}isInStickyLine(e){return void 0!==this._getAttributeValue(e,u7)}isInFoldingIconDomNode(e){return void 0!==this._getAttributeValue(e,c7)}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const n=e.getAttribute(t);if(null!==n)return n;e=e.parentElement}}}class g7{constructor(e,t,n,i,o,s,r){this.index=e,this.lineNumber=t,this.lineDomNode=n,this.lineNumberDomNode=i,this.foldingIcon=o,this.characterMapping=s,this.scrollWidth=r}}class p7{constructor(e,t,n,i){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=n,this.dimension=i,this.domNode=document.createElement("div"),this.domNode.style.width=`${i}px`,this.domNode.style.height=`${i}px`,this.domNode.className=ka.asClassName(e?w3:b3)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class m7{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class f7{constructor(e,t,n){this.range=e,this.children=t,this.parent=n}}class _7{constructor(e,t,n,i){this.uri=e,this.version=t,this.element=n,this.outlineProviderId=i}}var v7,b7,w7=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},C7=function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.OUTLINE_MODEL="outlineModel",e.FOLDING_PROVIDER_MODEL="foldingProviderModel",e.INDENTATION_MODEL="indentationModel"}(v7||(v7={})),function(e){e[e.VALID=0]="VALID",e[e.INVALID=1]="INVALID",e[e.CANCELED=2]="CANCELED"}(b7||(b7={}));let y7=class extends lt{constructor(e,t,n,i){switch(super(),this._editor=e,this._languageConfigurationService=n,this._languageFeaturesService=i,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Bt(300)),this._updateOperation=this._register(new rt),this._editor.getOption(115).defaultModel){case v7.OUTLINE_MODEL:this._modelProviders.push(new x7(this._editor,i));case v7.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new D7(this._editor,t,i));case v7.INDENTATION_MODEL:this._modelProviders.push(new L7(this._editor,n))}}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:n,modelPromise:i}=t.computeStickyModel(e);this._modelPromise=i;const o=await n;if(this._modelPromise!==i)return null;switch(o){case b7.CANCELED:return this._updateOperation.clear(),null;case b7.VALID:return t.stickyModel}}return null})).catch((e=>(xe(e),null)))}};y7=w7([C7(2,ad),C7(3,wx)],y7);class S7 extends lt{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,b7.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Pt((e=>this.createModelFromProvider(e)));return{statusPromise:t.then((t=>this.isModelValid(t)?e.isCancellationRequested?b7.CANCELED:(this._stickyModel=this.createStickyModel(e,t),b7.VALID):this._invalid())).then(void 0,(e=>(xe(e),b7.CANCELED))),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let x7=class extends S7{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return $Q.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var n;const{stickyOutlineElement:i,providerID:o}=this._stickyModelFromOutlineModel(t,null===(n=this._stickyModel)||void 0===n?void 0:n.outlineProviderId),s=this._editor.getModel();return new _7(s.uri,s.getVersionId(),i,o)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let n;if(Ye.first(e.children.values())instanceof qQ){const i=Ye.find(e.children.values(),(e=>e.id===t));if(i)n=i.children;else{let i,o="",s=-1;for(const[t,n]of e.children.entries()){const e=this._findSumOfRangesOfGroup(n);e>s&&(i=n,s=e,o=n.id)}t=o,n=i.children}}else n=e.children;const i=[],o=Array.from(n.values()).sort(((e,t)=>{const n=new m7(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),i=new m7(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(n,i)}));for(const e of o)i.push(this._stickyModelFromOutlineElement(e,e.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new f7(void 0,i,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const n=[];for(const i of e.children.values())if(i.symbol.selectionRange.startLineNumber!==i.symbol.range.endLineNumber)if(i.symbol.selectionRange.startLineNumber!==t)n.push(this._stickyModelFromOutlineElement(i,i.symbol.selectionRange.startLineNumber));else for(const e of i.children.values())n.push(this._stickyModelFromOutlineElement(e,i.symbol.selectionRange.startLineNumber));n.sort(((e,t)=>this._comparator(e.range,t.range)));const i=new m7(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new f7(i,n,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 n of e.children.values())t+=this._findSumOfRangesOfGroup(n);return e instanceof jQ?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};x7=w7([C7(1,wx)],x7);class k7 extends S7{constructor(e){super(e),this._foldingLimitReporter=new R3(e)}createStickyModel(e,t){const n=this._fromFoldingRegions(t),i=this._editor.getModel();return new _7(i.uri,i.getVersionId(),n,void 0)}isModelValid(e){return null!==e}_fromFoldingRegions(e){const t=e.length,n=[],i=new f7(void 0,[],void 0);for(let o=0;o0&&(this.provider=this._register(new N3(e.getModel(),i,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return void 0!==this.provider}async createModelFromProvider(e){var t,n;return null!==(n=null===(t=this.provider)||void 0===t?void 0:t.compute(e))&&void 0!==n?n:null}};D7=w7([C7(2,wx)],D7);var N7=function(e,t){return function(n,i){t(n,i,e)}};class E7{constructor(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=n}}let I7=class extends lt{constructor(e,t,n){super(),this._languageFeaturesService=t,this._languageConfigurationService=n,this._onDidChangeStickyScroll=this._register(new Ct),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new rt),this._updateSoon=this._register(new jt((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(115)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(115).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(st((()=>{var e;null===(e=this._stickyModelProvider)||void 0===e||e.dispose(),this._stickyModelProvider=null}))),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return null===(e=this._model)||void 0===e?void 0:e.version}updateStickyModelProvider(){var e;null===(e=this._stickyModelProvider)||void 0===e||e.dispose(),this._stickyModelProvider=null;const t=this._editor;t.hasModel()&&(this._stickyModelProvider=new y7(t,(()=>this._updateSoon.schedule()),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;null===(e=this._cts)||void 0===e||e.dispose(!0),this._cts=new Tt,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return-1===e?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,n,i,o){if(0===t.children.length)return;let s=o;const r=[];for(let e=0;ee-t))),a=this.updateIndex(Mc(r,e.startLineNumber+i,((e,t)=>e-t)));for(let r=l;r<=a;r++){const l=t.children[r];if(!l)return;if(l.range){const t=l.range.startLineNumber,o=l.range.endLineNumber;e.startLineNumber<=o+1&&t-1<=e.endLineNumber&&t!==s&&(s=t,n.push(new E7(t,o-1,i+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,l,n,i+1,t))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,l,n,i,o)}}getCandidateStickyLinesIntersecting(e){var t,n;if(!(null===(t=this._model)||void 0===t?void 0:t.element))return[];let i=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,i,0,-1);const o=null===(n=this._editor._getViewModel())||void 0===n?void 0:n.getHiddenAreas();if(o)for(const e of o)i=i.filter((t=>!(t.startLineNumber>=e.startLineNumber&&t.endLineNumber<=e.endLineNumber+1)));return i}};I7=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([N7(1,wx),N7(2,Qg)],I7);var M7,T7=function(e,t){return function(n,i){t(n,i,e)}};let A7=M7=class extends lt{constructor(e,t,n,i,o,s,r){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=n,this._instaService=i,this._contextKeyService=r,this._sessionStore=new rt,this._foldingModel=null,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._showEndForLine=null,this._stickyScrollWidget=new h7(this._editor),this._stickyLineCandidateProvider=new I7(this._editor,n,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new l7([],[],0),this._onDidResize(),this._readConfiguration();const l=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(115)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(110))&&this._readConfiguration()}))),this._register(ms(l,or.CONTEXT_MENU,(async e=>{this._onContextMenu(is(l),e)}))),this._stickyScrollFocusedContextKey=oc.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=oc.stickyScrollVisible.bindTo(this._contextKeyService);const a=this._register(ar(l));this._register(a.onDidBlur((e=>{!1===this._positionRevealed&&0===l.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(a.onDidFocus((e=>{this.focus()}))),this._registerMouseListeners(),this._register(ms(l,or.MOUSE_DOWN,(e=>{this._onMouseDown=!0})))}static get(e){return e.getContribution(M7.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),null===(e=this._focusDisposableStore)||void 0===e||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new rt,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&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(nc.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new rt),t=this._register(new Zz(this._editor,{extractLineNumberFromMouseEvent:e=>{const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return t?t.lineNumber:0}})),n=e=>{if(!this._editor.hasModel())return null;if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return null;const t=e.target.element;if(!t||t.innerText!==t.innerHTML)return null;const n=this._stickyScrollWidget.getEditorPositionFromNode(t);return n?{range:new nc(n.lineNumber,n.column,n.lineNumber,n.column+t.innerText.length),textElement:t}:null},i=this._stickyScrollWidget.getDomNode();this._register(_s(i,or.CLICK,(e=>{if(e.ctrlKey||e.altKey||e.metaKey)return;if(!e.leftButton)return;if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t)return;const n=new cd(this._endLineNumbers[t],1);return void this._revealLineInCenterIfOutsideViewport(n)}if(this._stickyScrollWidget.isInFoldingIconDomNode(e.target)){const t=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);return void this._toggleFoldingRegionForLine(t)}if(!this._stickyScrollWidget.isInStickyLine(e.target))return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target);if(!t){const n=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);if(null===n)return;t=new cd(n,1)}this._revealPosition(t)}))),this._register(_s(i,or.MOUSE_MOVE,(e=>{if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t||null!==this._showEndForLine&&this._showEndForLine===t)return;return this._showEndForLine=t,void this._renderStickyScroll()}null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(ms(i,or.MOUSE_LEAVE,(e=>{null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(t.onMouseMoveOrRelevantKeyDown((([t,i])=>{const o=n(t);if(!o||!t.hasTriggerModifier||!this._editor.hasModel())return void e.clear();const{range:s,textElement:r}=o;if(s.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=s,e.clear();const l=new Tt;let a;e.add(st((()=>l.dispose(!0)))),$$(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new cd(s.startLineNumber,s.startColumn+1),l.token).then((t=>{if(!l.token.isCancellationRequested)if(0!==t.length){this._candidateDefinitionsLength=t.length;const n=r;a!==n?(e.clear(),a=n,a.style.textDecoration="underline",e.add(st((()=>{a.style.textDecoration="none"})))):a||(a=n,a.style.textDecoration="underline",e.add(st((()=>{a.style.textDecoration="none"}))))}else e.clear()}))}))),this._register(t.onCancel((()=>{e.clear()}))),this._register(t.onExecute((async e=>{if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return;const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);t&&this._editor.hasModel()&&this._stickyRangeProjectedOnEditor&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t.lineNumber,column:1})),this._instaService.invokeFunction(H0,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(e,t){const n=new $e(e,t);this._contextMenuService.showContextMenu({menuId:Su.StickyScrollContext,getAnchor:()=>n})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||null===e)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),n=null==t?void 0:t.foldingIcon;if(!n)return;l3(this._foldingModel,Number.MAX_VALUE,[e]),n.isCollapsed=!n.isCollapsed;const i=(n.isCollapsed?this._editor.getTopForLineNumber(n.foldingEndLine):this._editor.getTopForLineNumber(n.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(i),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(115);if(!1===e.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((e=>this._onTokensChange(e)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=null,this._renderStickyScroll()}))),this._enabled=!0),2===this._editor.getOption(68).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=null,this._renderStickyScroll(0)})))}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const n of t)for(const t of e.ranges)if(n>=t.fromLineNumber&&n<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const e=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(.25*e)}async _renderStickyScroll(e){var t,n;const i=this._editor.getModel();if(!i||i.isTooLargeForTokenization())return this._foldingModel=null,void this._stickyScrollWidget.setState(void 0,null);const o=this._stickyLineCandidateProvider.getVersionId();if(void 0===o||o===i.getVersionId())if(this._foldingModel=null!==(n=await(null===(t=A3.get(this._editor))||void 0===t?void 0:t.getFoldingModel()))&&void 0!==n?n:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(!(0===this._widgetState.startLineNumbers.length)),this._focused)if(-1===this._focusedStickyElementIndex)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const t=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),0===this._stickyScrollWidget.lineNumberCount?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(t)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}else this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(115).maxLineCount),n=this._editor.getScrollTop();let i=0;const o=[],s=[],r=this._editor.getVisibleRanges();if(0!==r.length){const l=new m7(r[0].startLineNumber,r[r.length-1].endLineNumber),a=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(l);for(const r of a){const l=r.startLineNumber,a=r.endLineNumber,d=r.nestingDepth;if(a-l>0){const r=(d-1)*e,u=d*e,c=this._editor.getBottomForLineNumber(l)-n,h=this._editor.getTopForLineNumber(a)-n,g=this._editor.getBottomForLineNumber(a)-n;if(r>h&&r<=g){o.push(l),s.push(a+1),i=g-u;break}if(u>c&&u<=g&&(o.push(l),s.push(a+1)),o.length===t)break}}}return this._endLineNumbers=s,new l7(o,s,i,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};A7.ID="store.contrib.stickyScrollController",A7=M7=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([T7(1,HL),T7(2,wx),T7(3,ad),T7(4,Qg),T7(5,sW),T7(6,su)],A7);const R7=100;Zu(A7.ID,A7,1),Iu(class extends Eu{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...v(0,"Toggle Editor Sticky Scroll"),mnemonicTitle:_(0,"&&Toggle Editor Sticky Scroll")},category:o7.View,toggled:{condition:Bd.equals("config.editor.stickyScroll.enabled",!0),title:_(0,"Sticky Scroll"),mnemonicTitle:_(0,"&&Sticky Scroll")},menu:[{id:Su.CommandPalette},{id:Su.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Su.StickyScrollContext}]})}async run(e){const t=e.get(pg),n=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",n)}}),Iu(class extends Ku{constructor(){super({id:"editor.action.focusStickyScroll",title:{...v(0,"Focus Sticky Scroll"),mnemonicTitle:_(0,"&&Focus Sticky Scroll")},precondition:Bd.and(Bd.has("config.editor.stickyScroll.enabled"),oc.stickyScrollVisible),menu:[{id:Su.CommandPalette}]})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.focus()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:v(0,"Select previous sticky scroll line"),precondition:oc.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:R7,primary:16}})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.focusPrevious()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:v(0,"Select next sticky scroll line"),precondition:oc.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:R7,primary:18}})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.focusNext()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:v(0,"Go to focused sticky scroll line"),precondition:oc.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:R7,primary:3}})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.goToFocused()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.selectEditor",title:v(0,"Select Editor"),precondition:oc.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:R7,primary:9}})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.selectEditor()}});var P7=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},O7=function(e,t){return function(n,i){t(n,i,e)}};class F7{constructor(e,t,n,i,o,s){this.range=e,this.insertText=t,this.filterText=n,this.additionalTextEdits=i,this.command=o,this.completion=s}}let B7=class extends dt{constructor(e,t,n,i,o,s){super(o.disposable),this.model=e,this.line=t,this.word=n,this.completionModel=i,this._suggestMemoryService=s}canBeReused(e,t,n){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===n.startColumn&&this.word.endColumn=0&&n.resolve(It.None)}return t}};B7=P7([O7(5,v4)],B7);let W7=class extends lt{constructor(e,t,n,i){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=n,this._editorService=i,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,n,i){var o;if(n.selectedSuggestionInfo)return;let s;for(const t of this._editorService.listCodeEditors())if(t.getModel()===e){s=t;break}if(!s)return;const r=s.getOption(89);if(H1.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const l=e.tokenization.getLineTokens(t.lineNumber),a=l.getStandardTokenType(l.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("inline"!==H1.valueFor(r,a))return;let d,u,c=e.getWordAtPosition(t);if((null==c?void 0:c.word)||(d=this._getTriggerCharacterInfo(e,t)),!(null==c?void 0:c.word)&&!d)return;if(c||(c=e.getWordUntilPosition(t)),c.endColumn!==t.column)return;const h=e.getValueInRange(new nc(t.lineNumber,1,t.lineNumber,t.column));if(!d&&(null===(o=this._lastResult)||void 0===o?void 0:o.canBeReused(e,t.lineNumber,c))){const e=new L4(h,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),u=this._lastResult}else{const n=await B1(this._languageFeatureService.completionProvider,e,t,new O1(void 0,M4.createSuggestFilter(s).itemKind,null==d?void 0:d.providers),d&&{triggerKind:1,triggerCharacter:d.ch},i);let o;n.needsClipboard&&(o=await this._clipboardService.readText());const r=new D4(n.items,t.column,new L4(h,0),k4.None,s.getOption(118),s.getOption(112),{boostFullMatch:!1,firstMatchCanBeWeak:!1},o);u=new B7(e,t.lineNumber,c,r,n,this._suggestMemoryService)}return this._lastResult=u,u}handleItemDidShow(e,t){t.completion.resolve(It.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var n;const i=e.getValueInRange(nc.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),o=new Set;for(const t of this._languageFeatureService.completionProvider.all(e))(null===(n=t.triggerCharacters)||void 0===n?void 0:n.includes(i))&&o.add(t);if(0!==o.size)return{providers:o,ch:i}}};W7=P7([O7(0,wx),O7(1,fL),O7(2,v4),O7(3,ud)],W7),$H(W7);class V7{constructor(e,t,n,i,o){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=n,this.foreground=i,this.background=o}}const H7=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class z7{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(e){if(null===e)return 0;const t=e.match(H7);if(!t)throw new Error("Illegal value for token color: "+e);e=t[1].toUpperCase();let n=this._color2id.get(e);return n||(n=++this._lastColorId,this._color2id.set(e,n),this._id2color[n]=lh.fromHex("#"+e),n)}getColorMap(){return this._id2color.slice(0)}}class U7{static createFromRawTokenTheme(e,t){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];const t=[];let n=0;for(let i=0,o=e.length;i{const n=function(e,t){return et?1:0}(e.token,t.token);return 0!==n?n:e.index-t.index}));let n=0,i="000000",o="ffffff";for(;e.length>=1&&""===e[0].token;){const t=e.shift();-1!==t.fontStyle&&(n=t.fontStyle),null!==t.foreground&&(i=t.foreground),null!==t.background&&(o=t.background)}const s=new z7;for(const e of t)s.getId(e);const r=s.getId(i),l=s.getId(o),a=new j7(n,r,l),d=new q7(a);for(let t=0,n=e.length;t>>0,this._cache.set(t,n)}return(n|e)>>>0}}const K7=/\b(comment|string|regex|regexp)\b/;class j7{constructor(e,t,n){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=n,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new j7(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,n){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==n&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class q7{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(""===e)return this._mainRule;const t=e.indexOf(".");let n,i;-1===t?(n=e,i=""):(n=e.substring(0,t),i=e.substring(t+1));const o=this._children.get(n);return void 0!==o?o.match(i):this._mainRule}insert(e,t,n,i){if(""===e)return void this._mainRule.acceptOverwrite(t,n,i);const o=e.indexOf(".");let s,r;-1===o?(s=e,r=""):(s=e.substring(0,o),r=e.substring(o+1));let l=this._children.get(s);void 0===l&&(l=new q7(this._mainRule.clone()),this._children.set(s,l)),l.insert(r,t,n,i)}}const $7={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[Gm]:"#FFFFFE",[Zm]:"#000000",[cf]:"#E5EBF1",[Xv]:"#D3D3D3",[ib]:"#939393",[hf]:"#ADD6FF4D"}},G7={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[Gm]:"#1E1E1E",[Zm]:"#D4D4D4",[cf]:"#3A3D41",[Xv]:"#404040",[ib]:"#707070",[hf]:"#ADD6FF26"}},Z7={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[Gm]:"#000000",[Zm]:"#FFFFFF",[Xv]:"#FFFFFF",[ib]:"#FFFFFF"}},Y7={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[Gm]:"#FFFFFF",[Zm]:"#292929",[Xv]:"#292929",[ib]:"#292929"}};class X7{getIcon(e){const t=_z();let n=e.defaults;for(;ka.isThemeIcon(n);){const e=t.getIcon(n.id);if(!e)return;n=e.defaults}return n}}const Q7="vs",J7="vs-dark",eee="hc-black",tee="hc-light",nee=fu.as(Sm),iee=fu.as(Pv);class oee{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const n=t.base;e.length>0?(see(e)?this.id=e:this.id=n+" "+e,this.themeName=e):(this.id=n,this.themeName=n),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,lh.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=ree(this.themeData.base);for(const n in t.colors)e.has(n)||e.set(n,lh.fromHex(t.colors[n]))}this.colors=e}return this.colors}getColor(e,t){return this.getColors().get(e)||(!1!==t?this.getDefault(e):void 0)}getDefault(e){let t=this.defaultColors[e];return t||(t=nee.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case Q7:return Ev.LIGHT;case eee:return Ev.HIGH_CONTRAST_DARK;case tee:return Ev.HIGH_CONTRAST_LIGHT;default:return Ev.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const n=ree(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}const n=this.themeData.colors["editor.foreground"],i=this.themeData.colors["editor.background"];if(n||i){const t={token:""};n&&(t.foreground=n),i&&(t.background=i),e.push(t)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=U7.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,n){const i=this.tokenTheme._match([e].concat(t).join(".")).metadata,o=$p.getForeground(i),s=$p.getFontStyle(i);return{foreground:o,italic:Boolean(1&s),bold:Boolean(2&s),underline:Boolean(4&s),strikethrough:Boolean(8&s)}}}function see(e){return e===Q7||e===J7||e===eee||e===tee}function ree(e){switch(e){case Q7:return $7;case J7:return G7;case eee:return Z7;case tee:return Y7}}function lee(e){const t=ree(e);return new oee(e,t)}$u(class extends zu{constructor(){super({id:"editor.action.toggleHighContrast",label:d0.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const n=e.get($5),i=n.getColorTheme();Iv(i.type)?(n.setTheme(this._originalThemeName||(Mv(i.type)?J7:Q7)),this._originalThemeName=null):(n.setTheme(Mv(i.type)?eee:tee),this._originalThemeName=i.themeName)}});class aee extends Eu{constructor(){super({id:aee.ID,title:v(0,"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const e=!DT.getTabFocusMode();DT.setTabFocusMode(e),Zr(_(0,e?"Pressing Tab will now move focus to the next focusable element":"Pressing Tab will now insert the tab character"))}}aee.ID="editor.action.toggleTabFocusMode",Iu(aee),$u(class extends zu{constructor(){super({id:"editor.action.forceRetokenize",label:_(0,"Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const n=t.getModel();n.tokenization.resetTokenization();const i=new mt;n.tokenization.forceTokenization(n.getLineCount()),i.stop(),console.log(`tokenization took ${i.elapsed()}`)}});var dee=n(8245),uee={};uee.styleTagTransform=Vr(),uee.setAttributes=Or(),uee.insert=Rr().bind(null,"head"),uee.domAPI=Tr(),uee.insertStyleElement=Br(),Ir()(dee.A,uee),dee.A&&dee.A.locals&&dee.A.locals;var cee=n(6065),hee={};hee.styleTagTransform=Vr(),hee.setAttributes=Or(),hee.insert=Rr().bind(null,"head"),hee.domAPI=Tr(),hee.insertStyleElement=Br(),Ir()(cee.A,hee),cee.A&&cee.A.locals&&cee.A.locals;var gee=n(4646),pee={};pee.styleTagTransform=Vr(),pee.setAttributes=Or(),pee.insert=Rr().bind(null,"head"),pee.domAPI=Tr(),pee.insertStyleElement=Br(),Ir()(gee.A,pee),gee.A&&gee.A.locals&&gee.A.locals;let mee=class extends lt{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,n={},i){var o,s;super(),this._link=t,this._enabled=!0,this.el=dr(e,mr("a.monaco-link",{tabIndex:null!==(o=t.tabIndex)&&void 0!==o?o:0,href:t.href},t.label)),this.hoverDelegate=null!==(s=n.hoverDelegate)&&void 0!==s?s:IL("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new US(this.el,"click")),l=this._register(new US(this.el,"keypress")),a=ft.chain(l.event,(e=>e.map((e=>new Ue(e))).filter((e=>3===e.keyCode)))),d=this._register(new US(this.el,kL.Tap)).event;this._register(LL.addTarget(this.el));const u=ft.any(r.event,a,d);this._register(u((e=>{this.enabled&&(rr(e,!0),(null==n?void 0:n.opener)?n.opener(this._link.href):i.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=null!=e?e:"":!this.hover&&e?this.hover=this._register(RL(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};mee=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,rL)],mee);var fee=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},_ee=function(e,t){return function(n,i){t(n,i,e)}};let vee=class extends lt{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(bee))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),null===(t=e.onClose)||void 0===t||t.call(e)}}),this._editor.setBanner(this.banner.element,26)}};vee=fee([_ee(1,ad)],vee);let bee=class extends lt{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(dL,{}),this.element=mr("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){return e.ariaLabel?e.ariaLabel:"string"==typeof e.message?e.message:void 0}getBannerMessage(e){if("string"==typeof e){const t=mr("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){gs(this.element)}show(e){gs(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const n=dr(this.element,mr("div.icon-container"));n.setAttribute("aria-hidden","true"),e.icon&&n.appendChild(mr(`div${ka.asCSSSelector(e.icon)}`));const i=dr(this.element,mr("div.message-container"));if(i.setAttribute("aria-hidden","true"),i.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=dr(this.element,mr("div.message-actions-container")),e.actions)for(const t of e.actions)this._register(this.instantiationService.createInstance(mee,this.messageActionsContainer,{...t,tabIndex:-1},{}));const o=dr(this.element,mr("div.action-container"));this.actionBar=this._register(new iM(o)),this.actionBar.push(this._register(new pd("banner.close","Close Banner",ka.asClassName(Cz),!0,(()=>{"function"==typeof e.onClose&&e.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};bee=fee([_ee(0,ad)],bee);const wee=dd("workspaceTrustManagementService");var Cee=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},yee=function(e,t){return function(n,i){t(n,i,e)}};const See=fz("extensions-warning-message",Sa.warning,_(0,"Icon shown with a warning message in the extensions editor."));let xee=class extends lt{constructor(e,t,n,i){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=n,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;const t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount);let n;if(e.nonBasicAsciiCharacterCount>=t)n={message:_(0,"This document contains many non-basic ASCII unicode characters"),command:new Fee};else if(e.ambiguousCharacterCount>=t)n={message:_(0,"This document contains many ambiguous unicode characters"),command:new Pee};else{if(!(e.invisibleCharacterCount>=t))throw new Error("Unreachable");n={message:_(0,"This document contains many invisible unicode characters"),command:new Oee}}this._bannerController.show({id:"unicodeHighlightBanner",message:n.message,icon:See,actions:[{label:n.command.shortLabel,href:`command:${n.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(i.createInstance(vee,e)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=e.getOption(125),this._register(n.onDidChangeTrust((e=>{this._updateHighlighter()}))),this._register(e.onDidChangeConfiguration((t=>{t.hasChanged(125)&&(this._options=e.getOption(125),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=function(e,t){return{nonBasicASCII:t.nonBasicASCII===PD?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===PD?!e:t.includeComments,includeStrings:t.includeStrings===PD?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every((e=>!1===e)))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map((e=>e.codePointAt(0))),allowedLocales:Object.keys(e.allowedLocales).map((e=>"_os"===e?(new Intl.NumberFormat).resolvedOptions().locale:"_vscode"===e?X:e))};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new kee(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new Lee(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};xee.ID="editor.contrib.unicodeHighlighter",xee=Cee([yee(1,AX),yee(2,wee),yee(3,ad)],xee);let kee=class extends lt{constructor(e,t,n,i){super(),this._editor=e,this._options=t,this._updateState=n,this._editorWorkerService=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new jt((()=>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())return void this._decorations.clear();const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((t=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==e)return;this._updateState(t);const n=[];if(!t.hasMore)for(const e of t.ranges)n.push({range:e,options:Tee.instance.getDecorationFromOptions(this._options)});this._decorations.set(n)}))}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();return jF(t,e)?{reason:Mee(t.getValueInRange(e.range),this._options),inComment:qF(t,e),inString:$F(t,e)}:null}};kee=Cee([yee(3,AX)],kee);class Lee extends lt{constructor(e,t,n){super(),this._editor=e,this._options=t,this._updateState=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new jt((()=>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())return void this._decorations.clear();const e=this._editor.getVisibleRanges(),t=[],n={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const t of e){const e=TV.computeUnicodeHighlights(this._model,this._options,t);for(const t of e.ranges)n.ranges.push(t);n.ambiguousCharacterCount+=n.ambiguousCharacterCount,n.invisibleCharacterCount+=n.invisibleCharacterCount,n.nonBasicAsciiCharacterCount+=n.nonBasicAsciiCharacterCount,n.hasMore=n.hasMore||e.hasMore}if(!n.hasMore)for(const e of n.ranges)t.push({range:e,options:Tee.instance.getDecorationFromOptions(this._options)});this._updateState(n),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),n=t.getValueInRange(e.range);return jF(t,e)?{reason:Mee(n,this._options),inComment:qF(t,e),inString:$F(t,e)}:null}}const Dee=_(0,"Configure Unicode Highlight Options");let Nee=class{constructor(e,t,n){this._editor=e,this._languageService=t,this._openerService=n,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const n=this._editor.getModel(),i=this._editor.getContribution(xee.ID);if(!i)return[];const o=[],s=new Set;let r=300;for(const e of t){const t=i.getDecorationInfo(e);if(!t)continue;const l=n.getValueInRange(e.range).codePointAt(0),a=Iee(l);let d;switch(t.reason.kind){case 0:d=Fi(t.reason.confusableWith)?_(0,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",a,Iee(t.reason.confusableWith.codePointAt(0))):_(0,"The character {0} could be confused with the character {1}, which is more common in source code.",a,Iee(t.reason.confusableWith.codePointAt(0)));break;case 1:d=_(0,"The character {0} is invisible.",a);break;case 2:d=_(0,"The character {0} is not a basic ASCII character.",a)}if(s.has(d))continue;s.add(d);const u={codePoint:l,reason:t.reason,inComment:t.inComment,inString:t.inString},c=_(0,"Adjust settings"),h=`command:${Bee.ID}?${encodeURIComponent(JSON.stringify(u))}`,g=new ed("",!0).appendMarkdown(d).appendText(" ").appendLink(h,c,Dee);o.push(new XG(this,e.range,[g],!1,r++))}return o}renderHoverParts(e,t){return JG(e,t,this._editor,this._languageService,this._openerService)}};function Eee(e){return`U+${e.toString(16).padStart(4,"0")}`}function Iee(e){let t=`\`${Eee(e)}\``;return Zi.isInvisibleCharacter(e)||(t+=` "${function(e){return 96===e?"`` ` ``":"`"+String.fromCodePoint(e)+"`"}(e)}"`),t}function Mee(e,t){return TV.computeUnicodeHighlightReason(e,t)}Nee=Cee([yee(1,Sh),yee(2,rL)],Nee);class Tee{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const n=`${e}${t}`;let i=this.map.get(n);return i||(i=My.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(n,i)),i}}Tee.instance=new Tee;class Aee extends zu{constructor(){super({id:Pee.ID,label:_(0,"Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=_(0,"Disable Highlight In Comments")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(VD,!1,2)}}class Ree extends zu{constructor(){super({id:Pee.ID,label:_(0,"Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=_(0,"Disable Highlight In Strings")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(HD,!1,2)}}class Pee extends zu{constructor(){super({id:Pee.ID,label:_(0,"Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=_(0,"Disable Ambiguous Highlight")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(WD,!1,2)}}Pee.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class Oee extends zu{constructor(){super({id:Oee.ID,label:_(0,"Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=_(0,"Disable Invisible Highlight")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(FD,!1,2)}}Oee.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Fee extends zu{constructor(){super({id:Fee.ID,label:_(0,"Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=_(0,"Disable Non ASCII Highlight")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(BD,!1,2)}}Fee.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Bee extends zu{constructor(){super({id:Bee.ID,label:_(0,"Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,n){const{codePoint:i,reason:o,inString:s,inComment:r}=n,l=String.fromCodePoint(i),a=e.get(SL),d=e.get(pg),u=[];if(0===o.kind)for(const e of o.notAmbiguousInLocales)u.push({label:_(0,'Allow unicode characters that are more common in the language "{0}".',e),run:async()=>{Wee(d,[e])}});if(u.push({label:function(e){return Zi.isInvisibleCharacter(e)?_(0,"Exclude {0} (invisible character) from being highlighted",Eee(e)):_(0,"Exclude {0} from being highlighted",`${Eee(e)} "${l}"`)}(i),run:()=>async function(e,t){const n=e.getValue(OD);let i;i="object"==typeof n&&n?n:{};for(const e of t)i[String.fromCodePoint(e)]=!0;await e.updateValue(OD,i,2)}(d,[i])}),r){const e=new Aee;u.push({label:e.label,run:async()=>e.runAction(d)})}else if(s){const e=new Ree;u.push({label:e.label,run:async()=>e.runAction(d)})}if(0===o.kind){const e=new Pee;u.push({label:e.label,run:async()=>e.runAction(d)})}else if(1===o.kind){const e=new Oee;u.push({label:e.label,run:async()=>e.runAction(d)})}else if(2===o.kind){const e=new Fee;u.push({label:e.label,run:async()=>e.runAction(d)})}else!function(e){throw new Error(`Unexpected value: ${e}`)}(o);const c=await a.pick(u,{title:Dee});c&&await c.run()}}async function Wee(e,t){var n;const i=null===(n=e.inspect(zD).user)||void 0===n?void 0:n.value;let o;o="object"==typeof i&&i?Object.assign({},i):{};for(const e of t)o[e]=!0;await e.updateValue(zD,o,2)}Bee.ID="editor.action.unicodeHighlight.showExcludeOptions",$u(Pee),$u(Oee),$u(Fee),$u(Bee),Zu(xee.ID,xee,1),NG.register(Nee);var Vee=function(e,t){return function(n,i){t(n,i,e)}};const Hee="ignoreUnusualLineTerminators";let zee=class extends lt{constructor(e,t,n){super(),this._editor=e,this._dialogService=t,this._codeEditorService=n,this._isPresentingDialog=!1,this._config=this._editor.getOption(126),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(126)&&(this._config=this._editor.getOption(126),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((e=>{e.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators())return;const t=function(e,t){return e.getModelProperty(t.uri,Hee)}(this._codeEditorService,e);if(!0===t)return;if(this._editor.getOption(91))return;if("auto"===this._config)return void e.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let n;try{this._isPresentingDialog=!0,n=await this._dialogService.confirm({title:_(0,"Unusual Line Terminators"),message:_(0,"Detected unusual line terminators"),detail:_(0,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Ka(e.uri)),primaryButton:_(0,"&&Remove Unusual Line Terminators"),cancelButton:_(0,"Ignore")})}finally{this._isPresentingDialog=!1}n.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):function(e,t,n){e.setModelProperty(t.uri,Hee,!0)}(this._codeEditorService,e)}};zee.ID="editor.contrib.unusualLineTerminatorsDetector",zee=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Vee(1,k9),Vee(2,ud)],zee),Zu(zee.ID,zee,1);const Uee="**",Kee="/",jee="[/\\\\]",qee="[^/\\\\]",$ee=/\//g;function Gee(e,t){switch(e){case 0:return"";case 1:return`${qee}*?`;default:return`(?:${jee}|${qee}+${jee}${t?`|${jee}${qee}+`:""})*?`}}function Zee(e,t){if(!e)return[];const n=[];let i=!1,o=!1,s="";for(const r of e){switch(r){case t:if(!i&&!o){n.push(s),s="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":o=!0;break;case"]":o=!1}s+=r}return s&&n.push(s),n}function Yee(e){if(!e)return"";let t="";const n=Zee(e,Kee);if(n.every((e=>e===Uee)))t=".*";else{let e=!1;n.forEach(((i,o)=>{if(i===Uee){if(e)return;t+=Gee(2,o===n.length-1)}else{let e=!1,s="",r=!1,l="";for(const n of i)if("}"!==n&&e)s+=n;else if(!r||"]"===n&&l)switch(n){case"{":e=!0;continue;case"[":r=!0;continue;case"}":{const n=`(?:${Zee(s,",").map((e=>Yee(e))).join("|")})`;t+=n,e=!1,s="";break}case"]":t+="["+l+"]",r=!1,l="";break;case"?":t+=qee;continue;case"*":t+=Gee(1);continue;default:t+=ri(n)}else{let e;e="-"===n?n:"^"!==n&&"!"!==n||l?n===Kee?"":ri(n):"^",l+=e}orte(e,t))).filter((e=>e!==ste)),e),i=n.length;if(!i)return ste;if(1===i)return n[0];const o=function(t,i){for(let o=0,s=n.length;o!!e.allBasenames));s&&(o.allBasenames=s.allBasenames);const r=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return r.length&&(o.allPaths=r),o}(n,t):(o=tte.exec(lte(n,t)))?ate(o[1].substr(1),n,!0):(o=nte.exec(lte(n,t)))?ate(o[1],n,!1):function(e){try{const t=new RegExp(`^${Yee(e)}$`);return function(n){return t.lastIndex=0,"string"==typeof n&&t.test(n)?e:null}}catch(e){return ste}}(n),ite.set(i,s)),function(e,t){if("string"==typeof t)return e;const n=function(n,i){return Fa(n,t.base,!K)?e(ai(n.substr(t.base.length),So),i):null};return n.allBasenames=e.allBasenames,n.allPaths=e.allPaths,n.basenames=e.basenames,n.patterns=e.patterns,n}(s,e)}function lte(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function ate(e,t,n){const i=So===fo.sep,o=i?e:e.replace($ee,So),s=So+o,r=fo.sep+e;let l;return l=n?function(n,l){return"string"!=typeof n||n!==o&&!n.endsWith(s)&&(i||n!==e&&!n.endsWith(r))?null:t}:function(n,s){return"string"!=typeof n||n!==o&&(i||n!==e)?null:t},l.allPaths=[(n?"*/":"./")+e],l}function dte(e,t={}){if(!e)return ote;if("string"==typeof e||function(e){const t=e;return!!t&&("string"==typeof t.base&&"string"==typeof t.pattern)}(e)){const n=rte(e,t);if(n===ste)return ote;const i=function(e,t){return!!n(e,t)};return n.allBasenames&&(i.allBasenames=n.allBasenames),n.allPaths&&(i.allPaths=n.allPaths),i}return function(e,t){const n=ute(Object.getOwnPropertyNames(e).map((n=>function(e,t,n){if(!1===t)return ste;const i=rte(e,n);if(i===ste)return ste;if("boolean"==typeof t)return i;if(t){const n=t.when;if("string"==typeof n){const t=(t,o,s,r)=>{if(!r||!i(t,o))return null;const l=r(n.replace("$(basename)",(()=>s)));return Rt(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return i}(n,e[n],t))).filter((e=>e!==ste))),i=n.length;if(!i)return ste;if(!n.some((e=>!!e.requiresSiblings))){if(1===i)return n[0];const e=function(e,t){let i;for(let o=0,s=n.length;o{for(const e of i){const t=await e;if("string"==typeof t)return t}return null})():null},t=n.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const o=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return o.length&&(e.allPaths=o),e}const o=function(e,t,i){let o,s;for(let r=0,l=n.length;r{for(const e of s){const t=await e;if("string"==typeof t)return t}return null})():null},s=n.find((e=>!!e.allBasenames));s&&(o.allBasenames=s.allBasenames);const r=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return r.length&&(o.allPaths=r),o}(e,t)}function ute(e,t){const n=e.filter((e=>!!e.basenames));if(n.length<2)return e;const i=n.reduce(((e,t)=>{const n=t.basenames;return n?e.concat(n):e}),[]);let o;if(t){o=[];for(let e=0,n=i.length;e{const n=t.patterns;return n?e.concat(n):e}),[]);const s=function(e,t){if("string"!=typeof e)return null;if(!t){let n;for(n=e.length;n>0;n--){const t=e.charCodeAt(n-1);if(47===t||92===t)break}t=e.substr(n)}const n=i.indexOf(t);return-1!==n?o[n]:null};s.basenames=i,s.patterns=o,s.allBasenames=i;const r=e.filter((e=>!e.basenames));return r.push(s),r}function cte(e,t,n,i,o,s){if(Array.isArray(e)){let r=0;for(const l of e){const e=cte(l,t,n,i,o,s);if(10===e)return e;e>r&&(r=e)}return r}if("string"==typeof e)return i?"*"===e?5:e===n?10:0:0;if(e){const{language:a,pattern:d,scheme:u,hasAccessToAllModels:c,notebookType:h}=e;if(!i&&!c)return 0;h&&o&&(t=o);let g=0;if(u)if(u===t.scheme)g=10;else{if("*"!==u)return 0;g=5}if(a)if(a===n)g=10;else{if("*"!==a)return 0;g=Math.max(g,5)}if(h)if(h===s)g=10;else{if("*"!==h||void 0===s)return 0;g=Math.max(g,5)}if(d){let e;if(e="string"==typeof d?d:{...d,base:_o(d.base)},e!==t.fsPath&&(r=e,l=t.fsPath,!r||"string"!=typeof l||!dte(r)(l,void 0,undefined)))return 0;g=10}return g}return 0;var r,l}var hte,gte,pte=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},mte=function(e,t){return function(n,i){t(n,i,e)}};const fte=new ou("hasWordHighlights",!1);function _te(e,t,n,i){return zt(e.ordered(t).map((e=>()=>Promise.resolve(e.provideDocumentHighlights(t,n,i)).then(void 0,ke))),Wc).then((e=>{if(e){const n=new tl;return n.set(t.uri,e),n}return new tl}))}class vte{constructor(e,t,n){this._model=e,this._selection=t,this._wordSeparators=n,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=Pt((e=>this._compute(this._model,this._selection,this._wordSeparators,e)))),this._result}_getCurrentWordRange(e,t){const n=e.getWordAtPosition(t.getPosition());return n?new nc(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null}isValid(e,t,n){const i=t.startLineNumber,o=t.startColumn,s=t.endColumn,r=this._getCurrentWordRange(e,t);let l=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let e=0,t=n.length;!l&&e=s&&(l=!0)}return l}cancel(){this.result.cancel()}}class bte extends vte{constructor(e,t,n,i){super(e,t,n),this._providers=i}_compute(e,t,n,i){return _te(this._providers,e,t.getPosition(),i).then((e=>e||new tl))}}class wte extends vte{constructor(e,t,n,i,o){super(e,t,n),this._providers=i,this._otherModels=o}_compute(e,t,n,i){return function(e,t,n,i,o,s){return zt(e.ordered(t).map((e=>()=>{const i=s.filter((e=>Nc(e))).filter((t=>cte(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(e.provideMultiDocumentHighlights(t,n,i,o)).then(void 0,ke)})),(e=>e instanceof tl&&e.size>0))}(this._providers,e,t.getPosition(),0,i,this._otherModels).then((e=>e||new tl))}}class Cte extends vte{constructor(e,t,n,i,o){super(e,t,i),this._otherModels=o,this._selectionIsEmpty=t.isEmpty(),this._word=n}_compute(e,t,n,i){return Vt(250,i).then((()=>{const i=new tl;let o;if(o=this._word?this._word:e.getWordAtPosition(t.getPosition()),!o)return new tl;const s=[e,...this._otherModels];for(const e of s){if(e.isDisposed())continue;const t=e.findMatches(o.word,!0,!1,!0,n,!1).map((e=>({range:e.range,kind:CC.Text})));t&&i.set(e.uri,t)}return i}))}isValid(e,t,n){const i=t.isEmpty();return this._selectionIsEmpty===i&&super.isValid(e,t,n)}}ju("_executeDocumentHighlights",(async(e,t,n)=>{const i=e.get(wx),o=await _te(i.documentHighlightProvider,t,n,It.None);return null==o?void 0:o.get(t.uri)}));let yte=hte=class{constructor(e,t,n,i,o){this.toUnhook=new rt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new tl,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this.multiDocumentProviders=n,this.codeEditorService=o,this._hasWordHighlights=fte.bindTo(i),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition((e=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this._onPositionChanged(e)}))),this.toUnhook.add(e.onDidFocusEditorText((e=>{"off"!==this.occurrencesHighlight&&(this.workerRequest||this._run())}))),this.toUnhook.add(e.onDidChangeModelContent((e=>{this._stopAll()}))),this.toUnhook.add(e.onDidChangeModel((e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():hte.query&&this._run()}))),this.toUnhook.add(e.onDidChangeConfiguration((e=>{const t=this.editor.getOption(81);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,hte.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(nc.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),t=e.findIndex((e=>e.containsPosition(this.editor.getPosition()))),n=(t+1)%e.length,i=e[n];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(i.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(i);const t=this._getWord();t&&Zr(`${this.editor.getModel().getLineContent(i.startLineNumber)}, ${n+1} of ${e.length} for '${t.word}'`)}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),t=e.findIndex((e=>e.containsPosition(this.editor.getPosition()))),n=(t-1+e.length)%e.length,i=e[n];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(i.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(i);const t=this._getWord();t&&Zr(`${this.editor.getModel().getLineContent(i.startLineNumber)}, ${n+1} of ${e.length} for '${t.word}'`)}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=hte.storedDecorations.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),hte.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const e=this.codeEditorService.listCodeEditors(),t=[];for(const n of e){if(!n.hasModel())continue;const e=hte.storedDecorations.get(n.getModel().uri);if(!e)continue;n.removeDecorations(e),t.push(n.getModel().uri);const i=Ste.get(n);(null==i?void 0:i.wordHighlighter)&&i.wordHighlighter.decorations.length>0&&(i.wordHighlighter.decorations.clear(),i.wordHighlighter.workerRequest=null,i.wordHighlighter._hasWordHighlights.set(!1))}for(const e of t)hte.storedDecorations.delete(e)}_stopSingular(){var e,t,n,i;this._removeSingleDecorations(),this.editor.hasTextFocus()&&((null===(e=this.editor.getModel())||void 0===e?void 0:e.uri.scheme)!==Ho.vscodeNotebookCell&&(null===(n=null===(t=hte.query)||void 0===t?void 0:t.modelInfo)||void 0===n?void 0:n.model.uri.scheme)!==Ho.vscodeNotebookCell?(hte.query=null,this._run()):(null===(i=hte.query)||void 0===i?void 0:i.modelInfo)&&(hte.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;"off"===this.occurrencesHighlight||3!==e.reason&&(null===(t=this.editor.getModel())||void 0===t?void 0:t.uri.scheme)!==Ho.vscodeNotebookCell?this._stopAll():this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,n=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:n})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Ho.vscodeNotebookCell){const t=[],n=this.codeEditorService.listCodeEditors();for(const i of n){const n=i.getModel();n&&n!==e&&n.uri.scheme===Ho.vscodeNotebookCell&&t.push(n)}return t}const t=[],n=this.codeEditorService.listCodeEditors();for(const i of n){if(!ZU(i))continue;const n=i.getModel();n&&e===n.modified&&t.push(n.modified)}if(t.length)return t;if("singleFile"===this.occurrencesHighlight)return[];for(const i of n){const n=i.getModel();n&&n!==e&&t.push(n)}return t}_run(){var e;let t;if(this.editor.hasTextFocus()){const e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber)return hte.query=null,void this._stopAll();const n=e.startColumn,i=e.endColumn,o=this._getWord();if(!o||o.startColumn>n||o.endColumn{t===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations())}),xe)}}computeWithModel(e,t,n,i){return i.length?function(e,t,n,i,o,s){return e.has(t)?new wte(t,n,o,e,s):new Cte(t,n,i,o,s)}(this.multiDocumentProviders,e,t,n,this.editor.getOption(131),i):function(e,t,n,i,o){return e.has(t)?new bte(t,n,o,e):new Cte(t,n,i,o,[])}(this.providers,e,t,n,this.editor.getOption(131))}_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 e,t,n;this.renderDecorationsTimer=-1;const i=this.codeEditorService.listCodeEditors();for(const s of i){const i=Ste.get(s);if(!i)continue;const r=[],l=null===(e=s.getModel())||void 0===e?void 0:e.uri;if(l&&this.workerRequestValue.has(l)){const e=hte.storedDecorations.get(l),a=this.workerRequestValue.get(l);if(a)for(const e of a)e.range&&r.push({range:e.range,options:(o=e.kind,o===CC.Write?H6:o===CC.Text?z6:j6)});let d=[];s.changeDecorations((t=>{d=t.deltaDecorations(null!=e?e:[],r)})),hte.storedDecorations=hte.storedDecorations.set(l,d),r.length>0&&(null===(t=i.wordHighlighter)||void 0===t||t.decorations.set(r),null===(n=i.wordHighlighter)||void 0===n||n._hasWordHighlights.set(!0))}}var o}dispose(){this._stopSingular(),this.toUnhook.dispose()}};yte.storedDecorations=new tl,yte.query=null,yte=hte=pte([mte(4,ud)],yte);let Ste=gte=class extends lt{static get(e){return e.getContribution(gte.ID)}constructor(e,t,n,i){super(),this._wordHighlighter=null;const o=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new yte(e,n.documentHighlightProvider,n.multiDocumentHighlightProvider,t,i))};this._register(e.onDidChangeModel((e=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),o()}))),o()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){var e;null===(e=this._wordHighlighter)||void 0===e||e.moveNext()}moveBack(){var e;null===(e=this._wordHighlighter)||void 0===e||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Ste.ID="editor.contrib.wordHighlighter",Ste=gte=pte([mte(1,su),mte(2,wx),mte(3,ud)],Ste);class xte extends zu{constructor(e,t){super(t),this._isNext=e}run(e,t){const n=Ste.get(t);n&&(this._isNext?n.moveNext():n.moveBack())}}Zu(Ste.ID,Ste,0),$u(class extends xte{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:_(0,"Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:fte,kbOpts:{kbExpr:oc.editorTextFocus,primary:65,weight:100}})}}),$u(class extends xte{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:_(0,"Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:fte,kbOpts:{kbExpr:oc.editorTextFocus,primary:1089,weight:100}})}}),$u(class extends zu{constructor(){super({id:"editor.action.wordHighlight.trigger",label:_(0,"Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:fte.toNegated(),kbOpts:{kbExpr:oc.editorTextFocus,primary:0,weight:100}})}run(e,t,n){const i=Ste.get(t);i&&i.restoreViewState(!0)}});class kte extends Hu{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){if(!t.hasModel())return;const i=Gw(t.getOption(131),t.getOption(130)),o=t.getModel(),s=t.getSelections().map((e=>{const t=new cd(e.positionLineNumber,e.positionColumn),n=this._move(i,o,t,this._wordNavigationType);return this._moveTo(e,n,this._inSelectionMode)}));if(o.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,s.map((e=>jy.fromModelSelection(e)))),1===s.length){const e=new cd(s[0].positionLineNumber,s[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,n){return n?new ic(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new ic(t.lineNumber,t.column,t.lineNumber,t.column)}}class Lte extends kte{_move(e,t,n,i){return lS.moveWordLeft(e,t,n,i)}}class Dte extends kte{_move(e,t,n,i){return lS.moveWordRight(e,t,n,i)}}class Nte extends Hu{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){const i=e.get(Qg);if(!t.hasModel())return;const o=Gw(t.getOption(131),t.getOption(130)),s=t.getModel(),r=t.getSelections(),l=t.getOption(6),a=t.getOption(11),d=i.getLanguageConfiguration(s.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),c=r.map((e=>{const n=this._delete({wordSeparators:o,model:s,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:l,autoClosingQuotes:a,autoClosingPairs:d,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Qy(n,"")}));t.pushUndoStop(),t.executeCommands(this.id,c),t.pushUndoStop()}}class Ete extends Nte{_delete(e,t){return lS.deleteWordLeft(e,t)||new nc(1,1,1,1)}}class Ite extends Nte{_delete(e,t){const n=lS.deleteWordRight(e,t);if(n)return n;const i=e.model.getLineCount(),o=e.model.getLineMaxColumn(i);return new nc(i,o,i,o)}}qu(new class extends Lte{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),qu(new class extends Lte{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Bd.and(oc.textInputFocus,null===(e=Bd.and($S,$j))||void 0===e?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),qu(new class extends Lte{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Bd.and(oc.textInputFocus,null===(e=Bd.and($S,$j))||void 0===e?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),qu(new class extends Dte{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Bd.and(oc.textInputFocus,null===(e=Bd.and($S,$j))||void 0===e?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),qu(new class extends Dte{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Bd.and(oc.textInputFocus,null===(e=Bd.and($S,$j))||void 0===e?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,n,i){return super._move(Gw($D.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,i)}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,n,i){return super._move(Gw($D.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,i)}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,n,i){return super._move(Gw($D.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,i)}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,n,i){return super._move(Gw($D.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,i)}}),qu(new class extends Ete{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:oc.writable})}}),qu(new class extends Ete{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:oc.writable})}}),qu(new class extends Ete{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),qu(new class extends Ite{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:oc.writable})}}),qu(new class extends Ite{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:oc.writable})}}),qu(new class extends Ite{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),$u(class extends zu{constructor(){super({id:"deleteInsideWord",precondition:oc.writable,label:_(0,"Delete Word"),alias:"Delete Word"})}run(e,t,n){if(!t.hasModel())return;const i=Gw(t.getOption(131),t.getOption(130)),o=t.getModel(),s=t.getSelections().map((e=>{const t=lS.deleteInsideWord(i,o,e);return new Qy(t,"")}));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}});class Mte extends kte{_move(e,t,n,i){return aS.moveWordPartLeft(e,t,n)}}Cd.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft"),Cd.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class Tte extends kte{_move(e,t,n,i){return aS.moveWordPartRight(e,t,n)}}qu(new class extends Nte{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){return aS.deleteWordPartLeft(e)||new nc(1,1,1,1)}}),qu(new class extends Nte{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const n=aS.deleteWordPartRight(e);if(n)return n;const i=e.model.getLineCount(),o=e.model.getLineMaxColumn(i);return new nc(i,o,i,o)}}),qu(new class extends Mte{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),qu(new class extends Mte{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),qu(new class extends Tte{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),qu(new class extends Tte{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});var Ate=n(3614),Rte={};Rte.styleTagTransform=Vr(),Rte.setAttributes=Or(),Rte.insert=Rr().bind(null,"head"),Rte.domAPI=Tr(),Rte.insertStyleElement=Br(),Ir()(Ate.A,Rte),Ate.A&&Ate.A.locals&&Ate.A.locals;class Pte extends jH{constructor(e,t,n){super(e,n.keepIdleModels||!1,n.label,t),this._foreignModuleId=n.moduleId,this._foreignModuleCreateData=n.createData||null,this._foreignModuleHost=n.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||"function"!=typeof this._foreignModuleHost[e])return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then((e=>{const t=this._foreignModuleHost?vc(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then((t=>{this._foreignModuleCreateData=null;const n=(t,n)=>e.fmr(t,n),i=(e,t)=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},o={};for(const e of t)o[e]=i(e,n);return o}))}))),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then((e=>this.getProxy()))}}function Ote(e){return"string"==typeof e}function Fte(e){return!Ote(e)}function Bte(e){return!e}function Wte(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Vte(e){return e.replace(/[&<>'"_]/g,"-")}function Hte(e,t){return new Error(`${e.languageId}: ${t}`)}function zte(e,t,n,i,o){let s=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(t,r,l,a,d,u,c,h,g){return Bte(l)?Bte(a)?!Bte(d)&&d0;){const t=e.tokenizer[n];if(t)return t;const i=n.lastIndexOf(".");n=i<0?null:n.substr(0,i)}return null}var Kte;class jte{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new qte(e,t);let n=qte.getStackElementId(e);n.length>0&&(n+="|"),n+=t;let i=this._entries[n];return i||(i=new qte(e,t),this._entries[n]=i,i)}}jte._INSTANCE=new jte(5);class qte{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t}equals(e){return qte._equals(this,e)}push(e){return jte.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return jte.create(this.parent,e)}}class $te{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new $te(this.languageId,this.state)}}class Gte{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==t)return new Zte(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new Zte(e,t);const n=qte.getStackElementId(e);let i=this._entries[n];return i||(i=new Zte(e,null),this._entries[n]=i,i)}}Gte._INSTANCE=new Gte(5);class Zte{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:Gte.create(this.stack,this.embeddedLanguageData)}equals(e){return e instanceof Zte&&!!this.stack.equals(e.stack)&&(null===this.embeddedLanguageData&&null===e.embeddedLanguageData||null!==this.embeddedLanguageData&&null!==e.embeddedLanguageData&&this.embeddedLanguageData.equals(e.embeddedLanguageData))}}class Yte{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new pC(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,i){const o=n.languageId,s=n.state,r=IC.get(o);if(!r)return this.enterLanguage(o),this.emit(i,""),s;const l=r.tokenize(e,t,s);if(0!==i)for(const e of l.tokens)this._tokens.push(new pC(e.offset+i,e.type,e.language));else this._tokens=this._tokens.concat(l.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,l.endState}finalize(e){return new mC(this._tokens,e)}}class Xte{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const n=1024|this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){const i=null!==e?e.length:0,o=t.length,s=null!==n?n.length:0;if(0===i&&0===o&&0===s)return new Uint32Array(0);if(0===i&&0===o)return n;if(0===o&&0===s)return e;const r=new Uint32Array(i+o+s);null!==e&&r.set(e);for(let e=0;e{if(s)return;let t=!1;for(let n=0,i=e.changedLanguages.length;n{e.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const n=IC.get(t);if(n){if(n instanceof Kte){const t=n.getLoadStatus();!1===t.loaded&&e.push(t.promise)}}else IC.isResolved(t)||e.push(IC.getOrCreate(t))}return 0===e.length?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then((e=>{}))}}getInitialState(){const e=jte.create(null,this._lexer.start);return Gte.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return AC(this._languageId,n);const i=new Yte,o=this._tokenize(e,t,n,i);return i.finalize(o)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return RC(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);const i=new Xte(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),o=this._tokenize(e,t,n,i);return i.finalize(o)}_tokenize(e,t,n,i){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,i):this._myTokenize(e,t,n,0,i)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Ute(this._lexer,t.stack.state),!n))throw Hte(this._lexer,"tokenizer state is not defined: "+t.stack.state);let i=-1,o=!1;for(const s of n){if(!Fte(s.action)||"@pop"!==s.action.nextEmbedded)continue;o=!0;let n=s.resolveRegex(t.stack.state);const r=n.source;if("^(?:"===r.substr(0,4)&&")"===r.substr(r.length-1,1)){const e=(n.ignoreCase?"i":"")+(n.unicode?"u":"");n=new RegExp(r.substr(4,r.length-5),e)}const l=e.search(n);-1===l||0!==l&&s.matchOnlyAtLineStart||(-1===i||l0&&o.nestedLanguageTokenize(r,!1,n.embeddedLanguageData,i);const l=e.substring(s);return this._myTokenize(l,t,n,i+s,o)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,n,i,o){o.enterLanguage(this._languageId);const s=e.length,r=t&&this._lexer.includeLF?e+"\n":e,l=r.length;let a=n.embeddedLanguageData,d=n.stack,u=0,c=null,h=!0;for(;h||u=l)break;h=!1;let e=this._lexer.tokenizer[_];if(!e&&(e=Ute(this._lexer,_),!e))throw Hte(this._lexer,"tokenizer state is not defined: "+_);const t=r.substr(u);for(const n of e)if((0===u||!n.matchOnlyAtLineStart)&&(v=t.match(n.resolveRegex(_)),v)){b=v[0],w=n.action;break}}if(v||(v=[""],b=""),w||(u=this._lexer.maxStack)throw Hte(this._lexer,"maximum tokenizer stack size reached: ["+d.state+","+d.parent.state+",...]");d=d.push(_)}else if("@pop"===w.next){if(d.depth<=1)throw Hte(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(C));d=d.pop()}else if("@popall"===w.next)d=d.popall();else{let e=zte(this._lexer,w.next,b,v,_);if("@"===e[0]&&(e=e.substr(1)),!Ute(this._lexer,e))throw Hte(this._lexer,"trying to set a next state '"+e+"' that is undefined in rule: "+this._safeRuleName(C));d=d.push(e)}}w.log&&"string"==typeof w.log&&(g=this._lexer,p=this._lexer.languageId+": "+zte(this._lexer,w.log,b,v,_),console.log(`${g.languageId}: ${p}`))}if(null===S)throw Hte(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(C));const x=n=>{const s=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,r=this._getNestedEmbeddedLanguageData(s);if(u0)throw Hte(this._lexer,"groups cannot be nested: "+this._safeRuleName(C));if(v.length!==S.length+1)throw Hte(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(C));let e=0;for(let t=1;t=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(4,pg)],Qte);const ene=Yk("standaloneColorizer",{createHTML:e=>e});class tne{static colorizeElement(e,t,n,i){const o=(i=i||{}).theme||"vs",s=i.mimeType||n.getAttribute("lang")||n.getAttribute("data-lang");if(!s)return console.error("Mode not detected"),Promise.resolve();const r=t.getLanguageIdByMimeType(s)||s;e.setTheme(o);const l=n.firstChild?n.firstChild.nodeValue:"";return n.className+=" "+o,this.colorize(t,l||"",r,i).then((e=>{var t;const i=null!==(t=null==ene?void 0:ene.createHTML(e))&&void 0!==t?t:e;n.innerHTML=i}),(e=>console.error(e)))}static async colorize(e,t,n,i){const o=e.languageIdCodec;let s=4;i&&"number"==typeof i.tabSize&&(s=i.tabSize),Ui(t)&&(t=t.substr(1));const r=ci(t);if(!e.isRegisteredLanguageId(n))return nne(r,s,o);const l=await IC.getOrCreate(n);return l?function(e,t,n,i){return new Promise(((o,s)=>{const r=()=>{const l=function(e,t,n,i){let o=[],s=n.getInitialState();for(let r=0,l=e.length;r"),s=a.endState}return o.join("")}(e,t,n,i);if(n instanceof Qte){const e=n.getLoadStatus();if(!1===e.loaded)return void e.promise.then(r,s)}o(l)};r()}))}(r,s,l,o):nne(r,s,o)}static colorizeLine(e,t,n,i,o=4){const s=bP.isBasicASCII(e,t),r=bP.containsRTL(e,s,n);return fA(new uA(!1,!0,e,!1,s,r,0,i,[],o,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,n=4){const i=e.getLineContent(t);e.tokenization.forceTokenization(t);const o=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(i,e.mightContainNonBasicASCII(),e.mightContainRTL(),o,n)}}function nne(e,t,n){let i=[];const o=new Uint32Array(2);o[0]=0,o[1]=33587200;for(let s=0,r=e.length;s")}return i.join("")}let ine=class extends lt{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new Ct),this._onCodeEditorAdd=this._register(new Ct),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new Ct),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new Ct),this._onDiffEditorAdd=this._register(new Ct),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new Ct),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new gt,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map((e=>this._codeEditors[e]))}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map((e=>this._diffEditors[e]))}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const n of t){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach((t=>t.removeDecorationsByType(e)))))}setModelProperty(e,t,n){const i=e.toString();let o;this._modelProperties.has(i)?o=this._modelProperties.get(i):(o=new Map,this._modelProperties.set(i,o)),o.set(t,n)}getModelProperty(e,t){const n=e.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(t)}async openCodeEditor(e,t,n){for(const i of this._codeEditorOpenHandlers){const o=await i(e,t,n);if(null!==o)return o}return null}registerCodeEditorOpenHandler(e){return st(this._codeEditorOpenHandlers.unshift(e))}};ine=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,Tv)],ine);var one=function(e,t){return function(n,i){t(n,i,e)}};let sne=class extends ine{constructor(e,t){super(t),this._register(this.onCodeEditorAdd((()=>this._checkContextKey()))),this._register(this.onCodeEditorRemove((()=>this._checkContextKey()))),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler((async(e,t,n)=>t?this.doOpenEditor(t,e):null)))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const n=t.resource.scheme;if(n===Ho.http||n===Ho.https)return br(t.resource.toString()),e}return null}const n=t.options?t.options.selection:null;if(n)if("number"==typeof n.endLineNumber&&"number"==typeof n.endColumn)e.setSelection(n),e.revealRangeInCenter(n,1);else{const t={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}return e}findModel(e,t){const n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n}};sne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([one(0,su),one(1,Tv)],sne),yg(ud,sne,0);const rne=dd("layoutService");var lne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},ane=function(e,t){return function(n,i){t(n,i,e)}};let dne=class{get mainContainer(){var e,t;return null!==(t=null===(e=Hc(this._codeEditorService.listCodeEditors()))||void 0===e?void 0:e.getContainerDomNode())&&void 0!==t?t:o.document.body}get activeContainer(){var e,t;const n=null!==(e=this._codeEditorService.getFocusedCodeEditor())&&void 0!==e?e:this._codeEditorService.getActiveCodeEditor();return null!==(t=null==n?void 0:n.getContainerDomNode())&&void 0!==t?t:this.mainContainer}get mainContainerDimension(){return ks(this.mainContainer)}get activeContainerDimension(){return ks(this.activeContainer)}get containers(){return Oc(this._codeEditorService.listCodeEditors().map((e=>e.getContainerDomNode())))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){var e;null===(e=this._codeEditorService.getFocusedCodeEditor())||void 0===e||e.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=ft.None,this.onDidLayoutActiveContainer=ft.None,this.onDidLayoutContainer=ft.None,this.onDidChangeActiveContainer=ft.None,this.onDidAddContainer=ft.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};dne=lne([ane(0,ud)],dne);let une=class extends dne{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};une=lne([ane(1,ud)],une),yg(rne,dne,1);var cne=function(e,t){return function(n,i){t(n,i,e)}};function hne(e){return e.scheme===Ho.file?e.fsPath:e.path}let gne=0;class pne{constructor(e,t,n,i,o,s,r){this.id=++gne,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=n,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=i,this.groupOrder=o,this.sourceId=s,this.sourceOrder=r,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class mne{constructor(e,t){this.resourceLabel=e,this.reason=t}}class fne{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,n]of this.elements)(0===n.reason?e:t).push(n.resourceLabel);const n=[];return e.length>0&&n.push(_(0,"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&n.push(_(0,"The following files have been modified in an incompatible way: {0}.",t.join(", "))),n.join("\n")}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class _ne{constructor(e,t,n,i,o,s,r){this.id=++gne,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=n,this.groupId=i,this.groupOrder=o,this.sourceId=s,this.sourceOrder=r,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(e,t,n){this.removedResources||(this.removedResources=new fne),this.removedResources.has(t)||this.removedResources.set(t,new mne(e,n))}setValid(e,t,n){n?this.invalidatedResources&&(this.invalidatedResources.delete(t),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new fne),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new mne(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class vne{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){1===e.type?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const n of this._past)t(n.actual)&&this._setElementValidFlag(n,e);for(const n of this._future)t(n.actual)&&this._setElementValidFlag(n,e)}pushElement(e){for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let e=0,n=this._past.length;e=0;e--)t.push(this._future[e].id);return new hy(e,t)}restoreSnapshot(e){const t=e.elements.length;let n=!0,i=0,o=-1;for(let s=0,r=this._past.length;s=t||r.id!==e.elements[i])&&(n=!1,o=0),n||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}let s=-1;for(let o=this._future.length-1;o>=0;o--,i++){const r=this._future[o];n&&(i>=t||r.id!==e.elements[i])&&(n=!1,s=o),n||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}-1!==o&&(this._past=this._past.slice(0,o)),-1!==s&&(this._future=this._future.slice(s+1)),this.versionId++}getElements(){const e=[],t=[];for(const t of this._past)e.push(t.actual);for(const e of this._future)t.push(e.actual);return{past:e,future:t}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let n=this._past.length-1;n>=0;n--)if(this._past[n]===e){t.has(this.strResource)?this._past[n]=t.get(this.strResource):this._past.splice(n,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let n=this._future.length-1;n>=0;n--)if(this._future[n]===e){t.has(this.strResource)?this._future[n]=t.get(this.strResource):this._future.splice(n,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class bne{constructor(e){this.editStacks=e,this._versionIds=[];for(let e=0,t=this.editStacks.length;et.sourceOrder)&&(t=s,n=i)}return[t,n]}canUndo(e){if(e instanceof py){const[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}const t=this.getUriComparisonKey(e);return!!this._editStacks.has(t)&&this._editStacks.get(t).hasPastElements()}_onError(e,t){xe(e);for(const e of t.strResources)this.removeElements(e);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,n,i,o){const s=this._acquireLocks(n);let r;try{r=t()}catch(t){return s(),i.dispose(),this._onError(t,e)}return r?r.then((()=>(s(),i.dispose(),o())),(t=>(s(),i.dispose(),this._onError(t,e)))):(s(),i.dispose(),o())}async _invokeWorkspacePrepare(e){if(void 0===e.actual.prepareUndoRedo)return lt.None;const t=e.actual.prepareUndoRedo();return void 0===t?lt.None:t}_invokeResourcePrepare(e,t){if(1!==e.actual.type||void 0===e.actual.prepareUndoRedo)return t(lt.None);const n=e.actual.prepareUndoRedo();return n?nt(n)?t(n):n.then((e=>t(e))):t(lt.None)}_getAffectedEditStacks(e){const t=[];for(const n of e.strResources)t.push(this._editStacks.get(n)||wne);return new bne(t)}_tryToSplitAndUndo(e,t,n,i){if(t.canSplit())return this._splitPastWorkspaceElement(t,n),this._notificationService.warn(i),new yne(this._undo(e,0,!0));for(const e of t.strResources)this.removeElements(e);return this._notificationService.warn(i),new yne}_checkWorkspaceUndo(e,t,n,i){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,_(0,"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(i&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,_(0,"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const o=[];for(const e of n.editStacks)e.getClosestPastElement()!==t&&o.push(e.resourceLabel);if(o.length>0)return this._tryToSplitAndUndo(e,t,null,_(0,"Could not undo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const s=[];for(const e of n.editStacks)e.locked&&s.push(e.resourceLabel);return s.length>0?this._tryToSplitAndUndo(e,t,null,_(0,"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,s.join(", "))):n.isValid()?null:this._tryToSplitAndUndo(e,t,null,_(0,"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,n){const i=this._getAffectedEditStacks(t),o=this._checkWorkspaceUndo(e,t,i,!1);return o?o.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,i,n)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const n=t.getClosestPastElement();if(n){if(n===e){const n=t.getSecondClosestPastElement();if(n&&n.groupId===e.groupId)return!0}if(n.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,n,i){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let o;!function(e){e[e.All=0]="All",e[e.This=1]="This",e[e.Cancel=2]="Cancel"}(o||(o={}));const{result:s}=await this._dialogService.prompt({type:eN.Info,message:_(0,"Would you like to undo '{0}' across all files?",t.label),buttons:[{label:_(0,"&&Undo in {0} Files",n.editStacks.length),run:()=>o.All},{label:_(0,"Undo this &&File"),run:()=>o.This}],cancelButton:{run:()=>o.Cancel}});if(s===o.Cancel)return;if(s===o.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const r=this._checkWorkspaceUndo(e,t,n,!1);if(r)return r.returnValue;i=!0}let o;try{o=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}const s=this._checkWorkspaceUndo(e,t,n,!0);if(s)return o.dispose(),s.returnValue;for(const e of n.editStacks)e.moveBackward(t);return this._safeInvokeWithLocks(t,(()=>t.actual.undo()),n,o,(()=>this._continueUndoInGroup(t.groupId,i)))}_resourceUndo(e,t,n){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,(i=>(e.moveBackward(t),this._safeInvokeWithLocks(t,(()=>t.actual.undo()),new bne([e]),i,(()=>this._continueUndoInGroup(t.groupId,n))))));{const e=_(0,"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(e)}}else e.flushAllElements()}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(const[i,o]of this._editStacks){const s=o.getClosestPastElement();s&&s.groupId===e&&(!t||s.groupOrder>t.groupOrder)&&(t=s,n=i)}return[t,n]}_continueUndoInGroup(e,t){if(!e)return;const[,n]=this._findClosestUndoElementInGroup(e);return n?this._undo(n,0,t):void 0}undo(e){if(e instanceof py){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return"string"==typeof e?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,n){if(!this._editStacks.has(e))return;const i=this._editStacks.get(e),o=i.getClosestPastElement();if(o){if(o.groupId){const[e,i]=this._findClosestUndoElementInGroup(o.groupId);if(o!==e&&i)return this._undo(i,t,n)}if((o.sourceId!==t||o.confirmBeforeUndo)&&!n)return this._confirmAndContinueUndo(e,t,o);try{return 1===o.type?this._workspaceUndo(e,o,n):this._resourceUndo(i,o,n)}finally{}}}async _confirmAndContinueUndo(e,t,n){if((await this._dialogService.confirm({message:_(0,"Would you like to undo '{0}'?",n.label),primaryButton:_(0,"&&Yes"),cancelButton:_(0,"No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(const[i,o]of this._editStacks){const s=o.getClosestFutureElement();s&&s.sourceId===e&&(!t||s.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,_(0,"Could not redo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const s=[];for(const e of n.editStacks)e.locked&&s.push(e.resourceLabel);return s.length>0?this._tryToSplitAndRedo(e,t,null,_(0,"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,s.join(", "))):n.isValid()?null:this._tryToSplitAndRedo(e,t,null,_(0,"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const n=this._getAffectedEditStacks(t),i=this._checkWorkspaceRedo(e,t,n,!1);return i?i.returnValue:this._executeWorkspaceRedo(e,t,n)}async _executeWorkspaceRedo(e,t,n){let i;try{i=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}const o=this._checkWorkspaceRedo(e,t,n,!0);if(o)return i.dispose(),o.returnValue;for(const e of n.editStacks)e.moveForward(t);return this._safeInvokeWithLocks(t,(()=>t.actual.redo()),n,i,(()=>this._continueRedoInGroup(t.groupId)))}_resourceRedo(e,t){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,(n=>(e.moveForward(t),this._safeInvokeWithLocks(t,(()=>t.actual.redo()),new bne([e]),n,(()=>this._continueRedoInGroup(t.groupId))))));{const e=_(0,"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(e)}}else e.flushAllElements()}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(const[i,o]of this._editStacks){const s=o.getClosestFutureElement();s&&s.groupId===e&&(!t||s.groupOrder=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([cne(0,k9),cne(1,nN)],Cne);class yne{constructor(e){this.returnValue=e}}yg(cy,Cne,1);var Sne=function(e,t){return function(n,i){t(n,i,e)}};let xne=class extends lt{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new N8(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};function kne(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(kne):!!e.exclusive)}xne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Sne(0,Tv),Sne(1,Tu),Sne(2,Sh)],xne),yg(H8,xne,1);class Lne{constructor(e,t,n,i){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=i}equals(e){var t,n;return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&(null===(t=this.notebookUri)||void 0===t?void 0:t.toString())===(null===(n=e.notebookUri)||void 0===n?void 0:n.toString())}}class Dne{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),st((()=>{if(n){const e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e);const t=[];for(const e of this._entries)e._score>0&&t.push(e.provider);return t}ordered(e){const t=[];return this._orderedForEach(e,(e=>t.push(e.provider))),t}orderedGroups(e){const t=[];let n,i;return this._orderedForEach(e,(e=>{n&&i===e._score?n.push(e.provider):(i=e._score,n=[e.provider],t.push(n))})),t}_orderedForEach(e,t){this._updateScores(e);for(const e of this._entries)e._score>0&&t(e)}_updateScores(e){var t,n;const i=null===(t=this._notebookInfoResolver)||void 0===t?void 0:t.call(this,e.uri),o=i?new Lne(e.uri,e.getLanguageId(),i.uri,i.type):new Lne(e.uri,e.getLanguageId(),void 0,void 0);if(!(null===(n=this._lastCandidate)||void 0===n?void 0:n.equals(o))){this._lastCandidate=o;for(const t of this._entries)if(t._score=cte(t.selector,o.uri,o.languageId,Nc(e),o.notebookUri,o.notebookType),kne(t.selector)&&t._score>0){for(const e of this._entries)e._score=0;t._score=1e3;break}this._entries.sort(Dne._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:Nne(e.selector)&&!Nne(t.selector)?1:!Nne(e.selector)&&Nne(t.selector)?-1:e._timet._time?-1:0}}function Nne(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(Nne):Boolean(e.isBuiltin))}yg(wx,class{constructor(){this.referenceProvider=new Dne(this._score.bind(this)),this.renameProvider=new Dne(this._score.bind(this)),this.newSymbolNamesProvider=new Dne(this._score.bind(this)),this.codeActionProvider=new Dne(this._score.bind(this)),this.definitionProvider=new Dne(this._score.bind(this)),this.typeDefinitionProvider=new Dne(this._score.bind(this)),this.declarationProvider=new Dne(this._score.bind(this)),this.implementationProvider=new Dne(this._score.bind(this)),this.documentSymbolProvider=new Dne(this._score.bind(this)),this.inlayHintsProvider=new Dne(this._score.bind(this)),this.colorProvider=new Dne(this._score.bind(this)),this.codeLensProvider=new Dne(this._score.bind(this)),this.documentFormattingEditProvider=new Dne(this._score.bind(this)),this.documentRangeFormattingEditProvider=new Dne(this._score.bind(this)),this.onTypeFormattingEditProvider=new Dne(this._score.bind(this)),this.signatureHelpProvider=new Dne(this._score.bind(this)),this.hoverProvider=new Dne(this._score.bind(this)),this.documentHighlightProvider=new Dne(this._score.bind(this)),this.multiDocumentHighlightProvider=new Dne(this._score.bind(this)),this.selectionRangeProvider=new Dne(this._score.bind(this)),this.foldingRangeProvider=new Dne(this._score.bind(this)),this.linkProvider=new Dne(this._score.bind(this)),this.inlineCompletionsProvider=new Dne(this._score.bind(this)),this.inlineEditProvider=new Dne(this._score.bind(this)),this.completionProvider=new Dne(this._score.bind(this)),this.linkedEditingRangeProvider=new Dne(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new Dne(this._score.bind(this)),this.documentSemanticTokensProvider=new Dne(this._score.bind(this)),this.documentOnDropEditProvider=new Dne(this._score.bind(this)),this.documentPasteEditProvider=new Dne(this._score.bind(this))}_score(e){var t;return null===(t=this._notebookTypeResolver)||void 0===t?void 0:t.call(this,e)}},1);var Ene=n(3377),Ine={};Ine.styleTagTransform=Vr(),Ine.setAttributes=Or(),Ine.insert=Rr().bind(null,"head"),Ine.domAPI=Tr(),Ine.insertStyleElement=Br(),Ir()(Ene.A,Ine),Ene.A&&Ene.A.locals&&Ene.A.locals;var Mne=function(e,t){return function(n,i){t(n,i,e)}};const Tne=mr;let Ane=class extends jN{get _targetWindow(){return is(this._target.targetElements[0])}get _targetDocumentElement(){return is(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return 2===this._hoverPosition?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,n,i,o,s){var r,l,a,d,u,c,h,g;super(),this._keybindingService=t,this._configurationService=n,this._openerService=i,this._instantiationService=o,this._accessibilityService=s,this._messageListeners=new rt,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new Ct),this._onRequestLayout=this._register(new Ct),this._linkHandler=e.linkHandler||(t=>uL(this._openerService,t,nd(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new Pne(e.target),this._hoverPointer=(null===(r=e.appearance)||void 0===r?void 0:r.showPointer)?Tne("div.workbench-hover-pointer"):void 0,this._hover=this._register(new CG),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),(null===(l=e.appearance)||void 0===l?void 0:l.compact)&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),(null===(a=e.appearance)||void 0===a?void 0:a.skipFadeInAnimation)&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),(null===(d=e.position)||void 0===d?void 0:d.forcePosition)&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=null!==(c=null===(u=e.position)||void 0===u?void 0:u.hoverPosition)&&void 0!==c?c:3,this.onmousedown(this._hover.containerDomNode,(e=>e.stopPropagation())),this.onkeydown(this._hover.containerDomNode,(e=>{e.equals(9)&&this.dispose()})),this._register(ms(this._targetWindow,"blur",(()=>this.dispose())));const p=Tne("div.hover-row.markdown-hover"),m=Tne("div.hover-contents");if("string"==typeof e.content)m.textContent=e.content,m.style.whiteSpace="pre-wrap";else if(e.content instanceof HTMLElement)m.appendChild(e.content),m.classList.add("html-hover-contents");else{const t=e.content,n=this._instantiationService.createInstance(dL,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||KD.fontFamily}),{element:i}=n.render(t,{actionHandler:{callback:e=>this._linkHandler(e),disposables:this._messageListeners},asyncRenderCallback:()=>{m.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});m.appendChild(i)}if(p.appendChild(m),this._hover.contentsDomNode.appendChild(p),e.actions&&e.actions.length>0){const t=Tne("div.hover-row.status-bar"),n=Tne("div.actions");e.actions.forEach((e=>{const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;yG.render(n,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},i)})),t.appendChild(n),this._hover.containerDomNode.appendChild(t)}let f;if(this._hoverContainer=Tne("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode),f=!(e.actions&&e.actions.length>0)&&(void 0===(null===(h=e.persistence)||void 0===h?void 0:h.hideOnHover)?"string"==typeof e.content||nd(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):e.persistence.hideOnHover),f&&(null===(g=e.appearance)||void 0===g?void 0:g.showHoverHint)){const e=Tne("div.hover-row.status-bar"),t=Tne("div.info");t.textContent=_(0,"Hold {0} key to mouse over",U?"Option":"Alt"),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}const v=[...this._target.targetElements];f||v.push(this._hoverContainer);const b=this._register(new Rne(v));if(this._register(b.onMouseOut((()=>{this._isLocked||this.dispose()}))),f){const e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new Rne(e)),this._register(this._lockMouseTracker.onMouseOut((()=>{this._isLocked||this.dispose()})))}else this._lockMouseTracker=b}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const n=ur(this._hoverContainer,Tne("div")),i=dr(this._hoverContainer,Tne("div"));n.tabIndex=0,i.tabIndex=0,this._register(ms(i,"focus",(t=>{e.focus(),t.preventDefault()}))),this._register(ms(n,"focus",(e=>{t.focus(),e.preventDefault()})))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return e}const i=this.findLastFocusableChild(n);if(i)return i}}render(e){var t;e.appendChild(this._hoverContainer);const n=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&SG(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),null===(t=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===t?void 0:t.getAriaLabel());n&&Yr(n),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=this._target.targetElements.map((e=>(e=>{const t=Is(e),n=e.getBoundingClientRect();return{top:n.top*t,bottom:n.bottom*t,right:n.right*t,left:n.left*t}})(e))),{top:t,right:n,bottom:i,left:o}=e[0],s=n-o,r=i-t,l={top:t,right:n,bottom:i,left:o,width:s,height:r,center:{x:o+s/2,y:t+r/2}};if(this.adjustHorizontalHoverPosition(l),this.adjustVerticalHoverPosition(l),this.adjustHoverMaxHeight(l),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:l.left+=3,l.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:l.left-=3,l.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:l.top+=3,l.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:l.top-=3,l.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px"}l.center.x=l.left+s/2,l.center.y=l.top+r/2}this.computeXCordinate(l),this.computeYCordinate(l),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(l)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;void 0!==this._target.x?this._x=this._target.x:1===this._hoverPosition?this._x=e.right:0===this._hoverPosition?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(void 0!==this._target.x)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const n=t+2;1===this._hoverPosition?this._hover.containerDomNode.style.maxWidth=this._targetDocumentElement.clientWidth-e.right-n+"px":0===this._hoverPosition&&(this._hover.containerDomNode.style.maxWidth=e.left-n+"px")}else 1===this._hoverPosition?this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2):0===this._hoverPosition&&(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(void 0!==this._target.y||this._forcePosition)return;const t=this._hoverPointer?3:0;3===this._hoverPosition?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):2===this._hoverPosition&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const n=2+(this._hoverPointer?3:0);3===this._hoverPosition?t=Math.min(t,e.top-n):2===this._hoverPosition&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-n))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top=e.center.y-(this._y-t)-3+"px":this._hoverPointer.style.top=Math.round(t/2)-3+"px";break}case 3:case 2:{this._hoverPointer.classList.add(3===this._hoverPosition?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let n=Math.round(t/2)-3;const i=this._x+n;(ie.right)&&(n=e.center.x-this._x-3),this._hoverPointer.style.left=`${n}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};Ane=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Mne(1,zL),Mne(2,pg),Mne(3,rL),Mne(4,ad),Mne(5,qS)],Ane);class Rne extends jN{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new Ct),this._elements.forEach((e=>this.onmouseover(e,(()=>this._onTargetMouseOver(e))))),this._elements.forEach((e=>this.onmouseleave(e,(()=>this._onTargetMouseLeave(e)))))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=is(e).setTimeout((()=>this._fireIfMouseOutside()),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(is(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class Pne{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}var One,Fne=n(8970),Bne={};function Wne(e,t,n){const i=n.mode===One.ALIGN?n.offset:n.offset+n.size,o=n.mode===One.ALIGN?n.offset+n.size:n.offset;return 0===n.position?t<=e-i?i:t<=o?o-t:Math.max(e-t,0):t<=o?o-t:t<=e-i?i:0}Bne.styleTagTransform=Vr(),Bne.setAttributes=Or(),Bne.insert=Rr().bind(null,"head"),Bne.domAPI=Tr(),Bne.insertStyleElement=Br(),Ir()(Fne.A,Bne),Fne.A&&Fne.A.locals&&Fne.A.locals,function(e){e[e.AVOID=0]="AVOID",e[e.ALIGN=1]="ALIGN"}(One||(One={}));class Vne extends lt{constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=lt.None,this.toDisposeOnSetContainer=lt.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=mr(".context-view"),_r(this.view),this.setContainer(e,t),this._register(st((()=>this.setContainer(null,1))))}setContainer(e,t){var n;this.useFixedPosition=1!==t;const i=this.useShadowDOM;if(this.useShadowDOM=3===t,(e!==this.container||i!==this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,null===(n=this.shadowRootHostElement)||void 0===n||n.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=mr(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent=Hne,this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(mr("slot"))}else this.container.appendChild(this.view);const t=new rt;Vne.BUBBLE_UP_EVENTS.forEach((e=>{t.add(_s(this.container,e,(e=>{this.onDOMEvent(e,!1)})))})),Vne.BUBBLE_DOWN_EVENTS.forEach((e=>{t.add(_s(this.container,e,(e=>{this.onDOMEvent(e,!0)}),!0))})),this.toDisposeOnSetContainer=t}}show(e){var t,n,i;this.isVisible()&&this.hide(),gs(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+(null!==(t=e.layer)&&void 0!==t?t:0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",fr(this.view),this.toDisposeOnClean=e.render(this.view)||lt.None,this.delegate=e,this.doLayout(),null===(i=(n=this.delegate).focus)||void 0===i||i.call(n)}getViewElement(){return this.view}layout(){var e,t;this.isVisible()&&(!1!==this.delegate.canRelayout||G&&de?(null===(t=null===(e=this.delegate)||void 0===e?void 0:e.layout)||void 0===t||t.call(e),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(e instanceof HTMLElement){const n=Es(e),i=Is(e);t={top:n.top*i,left:n.left*i,width:n.width*i,height:n.height*i}}else t=function(e){const t=e;return!!t&&"number"==typeof t.x&&"number"==typeof t.y}(e)?{top:e.y,left:e.x,width:e.width||1,height:e.height||2}:{top:e.posy,left:e.posx,width:2,height:2};const n=Ms(this.view),i=Rs(this.view),s=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0,l=this.delegate.anchorAxisAlignment||0;let a,d;const u=function(){var e,t;return null!==(t=null===(e=Us().defaultView)||void 0===e?void 0:e.window)&&void 0!==t?t:o}();if(0===l){const e={offset:t.top-u.pageYOffset,size:t.height,position:0===s?0:1},o={offset:t.left,size:t.width,position:0===r?0:1,mode:One.ALIGN};a=Wne(u.innerHeight,i,e)+u.pageYOffset,iE.intersects({start:a,end:a+i},{start:e.offset,end:e.offset+e.size})&&(o.mode=One.AVOID),d=Wne(u.innerWidth,n,o)}else{const e={offset:t.left,size:t.width,position:0===r?0:1},o={offset:t.top,size:t.height,position:0===s?0:1,mode:One.ALIGN};d=Wne(u.innerWidth,n,e),iE.intersects({start:d,end:d+n},{start:e.offset,end:e.offset+e.size})&&(o.mode=One.AVOID),a=Wne(u.innerHeight,i,o)+u.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===s?"bottom":"top"),this.view.classList.add(0===r?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const c=Es(this.container);this.view.style.top=a-(this.useFixedPosition?Es(this.view).top:c.top)+"px",this.view.style.left=d-(this.useFixedPosition?Es(this.view).left:c.left)+"px",this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,(null==t?void 0:t.onHide)&&t.onHide(e),this.toDisposeOnClean.dispose(),_r(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,is(e).document.activeElement):t&&!Ps(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}Vne.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],Vne.BUBBLE_DOWN_EVENTS=["click"];const Hne='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';let zne=class extends lt{constructor(e){super(),this.layoutService=e,this.currentViewDisposable=this._register(new at),this.contextView=this._register(new Vne(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer((()=>this.layout())))}showContextView(e,t,n){let i;i=t?t===this.layoutService.getContainer(is(t))?1:n?3:2:1,this.contextView.setContainer(null!=t?t:this.layoutService.activeContainer,i),this.contextView.show(e);const o=st((()=>{this.currentViewDisposable===o&&this.hideContextView()}));return this.currentViewDisposable.value=o,o}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e)}};zne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,rne)],zne);class Une extends zne{getContextViewElement(){return this.contextView.getViewElement()}}var Kne=function(e,t){return function(n,i){t(n,i,e)}};let jne=class extends lt{constructor(e,t,n,i,o){super(),this._instantiationService=e,this._keybindingService=n,this._layoutService=i,this._accessibilityService=o,t.onDidShowContextMenu((()=>this.hideHover())),this._contextViewHandler=this._register(new zne(this._layoutService))}showHover(e,t,n){var i,s,r,l;if(qne(this._currentHoverOptions)===qne(e))return;if(this._currentHover&&(null===(s=null===(i=this._currentHoverOptions)||void 0===i?void 0:i.persistence)||void 0===s?void 0:s.sticky))return;this._currentHoverOptions=e,this._lastHoverOptions=e;const a=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),d=Vs();n||(this._lastFocusedElementBeforeOpen=a&&d?d:void 0);const u=new rt,c=this._instantiationService.createInstance(Ane,e);if((null===(r=e.persistence)||void 0===r?void 0:r.sticky)&&(c.isLocked=!0),c.onDispose((()=>{var t,n;(null===(t=this._currentHover)||void 0===t?void 0:t.domNode)&&zs(this._currentHover.domNode)&&(null===(n=this._lastFocusedElementBeforeOpen)||void 0===n||n.focus()),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),u.dispose()})),!e.container){const t=e.target instanceof HTMLElement?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(is(t))}if(this._contextViewHandler.showContextView(new $ne(c,t),e.container),c.onRequestLayout((()=>this._contextViewHandler.layout())),null===(l=e.persistence)||void 0===l?void 0:l.sticky)u.add(ms(is(e.container).document,or.MOUSE_DOWN,(e=>{Ps(e.target,c.domNode)||this.doHideHover()})));else{if("targetElements"in e.target)for(const t of e.target.targetElements)u.add(ms(t,or.CLICK,(()=>this.hideHover())));else u.add(ms(e.target,or.CLICK,(()=>this.hideHover())));const t=Vs();if(t){const n=is(t).document;u.add(ms(t,or.KEY_DOWN,(t=>{var n;return this._keyDown(t,c,!!(null===(n=e.persistence)||void 0===n?void 0:n.hideOnKeyDown))}))),u.add(ms(n,or.KEY_DOWN,(t=>{var n;return this._keyDown(t,c,!!(null===(n=e.persistence)||void 0===n?void 0:n.hideOnKeyDown))}))),u.add(ms(t,or.KEY_UP,(e=>this._keyUp(e,c)))),u.add(ms(n,or.KEY_UP,(e=>this._keyUp(e,c))))}}if("IntersectionObserver"in o){const t=new IntersectionObserver((e=>this._intersectionChange(e,c)),{threshold:0}),n="targetElements"in e.target?e.target.targetElements[0]:e.target;t.observe(n),u.add(st((()=>t.disconnect())))}return this._currentHover=c,c}hideHover(){var e;!(null===(e=this._currentHover)||void 0===e?void 0:e.isLocked)&&this._currentHoverOptions&&this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}_keyDown(e,t,n){var i,o;if("Alt"===e.key)return void(t.isLocked=!0);const s=new Ue(e);this._keybindingService.resolveKeyboardEvent(s).getSingleModifierDispatchChords().some((e=>!!e))||0!==this._keybindingService.softDispatch(s,s.target).kind||!n||(null===(i=this._currentHoverOptions)||void 0===i?void 0:i.trapFocus)&&"Tab"===e.key||(this.hideHover(),null===(o=this._lastFocusedElementBeforeOpen)||void 0===o||o.focus())}_keyUp(e,t){var n;"Alt"===e.key&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),null===(n=this._lastFocusedElementBeforeOpen)||void 0===n||n.focus()))}};function qne(e){var t;if(void 0!==e)return null!==(t=null==e?void 0:e.id)&&void 0!==t?t:e}jne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Kne(0,ad),Kne(1,HL),Kne(2,zL),Kne(3,rne),Kne(4,qS)],jne);class $ne{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function Gne(e){return Object.isFrozen(e)?e:function(e){if(!e||"object"!=typeof e)return e;const t=[e];for(;t.length>0;){const e=t.shift();Object.freeze(e);for(const n in e)if(gc.call(e,n)){const i=e[n];"object"!=typeof i||Object.isFrozen(i)||da(i)||t.push(i)}}return e}(e)}yg(xQ,jne,1),Fv(((e,t)=>{const n=e.getColor(_f);n&&(t.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`))}));class Zne{constructor(e={},t=[],n=[],i){this._contents=e,this._keys=t,this._overrides=n,this.raw=i,this.overrideConfigurations=new Map}get rawConfiguration(){var e;if(!this._rawConfiguration)if(null===(e=this.raw)||void 0===e?void 0:e.length){const e=this.raw.map((e=>{if(e instanceof Zne)return e;const t=new Yne("");return t.parseRaw(e),t.configurationModel}));this._rawConfiguration=e.reduce(((e,t)=>t===e?t:e.merge(t)),e[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length}getValue(e){return e?bg(this.contents,e):this.contents}inspect(e,t){const n=this;return{get value(){return Gne(n.rawConfiguration.getValue(e))},get override(){return t?Gne(n.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return Gne(t?n.rawConfiguration.override(t).getValue(e):n.rawConfiguration.getValue(e))},get overrides(){const t=[];for(const{contents:i,identifiers:o,keys:s}of n.rawConfiguration.overrides){const n=new Zne(i,s).getValue(e);void 0!==n&&t.push({identifiers:o,value:n})}return t.length?Gne(t):void 0}}}getOverrideValue(e,t){const n=this.getContentsForOverrideIdentifer(t);return n?e?bg(n,e):n:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){var t,n;const i=hc(this.contents),o=hc(this.overrides),s=[...this.keys],r=(null===(t=this.raw)||void 0===t?void 0:t.length)?[...this.raw]:[this];for(const t of e)if(r.push(...(null===(n=t.raw)||void 0===n?void 0:n.length)?t.raw:[t]),!t.isEmpty()){this.mergeContents(i,t.contents);for(const e of t.overrides){const[t]=o.filter((t=>Ic(t.identifiers,e.identifiers)));t?(this.mergeContents(t.contents,e.contents),t.keys.push(...e.keys),t.keys=Vc(t.keys)):o.push(hc(e))}for(const e of t.keys)-1===s.indexOf(e)&&s.push(e)}return new Zne(i,s,o,r.every((e=>e instanceof Zne))?void 0:r)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||"object"!=typeof t||!Object.keys(t).length)return this;const n={};for(const e of Vc([...Object.keys(this.contents),...Object.keys(t)])){let i=this.contents[e];const o=t[e];o&&("object"==typeof i&&"object"==typeof o?(i=hc(i),this.mergeContents(i,o)):i=o),n[e]=i}return new Zne(n,this.keys,this.overrides)}mergeContents(e,t){for(const n of Object.keys(t))n in e&&aa(e[n])&&aa(t[n])?this.mergeContents(e[n],t[n]):e[n]=hc(t[n])}getContentsForOverrideIdentifer(e){let t=null,n=null;const i=e=>{e&&(n?this.mergeContents(n,e):n=hc(e))};for(const n of this.overrides)1===n.identifiers.length&&n.identifiers[0]===e?t=n.contents:n.identifiers.includes(e)&&i(n.contents);return i(t),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(e,t){this.updateValue(e,t,!0)}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);-1!==t&&(this.keys.splice(t,1),_g(this.contents,e),Wg.test(e)&&this.overrides.splice(this.overrides.findIndex((t=>Ic(t.identifiers,Vg(e)))),1))}updateValue(e,t,n){fg(this.contents,e,t,(e=>console.error(e))),(n=n||-1===this.keys.indexOf(e))&&this.keys.push(e),Wg.test(e)&&this.overrides.push({identifiers:Vg(e),keys:Object.keys(this.contents[e]),contents:mg(this.contents[e],(e=>console.error(e)))})}}class Yne{constructor(e){this._name=e,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new Zne}parseRaw(e,t){this._raw=e;const{contents:n,keys:i,overrides:o,restricted:s,hasExcludedProperties:r}=this.doParseRaw(e,t);this._configurationModel=new Zne(n,i,o,r?[e]:void 0),this._restrictedConfigurations=s||[]}doParseRaw(e,t){const n=fu.as(Dg).getConfigurationProperties(),i=this.filter(e,n,!0,t);return{contents:mg(e=i.raw,(e=>console.error(`Conflict in settings file ${this._name}: ${e}`))),keys:Object.keys(e),overrides:this.toOverrides(e,(e=>console.error(`Conflict in settings file ${this._name}: ${e}`))),restricted:i.restricted,hasExcludedProperties:i.hasExcludedProperties}}filter(e,t,n,i){var o,s,r;let l=!1;if(!(null==i?void 0:i.scopes)&&!(null==i?void 0:i.skipRestricted)&&!(null===(o=null==i?void 0:i.exclude)||void 0===o?void 0:o.length))return{raw:e,restricted:[],hasExcludedProperties:l};const a={},d=[];for(const o in e)if(Wg.test(o)&&n){const n=this.filter(e[o],t,!1,i);a[o]=n.raw,l=l||n.hasExcludedProperties,d.push(...n.restricted)}else{const n=t[o],u=n?void 0!==n.scope?n.scope:3:void 0;(null==n?void 0:n.restricted)&&d.push(o),(null===(s=i.exclude)||void 0===s?void 0:s.includes(o))||!(null===(r=i.include)||void 0===r?void 0:r.includes(o))&&(void 0!==u&&void 0!==i.scopes&&!i.scopes.includes(u)||i.skipRestricted&&(null==n?void 0:n.restricted))?l=!0:a[o]=e[o]}return{raw:a,restricted:d,hasExcludedProperties:l}}toOverrides(e,t){const n=[];for(const i of Object.keys(e))if(Wg.test(i)){const o={};for(const t in e[i])o[t]=e[i][t];n.push({identifiers:Vg(i),keys:Object.keys(o),contents:mg(o,t)})}return n}}class Xne{constructor(e,t,n,i,o,s,r,l,a,d,u,c,h){this.key=e,this.overrides=t,this._value=n,this.overrideIdentifiers=i,this.defaultConfiguration=o,this.policyConfiguration=s,this.applicationConfiguration=r,this.userConfiguration=l,this.localUserConfiguration=a,this.remoteUserConfiguration=d,this.workspaceConfiguration=u,this.folderConfigurationModel=c,this.memoryConfigurationModel=h}toInspectValue(e){return void 0!==(null==e?void 0:e.value)||void 0!==(null==e?void 0:e.override)||void 0!==(null==e?void 0:e.overrides)?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class Qne{constructor(e,t,n,i,o=new Zne,s=new Zne,r=new tl,l=new Zne,a=new tl){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=n,this._localUserConfiguration=i,this._remoteUserConfiguration=o,this._workspaceConfiguration=s,this._folderConfigurations=r,this._memoryConfiguration=l,this._memoryConfigurationByResource=a,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new tl,this._userConfiguration=null}getValue(e,t,n){return this.getConsolidatedConfigurationModel(e,t,n).getValue(e)}updateValue(e,t,n={}){let i;n.resource?(i=this._memoryConfigurationByResource.get(n.resource),i||(i=new Zne,this._memoryConfigurationByResource.set(n.resource,i))):i=this._memoryConfiguration,void 0===t?i.removeValue(e):i.setValue(e,t),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,n){const i=this.getConsolidatedConfigurationModel(e,t,n),o=this.getFolderConfigurationModelForResource(t.resource,n),s=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,r=new Set;for(const t of i.overrides)for(const n of t.identifiers)void 0!==i.getOverrideValue(e,n)&&r.add(n);return new Xne(e,t,i.getValue(e),r.size?[...r]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,n?this._workspaceConfiguration:void 0,o||void 0,s)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,n){let i=this.getConsolidatedConfigurationModelForResource(t,n);return t.overrideIdentifier&&(i=i.override(t.overrideIdentifier)),this._policyConfiguration.isEmpty()||void 0===this._policyConfiguration.getValue(e)||(i=i.merge(this._policyConfiguration)),i}getConsolidatedConfigurationModelForResource({resource:e},t){let n=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const i=t.getFolder(e);i&&(n=this.getFolderConsolidatedConfiguration(i.uri)||n);const o=this._memoryConfigurationByResource.get(e);o&&(n=n.merge(o))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const n=this.getWorkspaceConsolidatedConfiguration(),i=this._folderConfigurations.get(e);i?(t=n.merge(i),this._foldersConsolidatedConfigurations.set(e,t)):t=n}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const n=t.getFolder(e);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce(((e,t)=>{const{contents:n,overrides:i,keys:o}=this._folderConfigurations.get(t);return e.push([t,{contents:n,overrides:i,keys:o}]),e}),[])}}static parse(e){const t=this.parseConfigurationModel(e.defaults),n=this.parseConfigurationModel(e.policy),i=this.parseConfigurationModel(e.application),o=this.parseConfigurationModel(e.user),s=this.parseConfigurationModel(e.workspace),r=e.folders.reduce(((e,t)=>(e.set(Io.revive(t[0]),this.parseConfigurationModel(t[1])),e)),new tl);return new Qne(t,n,i,o,new Zne,s,r,new Zne,new tl)}static parseConfigurationModel(e){return new Zne(e.contents,e.keys,e.overrides)}}class Jne{constructor(e,t,n,i){this.change=e,this.previous=t,this.currentConfiguraiton=n,this.currentWorkspace=i,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=".".charCodeAt(0),this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const t of e.keys)this.affectedKeys.add(t);for(const[,t]of e.overrides)for(const e of t)this.affectedKeys.add(e);this._affectsConfigStr=this._marker;for(const e of this.affectedKeys)this._affectsConfigStr+=e+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Qne.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(e,t){var n;const i=this._marker+e,o=this._affectsConfigStr.indexOf(i);if(o<0)return!1;const s=o+i.length;if(s>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(s);return(r===this._markerCode1||r===this._markerCode2)&&(!t||!_c(this.previousConfiguration?this.previousConfiguration.getValue(e,t,null===(n=this.previous)||void 0===n?void 0:n.workspace):void 0,this.currentConfiguraiton.getValue(e,t,this.currentWorkspace)))}}const eie={kind:0},tie={kind:1};class nie{constructor(e,t,n){var i;this._log=n,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const t of e){const e=t.command;e&&"-"!==e.charAt(0)&&this._defaultBoundCommands.set(e,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=nie.handleRemovals([].concat(e).concat(t));for(let e=0,t=this._keybindings.length;e=0;e--){const i=n[e];if(i.command===t.command)continue;let o=!0;for(let e=1;e=0;e--){const i=n[e];if(t.contextMatchesRules(i.when))return i}return n[n.length-1]}resolve(e,t,n){const i=[...t,n];this._log(`| Resolving ${i}`);const o=this._map.get(i[0]);if(void 0===o)return this._log("\\ No keybinding entries."),eie;let s=null;if(i.length<2)s=o;else{s=[];for(let e=0,t=o.length;et.chords.length)continue;let n=!0;for(let e=1;e=0;n--){const i=t[n];if(nie._contextMatchesRules(e,i.when))return i}return null}static _contextMatchesRules(e,t){return!t||t.evaluate(e)}}function iie(e){return e?`${e.serialize()}`:"no when condition"}function oie(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?"built-in":"user"}const sie=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class rie extends lt{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:ft.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,n,i,o){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=n,this._notificationService=i,this._logService=o,this._onDidUpdateKeybindings=this._register(new Ct),this._currentChords=[],this._currentChordChecker=new Kt,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=lie.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new Ut,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const n=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(n)return n.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const n=this.resolveKeyboardEvent(e);if(n.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),eie;const[i]=n.getDispatchChords();if(null===i)return this._log("\\ Keyboard event cannot be dispatched"),eie;const o=this._contextKeyService.getContext(t),s=this._currentChords.map((({keypress:e})=>e));return this._getResolver().resolve(o,s,i)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet((()=>{this._documentHasFocus()?Date.now()-e>5e3&&this._leaveChordMode():this._leaveChordMode()}),500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw Me("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(_(0,"({0}) was pressed. Waiting for second key of chord...",t));break;default:{const e=this._currentChords.map((({label:e})=>e)).join(", ");this._currentChordStatusMessage=this._notificationService.status(_(0,"({0}) was pressed. Waiting for next key of chord...",e))}}this._scheduleLeaveChordMode(),lR.enabled&&lR.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],lR.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const n=this.resolveKeyboardEvent(e),[i]=n.getSingleModifierDispatchChords();if(i)return this._ignoreSingleModifiers.has(i)?(this._log(`+ Ignoring single modifier ${i} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=lie.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=lie.EMPTY,null===this._currentSingleModifier?(this._log(`+ Storing single modifier for possible chord ${i}.`),this._currentSingleModifier=i,this._currentSingleModifierClearTimeout.cancelAndSet((()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null}),300),!1):i===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${i} ${i}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(n,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${i}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[o]=n.getChords();return this._ignoreSingleModifiers=new lie(o),null!==this._currentSingleModifier&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,n=!1){var i;let o=!1;if(e.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let s=null,r=null;if(n){const[t]=e.getSingleModifierDispatchChords();s=t,r=t?[t]:[]}else[s]=e.getDispatchChords(),r=this._currentChords.map((({keypress:e})=>e));if(null===s)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),o;const l=this._contextKeyService.getContext(t),a=e.getLabel(),d=this._getResolver().resolve(l,r,s);switch(d.kind){case 0:if(this._logService.trace("KeybindingService#dispatch",a,"[ No matching keybinding ]"),this.inChordMode){const e=this._currentChords.map((({label:e})=>e)).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status(_(0,"The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),o=!0}return o;case 1:return this._logService.trace("KeybindingService#dispatch",a,"[ Several keybindings match - more chords needed ]"),o=!0,this._expectAnotherChord(s,a),this._log(1===this._currentChords.length?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),o;case 2:if(this._logService.trace("KeybindingService#dispatch",a,`[ Will dispatch command ${d.commandId} ]`),null===d.commandId||""===d.commandId){if(this.inChordMode){const e=this._currentChords.map((({label:e})=>e)).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status(_(0,"The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),o=!0}}else{this.inChordMode&&this._leaveChordMode(),d.isBubble||(o=!0),this._log(`+ Invoking command ${d.commandId}.`),this._currentlyDispatchingCommandId=d.commandId;try{void 0===d.commandArgs?this._commandService.executeCommand(d.commandId).then(void 0,(e=>this._notificationService.warn(e))):this._commandService.executeCommand(d.commandId,d.commandArgs).then(void 0,(e=>this._notificationService.warn(e)))}finally{this._currentlyDispatchingCommandId=null}sie.test(d.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:d.commandId,from:"keybinding",detail:null!==(i=e.getUserSettingsLabel())&&void 0!==i?i:void 0})}return o}}mightProducePrintableCharacter(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)}}class lie{constructor(e){this._ctrlKey=!!e&&e.ctrlKey,this._shiftKey=!!e&&e.shiftKey,this._altKey=!!e&&e.altKey,this._metaKey=!!e&&e.metaKey}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}lie.EMPTY=new lie(null);class aie{constructor(e,t,n,i,o,s,r){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?die(e.getDispatchChords()):[],e&&0===this.chords.length&&(this.chords=die(e.getSingleModifierDispatchChords())),this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=i,this.isDefault=o,this.extensionId=s,this.isBuiltinExtension=r}}function die(e){const t=[];for(let n=0,i=e.length;nthis._getLabel(e)))}getAriaLabel(){return aM.toLabel(this._os,this._chords,(e=>this._getAriaLabel(e)))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:dM.toLabel(this._os,this._chords,(e=>this._getElectronAccelerator(e)))}getUserSettingsLabel(){return uM.toLabel(this._os,this._chords,(e=>this._getUserSettingsLabel(e)))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((e=>this._getChord(e)))}_getChord(e){return new We(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map((e=>this._getChordDispatch(e)))}getSingleModifierDispatchChords(){return this._chords.map((e=>this._getSingleModifierChordDispatch(e)))}}class cie extends uie{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(2===this._os)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return Ce.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":Ce.toString(e.keyCode)}_getElectronAccelerator(e){return Ce.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=Ce.toUserSettingsUS(e.keyCode);return t?t.toLowerCase():t}_getChordDispatch(e){return cie.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=Ce.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return 5!==e.keyCode||e.shiftKey||e.altKey||e.metaKey?4!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey?6!==e.keyCode||e.ctrlKey||e.shiftKey||e.metaKey?57!==e.keyCode||e.ctrlKey||e.shiftKey||e.altKey?null:"meta":"alt":"shift":"ctrl"}static _scanCodeToKeyCode(e){const t=be[e];if(-1!==t)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof Fe)return e;const t=this._scanCodeToKeyCode(e.scanCode);return 0===t?null:new Fe(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const n=die(e.chords.map((e=>this._toKeyCodeChord(e))));return n.length>0?[new cie(n,t)]:[]}}let hie=[],gie=[],pie=[];function mie(e,t=!1){!function(e,t,n){const i=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:false,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?dte(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(fo.sep)>=0}}(e);hie.push(i),i.userConfigured?pie.push(i):gie.push(i),n&&!i.userConfigured&&hie.forEach((e=>{e.mime===i.mime||e.userConfigured||(i.extension&&e.extension===i.extension&&console.warn(`Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>`),i.filename&&e.filename===i.filename&&console.warn(`Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>`),i.filepattern&&e.filepattern===i.filepattern&&console.warn(`Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>`),i.firstline&&e.firstline===i.firstline&&console.warn(`Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>`))}))}(e,0,t)}function fie(e,t,n){var i;let o,s,r;for(let l=n.length-1;l>=0;l--){const a=n[l];if(t===a.filenameLowercase){o=a;break}if(a.filepattern&&(!s||a.filepattern.length>s.filepattern.length)){const n=a.filepatternOnPath?e:t;(null===(i=a.filepatternLowercase)||void 0===i?void 0:i.call(a,n))&&(s=a)}a.extension&&(!r||a.extension.length>r.extension.length)&&t.endsWith(a.extensionLowercase)&&(r=a)}return o||s||r||void 0}const _ie=Object.prototype.hasOwnProperty,vie="vs.editor.nullLanguage";class bie{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(vie,0),this._register(Kg,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||vie}}class wie extends lt{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,wie.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new bie,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(Ug.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){wie.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},hie=hie.filter((e=>e.userConfigured)),gie=[];const e=[].concat(Ug.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),fu.as(Dg).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let n;_ie.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){const n=t.id;let i=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),i=t.mimetypes[0]),i||(i=`text/x-${n}`,e.mimetypes.push(i)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)mie({id:n,mime:i,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const o of t.filenames)mie({id:n,mime:i,filename:o},this._warnOnOverwrite),e.filenames.push(o);if(Array.isArray(t.filenamePatterns))for(const e of t.filenamePatterns)mie({id:n,mime:i,filepattern:e},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);"^"!==(o=t).source&&"^$"!==o.source&&"$"!==o.source&&"^\\s*$"!==o.source&&o.exec("")&&0===o.lastIndex||mie({id:n,mime:i,firstline:t},this._warnOnOverwrite)}catch(n){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,n)}}var o;e.aliases.push(n);let s=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(s=0===t.aliases.length?[null]:t.aliases),null!==s)for(const t of s)t&&0!==t.length&&e.aliases.push(t);const r=null!==s&&s.length>0;if(r&&null===s[0]);else{const t=(r?s[0]:null)||n;!r&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&_ie.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return _ie.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&_ie.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?function(e,t){return function(e,t){let n;if(e)switch(e.scheme){case Ho.file:n=e.fsPath;break;case Ho.data:n=Ja.parseMetaData(e).get(Ja.META_DATA_LABEL);break;case Ho.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:"unknown",mime:xg.unknown}];n=n.toLowerCase();const i=Co(n),o=fie(n,i,pie);if(o)return[o,{id:Kg,mime:xg.text}];const s=fie(n,i,gie);if(s)return[s,{id:Kg,mime:xg.text}];if(t){const e=function(e){if(Ui(e)&&(e=e.substr(1)),e.length>0)for(let t=hie.length-1;t>=0;t--){const n=hie[t];if(!n.firstline)continue;const i=e.match(n.firstline);if(i&&i.length>0)return n}}(t);if(e)return[e,{id:Kg,mime:xg.text}]}return[{id:"unknown",mime:xg.unknown}]}(e,t).map((e=>e.id))}(e,t):[]}}wie.instanceCount=0;class Cie extends lt{constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new Ct),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new Ct),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new Ct({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,Cie.instanceCount++,this._registry=this._register(new wie(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){Cie.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){return Hc(this._registry.guessLanguageIdByFilepathOrFirstLine(e,t),null)}createById(e){return new yie(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new yie(this.onDidChange,(()=>{const n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=Kg),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),IC.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}Cie.instanceCount=0;class yie{constructor(e,t){this._onDidChangeLanguages=e,this._selector=t,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages((()=>this._evaluate()))),this._emitter||(this._emitter=new Ct({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var e;const t=this._selector();t!==this.languageId&&(this.languageId=t,null===(e=this._emitter)||void 0===e||e.fire(this.languageId))}}const Sie=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,xie=/(&)?(&)([^\s&])/g;var kie,Lie;!function(e){e[e.Right=0]="Right",e[e.Left=1]="Left"}(kie||(kie={})),function(e){e[e.Above=0]="Above",e[e.Below=1]="Below"}(Lie||(Lie={}));class Die extends iM{constructor(e,t,n,i){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const o=document.createElement("div");o.classList.add("monaco-menu"),o.setAttribute("role","presentation"),super(o,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,n,s),context:n.context,actionRunner:n.actionRunner,ariaLabel:n.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...U||K?[10]:[]],keyDown:!0}}),this.menuStyles=i,this.menuElement=o,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,i),this._register(LL.addTarget(o)),this._register(ms(o,or.KEY_DOWN,(e=>{new Ue(e).equals(2)&&e.preventDefault()}))),n.enableMnemonics&&this._register(ms(o,or.KEY_DOWN,(e=>{const t=e.key.toLocaleLowerCase();if(this.mnemonics.has(t)){rr(e,!0);const n=this.mnemonics.get(t);if(1===n.length&&(n[0]instanceof Eie&&n[0].container&&this.focusItemByElement(n[0].container),n[0].onClick(e)),n.length>1){const e=n.shift();e&&e.container&&(this.focusItemByElement(e.container),n.push(e)),this.mnemonics.set(t,n)}}}))),K&&this._register(ms(o,or.KEY_DOWN,(e=>{const t=new Ue(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),rr(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),rr(e,!0))}))),this._register(ms(this.domNode,or.MOUSE_OUT,(e=>{Ps(e.relatedTarget,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())}))),this._register(ms(this.actionsList,or.MOUSE_OVER,(e=>{let t=e.target;if(t&&Ps(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}))),this._register(LL.addTarget(this.actionsList)),this._register(ms(this.actionsList,kL.Tap,(e=>{let t=e.initialTarget;if(t&&Ps(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})));const s={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new cE(o,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const r=this.scrollableElement.getDomNode();r.style.position="",this.styleScrollElement(r,i),this._register(ms(o,kL.Change,(e=>{rr(e,!0);const t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})}))),this._register(ms(r,or.MOUSE_UP,(e=>{e.preventDefault()})));const l=is(e);o.style.maxHeight=`${Math.max(10,l.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter(((e,i)=>{var o;if(null===(o=n.submenuIds)||void 0===o?void 0:o.has(e.id))return console.warn(`Found submenu cycle: ${e.id}`),!1;if(e instanceof fd){if(i===t.length-1||0===i)return!1;if(t[i-1]instanceof fd)return!1}return!0})),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter((e=>!(e instanceof Iie))).forEach(((e,t,n)=>{e.updatePositionInSet(t+1,n.length)}))}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(Bs(e)?this.styleSheet=$s(e):(Die.globalStyleSheet||(Die.globalStyleSheet=$s()),this.styleSheet=Die.globalStyleSheet)),this.styleSheet.textContent=function(e,t){let n=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${Mie(Sa.menuSelection)}\n${Mie(Sa.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(t){n+="\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t";const t=e.scrollbarShadow;t&&(n+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${t} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const i=e.scrollbarSliderBackground;i&&(n+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${i};\n\t\t\t\t}\n\t\t\t`);const o=e.scrollbarSliderHoverBackground;o&&(n+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${o};\n\t\t\t\t}\n\t\t\t`);const s=e.scrollbarSliderActiveBackground;s&&(n+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${s};\n\t\t\t\t}\n\t\t\t`)}return n}(t,Bs(e))}styleScrollElement(e,t){var n,i;const o=null!==(n=t.foregroundColor)&&void 0!==n?n:"",s=null!==(i=t.backgroundColor)&&void 0!==i?i:"",r=t.borderColor?`1px solid ${t.borderColor}`:"",l=t.shadowColor?`0 2px 8px ${t.shadowColor}`:"";e.style.outline=r,e.style.borderRadius="5px",e.style.color=o,e.style.backgroundColor=s,e.style.boxShadow=l}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(ms(this.element,or.MOUSE_UP,(e=>{if(rr(e,!0),a){if(new $e(is(this.element),e).rightButton)return;this.onClick(e)}else setTimeout((()=>{this.onClick(e)}),0)}))),this._register(ms(this.element,or.CONTEXT_MENU,(e=>{rr(e,!0)}))))}),100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=dr(this.element,mr("a.action-menu-item")),this._action.id===fd.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=dr(this.item,mr("span.menu-item-check"+ka.asCSSSelector(Sa.menuSelection))),this.check.setAttribute("role","none"),this.label=dr(this.item,mr("span.action-label")),this.options.label&&this.options.keybinding&&(dr(this.item,mr("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){var e;super.focus(),null===(e=this.item)||void 0===e||e.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset",`${e}`),this.item.setAttribute("aria-setsize",`${t}`))}updateLabel(){var e;if(this.label&&this.options.label){gs(this.label);let t=Ia(this.action.label);if(t){const n=function(e){const t=Sie,n=t.exec(e);if(!n)return e;const i=!n[1];return e.replace(t,i?"$2$3":"").trim()}(t);this.options.enableMnemonics||(t=n),this.label.setAttribute("aria-label",n.replace(/&&/g,"&"));const i=Sie.exec(t);if(i){t=si(t),xie.lastIndex=0;let n=xie.exec(t);for(;n&&n[1];)n=xie.exec(t);const o=e=>e.replace(/&&/g,"&");n?this.label.append(ai(o(t.substr(0,n.index))," "),mr("u",{"aria-hidden":"true"},n[3]),di(o(t.substr(n.index+n[0].length))," ")):this.label.innerText=o(t).trim(),null===(e=this.item)||void 0===e||e.setAttribute("aria-keyshortcuts",(i[1]?i[1]:i[3]).toLocaleLowerCase())}else this.label.innerText=t.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),void 0!==e?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,i=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",o=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=null!=t?t:"",this.item.style.backgroundColor=null!=n?n:"",this.item.style.outline=i,this.item.style.outlineOffset=o),this.check&&(this.check.style.color=null!=t?t:"")}}class Eie extends Nie{constructor(e,t,n,i,o){super(e,e,i,o),this.submenuActions=t,this.parentData=n,this.submenuOptions=i,this.mysubmenu=null,this.submenuDisposables=this._register(new rt),this.mouseOver=!1,this.expandDirection=i&&void 0!==i.expandDirection?i.expandDirection:{horizontal:kie.Right,vertical:Lie.Below},this.showScheduler=new jt((()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))}),250),this.hideScheduler=new jt((()=>{this.element&&!Ps(Vs(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}),750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=dr(this.item,mr("span.submenu-indicator"+ka.asCSSSelector(Sa.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(ms(this.element,or.KEY_UP,(e=>{const t=new Ue(e);(t.equals(17)||t.equals(3))&&(rr(e,!0),this.createSubmenu(!0))}))),this._register(ms(this.element,or.KEY_DOWN,(e=>{const t=new Ue(e);Vs()===this.item&&(t.equals(17)||t.equals(3))&&rr(e,!0)}))),this._register(ms(this.element,or.MOUSE_OVER,(e=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())}))),this._register(ms(this.element,or.MOUSE_LEAVE,(e=>{this.mouseOver=!1}))),this._register(ms(this.element,or.FOCUS_OUT,(e=>{this.element&&!Ps(Vs(),this.element)&&this.hideScheduler.schedule()}))),this._register(this.parentData.parent.onScroll((()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}))))}updateEnabled(){}onClick(e){rr(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(e){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,n,i){const o={top:0,left:0};return o.left=Wne(e.width,t.width,{position:i.horizontal===kie.Right?0:1,offset:n.left,size:n.width}),o.left>=n.left&&o.left{new Ue(e).equals(15)&&(rr(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))}))),this.submenuDisposables.add(ms(this.submenuContainer,or.KEY_DOWN,(e=>{new Ue(e).equals(15)&&rr(e,!0)}))),this.submenuDisposables.add(this.parentData.submenu.onDidCancel((()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)}))),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){var t;this.item&&(null===(t=this.item)||void 0===t||t.setAttribute("aria-expanded",e))}applyStyle(){super.applyStyle();const e=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=null!=e?e:"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class Iie extends tM{constructor(e,t,n,i){super(e,t,n),this.menuStyles=i}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function Mie(e){const t=ya()[e.id];return`.codicon-${e.id}:before { content: '\\${t.toString(16)}'; }`}class Tie{constructor(e,t,n,i){this.contextViewService=e,this.telemetryService=t,this.notificationService=n,this.keybindingService=i,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;let n;this.focusToReturn=Vs();const i=e.domForShadowRoot instanceof HTMLElement?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:i=>{var o;this.lastContainer=i;const s=e.getMenuClassName?e.getMenuClassName():"";s&&(i.className+=" "+s),this.options.blockMouse&&(this.block=i.appendChild(mr(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",null===(o=this.blockDisposable)||void 0===o||o.dispose(),this.blockDisposable=ms(this.block,or.MOUSE_DOWN,(e=>e.stopPropagation())));const r=new rt,l=e.actionRunner||new md;l.onWillRun((t=>this.onActionRun(t,!e.skipTelemetry)),this,r),l.onDidRun(this.onDidActionRun,this,r),n=new Die(i,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:l,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)},EM),n.onDidCancel((()=>this.contextViewService.hideContextView(!0)),null,r),n.onDidBlur((()=>this.contextViewService.hideContextView(!0)),null,r);const a=is(i);return r.add(ms(a,or.BLUR,(()=>this.contextViewService.hideContextView(!0)))),r.add(ms(a,or.MOUSE_DOWN,(e=>{if(e.defaultPrevented)return;const t=new $e(a,e);let n=t.target;if(!t.rightButton){for(;n;){if(n===i)return;n=n.parentElement}this.contextViewService.hideContextView(!0)}}))),ot(r,n)},focus:()=>{null==n||n.focus(!!e.autoSelectFirstItem)},onHide:t=>{var n,i,o;null===(n=e.onHide)||void 0===n||n.call(e,!!t),this.block&&(this.block.remove(),this.block=null),null===(i=this.blockDisposable)||void 0===i||i.dispose(),this.blockDisposable=null,this.lastContainer&&(Vs()===this.lastContainer||Ps(Vs(),this.lastContainer))&&(null===(o=this.focusToReturn)||void 0===o||o.focus()),this.lastContainer=null}},i,!!i)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!Ne(e.error)&&this.notificationService.error(e.error)}}var Aie=function(e,t){return function(n,i){t(n,i,e)}};let Rie=class extends lt{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new Tie(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,n,i,o,s){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=n,this.keybindingService=i,this.menuService=o,this.contextKeyService=s,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new Ct),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new Ct)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=Pie.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{var n;null===(n=e.onHide)||void 0===n||n.call(e,t),this._onDidHideContextMenu.fire()}}),xr.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};var Pie,Oie;Rie=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Aie(0,Mu),Aie(1,nN),Aie(2,VL),Aie(3,zL),Aie(4,xu),Aie(5,su)],Rie),function(e){e.transform=function(e,t,n){if(!((i=e)&&i.menuId instanceof Su))return e;var i;const{menuId:o,menuActionOptions:s,contextKeyService:r}=e;return{...e,getActions:()=>{const i=[];if(o){const e=t.createMenu(o,null!=r?r:n);!function(e,t,n,i){const o=e.getActions(t),s=xr.getInstance();EU(o,n,s.keyStatus.altKey||(z||K)&&s.keyStatus.shiftKey,(e=>"navigation"===e))}(e,s,i),e.dispose()}return e.getActions?fd.join(e.getActions(),i):i}}}}(Pie||(Pie={})),function(e){e[e.API=0]="API",e[e.USER=1]="USER"}(Oie||(Oie={}));var Fie=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Bie=function(e,t){return function(n,i){t(n,i,e)}};let Wie=class{constructor(e){this._commandService=e}async open(e,t){if(!zo(e,Ho.command))return!1;if(!(null==t?void 0:t.allowCommands))return!0;if("string"==typeof e&&(e=Io.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path))return!0;let n=[];try{n=kk(decodeURIComponent(e.query))}catch(t){try{n=kk(e.query)}catch(e){}}return Array.isArray(n)||(n=[n]),await this._commandService.executeCommand(e.path,...n),!0}};Wie=Fie([Bie(0,wd)],Wie);let Vie=class{constructor(e){this._editorService=e}async open(e,t){"string"==typeof e&&(e=Io.parse(e));const{selection:n,uri:i}=function(e){let t;const n=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(e.fragment);return n&&(t={startLineNumber:parseInt(n[1]),startColumn:n[2]?parseInt(n[2]):1,endLineNumber:n[4]?parseInt(n[4]):void 0,endColumn:n[4]?n[5]?parseInt(n[5]):1:void 0},e=e.with({fragment:""})),{selection:t,uri:e}}(e);return(e=i).scheme===Ho.file&&(e=Ga(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:n,source:(null==t?void 0:t.fromUserGesture)?Oie.USER:Oie.API,...null==t?void 0:t.editorOptions}},this._editorService.getFocusedCodeEditor(),null==t?void 0:t.openToSide),!0}};Vie=Fie([Bie(0,ud)],Vie);let Hie=class{constructor(e,t){this._openers=new gt,this._validators=new gt,this._resolvers=new gt,this._resolvedUriTargets=new tl((e=>e.with({path:null,fragment:null,query:null}).toString())),this._externalOpeners=new gt,this._defaultExternalOpener={openExternal:async e=>(Uo(e,Ho.http,Ho.https)?br(e):o.location.href=e,!0)},this._openers.push({open:async(e,t)=>!(!(null==t?void 0:t.openExternal)&&!Uo(e,Ho.mailto,Ho.http,Ho.https,Ho.vsls)||(await this._doOpenExternal(e,t),0))}),this._openers.push(new Wie(t)),this._openers.push(new Vie(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){var n;const i="string"==typeof e?Io.parse(e):e,o=null!==(n=this._resolvedUriTargets.get(i))&&void 0!==n?n:e;for(const e of this._validators)if(!await e.shouldOpen(o,t))return!1;for(const n of this._openers)if(await n.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const n of this._resolvers)try{const i=await n.resolveExternalUri(e,t);if(i)return this._resolvedUriTargets.has(i.resolved)||this._resolvedUriTargets.set(i.resolved,e),i}catch(e){}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const n="string"==typeof e?Io.parse(e):e;let i,o;try{i=(await this.resolveExternalUri(n,t)).resolved}catch(e){i=n}if(o="string"==typeof e&&n.toString()===i.toString()?e:encodeURI(i.toString(!0)),null==t?void 0:t.allowContributedOpeners){const e="string"==typeof(null==t?void 0:t.allowContributedOpeners)?null==t?void 0:t.allowContributedOpeners:void 0;for(const t of this._externalOpeners)if(await t.openExternal(o,{sourceUri:n,preferredOpenerId:e},It.None))return!0}return this._defaultExternalOpener.openExternal(o,{sourceUri:n},It.None)}dispose(){this._validators.clear()}};Hie=Fie([Bie(0,ud),Bie(1,wd)],Hie);var zie=function(e,t){return function(n,i){t(n,i,e)}};let Uie=class extends lt{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new Ct),this._markerDecorations=new tl,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new Kie(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var t;const n=this._markerDecorations.get(e.uri);n&&(n.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==Ho.inMemory&&e.uri.scheme!==Ho.internal&&e.uri.scheme!==Ho.vscode||null===(t=this._markerService)||void 0===t||t.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};Uie=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([zie(0,hd),zie(1,GM)],Uie);class Kie extends lt{constructor(e){super(),this.model=e,this._map=new ol,this._register(st((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:n}=function(e,t){const n=[],i=[];for(const i of e)t.has(i)||n.push(i);for(const n of t)e.has(n)||i.push(n);return{removed:n,added:i}}(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===n.length)return!1;const i=n.map((e=>this._map.get(e))),o=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),s=this.model.deltaDecorations(i,o);for(const e of n)this._map.delete(e);for(let e=0;e=t)return n;const i=e.getWordAtPosition(n.getStartPosition());i&&(n=new nc(n.startLineNumber,i.startColumn,n.endLineNumber,i.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){const i=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);i=0}}var jie,qie=function(e,t){return function(n,i){t(n,i,e)}};function $ie(e){return e.toString()}class Gie{constructor(e,t,n){this.model=e,this._modelEventListeners=new rt,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>n(e,t))))}dispose(){this._modelEventListeners.dispose()}}const Zie=K||U?1:2;class Yie{constructor(e,t,n,i,o,s,r,l){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=i,this.heapSize=o,this.sha1=s,this.versionId=r,this.alternativeVersionId=l}}let Xie=jie=class extends lt{constructor(e,t,n,i,o){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._languageService=i,this._languageConfigurationService=o,this._onModelAdded=this._register(new Ct),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new Ct),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new Ct),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){var n;let i=yh.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(i=t),i<1&&(i=1)}let o="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(o=Math.max(t,1))}let s=yh.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let r=Zie;const l=e.eol;"\r\n"===l?r=2:"\n"===l&&(r=1);let a=yh.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let d=yh.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(d="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let u=yh.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(u="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let c=yh.bracketPairColorizationOptions;return(null===(n=e.editor)||void 0===n?void 0:n.bracketPairColorization)&&"object"==typeof e.editor.bracketPairColorization&&(c={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:i,indentSize:o,insertSpaces:s,detectIndentation:d,defaultEOL:r,trimAutoWhitespace:a,largeFileOptimizations:u,bracketPairColorizationOptions:c}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const n=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return n&&"string"==typeof n&&"auto"!==n?n:3===ee||2===ee?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,n){const i="string"==typeof e?e:e.languageId;let o=this._modelCreationOptionsByLanguageAndResource[i+t];if(!o){const e=this._configurationService.getValue("editor",{overrideIdentifier:i,resource:t}),s=this._getEOL(t,i);o=jie._readModelOptions({editor:e,eol:s},n),this._modelCreationOptionsByLanguageAndResource[i+t]=o}return o}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let i=0,o=n.length;ie){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,i){const o=this.getCreationOptions(t,n,i),s=new Cy(e,t,o,n,this._undoRedoService,this._languageService,this._languageConfigurationService);if(n&&this._disposedModels.has($ie(n))){const e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),i=this._getSHA1Computer(),o=!!i.canComputeSHA1(s)&&i.computeSHA1(s)===e.sha1;if(o||e.sharesUndoRedoStack){for(const e of t.past)Gb(e)&&e.matchesResource(n)&&e.setModel(s);for(const e of t.future)Gb(e)&&e.matchesResource(n)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(n,!0,(e=>Gb(e)&&e.matchesResource(n))),o&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const r=$ie(s.uri);if(this._models[r])throw new Error("ModelService: Cannot add model because it already exists!");const l=new Gie(s,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[r]=l,l}createModel(e,t,n,i=!1){let o;return o=t?this._createModelData(e,t,n,i):this._createModelData(e,Kg,n,i),this._onModelAdded.fire(o.model),o.model}getModels(){const e=[],t=Object.keys(this._models);for(let n=0,i=t.length;n0||t.future.length>0){for(const n of t.past)Gb(n)&&n.matchesResource(e.uri)&&(o=!0,s+=n.heapSize(e.uri),n.setModel(e.uri));for(const n of t.future)Gb(n)&&n.matchesResource(e.uri)&&(o=!0,s+=n.heapSize(e.uri),n.setModel(e.uri))}}const r=jie.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(o)if(i||!(s>r)&&l.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(r-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>Gb(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new Yie(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),i,s,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!i){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const n=t.oldLanguage,i=e.getLanguageId(),o=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(i,e.uri,e.isForSimpleWidget);jie._setModelOptionsForModel(e,s,o),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new Qie}};Xie.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520,Xie=jie=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([qie(0,pg),qie(1,OH),qie(2,cy),qie(3,Sh),qie(4,Qg)],Xie);class Qie{canComputeSHA1(e){return e.getValueLength()<=Qie.MAX_MODEL_SIZE}computeSHA1(e){const t=new ts,n=e.createSnapshot();let i;for(;i=n.read();)t.update(i);return t.digest()}}Qie.MAX_MODEL_SIZE=10485760;var Jie=n(1446),eoe={};eoe.styleTagTransform=Vr(),eoe.setAttributes=Or(),eoe.insert=Rr().bind(null,"head"),eoe.domAPI=Tr(),eoe.insertStyleElement=Br(),Ir()(Jie.A,eoe),Jie.A&&Jie.A.locals&&Jie.A.locals;var toe=function(e,t){return function(n,i){t(n,i,e)}};let noe=class extends lt{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=fu.as(n0),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,n){var i,o,s;const[r,l]=this.getOrInstantiateProvider(e),a=this.visibleQuickAccess,d=null==a?void 0:a.descriptor;if(a&&l&&d===l)return e===l.prefix||(null==n?void 0:n.preserveValue)||(a.picker.value=e),void this.adjustValueSelection(a.picker,l,n);if(l&&!(null==n?void 0:n.preserveValue)){let t;if(a&&d&&d!==l){const e=a.value.substr(d.prefix.length);e&&(t=`${l.prefix}${e}`)}if(!t){const e=null==r?void 0:r.defaultFilterValue;e===t0.LAST?t=this.lastAcceptedPickerValues.get(l):"string"==typeof e&&(t=`${l.prefix}${e}`)}"string"==typeof t&&(e=t)}const u=null===(i=null==a?void 0:a.picker)||void 0===i?void 0:i.valueSelection,c=null===(o=null==a?void 0:a.picker)||void 0===o?void 0:o.value,h=new rt,g=h.add(this.quickInputService.createQuickPick());let p;g.value=e,this.adjustValueSelection(g,l,n),g.placeholder=null==l?void 0:l.placeholder,g.quickNavigate=null==n?void 0:n.quickNavigateConfiguration,g.hideInput=!!g.quickNavigate&&!a,("number"==typeof(null==n?void 0:n.itemActivation)||(null==n?void 0:n.quickNavigateConfiguration))&&(g.itemActivation=null!==(s=null==n?void 0:n.itemActivation)&&void 0!==s?s:yL.SECOND),g.contextKey=null==l?void 0:l.contextKey,g.filterValue=e=>e.substring(l?l.prefix.length:0),t&&(p=new Yt,h.add(ft.once(g.onWillAccept)((e=>{e.veto(),g.hide()})))),h.add(this.registerPickerListeners(g,r,l,e,null==n?void 0:n.providerOptions));const m=h.add(new Tt);return r&&h.add(r.provide(g,m.token,null==n?void 0:n.providerOptions)),ft.once(g.onDidHide)((()=>{0===g.selectedItems.length&&m.cancel(),h.dispose(),null==p||p.complete(g.selectedItems.slice(0))})),g.show(),u&&c===e&&(g.valueSelection=u),t?null==p?void 0:p.p:void 0}adjustValueSelection(e,t,n){var i;let o;o=(null==n?void 0:n.preserveValue)?[e.value.length,e.value.length]:[null!==(i=null==t?void 0:t.prefix.length)&&void 0!==i?i:0,e.value.length],e.valueSelection=o}registerPickerListeners(e,t,n,i,o){const s=new rt,r=this.visibleQuickAccess={picker:e,descriptor:n,value:i};return s.add(st((()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)}))),s.add(e.onDidChangeValue((e=>{const[n]=this.getOrInstantiateProvider(e);n!==t?this.show(e,{preserveValue:!0,providerOptions:o}):r.value=e}))),n&&s.add(e.onDidAccept((()=>{this.lastAcceptedPickerValues.set(n,e.value)}))),s}getOrInstantiateProvider(e){const t=this.registry.getQuickAccessProvider(e);if(!t)return[void 0,void 0];let n=this.mapProviderToDescriptor.get(t);return n||(n=this.instantiationService.createInstance(t.ctor),this.mapProviderToDescriptor.set(t,n)),[n,t]}};noe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([toe(0,SL),toe(1,ad)],noe);var ioe=n(7492),ooe={};ooe.styleTagTransform=Vr(),ooe.setAttributes=Or(),ooe.insert=Rr().bind(null,"head"),ooe.domAPI=Tr(),ooe.insertStyleElement=Br(),Ir()(ioe.A,ooe),ioe.A&&ioe.A.locals&&ioe.A.locals;class soe{constructor(e){this.nodes=e}toString(){return this.nodes.map((e=>"string"==typeof e?e:e.label)).join("")}}!function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);s>3&&r&&Object.defineProperty(t,n,r)}([xL],soe.prototype,"toString",null);const roe=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi,loe={},aoe=new Ck("quick-input-button-icon-");function doe(e,t,n){let i=e.iconClass||function(e){if(!e)return;let t;const n=e.dark.toString();return loe[n]?t=loe[n]:(t=aoe.nextId(),Js(`.${t}, .hc-light .${t}`,`background-image: ${wr(e.light||e.dark)}`),Js(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${wr(e.dark)}`),loe[n]=t),t}(e.iconPath);return e.alwaysVisible&&(i=i?`${i} always-visible`:"always-visible"),{id:t,label:"",tooltip:e.tooltip||"",class:i,enabled:!0,run:n}}const uoe=new ei((()=>{const e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}}));new ei((()=>({collator:new Intl.Collator(void 0,{numeric:!0})}))),new ei((()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})})));var coe,hoe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},goe=function(e,t){return function(n,i){t(n,i,e)}};const poe=mr;var moe,foe;!function(e){e[e.First=1]="First",e[e.Second=2]="Second",e[e.Last=3]="Last",e[e.Next=4]="Next",e[e.Previous=5]="Previous",e[e.NextPage=6]="NextPage",e[e.PreviousPage=7]="PreviousPage",e[e.NextSeparator=8]="NextSeparator",e[e.PreviousSeparator=9]="PreviousSeparator"}(moe||(moe={}));class _oe{constructor(e,t,n){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new ei((()=>{var e;const t=null!==(e=n.label)&&void 0!==e?e:"",i=Ta(t).text.trim(),o=n.ariaLabel||[t,this.saneDescription,this.saneDetail].map((e=>{return(t=e)?t.replace(/\$\((.*?)\)/g,((e,t)=>` ${t} `)).trim():"";var t})).filter((e=>!!e)).join(", ");return{saneLabel:t,saneSortLabel:i,saneAriaLabel:o}})),this._saneDescription=n.description,this._saneTooltip=n.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class voe extends _oe{constructor(e,t,n,i,o,s){var r,l,a;super(e,t,o),this.fireButtonTriggered=n,this._onChecked=i,this.item=o,this._separator=s,this._checked=!1,this.onChecked=t?ft.map(ft.filter(this._onChecked.event,(e=>e.element===this)),(e=>e.checked)):ft.None,this._saneDetail=o.detail,this._labelHighlights=null===(r=o.highlights)||void 0===r?void 0:r.label,this._descriptionHighlights=null===(l=o.highlights)||void 0===l?void 0:l.description,this._detailHighlights=null===(a=o.highlights)||void 0===a?void 0:a.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}!function(e){e[e.NONE=0]="NONE",e[e.MOUSE_HOVER=1]="MOUSE_HOVER",e[e.ACTIVE_ITEM=2]="ACTIVE_ITEM"}(foe||(foe={}));class boe extends _oe{constructor(e,t,n){super(e,!1,n),this.fireSeparatorButtonTriggered=t,this.separator=n,this.children=new Array,this.focusInsideSeparator=foe.NONE}}class woe{getHeight(e){return e instanceof boe?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof voe?Soe.ID:xoe.ID}}class Coe{getWidgetAriaLabel(){return _(0,"Quick Input")}getAriaLabel(e){var t;return(null===(t=e.separator)||void 0===t?void 0:t.label)?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(e.hasCheckbox&&e instanceof voe)return{value:e.checked,onDidChange:e.onChecked}}}class yoe{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new rt,t.toDisposeTemplate=new rt,t.entry=dr(e,poe(".quick-input-list-entry"));const n=dr(t.entry,poe("label.quick-input-list-label"));t.toDisposeTemplate.add(_s(n,or.CLICK,(e=>{t.checkbox.offsetParent||e.preventDefault()}))),t.checkbox=dr(n,poe("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const i=dr(n,poe(".quick-input-list-rows")),o=dr(i,poe(".quick-input-list-row")),s=dr(i,poe(".quick-input-list-row"));t.label=new p$(o,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=ur(t.label.element,poe(".quick-input-list-icon"));const r=dr(o,poe(".quick-input-list-entry-keybinding"));t.keybinding=new fM(r,ee),t.toDisposeTemplate.add(t.keybinding);const l=dr(s,poe(".quick-input-list-label-meta"));return t.detail=new p$(l,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=dr(t.entry,poe(".quick-input-list-separator")),t.actionBar=new iM(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,n){n.toDisposeElement.clear(),n.actionBar.clear()}}let Soe=coe=class extends yoe{constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return coe.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(_s(t.checkbox,or.CHANGE,(e=>{t.element.checked=t.checkbox.checked}))),t}renderElement(e,t,n){var i,o,s;const r=e.element;n.element=r,r.element=null!==(i=n.entry)&&void 0!==i?i:void 0;const l=r.item;n.checkbox.checked=r.checked,n.toDisposeElement.add(r.onChecked((e=>n.checkbox.checked=e))),n.checkbox.disabled=r.checkboxDisabled;const{labelHighlights:a,descriptionHighlights:d,detailHighlights:u}=r;if(l.iconPath){const e=Mv(this.themeService.getColorTheme().type)?l.iconPath.dark:null!==(o=l.iconPath.light)&&void 0!==o?o:l.iconPath.dark,t=Io.revive(e);n.icon.className="quick-input-list-icon",n.icon.style.backgroundImage=wr(t)}else n.icon.style.backgroundImage="",n.icon.className=l.iconClass?`quick-input-list-icon ${l.iconClass}`:"";let c;!r.saneTooltip&&r.saneDescription&&(c={markdown:{value:r.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});const h={matches:a||[],descriptionTitle:c,descriptionMatches:d||[],labelEscapeNewLines:!0};if(h.extraClasses=l.iconClasses,h.italic=l.italic,h.strikethrough=l.strikethrough,n.entry.classList.remove("quick-input-list-separator-as-item"),n.label.setLabel(r.saneLabel,r.saneDescription,h),n.keybinding.set(l.keybinding),r.saneDetail){let e;r.saneTooltip||(e={markdown:{value:r.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDetail}),n.detail.element.style.display="",n.detail.setLabel(r.saneDetail,void 0,{matches:u,title:e,labelEscapeNewLines:!0})}else n.detail.element.style.display="none";(null===(s=r.separator)||void 0===s?void 0:s.label)?(n.separator.textContent=r.separator.label,n.separator.style.display="",this.addItemWithSeparator(r)):n.separator.style.display="none",n.entry.classList.toggle("quick-input-list-separator-border",!!r.separator);const g=l.buttons;g&&g.length?(n.actionBar.push(g.map(((e,t)=>doe(e,`id-${t}`,(()=>r.fireButtonTriggered({button:e,item:r.item}))))),{icon:!0,label:!1}),n.entry.classList.add("has-actions")):n.entry.classList.remove("has-actions")}disposeElement(e,t,n){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,n)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};Soe.ID="quickpickitem",Soe=coe=hoe([goe(1,Tv)],Soe);class xoe extends yoe{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}get templateId(){return xoe.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderElement(e,t,n){var i;const o=e.element;n.element=o,o.element=null!==(i=n.entry)&&void 0!==i?i:void 0,o.element.classList.toggle("focus-inside",!!o.focusInsideSeparator);const s=o.separator,{labelHighlights:r,descriptionHighlights:l,detailHighlights:a}=o;let d;n.icon.style.backgroundImage="",n.icon.className="",!o.saneTooltip&&o.saneDescription&&(d={markdown:{value:o.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDescription});const u={matches:r||[],descriptionTitle:d,descriptionMatches:l||[],labelEscapeNewLines:!0};if(n.entry.classList.add("quick-input-list-separator-as-item"),n.label.setLabel(o.saneLabel,o.saneDescription,u),o.saneDetail){let e;o.saneTooltip||(e={markdown:{value:o.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDetail}),n.detail.element.style.display="",n.detail.setLabel(o.saneDetail,void 0,{matches:a,title:e,labelEscapeNewLines:!0})}else n.detail.element.style.display="none";n.separator.style.display="none",n.entry.classList.add("quick-input-list-separator-border");const c=s.buttons;c&&c.length?(n.actionBar.push(c.map(((e,t)=>doe(e,`id-${t}`,(()=>o.fireSeparatorButtonTriggered({button:e,separator:o.separator}))))),{icon:!0,label:!1}),n.entry.classList.add("has-actions")):n.entry.classList.remove("has-actions"),this.addSeparator(o)}disposeElement(e,t,n){var i;this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||null===(i=e.element.element)||void 0===i||i.classList.remove("focus-inside"),super.disposeElement(e,t,n)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}}xoe.ID="quickpickseparator";let koe=class extends lt{constructor(e,t,n,i,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=n,this._onKeyDown=new Ct,this.onKeyDown=this._onKeyDown.event,this._onLeave=new Ct,this.onLeave=this._onLeave.event,this._onChangedAllVisibleChecked=new Ct,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new Ct,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new Ct,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new Ct,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new Ct,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new Ct,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._onTriggerEmptySelectionOrFocus=new Ct,this._elementChecked=new Ct,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new rt),this._shouldFireCheckedEvents=!0,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._container=dr(this.parent,poe(".quick-input-list")),this._separatorRenderer=new xoe(t),this._itemRenderer=o.createInstance(Soe,t),this._tree=this._register(o.createInstance(qq,"QuickInput",this._container,new woe,[this._itemRenderer,this._separatorRenderer],{accessibilityProvider:new Coe,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:zK.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,identityProvider:{getId:e=>{var t,n,i,o,s,r,l,a;return null!==(a=null!==(r=null!==(o=null!==(n=null===(t=e.item)||void 0===t?void 0:t.id)&&void 0!==n?n:null===(i=e.item)||void 0===i?void 0:i.label)&&void 0!==o?o:null===(s=e.separator)||void 0===s?void 0:s.id)&&void 0!==r?r:null===(l=e.separator)||void 0===l?void 0:l.label)&&void 0!==a?a:""}},alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=i,this._registerListeners()}get onDidChangeFocus(){return ft.map(ft.any(this._tree.onDidChangeFocus,this._onTriggerEmptySelectionOrFocus.event),(e=>e.elements.filter((e=>e instanceof voe)).map((e=>e.item))))}get onDidChangeSelection(){return ft.map(ft.any(this._tree.onDidChangeSelection,this._onTriggerEmptySelectionOrFocus.event),(e=>({items:e.elements.filter((e=>e instanceof voe)).map((e=>e.item)),event:e.browserEvent})))}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=null!=e?e:""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown((e=>{const t=new Ue(e);switch(t.keyCode){case 10:this.toggleCheckbox();break;case 31:(U?e.metaKey:e.ctrlKey)&&this._tree.setFocus(this._itemElements);break;case 16:{const e=this._tree.getFocus();1===e.length&&e[0]===this._itemElements[0]&&this._onLeave.fire();break}case 18:{const e=this._tree.getFocus();1===e.length&&e[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}}this._onKeyDown.fire(t)})))}_registerOnContainerClick(){this._register(ms(this._container,or.CLICK,(e=>{(e.x||e.y)&&this._onLeave.fire()})))}_registerOnMouseMiddleClick(){this._register(ms(this._container,or.AUXCLICK,(e=>{1===e.button&&this._onLeave.fire()})))}_registerOnElementChecked(){this._register(this._elementChecked.event((e=>this._fireCheckedEvents())))}_registerOnContextMenu(){this._register(this._tree.onContextMenu((e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))})))}_registerHoverListeners(){const e=this._register(new Wt(this.hoverDelegate.delay));this._register(this._tree.onMouseOver((async t=>{var n;if(t.browserEvent.target instanceof HTMLAnchorElement)e.cancel();else if(t.browserEvent.relatedTarget instanceof HTMLAnchorElement||!Ps(t.browserEvent.relatedTarget,null===(n=t.element)||void 0===n?void 0:n.element))try{await e.trigger((async()=>{t.element instanceof voe&&this.showHover(t.element)}))}catch(t){if(!Ne(t))throw t}}))),this._register(this._tree.onMouseOut((t=>{var n;Ps(t.browserEvent.relatedTarget,null===(n=t.element)||void 0===n?void 0:n.element)||e.cancel()})))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus((e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const e of this._separatorRenderer.visibleSeparators){const n=e===t;!!(e.focusInsideSeparator&foe.ACTIVE_ITEM)!==n&&(n?e.focusInsideSeparator|=foe.ACTIVE_ITEM:e.focusInsideSeparator&=~foe.ACTIVE_ITEM,this._tree.rerender(e))}}))),this._register(this._tree.onMouseOver((e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const e of this._separatorRenderer.visibleSeparators)e===t&&(e.focusInsideSeparator&foe.MOUSE_HOVER||(e.focusInsideSeparator|=foe.MOUSE_HOVER,this._tree.rerender(e)))}))),this._register(this._tree.onMouseOut((e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const e of this._separatorRenderer.visibleSeparators)e===t&&e.focusInsideSeparator&foe.MOUSE_HOVER&&(e.focusInsideSeparator&=~foe.MOUSE_HOVER,this._tree.rerender(e))})))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection((e=>{const t=e.elements.filter((e=>e instanceof voe));t.length!==e.elements.length&&(1===e.elements.length&&e.elements[0]instanceof boe&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))})))}getAllVisibleChecked(){return this._allVisibleChecked(this._itemElements,!1)}getCheckedCount(){return this._itemElements.filter((e=>e.checked)).length}getVisibleCount(){return this._itemElements.filter((e=>!e.hidden)).length}setAllVisibleChecked(e){try{this._shouldFireCheckedEvents=!1,this._itemElements.forEach((t=>{t.hidden||t.checkboxDisabled||(t.checked=e)}))}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}setElements(e){this._elementDisposable.clear(),this._inputElements=e;const t=this.parent.classList.contains("show-checkboxes");let n;this._itemElements=new Array,this._elementTree=e.reduce(((i,o,s)=>{let r;if("separator"===o.type){if(!o.buttons)return i;n=new boe(s,(e=>this.fireSeparatorButtonTriggered(e)),o),r=n}else{const l=s>0?e[s-1]:void 0;let a;l&&"separator"===l.type&&!l.buttons&&(n=void 0,a=l);const d=new voe(s,t,(e=>this.fireButtonTriggered(e)),this._elementChecked,o,a);if(this._itemElements.push(d),n)return n.children.push(d),i;r=d}return i.push(r),i}),new Array);const i=new Array;let o=0;for(const e of this._elementTree)e instanceof boe?(i.push({element:e,collapsible:!1,collapsed:!1,children:e.children.map((e=>({element:e,collapsible:!1,collapsed:!1})))}),o+=e.children.length+1):(i.push({element:e,collapsible:!1,collapsed:!1}),o++);this._tree.setChildren(null,i),this._onChangedVisibleCount.fire(o)}setFocusedElements(e){const t=e.map((e=>this._itemElements.find((t=>t.item===e)))).filter((e=>!!e));if(this._tree.setFocus(t),e.length>0){const e=this._tree.getFocus()[0];e&&this._tree.reveal(e)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map((e=>this._itemElements.find((t=>t.item===e)))).filter((e=>!!e));this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter((e=>e.checked)).map((e=>e.item))}setCheckedElements(e){try{this._shouldFireCheckedEvents=!1;const t=new Set;for(const n of e)t.add(n);for(const e of this._itemElements)e.checked=t.has(e.item)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}focus(e){var t;if(this._itemElements.length)switch(e===moe.Second&&this._itemElements.length<2&&(e=moe.First),e){case moe.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,(e=>e.element instanceof voe));break;case moe.Second:this._tree.scrollTop=0,this._tree.setFocus([this._itemElements[1]]);break;case moe.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]);break;case moe.Next:this._tree.focusNext(void 0,!0,void 0,(e=>e.element instanceof voe&&(this._tree.reveal(e.element),!0)));break;case moe.Previous:this._tree.focusPrevious(void 0,!0,void 0,(e=>{if(!(e.element instanceof voe))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0}));break;case moe.NextPage:this._tree.focusNextPage(void 0,(e=>e.element instanceof voe&&(this._tree.reveal(e.element),!0)));break;case moe.PreviousPage:this._tree.focusPreviousPage(void 0,(e=>{if(!(e.element instanceof voe))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0}));break;case moe.NextSeparator:{let e=!1;const t=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,(t=>{if(e)return!0;if(t.element instanceof boe)e=!0,this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element.children[0]):this._tree.reveal(t.element,0);else if(t.element instanceof voe){if(t.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),!0;if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0}return!1})),t===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]));break}case moe.PreviousSeparator:{let e,n=!!(null===(t=this._tree.getFocus()[0])||void 0===t?void 0:t.separator);this._tree.focusPrevious(void 0,!0,void 0,(t=>{if(t.element instanceof boe)n?e||(this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),e=t.element.children[0]):n=!0;else if(t.element instanceof voe&&!e)if(t.element.separator)this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),e=t.element;else if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0;return!1})),e&&this._tree.setFocus([e]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?44*Math.floor(e/44)+6+"px":"",this._tree.layout()}filter(e){if(!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if((e=e.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let n;this._elementTree.forEach((i=>{var o,s,r,l;let a;a="fuzzy"===this.matchOnLabelMode?this.matchOnLabel&&null!==(o=Aa(e,Ta(i.saneLabel)))&&void 0!==o?o:void 0:this.matchOnLabel&&null!==(s=function(e,t){const{text:n,iconOffsets:i}=t;if(!i||0===i.length)return Loe(e,n);const o=ai(n," "),s=n.length-o.length,r=Loe(e,o);if(r)for(const e of r){const t=i[e.start+s]+s;e.start+=t,e.end+=t}return r}(t,Ta(i.saneLabel)))&&void 0!==s?s:void 0;const d=this.matchOnDescription&&null!==(r=Aa(e,Ta(i.saneDescription||"")))&&void 0!==r?r:void 0,u=this.matchOnDetail&&null!==(l=Aa(e,Ta(i.saneDetail||"")))&&void 0!==l?l:void 0;if(a||d||u?(i.labelHighlights=a,i.descriptionHighlights=d,i.detailHighlights=u,i.hidden=!1):(i.labelHighlights=void 0,i.descriptionHighlights=void 0,i.detailHighlights=void 0,i.hidden=!i.item||!i.item.alwaysShow),i.item?i.separator=void 0:i.separator&&(i.hidden=!0),!this.sortByLabel){const e=i.index&&this._inputElements[i.index-1];n=e&&"separator"===e.type?e:n,n&&!i.hidden&&(i.separator=n,n=void 0)}}))}else this._itemElements.forEach((e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;const t=e.index&&this._inputElements[e.index-1];e.item&&(e.separator=t&&"separator"===t.type&&!t.buttons?t:void 0)}));const n=this._elementTree.filter((e=>!e.hidden));if(this.sortByLabel&&e){const t=e.toLowerCase();n.sort(((e,n)=>function(e,t,n){const i=e.labelHighlights||[],o=t.labelHighlights||[];return i.length&&!o.length?-1:!i.length&&o.length?1:0===i.length&&0===o.length?0:function(e,t,n){const i=e.toLowerCase(),o=t.toLowerCase(),s=function(e,t,n){const i=e.toLowerCase(),o=t.toLowerCase(),s=i.startsWith(n),r=o.startsWith(n);if(s!==r)return s?-1:1;if(s&&r){if(i.lengtho.length)return 1}return 0}(e,t,n);if(s)return s;const r=i.endsWith(n);if(r!==o.endsWith(n))return r?-1:1;const l=function(e,t,n=!1){const i=e||"",o=t||"",s=uoe.value.collator.compare(i,o);return uoe.value.collatorIsNumeric&&0===s&&i!==o?i(t instanceof voe?i?i.children.push(t):e.push(t):t instanceof boe&&(t.children=[],i=t,e.push(t)),e)),new Array),s=new Array;for(const e of o)e instanceof boe?s.push({element:e,collapsible:!1,collapsed:!1,children:e.children.map((e=>({element:e,collapsible:!1,collapsed:!1})))}):s.push({element:e,collapsible:!1,collapsed:!1});const r=this._tree.getFocus().length;return this._tree.setChildren(null,s),r>0&&0===s.length&&this._onTriggerEmptySelectionOrFocus.fire({elements:[]}),this._tree.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(n.length),!0}toggleCheckbox(){try{this._shouldFireCheckedEvents=!1;const e=this._tree.getFocus().filter((e=>e instanceof voe)),t=this._allVisibleChecked(e);for(const n of e)n.checkboxDisabled||(n.checked=!t)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}display(e){this._container.style.display=e?"":"none"}isDisplayed(){return"none"!==this._container.style.display}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!((null==e?void 0:e.saneTooltip)&&e instanceof voe))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();this.showHover(e);const t=new rt;t.add(this._tree.onDidChangeFocus((e=>{e.elements[0]instanceof voe&&this.showHover(e.elements[0])}))),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_allVisibleChecked(e,t=!0){for(let n=0,i=e.length;n{this.linkOpenerDelegate(e)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};function Loe(e,t){const n=t.toLowerCase().indexOf(e.toLowerCase());return-1!==n?[{start:n,end:n+e.length}]:null}hoe([xL],koe.prototype,"onDidChangeFocus",null),hoe([xL],koe.prototype,"onDidChangeSelection",null),koe=hoe([goe(4,ad)],koe);var Doe=function(e,t){return function(n,i){t(n,i,e)}};const Noe={iconClass:ka.asClassName(Sa.quickInputBack),tooltip:_(0,"Back"),handle:-1};class Eoe extends lt{constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=Eoe.noPromptMessage,this._severity=eN.Ignore,this.onDidTriggerButtonEmitter=this._register(new Ct),this.onDidHideEmitter=this._register(new Ct),this.onWillHideEmitter=this._register(new Ct),this.onDisposeEmitter=this._register(new Ct),this.visibleDisposables=this._register(new rt),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!G;this._ignoreFocusOut=e&&!G,t&&this.update()}get buttons(){return this._buttons}set buttons(e){this._buttons=e,this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=null!=e?e:[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton((e=>{-1!==this.buttons.indexOf(e)&&this.onDidTriggerButtonEmitter.fire(e)}))),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=CL.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=CL.Other){this.onWillHideEmitter.fire({reason:e})}update(){var e,t;if(!this.visible)return;const n=this.getTitle();n&&this.ui.title.textContent!==n?this.ui.title.textContent=n:n||" "===this.ui.title.innerHTML||(this.ui.title.innerText=" ");const i=this.getDescription();if(this.ui.description1.textContent!==i&&(this.ui.description1.textContent=i),this.ui.description2.textContent!==i&&(this.ui.description2.textContent=i),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?cr(this.ui.widget,this._widget):cr(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new Ut,this.busyDelay.setIfNotSet((()=>{this.visible&&this.ui.progressBar.infinite()}),800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const e=this.buttons.filter((e=>e===Noe)).map(((e,t)=>doe(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.leftActionBar.push(e,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const t=this.buttons.filter((e=>e!==Noe)).map(((e,t)=>doe(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.rightActionBar.push(t,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const n=null!==(t=null===(e=this.toggles)||void 0===e?void 0:e.filter((e=>e instanceof fK)))&&void 0!==t?t:[];this.ui.inputBox.toggles=n}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const o=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==o&&(this._lastValidationMessage=o,cr(this.ui.message),function(e,t,n){cr(t);const i=function(e){const t=[];let n,i=0;for(;n=roe.exec(e);){n.index-i>0&&t.push(e.substring(i,n.index));const[,o,s,,r]=n;r?t.push({label:o,href:s,title:r}):t.push({label:o,href:s}),i=n.index+n[0].length}return i{sr(t)&&rr(t,!0),n.callback(e.href)},l=n.disposables.add(new US(s,or.CLICK)).event,a=n.disposables.add(new US(s,or.KEY_DOWN)).event,d=ft.chain(a,(e=>e.filter((e=>{const t=new Ue(e);return t.equals(10)||t.equals(3)}))));n.disposables.add(LL.addTarget(s));const u=n.disposables.add(new US(s,kL.Tap)).event;ft.any(l,u,d)(r,null,n.disposables),t.appendChild(s)}}(o,this.ui.message,{callback:e=>{this.ui.linkOpenerDelegate(e)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?_(0,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==eN.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:"",this.ui.message.style.backgroundColor=t.background?`${t.background}`:"",this.ui.message.style.border=t.border?`1px solid ${t.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}Eoe.noPromptMessage=_(0,"Press 'Enter' to confirm your input or 'Escape' to cancel");class Ioe extends Eoe{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new Ct),this.onWillAcceptEmitter=this._register(new Ct),this.onDidAcceptEmitter=this._register(new Ct),this.onDidCustomEmitter=this._register(new Ct),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=yL.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new Ct),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new Ct),this.onDidTriggerItemButtonEmitter=this._register(new Ct),this.onDidTriggerSeparatorButtonEmitter=this._register(new Ct),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?wL:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(moe.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((e=>{this.doSetValue(e,!0)}))),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown((e=>{switch(e.keyCode){case 18:(U?e.metaKey:e.altKey)?this.ui.list.focus(moe.NextSeparator):this.ui.list.focus(moe.Next),this.canSelectMany&&this.ui.list.domFocus(),rr(e,!0);break;case 16:(U?e.metaKey:e.altKey)?this.ui.list.focus(moe.PreviousSeparator):this.ui.list.focus(moe.Previous),this.canSelectMany&&this.ui.list.domFocus(),rr(e,!0);break;case 12:this.ui.list.focus(moe.NextPage),this.canSelectMany&&this.ui.list.domFocus(),rr(e,!0);break;case 11:this.ui.list.focus(moe.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),rr(e,!0);break;case 17:if(!this._canAcceptInBackground)return;if(!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:!e.ctrlKey&&!e.metaKey||e.shiftKey||e.altKey||(this.ui.list.focus(moe.First),rr(e,!0));break;case 13:!e.ctrlKey&&!e.metaKey||e.shiftKey||e.altKey||(this.ui.list.focus(moe.Last),rr(e,!0))}}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)}))),this.visibleDisposables.add(this.ui.onDidCustom((()=>{this.onDidCustomEmitter.fire()}))),this.visibleDisposables.add(this.ui.list.onDidChangeFocus((e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&Ic(e,this._activeItems,((e,t)=>e===t))||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))}))),this.visibleDisposables.add(this.ui.list.onDidChangeSelection((({items:e,event:t})=>{this.canSelectMany?e.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&Ic(e,this._selectedItems,((e,t)=>e===t))||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(nr(t)&&1===t.button))}))),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((e=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&Ic(e,this._selectedItems,((e,t)=>e===t))||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))}))),this.visibleDisposables.add(this.ui.list.onButtonTriggered((e=>this.onDidTriggerItemButtonEmitter.fire(e)))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((e=>this.onDidTriggerSeparatorButtonEmitter.fire(e)))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return ms(this.ui.container,or.KEY_UP,(e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new Ue(e),n=t.keyCode;this._quickNavigate.keybindings.some((e=>{const i=e.getChords();return!(i.length>1||(i[0].shiftKey&&4===n?t.ctrlKey||t.altKey||t.metaKey:!(i[0].altKey&&6===n||i[0].ctrlKey&&5===n||i[0].metaKey&&57===n)))}))&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)}))}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,n={title:!!this.title||!!this.step||!!this.buttons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(n),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let i=this.ariaLabel;if(!i&&n.inputBox&&(i=this.placeholder||Ioe.DEFAULT_ARIA_LABEL,this.title&&(i+=` - ${this.title}`)),this.ui.list.ariaLabel!==i&&(this.ui.list.ariaLabel=null!=i?i:null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated){this.itemsUpdated=!1;const e=this._activeItems;switch(this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case yL.NONE:e.length>0&&(this._activeItems=[],this.onDidChangeActiveEmitter.fire(this._activeItems)),this._itemActivation=yL.FIRST;break;case yL.SECOND:this.ui.list.focus(moe.Second),this._itemActivation=yL.FIRST;break;case yL.LAST:this.ui.list.focus(moe.Last),this._itemActivation=yL.FIRST;break;default:this.trySelectFirst()}}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",n.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(moe.First)),this.keepScrollPosition&&(this.scrollTop=e)}}Ioe.DEFAULT_ARIA_LABEL=_(0,"Type to narrow down results.");class Moe extends Eoe{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new Ct),this.onDidAcceptEmitter=this._register(new Ct),this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>this.onDidAcceptEmitter.fire()))),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}let Toe=class extends kQ{constructor(e,t){super("element",!1,(e=>this.getOverrideOptions(e)),e,t)}getOverrideOptions(e){var t;return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(e.content instanceof HTMLElement?null!==(t=e.content.textContent)&&void 0!==t?t:"":"string"==typeof e.content?e.content:e.content.value).includes("\n"),skipFadeInAnimation:!0}}}};Toe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Doe(0,pg),Doe(1,xQ)],Toe);var Aoe=n(4978),Roe={};Roe.styleTagTransform=Vr(),Roe.setAttributes=Or(),Roe.insert=Rr().bind(null,"head"),Roe.domAPI=Tr(),Roe.insertStyleElement=Br(),Ir()(Aoe.A,Roe),Aoe.A&&Aoe.A.locals&&Aoe.A.locals;const Poe="done",Ooe="active",Foe="infinite",Boe="infinite-long-running",Woe="discrete";class Voe extends lt{constructor(e,t){super(),this.workedVal=0,this.showDelayedScheduler=this._register(new jt((()=>fr(this.element)),0)),this.longRunningScheduler=this._register(new jt((()=>this.infiniteLongRunning()),Voe.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(null==t?void 0:t.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(Ooe,Foe,Boe,Woe),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(Poe),this.element.classList.contains(Foe)?(this.bit.style.opacity="0",e?setTimeout((()=>this.off()),200):this.off()):(this.bit.style.width="inherit",e?setTimeout((()=>this.off()),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(Woe,Poe,Boe),this.element.classList.add(Ooe,Foe),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(Boe)}getContainer(){return this.element}}Voe.LONG_RUNNING_INFINITE_THRESHOLD=1e4;const Hoe=mr;class zoe extends lt{constructor(e,t,n){super(),this.parent=e,this.onKeyDown=e=>_s(this.findInput.inputBox.inputElement,or.KEY_DOWN,e),this.onDidChange=e=>this.findInput.onDidChange(e),this.container=dr(this.parent,Hoe(".quick-input-box")),this.findInput=this._register(new AK(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:n}));const i=this.findInput.inputBox.inputElement;i.role="combobox",i.ariaHasPopup="menu",i.ariaAutoComplete="list",i.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===eN.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===eN.Info?1:e===eN.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===eN.Info?1:e===eN.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}var Uoe,Koe=function(e,t){return function(n,i){t(n,i,e)}};const joe=mr;let qoe=Uoe=class extends lt{get container(){return this._container}constructor(e,t,n){super(),this.options=e,this.layoutService=t,this.instantiationService=n,this.enabled=!0,this.onDidAcceptEmitter=this._register(new Ct),this.onDidCustomEmitter=this._register(new Ct),this.onDidTriggerButtonEmitter=this._register(new Ct),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new Ct),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new Ct),this.onHide=this.onHideEmitter.event,this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(ft.runAndSubscribe(us,(({window:e,disposables:t})=>this.registerKeyModsListeners(e,t)),{window:o,disposables:this._store})),this._register(cs((e=>{this.ui&&is(this.ui.container)===e&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})))}registerKeyModsListeners(e,t){const n=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey};for(const i of[or.KEY_DOWN,or.KEY_UP,or.MOUSE_DOWN])t.add(ms(e,i,n,!0))}getUI(e){if(this.ui)return e&&is(this._container)!==is(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=dr(this._container,joe(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const n=$s(t),i=dr(t,joe(".quick-input-titlebar")),o=this._register(new iM(i,{hoverDelegate:this.options.hoverDelegate}));o.domNode.classList.add("quick-input-left-action-bar");const s=dr(i,joe(".quick-input-title")),r=this._register(new iM(i,{hoverDelegate:this.options.hoverDelegate}));r.domNode.classList.add("quick-input-right-action-bar");const l=dr(t,joe(".quick-input-header")),a=dr(l,joe("input.quick-input-check-all"));a.type="checkbox",a.setAttribute("aria-label",_(0,"Toggle all checkboxes")),this._register(_s(a,or.CHANGE,(e=>{const t=a.checked;D.setAllVisibleChecked(t)}))),this._register(ms(a,or.CLICK,(e=>{(e.x||e.y)&&h.setFocus()})));const d=dr(l,joe(".quick-input-description")),u=dr(l,joe(".quick-input-and-message")),c=dr(u,joe(".quick-input-filter")),h=this._register(new zoe(c,this.styles.inputBox,this.styles.toggle));h.setAttribute("aria-describedby",`${this.idPrefix}message`);const g=dr(c,joe(".quick-input-visible-count"));g.setAttribute("aria-live","polite"),g.setAttribute("aria-atomic","true");const p=new d$(g,{countFormat:_(0,"{0} Results")},this.styles.countBadge),m=dr(c,joe(".quick-input-count"));m.setAttribute("aria-live","polite");const f=new d$(m,{countFormat:_(0,"{0} Selected")},this.styles.countBadge),v=dr(l,joe(".quick-input-action")),b=this._register(new FL(v,this.styles.button));b.label=_(0,"OK"),this._register(b.onDidClick((e=>{this.onDidAcceptEmitter.fire()})));const w=dr(l,joe(".quick-input-action")),C=this._register(new FL(w,{...this.styles.button,supportIcons:!0}));C.label=_(0,"Custom"),this._register(C.onDidClick((e=>{this.onDidCustomEmitter.fire()})));const y=dr(u,joe(`#${this.idPrefix}message.quick-input-message`)),S=this._register(new Voe(t,this.styles.progressBar));S.getContainer().classList.add("quick-input-progress");const x=dr(t,joe(".quick-input-html-widget"));x.tabIndex=-1;const k=dr(t,joe(".quick-input-description")),L=this.idPrefix+"list",D=this._register(this.instantiationService.createInstance(koe,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,L));h.setAttribute("aria-controls",L),this._register(D.onDidChangeFocus((()=>{var e;h.setAttribute("aria-activedescendant",null!==(e=D.getActiveDescendant())&&void 0!==e?e:"")}))),this._register(D.onChangedAllVisibleChecked((e=>{a.checked=e}))),this._register(D.onChangedVisibleCount((e=>{p.setCount(e)}))),this._register(D.onChangedCheckedCount((e=>{f.setCount(e)}))),this._register(D.onLeave((()=>{setTimeout((()=>{this.controller&&(h.setFocus(),this.controller instanceof Ioe&&this.controller.canSelectMany&&D.clearFocus())}),0)})));const N=ar(t);return this._register(N),this._register(ms(t,or.FOCUS,(e=>{Ps(e.relatedTarget,t)||(this.previousFocusElement=e.relatedTarget instanceof HTMLElement?e.relatedTarget:void 0)}),!0)),this._register(N.onDidBlur((()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(CL.Blur),this.previousFocusElement=void 0}))),this._register(ms(t,or.FOCUS,(e=>{h.setFocus()}))),this._register(_s(t,or.KEY_DOWN,(e=>{if(!Ps(e.target,x))switch(e.keyCode){case 3:rr(e,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:rr(e,!0),this.hide(CL.Gesture);break;case 2:if(!e.altKey&&!e.ctrlKey&&!e.metaKey){const n=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?n.push("input"):n.push("input[type=text]"),this.getUI().list.isDisplayed()&&n.push(".monaco-list"),this.getUI().message&&n.push(".quick-input-message a"),this.getUI().widget){if(Ps(e.target,this.getUI().widget))break;n.push(".quick-input-html-widget")}const i=t.querySelectorAll(n.join(", "));e.shiftKey&&e.target===i[0]?(rr(e,!0),D.clearFocus()):!e.shiftKey&&Ps(e.target,i[i.length-1])&&(rr(e,!0),i[0].focus())}break;case 10:e.ctrlKey&&(rr(e,!0),this.getUI().list.toggleHover())}}))),this.ui={container:t,styleSheet:n,leftActionBar:o,titleBar:i,title:s,description1:k,description2:d,widget:x,rightActionBar:r,checkAll:a,inputContainer:u,filterContainer:c,inputBox:h,visibleCountContainer:g,visibleCount:p,countContainer:m,count:f,okContainer:v,ok:b,message:y,customButtonContainer:w,customButton:C,list:D,progressBar:S,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e),linkOpenerDelegate:e=>this.options.linkOpenerDelegate(e)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,dr(this._container,this.ui.container))}pick(e,t={},n=It.None){return new Promise(((i,o)=>{let s=e=>{var n;s=i,null===(n=t.onKeyMods)||void 0===n||n.call(t,r.keyMods),i(e)};if(n.isCancellationRequested)return void s(void 0);const r=this.createQuickPick();let l;const a=[r,r.onDidAccept((()=>{if(r.canSelectMany)s(r.selectedItems.slice()),r.hide();else{const e=r.activeItems[0];e&&(s(e),r.hide())}})),r.onDidChangeActive((e=>{const n=e[0];n&&t.onDidFocus&&t.onDidFocus(n)})),r.onDidChangeSelection((e=>{if(!r.canSelectMany){const t=e[0];t&&(s(t),r.hide())}})),r.onDidTriggerItemButton((e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...e,removeItem:()=>{const t=r.items.indexOf(e.item);if(-1!==t){const e=r.items.slice(),n=e.splice(t,1),i=r.activeItems.filter((e=>e!==n[0])),o=r.keepScrollPosition;r.keepScrollPosition=!0,r.items=e,i&&(r.activeItems=i),r.keepScrollPosition=o}}}))),r.onDidTriggerSeparatorButton((e=>{var n;return null===(n=t.onDidTriggerSeparatorButton)||void 0===n?void 0:n.call(t,e)})),r.onDidChangeValue((e=>{!l||e||1===r.activeItems.length&&r.activeItems[0]===l||(r.activeItems=[l])})),n.onCancellationRequested((()=>{r.hide()})),r.onDidHide((()=>{it(a),s(void 0)}))];r.title=t.title,r.canSelectMany=!!t.canPickMany,r.placeholder=t.placeHolder,r.ignoreFocusOut=!!t.ignoreFocusLost,r.matchOnDescription=!!t.matchOnDescription,r.matchOnDetail=!!t.matchOnDetail,r.matchOnLabel=void 0===t.matchOnLabel||t.matchOnLabel,r.quickNavigate=t.quickNavigate,r.hideInput=!!t.hideInput,r.contextKey=t.contextKey,r.busy=!0,Promise.all([e,t.activeItem]).then((([e,t])=>{l=t,r.busy=!1,r.items=e,r.canSelectMany&&(r.selectedItems=e.filter((e=>"separator"!==e.type&&e.picked))),l&&(r.activeItems=[l])})),r.show(),Promise.resolve(e).then(void 0,(e=>{o(e),r.hide()}))}))}createQuickPick(){const e=this.getUI(!0);return new Ioe(e)}createInputBox(){const e=this.getUI(!0);return new Moe(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const n=this.controller;this.controller=e,null==n||n.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",cr(t.widget),t.rightActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(eN.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),cr(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const i=this.options.backKeybindingLabel();Noe.tooltip=i?_(0,"Back ({0})",i):_(0,"Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus()}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=!e.description||e.inputBox||e.checkAll?"none":"",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.display(!!e.list),t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){var t,n;const i=this.controller;if(!i)return;i.willHide(e);const o=null===(t=this.ui)||void 0===t?void 0:t.container,s=o&&!zs(o);if(this.controller=null,this.onHideEmitter.fire(),o&&(o.style.display="none"),!s){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=null!==(n=e.parentElement)&&void 0!==n?n:void 0;(null==e?void 0:e.offsetParent)?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}i.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const e=this.ui.container.style,t=Math.min(.62*this.dimension.width,Uoe.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:n,widgetBorder:i,widgetShadow:o}=this.styles.widget;this.ui.titleBar.style.backgroundColor=null!=e?e:"",this.ui.container.style.backgroundColor=null!=t?t:"",this.ui.container.style.color=null!=n?n:"",this.ui.container.style.border=i?`1px solid ${i}`:"",this.ui.container.style.boxShadow=o?`0 0 8px 2px ${o}`:"",this.ui.list.style(this.styles.list);const s=[];this.styles.pickerGroup.pickerGroupBorder&&s.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&s.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&s.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(s.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&s.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&s.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&s.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&s.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&s.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),s.push("}"));const r=s.join("\n");r!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=r)}}};qoe.MAX_WIDTH=600,qoe=Uoe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Koe(1,rne),Koe(2,ad)],qoe);var $oe=function(e,t){return function(n,i){t(n,i,e)}};let Goe=class extends Bv{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(noe))),this._quickAccess}constructor(e,t,n,i,o){super(n),this.instantiationService=e,this.contextKeyService=t,this.layoutService=i,this.configurationService=o,this._onShow=this._register(new Ct),this._onHide=this._register(new Ct),this.contexts=new Map}createController(e=this.layoutService,t){const n={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:e=>this.setContextKey(e),linkOpenerDelegate:e=>{this.instantiationService.invokeFunction((t=>{t.get(rL).open(e,{allowCommands:!0,fromUserGesture:!0})}))},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(Toe))},i=this._register(this.instantiationService.createInstance(qoe,{...n,...t}));return i.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer((t=>{is(e.activeContainer)===is(i.container)&&i.layout(t,e.activeContainerOffset.quickPickTop)}))),this._register(e.onDidChangeActiveContainer((()=>{i.isVisible()||i.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)}))),this._register(i.onShow((()=>{this.resetContextKeys(),this._onShow.fire()}))),this._register(i.onHide((()=>{this.resetContextKeys(),this._onHide.fire()}))),i}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new ou(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),t&&t.get()||(this.resetContextKeys(),null==t||t.set(!0))}resetContextKeys(){this.contexts.forEach((e=>{e.get()&&e.reset()}))}pick(e,t={},n=It.None){return this.controller.pick(e,t,n)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:ym(wv),quickInputForeground:ym(Cv),quickInputTitleBackground:ym(yv),widgetBorder:ym(Tf),widgetShadow:ym(Mf)},inputBox:CM,toggle:wM,countBadge:SM,button:vM,progressBar:bM,keybindingLabel:_M,list:kM({listBackground:wv,listFocusBackground:Nv,listFocusForeground:Lv,listInactiveFocusForeground:Lv,listInactiveSelectionIconForeground:Dv,listInactiveFocusBackground:Nv,listFocusOutline:Wm,listInactiveFocusOutline:Wm}),pickerGroup:{pickerGroupBorder:ym(xv),pickerGroupForeground:ym(Sv)}}}};Goe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([$oe(0,ad),$oe(1,su),$oe(2,Tv),$oe(3,rne),$oe(4,pg)],Goe);var Zoe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Yoe=function(e,t){return function(n,i){t(n,i,e)}};let Xoe=class extends Goe{constructor(e,t,n,i,o,s){super(t,n,i,new une(e.getContainerDomNode(),o),s),this.host=void 0;const r=Joe.get(e);if(r){const t=r.widget;this.host={_serviceBrand:void 0,get mainContainer(){return t.getDomNode()},getContainer:()=>t.getDomNode(),whenContainerStylesLoaded(){},get containers(){return[t.getDomNode()]},get activeContainer(){return t.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return ft.map(e.onDidLayoutChange,(e=>({container:t.getDomNode(),dimension:e})))},get onDidChangeActiveContainer(){return ft.None},get onDidAddContainer(){return ft.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};Xoe=Zoe([Yoe(1,ad),Yoe(2,su),Yoe(3,Tv),Yoe(4,ud),Yoe(5,pg)],Xoe);let Qoe=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const n=t=this.instantiationService.createInstance(Xoe,e);this.mapEditorToService.set(e,t),Ze(e.onDidDispose)((()=>{n.dispose(),this.mapEditorToService.delete(e)}))}return t}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t={},n=It.None){return this.activeService.pick(e,t,n)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};Qoe=Zoe([Yoe(0,ad),Yoe(1,ud)],Qoe);class Joe{static get(e){return e.getContribution(Joe.ID)}constructor(e){this.editor=e,this.widget=new ese(this.editor)}dispose(){this.widget.dispose()}}Joe.ID="editor.controller.quickInput";class ese{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return ese.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}ese.ID="editor.contrib.quickInputWidget",Zu(Joe.ID,Joe,4);var tse=function(e,t){return function(n,i){t(n,i,e)}};let nse=class extends lt{constructor(e,t,n){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=n,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new Ct,this._onDidChangeReducedMotion=new Ct,this._accessibilityModeEnabledContext=$S.bindTo(this._contextKeyService);const i=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration("editor.accessibilitySupport")&&(i(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())}))),i(),this._register(this.onDidChangeScreenReaderOptimized((()=>i())));const s=o.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=s.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(s)}initReducedMotionListeners(e){this._register(ms(e,"change",(()=>{this._systemMotionReduced=e.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()})));const t=()=>{const e=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",e),this._layoutService.mainContainer.classList.toggle("enable-motion",!e)};t(),this._register(this.onDidChangeReducedMotion((()=>t())))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return"on"===e||"auto"===e&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return"on"===e||"auto"===e&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};nse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([tse(0,su),tse(1,rne),tse(2,pg)],nse);var ise,ose,sse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},rse=function(e,t){return function(n,i){t(n,i,e)}};let lse=class{constructor(e,t){this._commandService=e,this._hiddenStates=new ase(t)}createMenu(e,t,n){return new use(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...n},this._commandService,t)}resetHiddenStates(e){this._hiddenStates.reset(e)}};lse=sse([rse(0,wd),rse(1,KB)],lse);let ase=ise=class{constructor(e){this._storageService=e,this._disposables=new rt,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(ise._key,0,"{}");this._data=JSON.parse(t)}catch(e){this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,ise._key,this._disposables)((()=>{if(!this._ignoreChangeEvent)try{const t=e.get(ise._key,0,"{}");this._data=JSON.parse(t)}catch(e){console.log("FAILED to read storage after UPDATE",e)}this._onDidChange.fire()})))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){var n;return null!==(n=this._hiddenByDefaultCache.get(`${e.id}/${t}`))&&void 0!==n&&n}setDefaultState(e,t,n){this._hiddenByDefaultCache.set(`${e.id}/${t}`,n)}isHidden(e,t){var n,i;const o=this._isHiddenByDefault(e,t),s=null!==(i=null===(n=this._data[e.id])||void 0===n?void 0:n.includes(t))&&void 0!==i&&i;return o?!s:s}updateHidden(e,t,n){this._isHiddenByDefault(e,t)&&(n=!n);const i=this._data[e.id];if(n)i?i.indexOf(t)<0&&i.push(t):this._data[e.id]=[t];else if(i){const n=i.indexOf(t);n>=0&&function(e,t){const n=e.length-1;te[1])));o.length>0&&s.push(new Du(t,i,o))}}s.length>0&&t.push([i,s])}return t}static _fillInKbExprKeys(e,t){if(e)for(const n of e.keys())t.add(n)}static _compareMenuItems(e,t){const n=e.group,i=t.group;if(n!==i){if(!n)return 1;if(!i)return-1;if("navigation"===n)return-1;if("navigation"===i)return 1;const e=n.localeCompare(i);if(0!==e)return e}const o=e.order||0,s=t.order||0;return os?1:ose._compareTitles(yu(e)?e.command.title:e.title,yu(t)?t.command.title:t.title)}static _compareTitles(e,t){const n="string"==typeof e?e:e.original,i="string"==typeof t?t:t.original;return n.localeCompare(i)}};dse=ose=sse([rse(3,wd),rse(4,su)],dse);let use=class{constructor(e,t,n,i,o){this._disposables=new rt,this._menuInfo=new dse(e,t,n.emitEventsForSubmenuChanges,i,o);const s=new jt((()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})}),n.eventDebounceDelay);this._disposables.add(s),this._disposables.add(Lu.onDidChangeMenu((t=>{t.has(e)&&s.schedule()})));const r=this._disposables.add(new rt);this._onDidChange=new xt({onWillAddFirstListener:()=>{r.add(o.onDidChangeContext((e=>{const t=e.affectsSome(this._menuInfo.structureContextKeys),n=e.affectsSome(this._menuInfo.preconditionContextKeys),i=e.affectsSome(this._menuInfo.toggledContextKeys);(t||n||i)&&this._onDidChange.fire({menu:this,isStructuralChange:t,isEnablementChange:n,isToggleChange:i})}))),r.add(t.onDidChange((e=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})})))},onDidRemoveLastListener:r.clear.bind(r),delay:n.eventDebounceDelay,merge:e=>{let t=!1,n=!1,i=!1;for(const o of e)if(t=t||o.isStructuralChange,n=n||o.isEnablementChange,i=i||o.isToggleChange,t&&n&&i)break;return{menu:this,isStructuralChange:t,isEnablementChange:n,isToggleChange:i}}}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};function cse(e,t,n){const i=void 0!==t.submenu?t.submenu.id:t.id,o="string"==typeof t.title?t.title:t.title.value,s=bd({id:`hide/${e.id}/${i}`,label:_(0,"Hide '{0}'",o),run(){n.updateHidden(e,i,!0)}}),r=bd({id:`toggle/${e.id}/${i}`,label:o,get checked(){return!n.isHidden(e,i)},run(){n.updateHidden(e,i,!!this.checked)}});return{hide:s,toggle:r,get isHidden(){return!r.checked}}}use=sse([rse(3,wd),rse(4,su)],use);var hse,gse=function(e,t){return function(n,i){t(n,i,e)}};let pse=hse=class extends lt{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(c||h)&&this.installWebKitWriteTextWorkaround(),this._register(ft.runAndSubscribe(us,(({window:e,disposables:t})=>{t.add(ms(e.document,"copy",(()=>this.clearResources())))}),{window:o,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const e=new Yt;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=e,navigator.clipboard.write([new ClipboardItem({"text/plain":e.p})]).catch((async t=>{t instanceof Error&&"NotAllowedError"===t.name&&e.isRejected||this.logService.error(t)}))};this._register(ft.runAndSubscribe(this.layoutService.onDidAddContainer,(({container:t,disposables:n})=>{n.add(ms(t,"click",e)),n.add(ms(t,"keydown",e))}),{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.writeResources([]),t)this.mapTextToType.set(t,e);else{if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await navigator.clipboard.writeText(e)}catch(e){console.error(e)}this.fallbackWriteText(e)}}fallbackWriteText(e){const t=Us(),n=t.activeElement,i=t.body.appendChild(mr("textarea",{"aria-hidden":!0}));i.style.height="1px",i.style.width="1px",i.style.position="absolute",i.value=e,i.focus(),i.select(),t.execCommand("copy"),n instanceof HTMLElement&&n.focus(),t.body.removeChild(i)}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await navigator.clipboard.readText()}catch(e){console.error(e)}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async writeResources(e){0===e.length?this.clearResources():(this.resources=e,this.resourcesStateHash=await this.computeResourcesStateHash())}async readResources(){const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResources(),this.resources}async computeResourcesStateHash(){if(0!==this.resources.length)return Go((await this.readText()).substring(0,hse.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearResources(){this.resources=[],this.resourcesStateHash=void 0}};pse.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,pse=hse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([gse(0,rne),gse(1,Tu)],pse);const mse="data-keybinding-context";class fse{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)}removeValue(e){return e in this._value&&(delete this._value[e],!0)}getValue(e){const t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t}}class _se extends fse{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}_se.INSTANCE=new _se;class vse extends fse{constructor(e,t,n){super(e,null),this._configurationService=t,this._values=Lx.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration((e=>{if(7===e.source){const e=Array.from(this._values,(([e])=>e));this._values.clear(),n.fire(new Cse(e))}else{const t=[];for(const n of e.affectedKeys){const e=`config.${n}`,i=this._values.findSuperstr(e);void 0!==i&&(t.push(...Ye.map(i,(([e])=>e))),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}n.fire(new Cse(t))}}))}dispose(){this._listener.dispose()}getValue(e){if(0!==e.indexOf(vse._keyPrefix))return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(vse._keyPrefix.length),n=this._configurationService.getValue(t);let i;switch(typeof n){case"number":case"boolean":case"string":i=n;break;default:i=Array.isArray(n)?JSON.stringify(n):n}return this._values.set(e,i),i}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}vse._keyPrefix="config.";class bse{constructor(e,t,n){this._service=e,this._key=t,this._defaultValue=n,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class wse{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class Cse{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every((t=>e.has(t)))}}class yse{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every((t=>t.allKeysContainedIn(e)))}}class Sse extends lt{constructor(e){super(),this._onDidChangeContext=this._register(new St({merge:e=>new yse(e)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new bse(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new kse(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return!e||e.evaluate(t)}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const n=this.getContextValuesContainer(this._myContextId);n&&n.setValue(e,t)&&this._onDidChangeContext.fire(new wse(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new wse(e))}getContext(e){return this._isDisposed?_se.INSTANCE:this.getContextValuesContainer(function(e){for(;e;){if(e.hasAttribute(mse)){const t=e.getAttribute(mse);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}(e))}dispose(){super.dispose(),this._isDisposed=!0}}let xse=class extends Sse{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new vse(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?_se.INSTANCE:this._contexts.get(e)||_se.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new fse(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};xse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,pg)],xse);class kse extends Sse{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new at),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(mse)){let e="";this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(e?": "+e:""))}this._domNode.setAttribute(mse,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((e=>{var t;t=this._parent.getContextValuesContainer(this._myContextId).value,e.allKeysContainedIn(new Set(Object.keys(t)))||this._onDidChangeContext.fire(e)}))}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(mse),super.dispose())}getContextValuesContainer(e){return this._isDisposed?_se.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}Cd.registerCommand("_setContext",(function(e,t,n){e.get(su).createKey(String(t),function(e){return pc(e,(e=>"object"==typeof e&&1===e.$mid?Io.revive(e).toString():e instanceof Io?e.toString():void 0))}(n))})),Cd.registerCommand({id:"getContextKeyInfo",handler:()=>[...ou.all()].sort(((e,t)=>e.key.localeCompare(t.key))),metadata:{description:_(0,"A command that returns information about context keys"),args:[]}}),Cd.registerCommand("_generateContextKeyInfo",(function(){const e=[],t=new Set;for(const n of ou.all())t.has(n.key)||(t.add(n.key),e.push(n));e.sort(((e,t)=>e.key.localeCompare(t.key))),console.log(JSON.stringify(e,void 0,2))}));class Lse{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}}class Dse{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())0===t.outgoing.size&&e.push(t);return e}insertEdge(e,t){const n=this.lookupOrInsertNode(e),i=this.lookupOrInsertNode(t);n.outgoing.set(i.key,i),i.incoming.set(n.key,n)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const e of this._nodes.values())e.outgoing.delete(t),e.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let n=this._nodes.get(t);return n||(n=new Lse(t,e),this._nodes.set(t,n)),n}isEmpty(){return 0===this._nodes.size}toString(){const e=[];for(const[t,n]of this._nodes)e.push(`${t}\n\t(-> incoming)[${[...n.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...n.outgoing.keys()].join(",")}]\n`);return e.join("\n")}findCycleSlow(){for(const[e,t]of this._nodes){const n=new Set([e]),i=this._findCycle(t,n);if(i)return i}}_findCycle(e,t){for(const[n,i]of e.outgoing){if(t.has(n))return[...t,n].join(" -> ");t.add(n);const e=this._findCycle(i,t);if(e)return e;t.delete(n)}}}class Nse extends Error{constructor(e){var t;super("cyclic dependency between services"),this.message=null!==(t=e.findCycleSlow())&&void 0!==t?t:`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}}class Ese{constructor(e=new bB,t=!1,n,i=!1){var o;this._services=e,this._strict=t,this._parent=n,this._enableTracing=i,this._activeInstantiations=new Set,this._services.set(ad,this),this._globalGraph=i?null!==(o=null==n?void 0:n._globalGraph)&&void 0!==o?o:new Dse((e=>e)):void 0}createChild(e){return new Ese(e,this._strict,this,this._enableTracing)}invokeFunction(e,...t){const n=Ise.traceInvocation(this._enableTracing,e);let i=!1;try{return e({get:e=>{if(i)throw Me("service accessor is only valid during the invocation of its target method");const t=this._getOrCreateServiceInstance(e,n);if(!t)throw new Error(`[invokeFunction] unknown service '${e}'`);return t}},...t)}finally{i=!0,n.stop()}}createInstance(e,...t){let n,i;return e instanceof wg?(n=Ise.traceCreation(this._enableTracing,e.ctor),i=this._createInstance(e.ctor,e.staticArguments.concat(t),n)):(n=Ise.traceCreation(this._enableTracing,e),i=this._createInstance(e,t,n)),n.stop(),i}_createInstance(e,t=[],n){const i=sd.getServiceDependencies(e).sort(((e,t)=>e.index-t.index)),o=[];for(const t of i){const i=this._getOrCreateServiceInstance(t.id,n);i||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`,!1),o.push(i)}const s=i.length>0?i[0].index:t.length;if(t.length!==s){console.trace(`[createInstance] First service dependency of ${e.name} at position ${s+1} conflicts with ${t.length} static arguments`);const n=s-t.length;t=n>0?t.concat(new Array(n)):t.slice(0,s)}return Reflect.construct(e,t.concat(o))}_setServiceInstance(e,t){if(this._services.get(e)instanceof wg)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(e,t)}}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const n=this._getServiceInstanceOrDescriptor(e);return n instanceof wg?this._safeCreateAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)}_safeCreateAndCacheServiceInstance(e,t,n){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,n)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,n){var i;const o=new Dse((e=>e.id.toString()));let s=0;const r=[{id:e,desc:t,_trace:n}];for(;r.length;){const t=r.pop();if(o.lookupOrInsertNode(t),s++>1e3)throw new Nse(o);for(const n of sd.getServiceDependencies(t.desc.ctor)){const s=this._getServiceInstanceOrDescriptor(n.id);if(s||this._throwIfStrict(`[createInstance] ${e} depends on ${n.id} which is NOT registered.`,!0),null===(i=this._globalGraph)||void 0===i||i.insertEdge(String(t.id),String(n.id)),s instanceof wg){const e={id:n.id,desc:s,_trace:t._trace.branch(n.id,!0)};o.insertEdge(t,e),r.push(e)}}}for(;;){const e=o.roots();if(0===e.length){if(!o.isEmpty())throw new Nse(o);break}for(const{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof wg){const e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setServiceInstance(t.id,e)}o.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,n=[],i,o){if(this._services.get(e)instanceof wg)return this._createServiceInstance(e,t,n,i,o);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,n,i,o);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,n=[],i,o){if(i){const i=new Ese(void 0,this._strict,this,this._enableTracing);i._globalGraphImplicitDependency=String(e);const s=new Map,r=new Zt((()=>{const e=i._createInstance(t,n,o);for(const[t,n]of s){const i=e[t];if("function"==typeof i)for(const t of n)t.disposable=i.apply(e,t.listener)}return s.clear(),e}));return new Proxy(Object.create(null),{get(e,t){if(!r.isInitialized&&"string"==typeof t&&(t.startsWith("onDid")||t.startsWith("onWill"))){let e=s.get(t);e||(e=new gt,s.set(t,e));const n=(n,i,o)=>{if(r.isInitialized)return r.value[t](n,i,o);{const t={listener:[n,i,o],disposable:void 0},s=e.push(t),r=st((()=>{var e;s(),null===(e=t.disposable)||void 0===e||e.dispose()}));return r}};return n}if(t in e)return e[t];const n=r.value;let i=n[t];return"function"!=typeof i||(i=i.bind(n),e[t]=i),i},set:(e,t,n)=>(r.value[t]=n,!0),getPrototypeOf:e=>t.prototype})}return this._createInstance(t,n,o)}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw new Error(e)}}class Ise{static traceInvocation(e,t){return e?new Ise(2,t.name||(new Error).stack.split("\n").slice(3,4).join("\n")):Ise._None}static traceCreation(e,t){return e?new Ise(1,t.name):Ise._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const n=new Ise(3,e.toString());return this._dep.push([e,t,n]),n}stop(){const e=Date.now()-this._start;Ise._totals+=e;let t=!1;const n=[`${1===this.type?"CREATE":"CALL"} ${this.name}`,`${function e(n,i){const o=[],s=new Array(n+1).join("\t");for(const[r,l,a]of i._dep)if(l&&a){t=!0,o.push(`${s}CREATES -> ${r}`);const i=e(n+1,a);i&&o.push(i)}else o.push(`${s}uses -> ${r}`);return o.join("\n")}(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${Ise._totals.toFixed(2)}ms)`];(e>2||t)&&Ise.all.add(n.join("\n"))}}Ise.all=new Set,Ise._None=new class extends Ise{constructor(){super(0,null)}stop(){}branch(){return this}},Ise._totals=0;const Mse=new Set([Ho.inMemory,Ho.vscodeSourceControl,Ho.walkThrough,Ho.walkThroughSnippet,Ho.vscodeChatCodeBlock]);class Tse{constructor(){this._byResource=new tl,this._byOwner=new Map}set(e,t,n){let i=this._byResource.get(e);i||(i=new Map,this._byResource.set(e,i)),i.set(t,n);let o=this._byOwner.get(t);o||(o=new tl,this._byOwner.set(t,o)),o.set(e,n)}get(e,t){const n=this._byResource.get(e);return null==n?void 0:n.get(t)}delete(e,t){let n=!1,i=!1;const o=this._byResource.get(e);o&&(n=o.delete(t));const s=this._byOwner.get(t);if(s&&(i=s.delete(e)),n!==i)throw new Error("illegal state");return n&&i}values(e){var t,n,i,o;return"string"==typeof e?null!==(n=null===(t=this._byOwner.get(e))||void 0===t?void 0:t.values())&&void 0!==n?n:Ye.empty():Io.isUri(e)?null!==(o=null===(i=this._byResource.get(e))||void 0===i?void 0:i.values())&&void 0!==o?o:Ye.empty():Ye.map(Ye.concat(...this._byOwner.values()),(e=>e[1]))}}class Ase{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new tl,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const e=this._data.get(t);e&&this._substract(e);const n=this._resourceStats(t);this._add(n),this._data.set(t,n)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(Mse.has(e.scheme))return t;for(const{severity:n}of this._service.read({resource:e}))n===qM.Error?t.errors+=1:n===qM.Warning?t.warnings+=1:n===qM.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class Rse{constructor(){this._onMarkerChanged=new xt({delay:0,merge:Rse._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new Tse,this._stats=new Ase(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const n of t||[])this.changeOne(e,n,[])}changeOne(e,t,n){if(Bc(n))this._data.delete(t,e)&&this._onMarkerChanged.fire([t]);else{const i=[];for(const o of n){const n=Rse._toMarker(e,t,o);n&&i.push(n)}this._data.set(t,e,i),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,n){let{code:i,severity:o,message:s,source:r,startLineNumber:l,startColumn:a,endLineNumber:d,endColumn:u,relatedInformation:c,tags:h}=n;if(s)return l=l>0?l:1,a=a>0?a:1,d=d>=l?d:l,u=u>0?u:a,{resource:t,owner:e,code:i,severity:o,message:s,source:r,startLineNumber:l,startColumn:a,endLineNumber:d,endColumn:u,relatedInformation:c,tags:h}}changeAll(e,t){const n=[],i=this._data.values(e);if(i)for(const t of i){const i=Ye.first(t);i&&(n.push(i.resource),this._data.delete(i.resource,e))}if(Wc(t)){const i=new tl;for(const{resource:o,marker:s}of t){const t=Rse._toMarker(e,o,s);if(!t)continue;const r=i.get(o);r?r.push(t):(i.set(o,[t]),n.push(o))}for(const[t,n]of i)this._data.set(t,e,n)}n.length>0&&this._onMarkerChanged.fire(n)}read(e=Object.create(null)){let{owner:t,resource:n,severities:i,take:o}=e;if((!o||o<0)&&(o=-1),t&&n){const e=this._data.get(n,t);if(e){const t=[];for(const n of e)if(Rse._accept(n,i)){const e=t.push(n);if(o>0&&e===o)break}return t}return[]}if(t||n){const e=this._data.values(null!=n?n:t),s=[];for(const t of e)for(const e of t)if(Rse._accept(e,i)){const t=s.push(e);if(o>0&&t===o)return s}return s}{const e=[];for(const t of this._data.values())for(const n of t)if(Rse._accept(n,i)){const t=e.push(n);if(o>0&&t===o)return e}return e}}static _accept(e,t){return void 0===t||(t&e.severity)===e.severity}static _merge(e){const t=new tl;for(const n of e)for(const e of n)t.set(e,!0);return Array.from(t.keys())}}class Pse extends lt{constructor(){super(...arguments),this._configurationModel=new Zne}get configurationModel(){return this._configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new Zne;const e=fu.as(Dg).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const n=this.getConfigurationDefaultOverrides();for(const i of e){const e=n[i],o=t[i];void 0!==e?this._configurationModel.addValue(i,e):o?this._configurationModel.addValue(i,o.default):this._configurationModel.removeValue(i)}}}class Ose extends lt{constructor(e,t=[]){super(),this.logger=new Fu([e,...t]),this._register(e.onDidChangeLogLevel((e=>this.setLevel(e))))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}var Fse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Bse=function(e,t){return function(n,i){t(n,i,e)}};class Wse{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new Ct}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let Vse=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new ut(new Wse(t))):Promise.reject(new Error("Model not found"))}};Vse=Fse([Bse(0,hd)],Vse);class Hse{show(){return Hse.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}}Hse.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class zse{info(e){return this.notify({severity:eN.Info,message:e})}warn(e){return this.notify({severity:eN.Warning,message:e})}error(e){return this.notify({severity:eN.Error,message:e})}notify(e){switch(e.severity){case eN.Error:console.error(e.message);break;case eN.Warning:console.warn(e.message);break;default:console.log(e.message)}return zse.NO_OP}prompt(e,t,n,i){return zse.NO_OP}status(e,t){return lt.None}}zse.NO_OP=new class{};let Use=class{constructor(e){this._onWillExecuteCommand=new Ct,this._onDidExecuteCommand=new Ct,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const n=Cd.getCommand(e);if(!n)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const i=this._instantiationService.invokeFunction.apply(this._instantiationService,[n.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(i)}catch(e){return Promise.reject(e)}}};Use=Fse([Bse(0,ad)],Use);let Kse=class extends rie{constructor(e,t,n,i,o,s){super(e,t,n,i,o),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const r=e=>{const t=new rt;t.add(ms(e,or.KEY_DOWN,(e=>{const t=new Ue(e);this._dispatch(t,t.target)&&(t.preventDefault(),t.stopPropagation())}))),t.add(ms(e,or.KEY_UP,(e=>{const t=new Ue(e);this._singleModifierDispatch(t,t.target)&&t.preventDefault()}))),this._domNodeListeners.push(new jse(e,t))},l=e=>{for(let t=0;t{e.getOption(61)||r(e.getContainerDomNode())};this._register(s.onCodeEditorAdd(a)),this._register(s.onCodeEditorRemove((e=>{e.getOption(61)||l(e.getContainerDomNode())}))),s.listCodeEditors().forEach(a);const d=e=>{r(e.getContainerDomNode())};this._register(s.onDiffEditorAdd(d)),this._register(s.onDiffEditorRemove((e=>{l(e.getContainerDomNode())}))),s.listDiffEditors().forEach(d)}addDynamicKeybinding(e,t,n,i){return ot(Cd.registerCommand(e,n),this.addDynamicKeybindings([{keybinding:t,command:e,when:i}]))}addDynamicKeybindings(e){const t=e.map((e=>{var t;return{keybinding:Pe(e.keybinding,ee),command:null!==(t=e.command)&&void 0!==t?t:null,commandArgs:e.commandArgs,when:e.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),st((()=>{for(let e=0;ethis._log(e)))}return this._cachedResolver}_documentHasFocus(){return o.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const n=[];let i=0;for(const o of e){const e=o.when||void 0,s=o.keybinding;if(s){const r=cie.resolveKeybinding(s,ee);for(const s of r)n[i++]=new aie(s,o.command,o.commandArgs,e,t,null,!1)}else n[i++]=new aie(void 0,o.command,o.commandArgs,e,t,null,!1)}return n}resolveKeyboardEvent(e){const t=new Fe(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new cie([t],ee)}};Kse=Fse([Bse(0,su),Bse(1,wd),Bse(2,Mu),Bse(3,nN),Bse(4,Tu),Bse(5,ud)],Kse);class jse extends lt{constructor(e,t){super(),this.domNode=e,this._register(t)}}function qse(e){return e&&"object"==typeof e&&(!e.overrideIdentifier||"string"==typeof e.overrideIdentifier)&&(!e.resource||e.resource instanceof Io)}class $se{constructor(){this._onDidChangeConfiguration=new Ct,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const e=new Pse;this._configuration=new Qne(e.reload(),new Zne,new Zne,new Zne),e.dispose()}getValue(e,t){const n="string"==typeof e?e:void 0,i=qse(e)?e:qse(t)?t:{};return this._configuration.getValue(n,i,void 0)}updateValues(e){const t={data:this._configuration.toData()},n=[];for(const t of e){const[e,i]=t;this.getValue(e)!==i&&(this._configuration.updateValue(e,i),n.push(e))}if(n.length>0){const e=new Jne({keys:n,overrides:[]},t,this._configuration);e.source=8,this._onDidChangeConfiguration.fire(e)}return Promise.resolve()}updateValue(e,t,n,i){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}}let Gse=class{constructor(e,t,n){this.configurationService=e,this.modelService=t,this.languageService=n,this._onDidChangeConfiguration=new Ct,this.configurationService.onDidChangeConfiguration((e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(t,n)=>e.affectsConfiguration(n)})}))}getValue(e,t,n){const i=cd.isIPosition(t)?t:null,o=i?"string"==typeof n?n:void 0:"string"==typeof t?t:void 0,s=e?this.getLanguage(e,i):void 0;return void 0===o?this.configurationService.getValue({resource:e,overrideIdentifier:s}):this.configurationService.getValue(o,{resource:e,overrideIdentifier:s})}getLanguage(e,t){const n=this.modelService.getModel(e);return n?t?n.getLanguageIdAtPosition(t.lineNumber,t.column):n.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};Gse=Fse([Bse(0,pg),Bse(1,hd),Bse(2,Sh)],Gse);let Zse=class{constructor(e){this.configurationService=e}getEOL(e,t){const n=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return n&&"string"==typeof n&&"auto"!==n?n:K||U?"\n":"\r\n"}};Zse=Fse([Bse(0,pg)],Zse);class Yse{constructor(){const e=Io.from({scheme:Yse.SCHEME,authority:"model",path:"/"});this.workspace={id:Mx,folders:[new Ix({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===Yse.SCHEME?this.workspace.folders[0]:null}}function Xse(e,t,n){if(!t)return;if(!(e instanceof $se))return;const i=[];Object.keys(t).forEach((e=>{(function(e){return QD()[`editor.${e}`]||!1})(e)&&i.push([`editor.${e}`,t[e]]),n&&function(e){return QD()[`diffEditor.${e}`]||!1}(e)&&i.push([`diffEditor.${e}`,t[e]])})),i.length>0&&e.updateValues(i)}Yse.SCHEME="inmemory";let Qse=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const n=Array.isArray(e)?e:_x.convert(e),i=new Map;for(const e of n){if(!(e instanceof vx))throw new Error("bad edit - only text edits are supported");const t=this._modelService.getModel(e.resource);if(!t)throw new Error("bad edit - model not found");if("number"==typeof e.versionId&&t.getVersionId()!==e.versionId)throw new Error("bad state - model changed in the meantime");let n=i.get(t);n||(n=[],i.set(t,n)),n.push(wY.replaceMove(nc.lift(e.textEdit.range),e.textEdit.text))}let o=0,s=0;for(const[e,t]of i)e.pushStackElement(),e.pushEditOperations([],t,(()=>[])),e.pushStackElement(),s+=1,o+=t.length;return{ariaSummary:oi(u0.bulkEditServiceSummary,o,s),isApplied:o>0}}};Qse=Fse([Bse(0,hd)],Qse);let Jse=class extends Une{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,n){if(!t){const e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,n)}};Jse=Fse([Bse(0,rne),Bse(1,ud)],Jse);let ere=class extends Rie{constructor(e,t,n,i,o,s){super(e,t,n,i,o,s),this.configure({blockMouse:!1})}};var tre;ere=Fse([Bse(0,Mu),Bse(1,nN),Bse(2,VL),Bse(3,zL),Bse(4,xu),Bse(5,su)],ere),yg(pg,$se,0),yg(PH,Gse,0),yg(OH,Zse,0),yg(Dx,Yse,0),yg(_$,class{getUriLabel(e,t){return"file"===e.scheme?e.fsPath:e.path}getUriBasenameLabel(e){return Ka(e)}},0),yg(Mu,class{publicLog2(){}},0),yg(k9,class{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let n=e;return t&&(n=n+"\n\n"+t),o.confirm(n)}async prompt(e){var t,n;let i;if(this.doConfirm(e.message,e.detail)){const o=[...null!==(t=e.buttons)&&void 0!==t?t:[]];e.cancelButton&&"string"!=typeof e.cancelButton&&"boolean"!=typeof e.cancelButton&&o.push(e.cancelButton),i=await(null===(n=o[0])||void 0===n?void 0:n.run({checkboxChecked:!1}))}return{result:i}}async error(e,t){await this.prompt({type:eN.Error,message:e,detail:t})}},0),yg(iW,class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},0),yg(nN,zse,0),yg(GM,Rse,0),yg(Sh,class extends Cie{constructor(){super()}},0),yg($5,class extends lt{constructor(){super(),this._onColorThemeChange=this._register(new Ct),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new Ct),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new X7,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(Q7,lee(Q7)),this._knownThemes.set(J7,lee(J7)),this._knownThemes.set(eee,lee(eee)),this._knownThemes.set(tee,lee(tee));const e=this._register(function(e){const t=new rt,n=t.add(new Ct),i=_z();return t.add(i.onDidChange((()=>n.fire()))),e&&t.add(e.onDidProductIconThemeChange((()=>n.fire()))),{dispose:()=>t.dispose(),onDidChange:n.event,getCSS(){const t=e?e.getProductIconTheme():new X7,n={},o=e=>{const i=t.getIcon(e);if(!i)return;const o=i.font;return o?(n[o.id]=o.definition,`.codicon-${e.id}:before { content: '${i.fontCharacter}'; font-family: ${Cr(o.id)}; }`):`.codicon-${e.id}:before { content: '${i.fontCharacter}'; }`},s=[];for(const e of i.getIcons()){const t=o(e);t&&s.push(t)}for(const e in n){const t=n[e],i=t.weight?`font-weight: ${t.weight};`:"",o=t.style?`font-style: ${t.style};`:"",r=t.src.map((e=>`${wr(e.location)} format('${e.format}')`)).join(", ");s.push(`@font-face { src: ${r}; font-family: ${Cr(e)};${i}${o} font-display: block; }`)}return s.join("\n")}}}(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(Q7),this._onOSSchemeChanged(),this._register(e.onDidChange((()=>{this._codiconCSS=e.getCSS(),this._updateCSS()}))),r(o,"(forced-colors: active)",(()=>{this._onOSSchemeChanged()}))}registerEditorContainer(e){return Bs(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=$s(void 0,(e=>{e.className="monaco-colors",e.textContent=this._allCSS})),this._styleElements.push(this._globalStyleElement)),lt.None}_registerShadowDomContainer(e){const t=$s(e,(e=>{e.className="monaco-colors",e.textContent=this._allCSS}));return this._styleElements.push(t),{dispose:()=>{for(let e=0;e{t.base===e&&t.notifyBaseUpdated()})),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Q7),this._updateActualTheme(t)}_updateActualTheme(e){e&&this._theme!==e&&(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=o.matchMedia("(forced-colors: active)").matches;if(e!==Iv(this._theme.type)){let t;t=Mv(this._theme.type)?e?eee:J7:e?tee:Q7,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},n={addRule:n=>{t[n]||(e.push(n),t[n]=!0)}};iee.getThemingParticipants().forEach((e=>e(this._theme,n,this._environment)));const i=[];for(const e of nee.getColors()){const t=this._theme.getColor(e.id,!0);t&&i.push(`${Cm(e.id)}: ${t.toString()};`)}n.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${i.join("\n")} }`);const o=this._colorMapOverride||this._theme.tokenTheme.getColorMap();n.addRule(function(e){const t=[];for(let n=1,i=e.length;ne.textContent=this._allCSS))}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}},0),yg(Tu,class extends Ose{constructor(){super(new Ou)}},0),yg(hd,Xie,0),yg(lT,Uie,0),yg(su,xse,0),yg(_L,class{withProgress(e,t,n){return t({report:()=>{}})}},0),yg(bL,Hse,0),yg(KB,class extends qB{constructor(){super(),this.applicationStorage=this._register(new HB(new zB,{hint:WB.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new HB(new zB,{hint:WB.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new HB(new zB,{hint:WB.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage((e=>this.emitDidChangeValue(1,e)))),this._register(this.profileStorage.onDidChangeStorage((e=>this.emitDidChangeValue(0,e)))),this._register(this.applicationStorage.onDidChangeStorage((e=>this.emitDidChangeValue(-1,e))))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}},0),yg(AX,WH,0),yg(fx,Qse,0),yg(wee,class{constructor(){this._neverEmitter=new Ct,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},0),yg(gd,Vse,0),yg(qS,nse,0),yg(Jj,class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new rt,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){var t,n;e!==this._lastFocusedWidget&&(null===(t=this._lastFocusedWidget)||void 0===t||t.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,null===(n=this._lastFocusedWidget)||void 0===n||n.getHTMLElement().classList.add("last-focused"))}register(e,t){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new AI($s(),"").style(xM)),this.lists.some((t=>t.widget===e)))throw new Error("Cannot register the same widget multiple times");const n={widget:e,extraContextKeys:t};return this.lists.push(n),Hs(e.getHTMLElement())&&this.setLastFocusedList(e),ot(e.onDidFocus((()=>this.setLastFocusedList(e))),st((()=>this.lists.splice(this.lists.indexOf(n),1))),e.onDidDispose((()=>{this.lists=this.lists.filter((e=>e!==n)),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)})))}dispose(){this.disposables.dispose()}},0),yg(wd,Use,0),yg(zL,Kse,0),yg(SL,Qoe,0),yg(VL,Jse,0),yg(rL,Hie,0),yg(fL,pse,0),yg(HL,ere,0),yg(xu,lse,0),yg(GY,class{async playSignal(e,t){}},0),function(e){const t=new bB;for(const[e,n]of Sg())t.set(e,n);const n=new Ese(t,!0);t.set(ad,n),e.get=function(e){i||s({});const o=t.get(e);if(!o)throw new Error("Missing service "+e);return o instanceof wg?n.invokeFunction((t=>t.get(e))):o};let i=!1;const o=new Ct;function s(e){if(i)return n;i=!0;for(const[e,n]of Sg())t.get(e)||t.set(e,n);for(const n in e)if(e.hasOwnProperty(n)){const i=dd(n);t.get(i)instanceof wg&&t.set(i,e[n])}const s=GH();for(const e of s)try{n.createInstance(e)}catch(e){xe(e)}return o.fire(),n}e.initialize=s,e.withServices=function(e){if(i)return e();const t=new rt,n=t.add(o.event((()=>{n.dispose(),t.add(e())})));return t}}(tre||(tre={}));var nre=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},ire=function(e,t){return function(n,i){t(n,i,e)}};let ore=0,sre=!1;let rre=class extends yB{constructor(e,t,n,i,s,r,l,a,d,u,c,h){const g={...t};g.ariaLabel=g.ariaLabel||a0.editorViewAccessibleLabel,g.ariaLabel=g.ariaLabel+";"+a0.accessibilityHelpMessage,super(e,g,{},n,i,s,r,a,d,u,c,h),this._standaloneKeybindingService=l instanceof Kse?l:null,function(e){if(!e){if(sre)return;sre=!0}!function(e){Kr=document.createElement("div"),Kr.className="monaco-aria-container";const t=()=>{const e=document.createElement("div");return e.className="monaco-alert",e.setAttribute("role","alert"),e.setAttribute("aria-atomic","true"),Kr.appendChild(e),e};jr=t(),qr=t();const n=()=>{const e=document.createElement("div");return e.className="monaco-status",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),Kr.appendChild(e),e};$r=n(),Gr=n(),e.appendChild(Kr)}(e||o.document.body)}(g.ariaContainerElement),DL=(e,t)=>n.createInstance(kQ,e,t,{})}addCommand(e,t,n){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const i="DYNAMIC_"+ ++ore,o=Bd.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(i,e,t,o),i}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),lt.None;const t=e.id,n=e.label,i=Bd.and(Bd.equals("editorId",this.getId()),Bd.deserialize(e.precondition)),o=e.keybindings,s=Bd.and(i,Bd.deserialize(e.keybindingContext)),r=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,a=(t,...n)=>Promise.resolve(e.run(this,...n)),d=new rt,u=this.getId()+":"+t;if(d.add(Cd.registerCommand(u,a)),r){const e={command:{id:u,title:n},when:i,group:r,order:l};d.add(Lu.appendMenuItem(Su.EditorContext,e))}if(Array.isArray(o))for(const e of o)d.add(this._standaloneKeybindingService.addDynamicKeybinding(u,e,a,s));const c=new BO(u,n,n,void 0,i,((...t)=>Promise.resolve(e.run(this,...t))),this._contextKeyService);return this._actions.set(t,c),d.add(st((()=>{this._actions.delete(t)}))),d}_triggerCommand(e,t){if(this._codeEditorService instanceof sne)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};rre=nre([ire(2,ad),ire(3,ud),ire(4,wd),ire(5,su),ire(6,zL),ire(7,Tv),ire(8,nN),ire(9,qS),ire(10,Qg),ire(11,wx)],rre);let lre=class extends rre{constructor(e,t,n,i,o,s,r,l,a,d,u,c,h,g,p){const m={...t};Xse(d,m,!1);const f=l.registerEditorContainer(e);"string"==typeof m.theme&&l.setTheme(m.theme),void 0!==m.autoDetectHighContrast&&l.setAutoDetectHighContrast(Boolean(m.autoDetectHighContrast));const _=m.model;let v;if(delete m.model,super(e,m,n,i,o,s,r,l,a,u,g,p),this._configurationService=d,this._standaloneThemeService=l,this._register(f),void 0===_){const e=h.getLanguageIdByMimeType(m.language)||m.language||Kg;v=dre(c,h,m.value||"",e,void 0),this._ownsModel=!0}else v=_,this._ownsModel=!1;if(this._attachModel(v),v){const e={oldModelUrl:null,newModelUrl:v.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){Xse(this._configurationService,e,!1),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};lre=nre([ire(2,ad),ire(3,ud),ire(4,wd),ire(5,su),ire(6,zL),ire(7,$5),ire(8,nN),ire(9,pg),ire(10,qS),ire(11,hd),ire(12,Sh),ire(13,Qg),ire(14,wx)],lre);let are=class extends AQ{constructor(e,t,n,i,o,s,r,l,a,d,u,c){const h={...t};Xse(l,h,!0);const g=s.registerEditorContainer(e);"string"==typeof h.theme&&s.setTheme(h.theme),void 0!==h.autoDetectHighContrast&&s.setAutoDetectHighContrast(Boolean(h.autoDetectHighContrast)),super(e,h,{},i,n,o,c,d),this._configurationService=l,this._standaloneThemeService=s,this._register(g)}dispose(){super.dispose()}updateOptions(e){Xse(this._configurationService,e,!0),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_createInnerEditor(e,t,n){return e.createInstance(rre,t,n)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};function dre(e,t,n,i,o){if(n=n||"",!i){const i=n.indexOf("\n");let s=n;return-1!==i&&(s=n.substring(0,i)),ure(e,n,t.createByFilepathOrFirstLine(o||null,s),o)}return ure(e,n,t.createById(i),o)}function ure(e,t,n,i){return e.createModel(t,n,i)}are=nre([ire(2,ad),ire(3,su),ire(4,ud),ire(5,$5),ire(6,nN),ire(7,pg),ire(8,HL),ire(9,bL),ire(10,fL),ire(11,GY)],are);var cre=n(6514),hre={};hre.styleTagTransform=Vr(),hre.setAttributes=Or(),hre.insert=Rr().bind(null,"head"),hre.domAPI=Tr(),hre.insertStyleElement=Br(),Ir()(cre.A,hre),cre.A&&cre.A.locals&&cre.A.locals;class gre{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let pre=class extends lt{constructor(e,t,n,i){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=n,this._instantiationService=i,this._viewModel=VE(this,void 0),this._collapsed=jE(this,(e=>{var t;return null===(t=this._viewModel.read(e))||void 0===t?void 0:t.collapsed.read(e)})),this._editorContentHeight=VE(this,500),this.contentHeight=jE(this,(e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight)),this._modifiedContentWidth=VE(this,0),this._modifiedWidth=VE(this,0),this._originalContentWidth=VE(this,0),this._originalWidth=VE(this,0),this.maxScroll=jE(this,(e=>{const t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),n=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>n?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:n,width:this._originalWidth.read(e)}})),this._elements=Dr("div.multiDiffEntry",[Dr("div.header@header",[Dr("div.header-content",[Dr("div.collapse-button@collapseButton"),Dr("div.file-path",[Dr("div.title.modified.show-file-icons@primaryPath",[]),Dr("div.status.deleted@status",["R"]),Dr("div.title.original.show-file-icons@secondaryPath",[])]),Dr("div.actions@actions")])]),Dr("div.editorParent",[Dr("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(AQ,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=mre(this.editor.getModifiedEditor()),this.isOriginalFocused=mre(this.editor.getOriginalEditor()),this.isFocused=jE(this,(e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e))),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=new rt,this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new FL(this._elements.collapseButton,{});this._register(YE((e=>{o.element.className="",o.icon=this._collapsed.read(e)?Sa.chevronRight:Sa.chevronDown}))),this._register(o.onDidClick((()=>{var e;null===(e=this._viewModel.get())||void 0===e||e.collapsed.set(!this._collapsed.get(),void 0)}))),this._register(YE((e=>{this._elements.editor.style.display=this._collapsed.read(e)?"none":"block"}))),this._register(this.editor.getModifiedEditor().onDidLayoutChange((e=>{const t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)}))),this._register(this.editor.getOriginalEditor().onDidLayoutChange((e=>{const t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)}))),this._register(this.editor.onDidContentSizeChange((e=>{FE((t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)}))}))),this._register(this.editor.getOriginalEditor().onDidScrollChange((e=>{if(this._isSettingScrollTop)return;if(!e.scrollTopChanged||!this._data)return;const t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)}))),this._register(YE((e=>{const t=this.isFocused.read(e);this._elements.root.classList.toggle("focused",t)}))),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._register(this._instantiationService.createInstance(ZZ,this._elements.actions,Su.MultiDiffEditorFileToolbar,{actionRunner:this._register(new mQ((()=>{var e;return null===(e=this._viewModel.get())||void 0===e?void 0:e.modifiedUri}))),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("navigation")},actionViewItemProvider:(e,t)=>RU(i,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}this._data=e;const n=e.viewModel.entry.value;n.onOptionsDidChange&&this._dataStore.add(n.onOptionsDidChange((()=>{var e;this.editor.updateOptions(t(null!==(e=n.options)&&void 0!==e?e:{}))}))),FE((i=>{var o,s,r,l;null===(o=this._resourceLabel)||void 0===o||o.setUri(null!==(s=e.viewModel.modifiedUri)&&void 0!==s?s:e.viewModel.originalUri,{strikethrough:void 0===e.viewModel.modifiedUri});let a=!1,d=!1,u=!1,c="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(c="R",a=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(c="A",u=!0):(c="D",d=!0),this._elements.status.classList.toggle("renamed",a),this._elements.status.classList.toggle("deleted",d),this._elements.status.classList.toggle("added",u),this._elements.status.innerText=c,null===(r=this._resourceLabel2)||void 0===r||r.setUri(a?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,i),this.editor.setModel(e.viewModel.diffEditorViewModel,i),this.editor.updateOptions(t(null!==(l=n.options)&&void 0!==l?l:{}))}))}render(e,t,n,i){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const o=e.length-this._headerHeight,s=Math.max(0,Math.min(i.start-e.start,o));this._elements.header.style.transform=`translateY(${s}px)`,FE((n=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})}));try{this._isSettingScrollTop=!0,this._lastScrollTop=n,this.editor.getOriginalEditor().setScrollTop(n)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",s>0||n>0),this._elements.header.classList.toggle("collapsed",s===o)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};function mre(e){return iI((t=>{const n=new rt;return n.add(e.onDidFocusEditorWidget((()=>t(!0)))),n.add(e.onDidBlurEditorWidget((()=>t(!1)))),n}),(()=>e.hasTextFocus()))}pre=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,ad)],pre);class fre{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){var t;let n;if(0===this._unused.size)n=this._create(e),this._itemData.set(n,e);else{const i=[...this._unused.values()];n=null!==(t=i.find((t=>this._itemData.get(t).getId()===e.getId())))&&void 0!==t?t:i[0],this._unused.delete(n),this._itemData.set(n,e),n.setData(e)}return this._used.add(n),{object:n,dispose:()=>{this._used.delete(n),this._unused.size>5?n.dispose():this._unused.add(n)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var _re=function(e,t){return function(n,i){t(n,i,e)}};let vre=class extends lt{constructor(e,t,n,i,o,s){super(),this._element=e,this._dimension=t,this._viewModel=n,this._workbenchUIElementFactory=i,this._parentContextKeyService=o,this._parentInstantiationService=s,this._elements=Dr("div.monaco-component.multiDiffEditor",[Dr("div@content",{style:{overflow:"hidden"}}),Dr("div.monaco-editor@overflowWidgetsDomNode",{})]),this._sizeObserver=this._register(new FY(this._element,void 0)),this._objectPool=this._register(new fre((e=>{const t=this._instantiationService.createInstance(pre,this._elements.content,this._elements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t}))),this._scrollable=this._register(new JN({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>Cs(is(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new uE(this._elements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this.scrollTop=iI(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollTop)),this.scrollLeft=iI(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollLeft)),this._viewItems=$E(this,((e,t)=>{const n=this._viewModel.read(e);return n?n.items.read(e).map((e=>{var n;const i=t.add(new bre(e,this._objectPool,this.scrollLeft,(e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})}))),o=null===(n=this._lastDocStates)||void 0===n?void 0:n[i.getKey()];return o&&OE((e=>{i.setViewState(o,e)})),i})):[]})),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,((e,t)=>e.reduce(((e,n)=>e+n.contentHeight.read(t)+this._spaceBetweenPx),0))),this.activeDiffItem=jE(this,(e=>this._viewItems.read(e).find((t=>{var n;return null===(n=t.template.read(e))||void 0===n?void 0:n.isFocused.read(e)})))),this.lastActiveDiffItem=function(e){let t;return jE((n=>(t=e(n,t),t)))}(((e,t)=>{var n;return null!==(n=this.activeDiffItem.read(e))&&void 0!==n?n:t})),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._parentInstantiationService.createChild(new bB([su,this._contextKeyService])),this._lastDocStates={},this._contextKeyService.createKey(oc.inMultiDiffEditor.key,!0),this._register(JE(((e,t)=>{const n=this._viewModel.read(e);if(n&&n.contextKeys)for(const[e,i]of Object.entries(n.contextKeys)){const n=this._contextKeyService.createKey(e,void 0);n.set(i),t.add(st((()=>n.reset())))}})));const r=this._parentContextKeyService.createKey(oc.multiDiffEditorAllCollapsed.key,!1);this._register(YE((e=>{const t=this._viewModel.read(e);if(t){const n=t.items.read(e).every((t=>t.collapsed.read(e)));r.set(n)}}))),this._register(YE((e=>{const t=this.lastActiveDiffItem.read(e);OE((n=>{var i;null===(i=this._viewModel.read(e))||void 0===i||i.activeDiffItem.set(null==t?void 0:t.viewModel,n)}))}))),this._register(YE((e=>{const t=this._dimension.read(e);this._sizeObserver.observe(t)}))),this._elements.content.style.position="relative",this._register(YE((e=>{const t=this._sizeObserver.height.read(e);this._elements.root.style.height=`${t}px`;const n=this._totalHeight.read(e);this._elements.content.style.height=`${n}px`;const i=this._sizeObserver.width.read(e);let o=i;const s=vh(this._viewItems.read(e),(t=>t.maxScroll.read(e).maxScroll));s&&(o=i+s.maxScroll.read(e).maxScroll),this._scrollableElement.setScrollDimensions({width:i,height:t,scrollHeight:n,scrollWidth:o})}))),e.replaceChildren(this._scrollableElement.getDomNode()),this._register(st((()=>{e.replaceChildren()}))),this._register(this._register(YE((e=>{FE((t=>{this.render(e)}))}))))}render(e){const t=this.scrollTop.read(e);let n=0,i=0,o=0;const s=this._sizeObserver.height.read(e),r=ch.ofStartAndLength(t,s),l=this._sizeObserver.width.read(e);for(const a of this._viewItems.read(e)){const d=a.contentHeight.read(e),u=Math.min(d,s),c=ch.ofStartAndLength(i,u),h=ch.ofStartAndLength(o,d);if(h.isBefore(r))n-=d-u,a.hide();else if(h.isAfter(r))a.hide();else{const e=Math.max(0,Math.min(r.start-h.start,d-u));n-=e;const i=ch.ofStartAndLength(t+n,s);a.render(c,e,l,i)}i+=u+this._spaceBetweenPx,o+=d+this._spaceBetweenPx}this._elements.content.style.transform=`translateY(${-(t+n)}px)`}};vre=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([_re(4,su),_re(5,ad)],vre);class bre extends lt{constructor(e,t,n,i){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=n,this._deltaScrollVertical=i,this._templateRef=this._register(zE(this,void 0)),this.contentHeight=jE(this,(e=>{var t,n,i;return null!==(i=null===(n=null===(t=this._templateRef.read(e))||void 0===t?void 0:t.object.contentHeight)||void 0===n?void 0:n.read(e))&&void 0!==i?i:this.viewModel.lastTemplateData.read(e).contentHeight})),this.maxScroll=jE(this,(e=>{var t,n;return null!==(n=null===(t=this._templateRef.read(e))||void 0===t?void 0:t.object.maxScroll.read(e))&&void 0!==n?n:{maxScroll:0,scrollWidth:0}})),this.template=jE(this,(e=>{var t;return null===(t=this._templateRef.read(e))||void 0===t?void 0:t.object})),this._isHidden=VE(this,!1),this._register(YE((e=>{var t;const n=this._scrollLeft.read(e);null===(t=this._templateRef.read(e))||void 0===t||t.object.setScrollLeft(n)}))),this._register(YE((e=>{const t=this._templateRef.read(e);t&&this._isHidden.read(e)&&(t.object.isFocused.read(e)||this._clear())})))}dispose(){this._clear(),super.dispose()}toString(){var e;return`VirtualViewItem(${null===(e=this.viewModel.entry.value.modified)||void 0===e?void 0:e.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){var n;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),o=null===(n=e.selections)||void 0===n?void 0:n.map(ic.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:o},t);const s=this._templateRef.get();s&&o&&s.object.editor.setSelections(o)}_updateTemplateData(e){var t;const n=this._templateRef.get();n&&this.viewModel.lastTemplateData.set({contentHeight:n.object.contentHeight.get(),selections:null!==(t=n.object.editor.getSelections())&&void 0!==t?t:void 0},e)}_clear(){const e=this._templateRef.get();e&&OE((t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)}))}hide(){this._isHidden.set(!0,void 0)}render(e,t,n,i){this._isHidden.set(!1,void 0);let o=this._templateRef.get();if(!o){o=this._objectPool.getUnusedObj(new gre(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(o,void 0);const e=this.viewModel.lastTemplateData.get().selections;e&&o.object.editor.setSelections(e)}o.object.render(e,n,t,i)}}km("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},_(0,"The background color of the diff editor's header")),km("multiDiffEditor.background",{dark:"editorBackground",light:"editorBackground",hcDark:"editorBackground",hcLight:"editorBackground"},_(0,"The background color of the multi file diff editor")),km("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},_(0,"The border color of the multi file diff editor"));let wre=class extends lt{constructor(e,t,n){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=n,this._dimension=VE(this,void 0),this._viewModel=VE(this,void 0),this._widgetImpl=$E(this,((e,t)=>(UY(pre,e),t.add(this._instantiationService.createInstance(UY(vre,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))))),this._register(dI(this._widgetImpl))}};function Cre(e){const t=tre.get(zL);return t instanceof Kse?t.addDynamicKeybindings(e.map((e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:Bd.deserialize(e.when)})))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),lt.None)}function yre(e,t){return"boolean"==typeof e?e:t}function Sre(e,t){return"string"==typeof e?e:t}function xre(e,t=!1){t&&(e=e.map((function(e){return e.toLowerCase()})));const n=function(e){const t={};for(const n of e)t[n]=!0;return t}(e);return t?function(e){return void 0!==n[e.toLowerCase()]&&n.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==n[e]&&n.hasOwnProperty(e)}}function kre(e,t,n){t=t.replace(/@@/g,"");let i,o=0;do{i=!1,t=t.replace(/@(\w+)/g,(function(n,o){i=!0;let s="";if("string"==typeof e[o])s=e[o];else{if(!(e[o]&&e[o]instanceof RegExp))throw void 0===e[o]?Hte(e,"language definition does not contain attribute '"+o+"', used at: "+t):Hte(e,"attribute reference '"+o+"' must be a string, used at: "+t);s=e[o].source}return Bte(s)?"":"(?:"+s+")"})),o++}while(i&&o<5);t=t.replace(/\x01/g,"@");const s=(e.ignoreCase?"i":"")+(e.unicode?"u":"");if(n&&t.match(/\$[sS](\d\d?)/g)){let n=null,i=null;return o=>(i&&n===o||(n=o,i=new RegExp(function(e,t,n){let i=null;return t.replace(/\$[sS](\d\d?)/g,(function(t,o){return null===i&&(i=n.split("."),i.unshift(n)),!Bte(o)&&o=100){i-=100;const e=n.split(".");if(e.unshift(n),i=0&&(i.tokenSubst=!0),"string"==typeof n.bracket)if("@open"===n.bracket)i.bracket=1;else{if("@close"!==n.bracket)throw Hte(e,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t);i.bracket=-1}if(n.next){if("string"!=typeof n.next)throw Hte(e,"the next state must be a string value in rule: "+t);{let o=n.next;if(!/^(@pop|@push|@popall)$/.test(o)&&("@"===o[0]&&(o=o.substr(1)),o.indexOf("$")<0&&!function(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;const t=n.lastIndexOf(".");n=t<0?null:n.substr(0,t)}return!1}(e,zte(e,o,"",[],""))))throw Hte(e,"the next state '"+n.next+"' is not defined in rule: "+t);i.next=o}}return"number"==typeof n.goBack&&(i.goBack=n.goBack),"string"==typeof n.switchTo&&(i.switchTo=n.switchTo),"string"==typeof n.log&&(i.log=n.log),"string"==typeof n.nextEmbedded&&(i.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),i}}if(Array.isArray(n)){const i=[];for(let o=0,s=n.length;o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,ad)],wre);class Nre{constructor(e){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}setRegex(e,t){let n;if("string"==typeof t)n=t;else{if(!(t instanceof RegExp))throw Hte(e,"rules must start with a match string or regular expression: "+this.name);n=t.source}this.matchOnlyAtLineStart=n.length>0&&"^"===n[0],this.name=this.name+": "+n,this.regex=kre(e,"^(?:"+(this.matchOnlyAtLineStart?n.substr(1):n)+")",!0)}setAction(e,t){this.action=Dre(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function Ere(e,t){if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");const n={};n.languageId=e,n.includeLF=yre(t.includeLF,!1),n.noThrow=!1,n.maxStack=100,n.start="string"==typeof t.start?t.start:null,n.ignoreCase=yre(t.ignoreCase,!1),n.unicode=yre(t.unicode,!1),n.tokenPostfix=Sre(t.tokenPostfix,"."+n.languageId),n.defaultToken=Sre(t.defaultToken,"source"),n.usesEmbedded=!1;const i=t;function o(e,s,r){for(const l of r){let r=l.include;if(r){if("string"!=typeof r)throw Hte(n,"an 'include' attribute must be a string at: "+e);if("@"===r[0]&&(r=r.substr(1)),!t.tokenizer[r])throw Hte(n,"include target '"+r+"' is not defined at: "+e);o(e+"."+r,s,t.tokenizer[r])}else{const t=new Nre(e);if(Array.isArray(l)&&l.length>=1&&l.length<=3)if(t.setRegex(i,l[0]),l.length>=3)if("string"==typeof l[1])t.setAction(i,{token:l[1],next:l[2]});else{if("object"!=typeof l[1])throw Hte(n,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+e);{const e=l[1];e.next=l[2],t.setAction(i,e)}}else t.setAction(i,l[1]);else{if(!l.regex)throw Hte(n,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);l.name&&"string"==typeof l.name&&(t.name=l.name),l.matchOnlyAtStart&&(t.matchOnlyAtLineStart=yre(l.matchOnlyAtLineStart,!1)),t.setRegex(i,l.regex),t.setAction(i,l.action)}s.push(t)}}}if(i.languageId=e,i.includeLF=n.includeLF,i.ignoreCase=n.ignoreCase,i.unicode=n.unicode,i.noThrow=n.noThrow,i.usesEmbedded=n.usesEmbedded,i.stateNames=t.tokenizer,i.defaultToken=n.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw Hte(n,"a language definition must define the 'tokenizer' attribute as an object");n.tokenizer=[];for(const e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){n.start||(n.start=e);const i=t.tokenizer[e];n.tokenizer[e]=new Array,o("tokenizer."+e,n.tokenizer[e],i)}if(n.usesEmbedded=i.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw Hte(n,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const s=[];for(const e of t.brackets){let t=e;if(t&&Array.isArray(t)&&3===t.length&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw Hte(n,"open and close brackets in a 'brackets' attribute must be different: "+t.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof t.open||"string"!=typeof t.token||"string"!=typeof t.close)throw Hte(n,"every element in the 'brackets' array must be a '{open,close,token}' object or array");s.push({token:t.token+n.tokenPostfix,open:Wte(n,t.open),close:Wte(n,t.close)})}return n.brackets=s,n.noThrow=!0,n}class Ire{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if("function"==typeof this._actual.tokenize)return Mre.adaptTokenize(this._languageId,this._actual,e,n);throw new Error("Not supported!")}tokenizeEncoded(e,t,n){const i=this._actual.tokenizeEncoded(e,n);return new fC(i.tokens,i.endState)}}class Mre{constructor(e,t,n,i){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=i}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const n=[];let i=0;for(let o=0,s=e.length;o0&&o[s-1]===a)continue;let d=l.startIndex;0===e?d=0:d{const n=await Promise.resolve(t.create());return n?"function"==typeof n.getInitialState?Are(e,n):new Qte(tre.get(Sh),tre.get($5),e,Ere(e,n),tre.get(pg)):null}));return IC.registerFactory(e,n)}$D.wrappingIndent.defaultValue=0,$D.glyphMargin.defaultValue=!1,$D.autoIndent.defaultValue=3,$D.overviewRulerLanes.defaultValue=2,U3.setFormatterSelector(((e,t,n)=>Promise.resolve(e[0])));const Pre=MV();Pre.editor={create:function(e,t,n){return tre.initialize(n||{}).createInstance(lre,e,t)},getEditors:function(){return tre.get(ud).listCodeEditors()},getDiffEditors:function(){return tre.get(ud).listDiffEditors()},onDidCreateEditor:function(e){return tre.get(ud).onCodeEditorAdd((t=>{e(t)}))},onDidCreateDiffEditor:function(e){return tre.get(ud).onDiffEditorAdd((t=>{e(t)}))},createDiffEditor:function(e,t,n){return tre.initialize(n||{}).createInstance(are,e,t)},addCommand:function(e){if("string"!=typeof e.id||"function"!=typeof e.run)throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return Cd.registerCommand(e.id,e.run)},addEditorAction:function(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const t=Bd.deserialize(e.precondition),n=new rt;if(n.add(Cd.registerCommand(e.id,((n,...i)=>Hu.runEditorCommand(n,i,t,((t,n,i)=>Promise.resolve(e.run(n,...i))))))),e.contextMenuGroupId){const i={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};n.add(Lu.appendMenuItem(Su.EditorContext,i))}if(Array.isArray(e.keybindings)){const i=tre.get(zL);if(i instanceof Kse){const o=Bd.and(t,Bd.deserialize(e.keybindingContext));n.add(i.addDynamicKeybindings(e.keybindings.map((t=>({keybinding:t,command:e.id,when:o})))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return n},addKeybindingRule:function(e){return Cre([e])},addKeybindingRules:Cre,createModel:function(e,t,n){const i=tre.get(Sh),o=i.getLanguageIdByMimeType(t)||t;return dre(tre.get(hd),i,e,o,n)},setModelLanguage:function(e,t){const n=tre.get(Sh),i=n.getLanguageIdByMimeType(t)||t||Kg;e.setLanguage(n.createById(i))},setModelMarkers:function(e,t,n){e&&tre.get(GM).changeOne(t,e.uri,n)},getModelMarkers:function(e){return tre.get(GM).read(e)},removeAllMarkers:function(e){tre.get(GM).changeAll(e,[])},onDidChangeMarkers:function(e){return tre.get(GM).onMarkerChanged(e)},getModels:function(){return tre.get(hd).getModels()},getModel:function(e){return tre.get(hd).getModel(e)},onDidCreateModel:function(e){return tre.get(hd).onModelAdded(e)},onWillDisposeModel:function(e){return tre.get(hd).onModelRemoved(e)},onDidChangeModelLanguage:function(e){return tre.get(hd).onModelLanguageChanged((t=>{e({model:t.model,oldLanguage:t.oldLanguageId})}))},createWebWorker:function(e){return function(e,t,n){return new Pte(e,t,n)}(tre.get(hd),tre.get(Qg),e)},colorizeElement:function(e,t){const n=tre.get(Sh),i=tre.get($5);return tne.colorizeElement(i,n,e,t).then((()=>{i.registerEditorContainer(e)}))},colorize:function(e,t,n){const i=tre.get(Sh);return tre.get($5).registerEditorContainer(o.document.body),tne.colorize(i,e,t,n)},colorizeModelLine:function(e,t,n=4){return tre.get($5).registerEditorContainer(o.document.body),tne.colorizeModelLine(e,t,n)},tokenize:function(e,t){IC.getOrCreate(t);const n=function(e){return IC.get(e)||{getInitialState:()=>TC,tokenize:(t,n,i)=>AC(e,i)}}(t),i=ci(e),o=[];let s=n.getInitialState();for(let e=0,t=i.length;e("string"==typeof t&&(t=Io.parse(t)),e.open(t))})},registerEditorOpener:function(e){return tre.get(ud).registerCodeEditorOpenHandler((async(t,n,i)=>{var o;if(!n)return null;const s=null===(o=t.options)||void 0===o?void 0:o.selection;let r;return s&&"number"==typeof s.endLineNumber&&"number"==typeof s.endColumn?r=s:s&&(r={lineNumber:s.startLineNumber,column:s.startColumn}),await e.openCodeEditor(n,t.resource,r)?n:null}))},AccessibilitySupport:VW,ContentWidgetPositionPreference:qW,CursorChangeReason:$W,DefaultEndOfLine:GW,EditorAutoIndentStrategy:YW,EditorOption:XW,EndOfLinePreference:QW,EndOfLineSequence:JW,MinimapPosition:dV,MinimapSectionHeaderStyle:uV,MouseTargetType:cV,OverlayWidgetPositionPreference:gV,OverviewRulerLane:pV,GlyphMarginLane:eV,RenderLineNumbersType:_V,RenderMinimap:vV,ScrollbarVisibility:wV,ScrollType:bV,TextEditorCursorBlinkingStyle:LV,TextEditorCursorStyle:DV,TrackedRangeStickiness:NV,WrappingIndent:EV,InjectedTextCursorStops:nV,PositionAffinity:fV,ShowLightbulbIconMode:yV,ConfigurationChangedEvent:uD,BareFontInfo:bT,FontInfo:wT,TextModelResolvedOptions:Sc,FindMatch:xc,ApplyUpdateResult:gD,EditorZoom:_T,createMultiFileDiffEditor:function(e,t){const n=tre.initialize(t||{});return new wre(e,{},n)},EditorType:WO,EditorOptions:$D},Pre.languages={register:function(e){Ug.registerLanguage(e)},getLanguages:function(){let e=[];return e=e.concat(Ug.getLanguages()),e},onLanguage:function(e,t){return tre.withServices((()=>{const n=tre.get(Sh).onDidRequestRichLanguageFeatures((i=>{i===e&&(n.dispose(),t())}));return n}))},onLanguageEncountered:function(e,t){return tre.withServices((()=>{const n=tre.get(Sh).onDidRequestBasicLanguageFeatures((i=>{i===e&&(n.dispose(),t())}));return n}))},getEncodedLanguageId:function(e){return tre.get(Sh).languageIdCodec.encodeLanguageId(e)},setLanguageConfiguration:function(e,t){if(!tre.get(Sh).isRegisteredLanguageId(e))throw new Error(`Cannot set configuration for unknown language ${e}`);return tre.get(Qg).register(e,t,100)},setColorMap:function(e){const t=tre.get($5);if(e){const n=[null];for(let t=1,i=e.length;tt}):IC.register(e,Are(e,t))},setMonarchTokensProvider:function(e,t){return Tre(t)?Rre(e,{create:()=>t}):IC.register(e,(t=>new Qte(tre.get(Sh),tre.get($5),e,Ere(e,t),tre.get(pg)))(t))},registerReferenceProvider:function(e,t){return tre.get(wx).referenceProvider.register(e,t)},registerRenameProvider:function(e,t){return tre.get(wx).renameProvider.register(e,t)},registerNewSymbolNameProvider:function(e,t){return tre.get(wx).newSymbolNamesProvider.register(e,t)},registerCompletionItemProvider:function(e,t){return tre.get(wx).completionProvider.register(e,t)},registerSignatureHelpProvider:function(e,t){return tre.get(wx).signatureHelpProvider.register(e,t)},registerHoverProvider:function(e,t){return tre.get(wx).hoverProvider.register(e,{provideHover:(e,n,i)=>{const o=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,i)).then((e=>{if(e)return!e.range&&o&&(e.range=new nc(n.lineNumber,o.startColumn,n.lineNumber,o.endColumn)),e.range||(e.range=new nc(n.lineNumber,n.column,n.lineNumber,n.column)),e}))}})},registerDocumentSymbolProvider:function(e,t){return tre.get(wx).documentSymbolProvider.register(e,t)},registerDocumentHighlightProvider:function(e,t){return tre.get(wx).documentHighlightProvider.register(e,t)},registerLinkedEditingRangeProvider:function(e,t){return tre.get(wx).linkedEditingRangeProvider.register(e,t)},registerDefinitionProvider:function(e,t){return tre.get(wx).definitionProvider.register(e,t)},registerImplementationProvider:function(e,t){return tre.get(wx).implementationProvider.register(e,t)},registerTypeDefinitionProvider:function(e,t){return tre.get(wx).typeDefinitionProvider.register(e,t)},registerCodeLensProvider:function(e,t){return tre.get(wx).codeLensProvider.register(e,t)},registerCodeActionProvider:function(e,t,n){return tre.get(wx).codeActionProvider.register(e,{providedCodeActionKinds:null==n?void 0:n.providedCodeActionKinds,documentation:null==n?void 0:n.documentation,provideCodeActions:(e,n,i,o)=>{const s=tre.get(GM).read({resource:e.uri}).filter((e=>nc.areIntersectingOrTouching(e,n)));return t.provideCodeActions(e,n,{markers:s,only:i.only,trigger:i.trigger},o)},resolveCodeAction:t.resolveCodeAction})},registerDocumentFormattingEditProvider:function(e,t){return tre.get(wx).documentFormattingEditProvider.register(e,t)},registerDocumentRangeFormattingEditProvider:function(e,t){return tre.get(wx).documentRangeFormattingEditProvider.register(e,t)},registerOnTypeFormattingEditProvider:function(e,t){return tre.get(wx).onTypeFormattingEditProvider.register(e,t)},registerLinkProvider:function(e,t){return tre.get(wx).linkProvider.register(e,t)},registerColorProvider:function(e,t){return tre.get(wx).colorProvider.register(e,t)},registerFoldingRangeProvider:function(e,t){return tre.get(wx).foldingRangeProvider.register(e,t)},registerDeclarationProvider:function(e,t){return tre.get(wx).declarationProvider.register(e,t)},registerSelectionRangeProvider:function(e,t){return tre.get(wx).selectionRangeProvider.register(e,t)},registerDocumentSemanticTokensProvider:function(e,t){return tre.get(wx).documentSemanticTokensProvider.register(e,t)},registerDocumentRangeSemanticTokensProvider:function(e,t){return tre.get(wx).documentRangeSemanticTokensProvider.register(e,t)},registerInlineCompletionsProvider:function(e,t){return tre.get(wx).inlineCompletionsProvider.register(e,t)},registerInlineEditProvider:function(e,t){return tre.get(wx).inlineEditProvider.register(e,t)},registerInlayHintsProvider:function(e,t){return tre.get(wx).inlayHintsProvider.register(e,t)},DocumentHighlightKind:ZW,CompletionItemKind:UW,CompletionItemTag:KW,CompletionItemInsertTextRule:zW,SymbolKind:xV,SymbolTag:kV,IndentAction:tV,CompletionTriggerKind:jW,SignatureHelpTriggerKind:SV,InlayHintKind:iV,InlineCompletionTriggerKind:oV,InlineEditTriggerKind:sV,CodeActionTriggerType:HW,NewSymbolNameTag:hV,PartialAcceptTriggerKind:mV,FoldingRangeKind:NC,SelectedSuggestionInfo:yC};const Ore=Pre.CancellationTokenSource,Fre=Pre.Emitter,Bre=Pre.KeyCode,Wre=Pre.KeyMod,Vre=Pre.Position,Hre=Pre.Range,zre=Pre.Selection,Ure=Pre.SelectionDirection,Kre=Pre.MarkerSeverity,jre=Pre.MarkerTag,qre=Pre.Uri,$re=Pre.Token,Gre=Pre.editor,Zre=Pre.languages,Yre=globalThis.MonacoEnvironment;((null==Yre?void 0:Yre.globalAPI)||"function"==typeof define&&n.amdO)&&(globalThis.monaco=Pre),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});var Xre,Qre=new class{constructor(e,t,n){this._onDidChange=new Fre,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}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)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});function Jre(){return n.e(839).then(n.bind(n,4839))}Zre.json={jsonDefaults:Qre,getWorker:()=>Jre().then((e=>e.getWorker()))},Zre.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),Zre.onLanguage("json",(()=>{Jre().then((e=>e.setupMode(Qre)))})),self.MonacoEnvironment=(Xre={editorWorkerService:"editor.worker.js",json:"json.worker.js"},{globalAPI:!1,getWorkerUrl:function(e,t){var i=n.p,o=(i?i.replace(/\/$/,"")+"/":"")+Xre[t];if(/^((http:)|(https:)|(file:)|(\/\/))/.test(o)){var s=String(window.location),r=s.substr(0,s.length-window.location.hash.length-window.location.search.length-window.location.pathname.length);if(o.substring(0,r.length)!==r){/^(\/\/)/.test(o)&&(o=window.location.protocol+o);var l=new Blob(["/*"+t+'*/importScripts("'+o+'");'],{type:"application/javascript"});return URL.createObjectURL(l)}}return o}});const ele=i},4596:function(e){e.exports=function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";(function(e){var n,i,o,s,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};s=function(){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)},o=Object.assign||function(e){for(var t=1;t'+i+"",b.onclick=function(){return v(w,p)},b.listener=function(e){(m(e)||f(e))&&C()},_(b,p),s&&s<1&&(s=1),!a&&s&&u(s).then((function(){return v(w,p)}))},S=t.force=function(e,t){var n=e.type,i=void 0===n?5:n,o=e.text,s=e.buttonText,r=void 0===s?"OK":s,a=e.callback,d=e.position,u=void 0===d?l.positions.force||u.top:d;c(),C();var p=document.createElement("div"),f=h();p.id=f;var y=document.createElement("div");y.classList.add(l.classes.textbox),y.classList.add(l.classes.backgroundInfo),y.innerHTML='
    '+o+"
    ";var S=document.createElement("div");S.classList.add(l.classes.button),S.classList.add(g[i]),S.innerHTML=r,S.onclick=function(){v(f,u),w(),a?a():t&&t()},p.appendChild(y),p.appendChild(S),p.listener=function(e){m(e)&&S.click()},_(p,u),b()},x=t.confirm=function(e,t,n){var i=e.text,o=e.submitText,s=void 0===o?"Yes":o,r=e.cancelText,a=void 0===r?"Cancel":r,d=e.submitCallback,u=e.cancelCallback,g=e.position,p=void 0===g?l.positions.confirm||p.top:g;c(),C();var y=document.createElement("div"),S=h();y.id=S;var x=document.createElement("div");x.classList.add(l.classes.textbox),x.classList.add(l.classes.backgroundInfo),x.innerHTML='
    '+i+"
    ";var k=document.createElement("div");k.classList.add(l.classes.button),k.classList.add(l.classes.elementHalf),k.classList.add(l.classes.backgroundSuccess),k.innerHTML=s,k.onclick=function(){v(S,p),w(),d?d():t&&t()};var L=document.createElement("div");L.classList.add(l.classes.button),L.classList.add(l.classes.elementHalf),L.classList.add(l.classes.backgroundError),L.innerHTML=a,L.onclick=function(){v(S,p),w(),u?u():n&&n()},y.appendChild(x),y.appendChild(k),y.appendChild(L),y.listener=function(e){m(e)?k.click():f(e)&&L.click()},_(y,p),b(y,p)},k=function(e,t,n){var o=e.text,s=e.submitText,r=void 0===s?"Submit":s,a=e.cancelText,d=void 0===a?"Cancel":a,u=e.submitCallback,g=e.cancelCallback,p=e.position,y=void 0===p?l.positions.input||y.top:p,S=function(e,t){var n={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i]);return n}(e,["text","submitText","cancelText","submitCallback","cancelCallback","position"]);c(),C();var x=document.createElement("div"),k=h();x.id=k;var L=document.createElement("div");L.classList.add(l.classes.textbox),L.classList.add(l.classes.backgroundInfo),L.innerHTML='
    '+o+"
    ";var D=document.createElement("input");D.classList.add(l.classes.inputField),D.setAttribute("autocapitalize",S.autocapitalize||"none"),D.setAttribute("autocomplete",S.autocomplete||"off"),D.setAttribute("autocorrect",S.autocorrect||"off"),D.setAttribute("autofocus",S.autofocus||"true"),D.setAttribute("inputmode",S.inputmode||"verbatim"),D.setAttribute("max",S.max||""),D.setAttribute("maxlength",S.maxlength||""),D.setAttribute("min",S.min||""),D.setAttribute("minlength",S.minlength||""),D.setAttribute("placeholder",S.placeholder||""),D.setAttribute("spellcheck",S.spellcheck||"default"),D.setAttribute("step",S.step||"any"),D.setAttribute("type",S.type||"text"),D.value=S.value||"",S.allowed&&(D.oninput=function(){var e=void 0;if(Array.isArray(S.allowed)){for(var t="",n=S.allowed,o=0;o'+n+"",u.appendChild(m),r.forEach((function(e,t){var n=e.type,i=void 0===n?1:n,o=e.text,s=e.handler,a=document.createElement("div");a.classList.add(g[i]),a.classList.add(l.classes.button),a.classList.add(l.classes.selectChoice);var c=r[t+1];c&&!c.type&&(c.type=1),c&&c.type===i&&a.classList.add(l.classes.selectChoiceRepeated),a.innerHTML=o,a.onclick=function(){v(p,d),w(),s()},u.appendChild(a)}));var y=document.createElement("div");y.classList.add(l.classes.backgroundNeutral),y.classList.add(l.classes.button),y.innerHTML=o,y.onclick=function(){v(p,d),w(),s?s():t&&t()},u.appendChild(y),u.listener=function(e){f(e)&&y.click()},_(u,d),b(u,d)},D=t.date=function(e,t,n){var i=e.value,o=void 0===i?new Date:i,s=e.submitText,r=void 0===s?"OK":s,a=e.cancelText,d=void 0===a?"Cancel":a,u=e.submitCallback,g=e.cancelCallback,p=e.position,y=void 0===p?l.positions.date||y.top:p;c(),C();var S="▾",x=document.createElement("div"),k=document.createElement("div"),L=document.createElement("div"),D=function(e){x.innerHTML=l.dateMonths[e.getMonth()],k.innerHTML=e.getDate(),L.innerHTML=e.getFullYear()},N=function(e){D(o)},E=function(e){var t=new Date(o.getFullYear(),o.getMonth()+e+1,0).getDate();o.getDate()>t&&o.setDate(t),o.setMonth(o.getMonth()+e),D(o)},I=function(e){o.setDate(o.getDate()+e),D(o)},M=function(e){o.getFullYear()+e<0?o.setFullYear(0):o.setFullYear(o.getFullYear()+e),D(o)},T=document.createElement("div"),A=h();T.id=A;var R=document.createElement("div");R.classList.add(l.classes.backgroundInfo);var P=document.createElement("div");P.classList.add(l.classes.dateSelectorInner);var O=document.createElement("div");O.classList.add(l.classes.button),O.classList.add(l.classes.elementThird),O.classList.add(l.classes.dateSelectorUp),O.innerHTML=S;var F=document.createElement("div");F.classList.add(l.classes.button),F.classList.add(l.classes.elementThird),F.classList.add(l.classes.dateSelectorUp),F.innerHTML=S;var B=document.createElement("div");B.classList.add(l.classes.button),B.classList.add(l.classes.elementThird),B.classList.add(l.classes.dateSelectorUp),B.innerHTML=S,x.classList.add(l.classes.element),x.classList.add(l.classes.elementThird),x.innerHTML=l.dateMonths[o.getMonth()],k.classList.add(l.classes.element),k.classList.add(l.classes.elementThird),k.setAttribute("contentEditable",!0),k.addEventListener("input",(function(e){var t=new Date(o.getFullYear(),o.getMonth()+1,0).getDate(),n=e.target.textContent.replace(/^0+/,"").replace(/[^\d]/g,"").slice(0,2);Number(n)>t&&(n=t.toString()),e.target.textContent=n,Number(n)<1&&(n="1"),o.setDate(Number(n))})),k.addEventListener("blur",N),k.innerHTML=o.getDate(),L.classList.add(l.classes.element),L.classList.add(l.classes.elementThird),L.setAttribute("contentEditable",!0),L.addEventListener("input",(function(e){var t=e.target.textContent.replace(/^0+/,"").replace(/[^\d]/g,"").slice(0,4);e.target.textContent=t,o.setFullYear(Number(t))})),L.addEventListener("blur",N),L.innerHTML=o.getFullYear();var W=document.createElement("div");W.classList.add(l.classes.button),W.classList.add(l.classes.elementThird),W.innerHTML=S;var V=document.createElement("div");V.classList.add(l.classes.button),V.classList.add(l.classes.elementThird),V.innerHTML=S;var H=document.createElement("div");H.classList.add(l.classes.button),H.classList.add(l.classes.elementThird),H.innerHTML=S,O.onclick=function(){return E(1)},F.onclick=function(){return I(1)},B.onclick=function(){return M(1)},W.onclick=function(){return E(-1)},V.onclick=function(){return I(-1)},H.onclick=function(){return M(-1)};var z=document.createElement("div");z.classList.add(l.classes.button),z.classList.add(l.classes.elementHalf),z.classList.add(l.classes.backgroundSuccess),z.innerHTML=r,z.onclick=function(){v(A,y),w(),u?u(o):t&&t(o)};var U=document.createElement("div");U.classList.add(l.classes.button),U.classList.add(l.classes.elementHalf),U.classList.add(l.classes.backgroundError),U.innerHTML=d,U.onclick=function(){v(A,y),w(),g?g(o):n&&n(o)},P.appendChild(O),P.appendChild(F),P.appendChild(B),P.appendChild(x),P.appendChild(k),P.appendChild(L),P.appendChild(W),P.appendChild(V),P.appendChild(H),R.appendChild(P),T.appendChild(R),T.appendChild(z),T.appendChild(U),T.listener=function(e){m(e)?z.click():f(e)&&U.click()},_(T,y),b(T,y)};t.default={alert:y,force:S,confirm:x,input:k,select:L,date:D,setOptions:a,hideAlerts:C}}])},"object"===r(t)&&"object"===r(e)?e.exports=s():(i=[],void 0===(o="function"==typeof(n=s)?n.apply(t,i):n)||(e.exports=o))}).call(t,n(0)(e))}])},9336:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>_});var i=n(5072),o=n.n(i),s=n(7825),r=n.n(s),l=n(7659),a=n.n(l),d=n(5056),u=n.n(d),c=n(540),h=n.n(c),g=n(1113),p=n.n(g),m=n(7931),f={};f.styleTagTransform=p(),f.setAttributes=u(),f.insert=a().bind(null,"head"),f.domAPI=r(),f.insertStyleElement=h(),o()(m.A,f);const _=m.A&&m.A.locals?m.A.locals:void 0},5072:e=>{"use strict";var t=[];function n(e){for(var n=-1,i=0;i{"use strict";var t={};e.exports=function(e,n){var i=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(n)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var i="";n.supports&&(i+="@supports (".concat(n.supports,") {")),n.media&&(i+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(i+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),i+=n.css,o&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var s=n.sourceMap;s&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},3764:(e,t,n)=>{var i=n(831);e.exports={TextEncoder:i.TextEncoder,TextDecoder:i.TextDecoder}},2082:function(e){!function(t){"use strict";e.exports&&(e.exports=t),t["encoding-indexes"]={big5:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,162799,23515,138590,23204,13861,171696,23249,23479,23804,26478,34195,170309,29793,29853,14453,138579,145054,155681,16108,153822,15093,31484,40855,147809,166157,143850,133770,143966,17162,33924,40854,37935,18736,34323,22678,38730,37400,31184,31282,26208,27177,34973,29772,31685,26498,31276,21071,36934,13542,29636,155065,29894,40903,22451,18735,21580,16689,145038,22552,31346,162661,35727,18094,159368,16769,155033,31662,140476,40904,140481,140489,140492,40905,34052,144827,16564,40906,17633,175615,25281,28782,40907,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,12736,12737,12738,12739,12740,131340,12741,131281,131277,12742,12743,131275,139240,12744,131274,12745,12746,12747,12748,131342,12749,12750,256,193,461,192,274,201,282,200,332,211,465,210,null,7870,null,7872,202,257,225,462,224,593,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,null,7871,null,7873,234,609,9178,9179,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,172969,135493,null,25866,null,null,20029,28381,40270,37343,null,null,161589,25745,20250,20264,20392,20822,20852,20892,20964,21153,21160,21307,21326,21457,21464,22242,22768,22788,22791,22834,22836,23398,23454,23455,23706,24198,24635,25993,26622,26628,26725,27982,28860,30005,32420,32428,32442,32455,32463,32479,32518,32567,33402,33487,33647,35270,35774,35810,36710,36711,36718,29713,31996,32205,26950,31433,21031,null,null,null,null,37260,30904,37214,32956,null,36107,33014,133607,null,null,32927,40647,19661,40393,40460,19518,171510,159758,40458,172339,13761,null,28314,33342,29977,null,18705,39532,39567,40857,31111,164972,138698,132560,142054,20004,20097,20096,20103,20159,20203,20279,13388,20413,15944,20483,20616,13437,13459,13477,20870,22789,20955,20988,20997,20105,21113,21136,21287,13767,21417,13649,21424,13651,21442,21539,13677,13682,13953,21651,21667,21684,21689,21712,21743,21784,21795,21800,13720,21823,13733,13759,21975,13765,163204,21797,null,134210,134421,151851,21904,142534,14828,131905,36422,150968,169189,16467,164030,30586,142392,14900,18389,164189,158194,151018,25821,134524,135092,134357,135412,25741,36478,134806,134155,135012,142505,164438,148691,null,134470,170573,164073,18420,151207,142530,39602,14951,169460,16365,13574,152263,169940,161992,142660,40302,38933,null,17369,155813,25780,21731,142668,142282,135287,14843,135279,157402,157462,162208,25834,151634,134211,36456,139681,166732,132913,null,18443,131497,16378,22643,142733,null,148936,132348,155799,134988,134550,21881,16571,17338,null,19124,141926,135325,33194,39157,134556,25465,14846,141173,36288,22177,25724,15939,null,173569,134665,142031,142537,null,135368,145858,14738,14854,164507,13688,155209,139463,22098,134961,142514,169760,13500,27709,151099,null,null,161140,142987,139784,173659,167117,134778,134196,157724,32659,135375,141315,141625,13819,152035,134796,135053,134826,16275,134960,134471,135503,134732,null,134827,134057,134472,135360,135485,16377,140950,25650,135085,144372,161337,142286,134526,134527,142417,142421,14872,134808,135367,134958,173618,158544,167122,167321,167114,38314,21708,33476,21945,null,171715,39974,39606,161630,142830,28992,33133,33004,23580,157042,33076,14231,21343,164029,37302,134906,134671,134775,134907,13789,151019,13833,134358,22191,141237,135369,134672,134776,135288,135496,164359,136277,134777,151120,142756,23124,135197,135198,135413,135414,22428,134673,161428,164557,135093,134779,151934,14083,135094,135552,152280,172733,149978,137274,147831,164476,22681,21096,13850,153405,31666,23400,18432,19244,40743,18919,39967,39821,154484,143677,22011,13810,22153,20008,22786,138177,194680,38737,131206,20059,20155,13630,23587,24401,24516,14586,25164,25909,27514,27701,27706,28780,29227,20012,29357,149737,32594,31035,31993,32595,156266,13505,null,156491,32770,32896,157202,158033,21341,34916,35265,161970,35744,36125,38021,38264,38271,38376,167439,38886,39029,39118,39134,39267,17e4,40060,40479,40644,27503,63751,20023,131207,38429,25143,38050,null,20539,28158,171123,40870,15817,34959,147790,28791,23797,19232,152013,13657,154928,24866,166450,36775,37366,29073,26393,29626,144001,172295,15499,137600,19216,30948,29698,20910,165647,16393,27235,172730,16931,34319,133743,31274,170311,166634,38741,28749,21284,139390,37876,30425,166371,40871,30685,20131,20464,20668,20015,20247,40872,21556,32139,22674,22736,138678,24210,24217,24514,141074,25995,144377,26905,27203,146531,27903,null,29184,148741,29580,16091,150035,23317,29881,35715,154788,153237,31379,31724,31939,32364,33528,34199,40873,34960,40874,36537,40875,36815,34143,39392,37409,40876,167353,136255,16497,17058,23066,null,null,null,39016,26475,17014,22333,null,34262,149883,33471,160013,19585,159092,23931,158485,159678,40877,40878,23446,40879,26343,32347,28247,31178,15752,17603,143958,141206,17306,17718,null,23765,146202,35577,23672,15634,144721,23928,40882,29015,17752,147692,138787,19575,14712,13386,131492,158785,35532,20404,131641,22975,33132,38998,170234,24379,134047,null,139713,166253,16642,18107,168057,16135,40883,172469,16632,14294,18167,158790,16764,165554,160767,17773,14548,152730,17761,17691,19849,19579,19830,17898,16328,150287,13921,17630,17597,16877,23870,23880,23894,15868,14351,23972,23993,14368,14392,24130,24253,24357,24451,14600,14612,14655,14669,24791,24893,23781,14729,25015,25017,25039,14776,25132,25232,25317,25368,14840,22193,14851,25570,25595,25607,25690,14923,25792,23829,22049,40863,14999,25990,15037,26111,26195,15090,26258,15138,26390,15170,26532,26624,15192,26698,26756,15218,15217,15227,26889,26947,29276,26980,27039,27013,15292,27094,15325,27237,27252,27249,27266,15340,27289,15346,27307,27317,27348,27382,27521,27585,27626,27765,27818,15563,27906,27910,27942,28033,15599,28068,28081,28181,28184,28201,28294,166336,28347,28386,28378,40831,28392,28393,28452,28468,15686,147265,28545,28606,15722,15733,29111,23705,15754,28716,15761,28752,28756,28783,28799,28809,131877,17345,13809,134872,147159,22462,159443,28990,153568,13902,27042,166889,23412,31305,153825,169177,31333,31357,154028,31419,31408,31426,31427,29137,156813,16842,31450,31453,31466,16879,21682,154625,31499,31573,31529,152334,154878,31650,31599,33692,154548,158847,31696,33825,31634,31672,154912,15789,154725,33938,31738,31750,31797,154817,31812,31875,149634,31910,26237,148856,31945,31943,31974,31860,31987,31989,31950,32359,17693,159300,32093,159446,29837,32137,32171,28981,32179,32210,147543,155689,32228,15635,32245,137209,32229,164717,32285,155937,155994,32366,32402,17195,37996,32295,32576,32577,32583,31030,156368,39393,32663,156497,32675,136801,131176,17756,145254,17667,164666,32762,156809,32773,32776,32797,32808,32815,172167,158915,32827,32828,32865,141076,18825,157222,146915,157416,26405,32935,166472,33031,33050,22704,141046,27775,156824,151480,25831,136330,33304,137310,27219,150117,150165,17530,33321,133901,158290,146814,20473,136445,34018,33634,158474,149927,144688,137075,146936,33450,26907,194964,16859,34123,33488,33562,134678,137140,14017,143741,144730,33403,33506,33560,147083,159139,158469,158615,144846,15807,33565,21996,33669,17675,159141,33708,33729,33747,13438,159444,27223,34138,13462,159298,143087,33880,154596,33905,15827,17636,27303,33866,146613,31064,33960,158614,159351,159299,34014,33807,33681,17568,33939,34020,154769,16960,154816,17731,34100,23282,159385,17703,34163,17686,26559,34326,165413,165435,34241,159880,34306,136578,159949,194994,17770,34344,13896,137378,21495,160666,34430,34673,172280,34798,142375,34737,34778,34831,22113,34412,26710,17935,34885,34886,161248,146873,161252,34910,34972,18011,34996,34997,25537,35013,30583,161551,35207,35210,35238,35241,35239,35260,166437,35303,162084,162493,35484,30611,37374,35472,162393,31465,162618,147343,18195,162616,29052,35596,35615,152624,152933,35647,35660,35661,35497,150138,35728,35739,35503,136927,17941,34895,35995,163156,163215,195028,14117,163155,36054,163224,163261,36114,36099,137488,36059,28764,36113,150729,16080,36215,36265,163842,135188,149898,15228,164284,160012,31463,36525,36534,36547,37588,36633,36653,164709,164882,36773,37635,172703,133712,36787,18730,166366,165181,146875,24312,143970,36857,172052,165564,165121,140069,14720,159447,36919,165180,162494,36961,165228,165387,37032,165651,37060,165606,37038,37117,37223,15088,37289,37316,31916,166195,138889,37390,27807,37441,37474,153017,37561,166598,146587,166668,153051,134449,37676,37739,166625,166891,28815,23235,166626,166629,18789,37444,166892,166969,166911,37747,37979,36540,38277,38310,37926,38304,28662,17081,140922,165592,135804,146990,18911,27676,38523,38550,16748,38563,159445,25050,38582,30965,166624,38589,21452,18849,158904,131700,156688,168111,168165,150225,137493,144138,38705,34370,38710,18959,17725,17797,150249,28789,23361,38683,38748,168405,38743,23370,168427,38751,37925,20688,143543,143548,38793,38815,38833,38846,38848,38866,38880,152684,38894,29724,169011,38911,38901,168989,162170,19153,38964,38963,38987,39014,15118,160117,15697,132656,147804,153350,39114,39095,39112,39111,19199,159015,136915,21936,39137,39142,39148,37752,39225,150057,19314,170071,170245,39413,39436,39483,39440,39512,153381,14020,168113,170965,39648,39650,170757,39668,19470,39700,39725,165376,20532,39732,158120,14531,143485,39760,39744,171326,23109,137315,39822,148043,39938,39935,39948,171624,40404,171959,172434,172459,172257,172323,172511,40318,40323,172340,40462,26760,40388,139611,172435,172576,137531,172595,40249,172217,172724,40592,40597,40606,40610,19764,40618,40623,148324,40641,15200,14821,15645,20274,14270,166955,40706,40712,19350,37924,159138,40727,40726,40761,22175,22154,40773,39352,168075,38898,33919,40802,40809,31452,40846,29206,19390,149877,149947,29047,150008,148296,150097,29598,166874,137466,31135,166270,167478,37737,37875,166468,37612,37761,37835,166252,148665,29207,16107,30578,31299,28880,148595,148472,29054,137199,28835,137406,144793,16071,137349,152623,137208,14114,136955,137273,14049,137076,137425,155467,14115,136896,22363,150053,136190,135848,136134,136374,34051,145062,34051,33877,149908,160101,146993,152924,147195,159826,17652,145134,170397,159526,26617,14131,15381,15847,22636,137506,26640,16471,145215,147681,147595,147727,158753,21707,22174,157361,22162,135135,134056,134669,37830,166675,37788,20216,20779,14361,148534,20156,132197,131967,20299,20362,153169,23144,131499,132043,14745,131850,132116,13365,20265,131776,167603,131701,35546,131596,20120,20685,20749,20386,20227,150030,147082,20290,20526,20588,20609,20428,20453,20568,20732,20825,20827,20829,20830,28278,144789,147001,147135,28018,137348,147081,20904,20931,132576,17629,132259,132242,132241,36218,166556,132878,21081,21156,133235,21217,37742,18042,29068,148364,134176,149932,135396,27089,134685,29817,16094,29849,29716,29782,29592,19342,150204,147597,21456,13700,29199,147657,21940,131909,21709,134086,22301,37469,38644,37734,22493,22413,22399,13886,22731,23193,166470,136954,137071,136976,23084,22968,37519,23166,23247,23058,153926,137715,137313,148117,14069,27909,29763,23073,155267,23169,166871,132115,37856,29836,135939,28933,18802,37896,166395,37821,14240,23582,23710,24158,24136,137622,137596,146158,24269,23375,137475,137476,14081,137376,14045,136958,14035,33066,166471,138682,144498,166312,24332,24334,137511,137131,23147,137019,23364,34324,161277,34912,24702,141408,140843,24539,16056,140719,140734,168072,159603,25024,131134,131142,140827,24985,24984,24693,142491,142599,149204,168269,25713,149093,142186,14889,142114,144464,170218,142968,25399,173147,25782,25393,25553,149987,142695,25252,142497,25659,25963,26994,15348,143502,144045,149897,144043,21773,144096,137433,169023,26318,144009,143795,15072,16784,152964,166690,152975,136956,152923,152613,30958,143619,137258,143924,13412,143887,143746,148169,26254,159012,26219,19347,26160,161904,138731,26211,144082,144097,26142,153714,14545,145466,145340,15257,145314,144382,29904,15254,26511,149034,26806,26654,15300,27326,14435,145365,148615,27187,27218,27337,27397,137490,25873,26776,27212,15319,27258,27479,147392,146586,37792,37618,166890,166603,37513,163870,166364,37991,28069,28427,149996,28007,147327,15759,28164,147516,23101,28170,22599,27940,30786,28987,148250,148086,28913,29264,29319,29332,149391,149285,20857,150180,132587,29818,147192,144991,150090,149783,155617,16134,16049,150239,166947,147253,24743,16115,29900,29756,37767,29751,17567,159210,17745,30083,16227,150745,150790,16216,30037,30323,173510,15129,29800,166604,149931,149902,15099,15821,150094,16127,149957,149747,37370,22322,37698,166627,137316,20703,152097,152039,30584,143922,30478,30479,30587,149143,145281,14942,149744,29752,29851,16063,150202,150215,16584,150166,156078,37639,152961,30750,30861,30856,30930,29648,31065,161601,153315,16654,31131,33942,31141,27181,147194,31290,31220,16750,136934,16690,37429,31217,134476,149900,131737,146874,137070,13719,21867,13680,13994,131540,134157,31458,23129,141045,154287,154268,23053,131675,30960,23082,154566,31486,16889,31837,31853,16913,154547,155324,155302,31949,150009,137136,31886,31868,31918,27314,32220,32263,32211,32590,156257,155996,162632,32151,155266,17002,158581,133398,26582,131150,144847,22468,156690,156664,149858,32733,31527,133164,154345,154947,31500,155150,39398,34373,39523,27164,144447,14818,150007,157101,39455,157088,33920,160039,158929,17642,33079,17410,32966,33033,33090,157620,39107,158274,33378,33381,158289,33875,159143,34320,160283,23174,16767,137280,23339,137377,23268,137432,34464,195004,146831,34861,160802,23042,34926,20293,34951,35007,35046,35173,35149,153219,35156,161669,161668,166901,166873,166812,166393,16045,33955,18165,18127,14322,35389,35356,169032,24397,37419,148100,26068,28969,28868,137285,40301,35999,36073,163292,22938,30659,23024,17262,14036,36394,36519,150537,36656,36682,17140,27736,28603,140065,18587,28537,28299,137178,39913,14005,149807,37051,37015,21873,18694,37307,37892,166475,16482,166652,37927,166941,166971,34021,35371,38297,38311,38295,38294,167220,29765,16066,149759,150082,148458,16103,143909,38543,167655,167526,167525,16076,149997,150136,147438,29714,29803,16124,38721,168112,26695,18973,168083,153567,38749,37736,166281,166950,166703,156606,37562,23313,35689,18748,29689,147995,38811,38769,39224,134950,24001,166853,150194,38943,169178,37622,169431,37349,17600,166736,150119,166756,39132,166469,16128,37418,18725,33812,39227,39245,162566,15869,39323,19311,39338,39516,166757,153800,27279,39457,23294,39471,170225,19344,170312,39356,19389,19351,37757,22642,135938,22562,149944,136424,30788,141087,146872,26821,15741,37976,14631,24912,141185,141675,24839,40015,40019,40059,39989,39952,39807,39887,171565,39839,172533,172286,40225,19630,147716,40472,19632,40204,172468,172269,172275,170287,40357,33981,159250,159711,158594,34300,17715,159140,159364,159216,33824,34286,159232,145367,155748,31202,144796,144960,18733,149982,15714,37851,37566,37704,131775,30905,37495,37965,20452,13376,36964,152925,30781,30804,30902,30795,137047,143817,149825,13978,20338,28634,28633,28702,28702,21524,147893,22459,22771,22410,40214,22487,28980,13487,147884,29163,158784,151447,23336,137141,166473,24844,23246,23051,17084,148616,14124,19323,166396,37819,37816,137430,134941,33906,158912,136211,148218,142374,148417,22932,146871,157505,32168,155995,155812,149945,149899,166394,37605,29666,16105,29876,166755,137375,16097,150195,27352,29683,29691,16086,150078,150164,137177,150118,132007,136228,149989,29768,149782,28837,149878,37508,29670,37727,132350,37681,166606,166422,37766,166887,153045,18741,166530,29035,149827,134399,22180,132634,134123,134328,21762,31172,137210,32254,136898,150096,137298,17710,37889,14090,166592,149933,22960,137407,137347,160900,23201,14050,146779,14e3,37471,23161,166529,137314,37748,15565,133812,19094,14730,20724,15721,15692,136092,29045,17147,164376,28175,168164,17643,27991,163407,28775,27823,15574,147437,146989,28162,28428,15727,132085,30033,14012,13512,18048,16090,18545,22980,37486,18750,36673,166940,158656,22546,22472,14038,136274,28926,148322,150129,143331,135856,140221,26809,26983,136088,144613,162804,145119,166531,145366,144378,150687,27162,145069,158903,33854,17631,17614,159014,159057,158850,159710,28439,160009,33597,137018,33773,158848,159827,137179,22921,23170,137139,23137,23153,137477,147964,14125,23023,137020,14023,29070,37776,26266,148133,23150,23083,148115,27179,147193,161590,148571,148170,28957,148057,166369,20400,159016,23746,148686,163405,148413,27148,148054,135940,28838,28979,148457,15781,27871,194597,150095,32357,23019,23855,15859,24412,150109,137183,32164,33830,21637,146170,144128,131604,22398,133333,132633,16357,139166,172726,28675,168283,23920,29583,31955,166489,168992,20424,32743,29389,29456,162548,29496,29497,153334,29505,29512,16041,162584,36972,29173,149746,29665,33270,16074,30476,16081,27810,22269,29721,29726,29727,16098,16112,16116,16122,29907,16142,16211,30018,30061,30066,30093,16252,30152,30172,16320,30285,16343,30324,16348,30330,151388,29064,22051,35200,22633,16413,30531,16441,26465,16453,13787,30616,16490,16495,23646,30654,30667,22770,30744,28857,30748,16552,30777,30791,30801,30822,33864,152885,31027,26627,31026,16643,16649,31121,31129,36795,31238,36796,16743,31377,16818,31420,33401,16836,31439,31451,16847,20001,31586,31596,31611,31762,31771,16992,17018,31867,31900,17036,31928,17044,31981,36755,28864,134351,32207,32212,32208,32253,32686,32692,29343,17303,32800,32805,31545,32814,32817,32852,15820,22452,28832,32951,33001,17389,33036,29482,33038,33042,30048,33044,17409,15161,33110,33113,33114,17427,22586,33148,33156,17445,33171,17453,33189,22511,33217,33252,33364,17551,33446,33398,33482,33496,33535,17584,33623,38505,27018,33797,28917,33892,24803,33928,17668,33982,34017,34040,34064,34104,34130,17723,34159,34160,34272,17783,34418,34450,34482,34543,38469,34699,17926,17943,34990,35071,35108,35143,35217,162151,35369,35384,35476,35508,35921,36052,36082,36124,18328,22623,36291,18413,20206,36410,21976,22356,36465,22005,36528,18487,36558,36578,36580,36589,36594,36791,36801,36810,36812,36915,39364,18605,39136,37395,18718,37416,37464,37483,37553,37550,37567,37603,37611,37619,37620,37629,37699,37764,37805,18757,18769,40639,37911,21249,37917,37933,37950,18794,37972,38009,38189,38306,18855,38388,38451,18917,26528,18980,38720,18997,38834,38850,22100,19172,24808,39097,19225,39153,22596,39182,39193,20916,39196,39223,39234,39261,39266,19312,39365,19357,39484,39695,31363,39785,39809,39901,39921,39924,19565,39968,14191,138178,40265,39994,40702,22096,40339,40381,40384,40444,38134,36790,40571,40620,40625,40637,40646,38108,40674,40689,40696,31432,40772,131220,131767,132e3,26906,38083,22956,132311,22592,38081,14265,132565,132629,132726,136890,22359,29043,133826,133837,134079,21610,194619,134091,21662,134139,134203,134227,134245,134268,24807,134285,22138,134325,134365,134381,134511,134578,134600,26965,39983,34725,134660,134670,134871,135056,134957,134771,23584,135100,24075,135260,135247,135286,26398,135291,135304,135318,13895,135359,135379,135471,135483,21348,33965,135907,136053,135990,35713,136567,136729,137155,137159,20088,28859,137261,137578,137773,137797,138282,138352,138412,138952,25283,138965,139029,29080,26709,139333,27113,14024,139900,140247,140282,141098,141425,141647,33533,141671,141715,142037,35237,142056,36768,142094,38840,142143,38983,39613,142412,null,142472,142519,154600,142600,142610,142775,142741,142914,143220,143308,143411,143462,144159,144350,24497,26184,26303,162425,144743,144883,29185,149946,30679,144922,145174,32391,131910,22709,26382,26904,146087,161367,155618,146961,147129,161278,139418,18640,19128,147737,166554,148206,148237,147515,148276,148374,150085,132554,20946,132625,22943,138920,15294,146687,148484,148694,22408,149108,14747,149295,165352,170441,14178,139715,35678,166734,39382,149522,149755,150037,29193,150208,134264,22885,151205,151430,132985,36570,151596,21135,22335,29041,152217,152601,147274,150183,21948,152646,152686,158546,37332,13427,152895,161330,152926,18200,152930,152934,153543,149823,153693,20582,13563,144332,24798,153859,18300,166216,154286,154505,154630,138640,22433,29009,28598,155906,162834,36950,156082,151450,35682,156674,156746,23899,158711,36662,156804,137500,35562,150006,156808,147439,156946,19392,157119,157365,141083,37989,153569,24981,23079,194765,20411,22201,148769,157436,20074,149812,38486,28047,158909,13848,35191,157593,157806,156689,157790,29151,157895,31554,168128,133649,157990,37124,158009,31301,40432,158202,39462,158253,13919,156777,131105,31107,158260,158555,23852,144665,33743,158621,18128,158884,30011,34917,159150,22710,14108,140685,159819,160205,15444,160384,160389,37505,139642,160395,37680,160486,149968,27705,38047,160848,134904,34855,35061,141606,164979,137137,28344,150058,137248,14756,14009,23568,31203,17727,26294,171181,170148,35139,161740,161880,22230,16607,136714,14753,145199,164072,136133,29101,33638,162269,168360,23143,19639,159919,166315,162301,162314,162571,163174,147834,31555,31102,163849,28597,172767,27139,164632,21410,159239,37823,26678,38749,164207,163875,158133,136173,143919,163912,23941,166960,163971,22293,38947,166217,23979,149896,26046,27093,21458,150181,147329,15377,26422,163984,164084,164142,139169,164175,164233,164271,164378,164614,164655,164746,13770,164968,165546,18682,25574,166230,30728,37461,166328,17394,166375,17375,166376,166726,166868,23032,166921,36619,167877,168172,31569,168208,168252,15863,168286,150218,36816,29327,22155,169191,169449,169392,169400,169778,170193,170313,170346,170435,170536,170766,171354,171419,32415,171768,171811,19620,38215,172691,29090,172799,19857,36882,173515,19868,134300,36798,21953,36794,140464,36793,150163,17673,32383,28502,27313,20202,13540,166700,161949,14138,36480,137205,163876,166764,166809,162366,157359,15851,161365,146615,153141,153942,20122,155265,156248,22207,134765,36366,23405,147080,150686,25566,25296,137206,137339,25904,22061,154698,21530,152337,15814,171416,19581,22050,22046,32585,155352,22901,146752,34672,19996,135146,134473,145082,33047,40286,36120,30267,40005,30286,30649,37701,21554,33096,33527,22053,33074,33816,32957,21994,31074,22083,21526,134813,13774,22021,22001,26353,164578,13869,30004,22e3,21946,21655,21874,134209,134294,24272,151880,134774,142434,134818,40619,32090,21982,135285,25245,38765,21652,36045,29174,37238,25596,25529,25598,21865,142147,40050,143027,20890,13535,134567,20903,21581,21790,21779,30310,36397,157834,30129,32950,34820,34694,35015,33206,33820,135361,17644,29444,149254,23440,33547,157843,22139,141044,163119,147875,163187,159440,160438,37232,135641,37384,146684,173737,134828,134905,29286,138402,18254,151490,163833,135147,16634,40029,25887,142752,18675,149472,171388,135148,134666,24674,161187,135149,null,155720,135559,29091,32398,40272,19994,19972,13687,23309,27826,21351,13996,14812,21373,13989,149016,22682,150382,33325,21579,22442,154261,133497,null,14930,140389,29556,171692,19721,39917,146686,171824,19547,151465,169374,171998,33884,146870,160434,157619,145184,25390,32037,147191,146988,14890,36872,21196,15988,13946,17897,132238,30272,23280,134838,30842,163630,22695,16575,22140,39819,23924,30292,173108,40581,19681,30201,14331,24857,143578,148466,null,22109,135849,22439,149859,171526,21044,159918,13741,27722,40316,31830,39737,22494,137068,23635,25811,169168,156469,160100,34477,134440,159010,150242,134513,null,20990,139023,23950,38659,138705,40577,36940,31519,39682,23761,31651,25192,25397,39679,31695,39722,31870,39726,31810,31878,39957,31740,39689,40727,39963,149822,40794,21875,23491,20477,40600,20466,21088,15878,21201,22375,20566,22967,24082,38856,40363,36700,21609,38836,39232,38842,21292,24880,26924,21466,39946,40194,19515,38465,27008,20646,30022,137069,39386,21107,null,37209,38529,37212,null,37201,167575,25471,159011,27338,22033,37262,30074,25221,132092,29519,31856,154657,146685,null,149785,30422,39837,20010,134356,33726,34882,null,23626,27072,20717,22394,21023,24053,20174,27697,131570,20281,21660,21722,21146,36226,13822,24332,13811,null,27474,37244,40869,39831,38958,39092,39610,40616,40580,29050,31508,null,27642,34840,32632,null,22048,173642,36471,40787,null,36308,36431,40476,36353,25218,164733,36392,36469,31443,150135,31294,30936,27882,35431,30215,166490,40742,27854,34774,30147,172722,30803,194624,36108,29410,29553,35629,29442,29937,36075,150203,34351,24506,34976,17591,null,137275,159237,null,35454,140571,null,24829,30311,39639,40260,37742,39823,34805,null,34831,36087,29484,38689,39856,13782,29362,19463,31825,39242,155993,24921,19460,40598,24957,null,22367,24943,25254,25145,25294,14940,25058,21418,144373,25444,26626,13778,23895,166850,36826,167481,null,20697,138566,30982,21298,38456,134971,16485,null,30718,null,31938,155418,31962,31277,32870,32867,32077,29957,29938,35220,33306,26380,32866,160902,32859,29936,33027,30500,35209,157644,30035,159441,34729,34766,33224,34700,35401,36013,35651,30507,29944,34010,13877,27058,36262,null,35241,29800,28089,34753,147473,29927,15835,29046,24740,24988,15569,29026,24695,null,32625,166701,29264,24809,19326,21024,15384,146631,155351,161366,152881,137540,135934,170243,159196,159917,23745,156077,166415,145015,131310,157766,151310,17762,23327,156492,40784,40614,156267,12288,65292,12289,12290,65294,8231,65307,65306,65311,65281,65072,8230,8229,65104,65105,65106,183,65108,65109,65110,65111,65372,8211,65073,8212,65075,9588,65076,65103,65288,65289,65077,65078,65371,65373,65079,65080,12308,12309,65081,65082,12304,12305,65083,65084,12298,12299,65085,65086,12296,12297,65087,65088,12300,12301,65089,65090,12302,12303,65091,65092,65113,65114,65115,65116,65117,65118,8216,8217,8220,8221,12317,12318,8245,8242,65283,65286,65290,8251,167,12291,9675,9679,9651,9650,9678,9734,9733,9671,9670,9633,9632,9661,9660,12963,8453,175,65507,65343,717,65097,65098,65101,65102,65099,65100,65119,65120,65121,65291,65293,215,247,177,8730,65308,65310,65309,8806,8807,8800,8734,8786,8801,65122,65123,65124,65125,65126,65374,8745,8746,8869,8736,8735,8895,13266,13265,8747,8750,8757,8756,9792,9794,8853,8857,8593,8595,8592,8594,8598,8599,8601,8600,8741,8739,65295,65340,8725,65128,65284,65509,12306,65504,65505,65285,65312,8451,8457,65129,65130,65131,13269,13212,13213,13214,13262,13217,13198,13199,13252,176,20825,20827,20830,20829,20833,20835,21991,29929,31950,9601,9602,9603,9604,9605,9606,9607,9608,9615,9614,9613,9612,9611,9610,9609,9532,9524,9516,9508,9500,9620,9472,9474,9621,9484,9488,9492,9496,9581,9582,9584,9583,9552,9566,9578,9569,9698,9699,9701,9700,9585,9586,9587,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,12321,12322,12323,12324,12325,12326,12327,12328,12329,21313,21316,21317,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,729,713,714,711,715,9216,9217,9218,9219,9220,9221,9222,9223,9224,9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240,9241,9242,9243,9244,9245,9246,9247,9249,8364,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19968,20057,19969,19971,20035,20061,20102,20108,20154,20799,20837,20843,20960,20992,20993,21147,21269,21313,21340,21448,19977,19979,19976,19978,20011,20024,20961,20037,20040,20063,20062,20110,20129,20800,20995,21242,21315,21449,21475,22303,22763,22805,22823,22899,23376,23377,23379,23544,23567,23586,23608,23665,24029,24037,24049,24050,24051,24062,24178,24318,24331,24339,25165,19985,19984,19981,20013,20016,20025,20043,23609,20104,20113,20117,20114,20116,20130,20161,20160,20163,20166,20167,20173,20170,20171,20164,20803,20801,20839,20845,20846,20844,20887,20982,20998,20999,21e3,21243,21246,21247,21270,21305,21320,21319,21317,21342,21380,21451,21450,21453,22764,22825,22827,22826,22829,23380,23569,23588,23610,23663,24052,24187,24319,24340,24341,24515,25096,25142,25163,25166,25903,25991,26007,26020,26041,26085,26352,26376,26408,27424,27490,27513,27595,27604,27611,27663,27700,28779,29226,29238,29243,29255,29273,29275,29356,29579,19993,19990,19989,19988,19992,20027,20045,20047,20046,20197,20184,20180,20181,20182,20183,20195,20196,20185,20190,20805,20804,20873,20874,20908,20985,20986,20984,21002,21152,21151,21253,21254,21271,21277,20191,21322,21321,21345,21344,21359,21358,21435,21487,21476,21491,21484,21486,21481,21480,21500,21496,21493,21483,21478,21482,21490,21489,21488,21477,21485,21499,22235,22234,22806,22830,22833,22900,22902,23381,23427,23612,24040,24039,24038,24066,24067,24179,24188,24321,24344,24343,24517,25098,25171,25172,25170,25169,26021,26086,26414,26412,26410,26411,26413,27491,27597,27665,27664,27704,27713,27712,27710,29359,29572,29577,29916,29926,29976,29983,29992,29993,3e4,30001,30002,30003,30091,30333,30382,30399,30446,30683,30690,30707,31034,31166,31348,31435,19998,19999,20050,20051,20073,20121,20132,20134,20133,20223,20233,20249,20234,20245,20237,20240,20241,20239,20210,20214,20219,20208,20211,20221,20225,20235,20809,20807,20806,20808,20840,20849,20877,20912,21015,21009,21010,21006,21014,21155,21256,21281,21280,21360,21361,21513,21519,21516,21514,21520,21505,21515,21508,21521,21517,21512,21507,21518,21510,21522,22240,22238,22237,22323,22320,22312,22317,22316,22319,22313,22809,22810,22839,22840,22916,22904,22915,22909,22905,22914,22913,23383,23384,23431,23432,23429,23433,23546,23574,23673,24030,24070,24182,24180,24335,24347,24537,24534,25102,25100,25101,25104,25187,25179,25176,25910,26089,26088,26092,26093,26354,26355,26377,26429,26420,26417,26421,27425,27492,27515,27670,27741,27735,27737,27743,27744,27728,27733,27745,27739,27725,27726,28784,29279,29277,30334,31481,31859,31992,32566,32650,32701,32769,32771,32780,32786,32819,32895,32905,32907,32908,33251,33258,33267,33276,33292,33307,33311,33390,33394,33406,34411,34880,34892,34915,35199,38433,20018,20136,20301,20303,20295,20311,20318,20276,20315,20309,20272,20304,20305,20285,20282,20280,20291,20308,20284,20294,20323,20316,20320,20271,20302,20278,20313,20317,20296,20314,20812,20811,20813,20853,20918,20919,21029,21028,21033,21034,21032,21163,21161,21162,21164,21283,21363,21365,21533,21549,21534,21566,21542,21582,21543,21574,21571,21555,21576,21570,21531,21545,21578,21561,21563,21560,21550,21557,21558,21536,21564,21568,21553,21547,21535,21548,22250,22256,22244,22251,22346,22353,22336,22349,22343,22350,22334,22352,22351,22331,22767,22846,22941,22930,22952,22942,22947,22937,22934,22925,22948,22931,22922,22949,23389,23388,23386,23387,23436,23435,23439,23596,23616,23617,23615,23614,23696,23697,23700,23692,24043,24076,24207,24199,24202,24311,24324,24351,24420,24418,24439,24441,24536,24524,24535,24525,24561,24555,24568,24554,25106,25105,25220,25239,25238,25216,25206,25225,25197,25226,25212,25214,25209,25203,25234,25199,25240,25198,25237,25235,25233,25222,25913,25915,25912,26097,26356,26463,26446,26447,26448,26449,26460,26454,26462,26441,26438,26464,26451,26455,27493,27599,27714,27742,27801,27777,27784,27785,27781,27803,27754,27770,27792,27760,27788,27752,27798,27794,27773,27779,27762,27774,27764,27782,27766,27789,27796,27800,27778,28790,28796,28797,28792,29282,29281,29280,29380,29378,29590,29996,29995,30007,30008,30338,30447,30691,31169,31168,31167,31350,31995,32597,32918,32915,32925,32920,32923,32922,32946,33391,33426,33419,33421,35211,35282,35328,35895,35910,35925,35997,36196,36208,36275,36523,36554,36763,36784,36802,36806,36805,36804,24033,37009,37026,37034,37030,37027,37193,37318,37324,38450,38446,38449,38442,38444,20006,20054,20083,20107,20123,20126,20139,20140,20335,20381,20365,20339,20351,20332,20379,20363,20358,20355,20336,20341,20360,20329,20347,20374,20350,20367,20369,20346,20820,20818,20821,20841,20855,20854,20856,20925,20989,21051,21048,21047,21050,21040,21038,21046,21057,21182,21179,21330,21332,21331,21329,21350,21367,21368,21369,21462,21460,21463,21619,21621,21654,21624,21653,21632,21627,21623,21636,21650,21638,21628,21648,21617,21622,21644,21658,21602,21608,21643,21629,21646,22266,22403,22391,22378,22377,22369,22374,22372,22396,22812,22857,22855,22856,22852,22868,22974,22971,22996,22969,22958,22993,22982,22992,22989,22987,22995,22986,22959,22963,22994,22981,23391,23396,23395,23447,23450,23448,23452,23449,23451,23578,23624,23621,23622,23735,23713,23736,23721,23723,23729,23731,24088,24090,24086,24085,24091,24081,24184,24218,24215,24220,24213,24214,24310,24358,24359,24361,24448,24449,24447,24444,24541,24544,24573,24565,24575,24591,24596,24623,24629,24598,24618,24597,24609,24615,24617,24619,24603,25110,25109,25151,25150,25152,25215,25289,25292,25284,25279,25282,25273,25298,25307,25259,25299,25300,25291,25288,25256,25277,25276,25296,25305,25287,25293,25269,25306,25265,25304,25302,25303,25286,25260,25294,25918,26023,26044,26106,26132,26131,26124,26118,26114,26126,26112,26127,26133,26122,26119,26381,26379,26477,26507,26517,26481,26524,26483,26487,26503,26525,26519,26479,26480,26495,26505,26494,26512,26485,26522,26515,26492,26474,26482,27427,27494,27495,27519,27667,27675,27875,27880,27891,27825,27852,27877,27827,27837,27838,27836,27874,27819,27861,27859,27832,27844,27833,27841,27822,27863,27845,27889,27839,27835,27873,27867,27850,27820,27887,27868,27862,27872,28821,28814,28818,28810,28825,29228,29229,29240,29256,29287,29289,29376,29390,29401,29399,29392,29609,29608,29599,29611,29605,30013,30109,30105,30106,30340,30402,30450,30452,30693,30717,31038,31040,31041,31177,31176,31354,31353,31482,31998,32596,32652,32651,32773,32954,32933,32930,32945,32929,32939,32937,32948,32938,32943,33253,33278,33293,33459,33437,33433,33453,33469,33439,33465,33457,33452,33445,33455,33464,33443,33456,33470,33463,34382,34417,21021,34920,36555,36814,36820,36817,37045,37048,37041,37046,37319,37329,38263,38272,38428,38464,38463,38459,38468,38466,38585,38632,38738,38750,20127,20141,20142,20449,20405,20399,20415,20448,20433,20431,20445,20419,20406,20440,20447,20426,20439,20398,20432,20420,20418,20442,20430,20446,20407,20823,20882,20881,20896,21070,21059,21066,21069,21068,21067,21063,21191,21193,21187,21185,21261,21335,21371,21402,21467,21676,21696,21672,21710,21705,21688,21670,21683,21703,21698,21693,21674,21697,21700,21704,21679,21675,21681,21691,21673,21671,21695,22271,22402,22411,22432,22435,22434,22478,22446,22419,22869,22865,22863,22862,22864,23004,23e3,23039,23011,23016,23043,23013,23018,23002,23014,23041,23035,23401,23459,23462,23460,23458,23461,23553,23630,23631,23629,23627,23769,23762,24055,24093,24101,24095,24189,24224,24230,24314,24328,24365,24421,24456,24453,24458,24459,24455,24460,24457,24594,24605,24608,24613,24590,24616,24653,24688,24680,24674,24646,24643,24684,24683,24682,24676,25153,25308,25366,25353,25340,25325,25345,25326,25341,25351,25329,25335,25327,25324,25342,25332,25361,25346,25919,25925,26027,26045,26082,26149,26157,26144,26151,26159,26143,26152,26161,26148,26359,26623,26579,26609,26580,26576,26604,26550,26543,26613,26601,26607,26564,26577,26548,26586,26597,26552,26575,26590,26611,26544,26585,26594,26589,26578,27498,27523,27526,27573,27602,27607,27679,27849,27915,27954,27946,27969,27941,27916,27953,27934,27927,27963,27965,27966,27958,27931,27893,27961,27943,27960,27945,27950,27957,27918,27947,28843,28858,28851,28844,28847,28845,28856,28846,28836,29232,29298,29295,29300,29417,29408,29409,29623,29642,29627,29618,29645,29632,29619,29978,29997,30031,30028,30030,30027,30123,30116,30117,30114,30115,30328,30342,30343,30344,30408,30406,30403,30405,30465,30457,30456,30473,30475,30462,30460,30471,30684,30722,30740,30732,30733,31046,31049,31048,31047,31161,31162,31185,31186,31179,31359,31361,31487,31485,31869,32002,32005,32e3,32009,32007,32004,32006,32568,32654,32703,32772,32784,32781,32785,32822,32982,32997,32986,32963,32964,32972,32993,32987,32974,32990,32996,32989,33268,33314,33511,33539,33541,33507,33499,33510,33540,33509,33538,33545,33490,33495,33521,33537,33500,33492,33489,33502,33491,33503,33519,33542,34384,34425,34427,34426,34893,34923,35201,35284,35336,35330,35331,35998,36e3,36212,36211,36276,36557,36556,36848,36838,36834,36842,36837,36845,36843,36836,36840,37066,37070,37057,37059,37195,37194,37325,38274,38480,38475,38476,38477,38754,38761,38859,38893,38899,38913,39080,39131,39135,39318,39321,20056,20147,20492,20493,20515,20463,20518,20517,20472,20521,20502,20486,20540,20511,20506,20498,20497,20474,20480,20500,20520,20465,20513,20491,20505,20504,20467,20462,20525,20522,20478,20523,20489,20860,20900,20901,20898,20941,20940,20934,20939,21078,21084,21076,21083,21085,21290,21375,21407,21405,21471,21736,21776,21761,21815,21756,21733,21746,21766,21754,21780,21737,21741,21729,21769,21742,21738,21734,21799,21767,21757,21775,22275,22276,22466,22484,22475,22467,22537,22799,22871,22872,22874,23057,23064,23068,23071,23067,23059,23020,23072,23075,23081,23077,23052,23049,23403,23640,23472,23475,23478,23476,23470,23477,23481,23480,23556,23633,23637,23632,23789,23805,23803,23786,23784,23792,23798,23809,23796,24046,24109,24107,24235,24237,24231,24369,24466,24465,24464,24665,24675,24677,24656,24661,24685,24681,24687,24708,24735,24730,24717,24724,24716,24709,24726,25159,25331,25352,25343,25422,25406,25391,25429,25410,25414,25423,25417,25402,25424,25405,25386,25387,25384,25421,25420,25928,25929,26009,26049,26053,26178,26185,26191,26179,26194,26188,26181,26177,26360,26388,26389,26391,26657,26680,26696,26694,26707,26681,26690,26708,26665,26803,26647,26700,26705,26685,26612,26704,26688,26684,26691,26666,26693,26643,26648,26689,27530,27529,27575,27683,27687,27688,27686,27684,27888,28010,28053,28040,28039,28006,28024,28023,27993,28051,28012,28041,28014,27994,28020,28009,28044,28042,28025,28037,28005,28052,28874,28888,28900,28889,28872,28879,29241,29305,29436,29433,29437,29432,29431,29574,29677,29705,29678,29664,29674,29662,30036,30045,30044,30042,30041,30142,30149,30151,30130,30131,30141,30140,30137,30146,30136,30347,30384,30410,30413,30414,30505,30495,30496,30504,30697,30768,30759,30776,30749,30772,30775,30757,30765,30752,30751,30770,31061,31056,31072,31071,31062,31070,31069,31063,31066,31204,31203,31207,31199,31206,31209,31192,31364,31368,31449,31494,31505,31881,32033,32023,32011,32010,32032,32034,32020,32016,32021,32026,32028,32013,32025,32027,32570,32607,32660,32709,32705,32774,32792,32789,32793,32791,32829,32831,33009,33026,33008,33029,33005,33012,33030,33016,33011,33032,33021,33034,33020,33007,33261,33260,33280,33296,33322,33323,33320,33324,33467,33579,33618,33620,33610,33592,33616,33609,33589,33588,33615,33586,33593,33590,33559,33600,33585,33576,33603,34388,34442,34474,34451,34468,34473,34444,34467,34460,34928,34935,34945,34946,34941,34937,35352,35344,35342,35340,35349,35338,35351,35347,35350,35343,35345,35912,35962,35961,36001,36002,36215,36524,36562,36564,36559,36785,36865,36870,36855,36864,36858,36852,36867,36861,36869,36856,37013,37089,37085,37090,37202,37197,37196,37336,37341,37335,37340,37337,38275,38498,38499,38497,38491,38493,38500,38488,38494,38587,39138,39340,39592,39640,39717,39730,39740,20094,20602,20605,20572,20551,20547,20556,20570,20553,20581,20598,20558,20565,20597,20596,20599,20559,20495,20591,20589,20828,20885,20976,21098,21103,21202,21209,21208,21205,21264,21263,21273,21311,21312,21310,21443,26364,21830,21866,21862,21828,21854,21857,21827,21834,21809,21846,21839,21845,21807,21860,21816,21806,21852,21804,21859,21811,21825,21847,22280,22283,22281,22495,22533,22538,22534,22496,22500,22522,22530,22581,22519,22521,22816,22882,23094,23105,23113,23142,23146,23104,23100,23138,23130,23110,23114,23408,23495,23493,23492,23490,23487,23494,23561,23560,23559,23648,23644,23645,23815,23814,23822,23835,23830,23842,23825,23849,23828,23833,23844,23847,23831,24034,24120,24118,24115,24119,24247,24248,24246,24245,24254,24373,24375,24407,24428,24425,24427,24471,24473,24478,24472,24481,24480,24476,24703,24739,24713,24736,24744,24779,24756,24806,24765,24773,24763,24757,24796,24764,24792,24789,24774,24799,24760,24794,24775,25114,25115,25160,25504,25511,25458,25494,25506,25509,25463,25447,25496,25514,25457,25513,25481,25475,25499,25451,25512,25476,25480,25497,25505,25516,25490,25487,25472,25467,25449,25448,25466,25949,25942,25937,25945,25943,21855,25935,25944,25941,25940,26012,26011,26028,26063,26059,26060,26062,26205,26202,26212,26216,26214,26206,26361,21207,26395,26753,26799,26786,26771,26805,26751,26742,26801,26791,26775,26800,26755,26820,26797,26758,26757,26772,26781,26792,26783,26785,26754,27442,27578,27627,27628,27691,28046,28092,28147,28121,28082,28129,28108,28132,28155,28154,28165,28103,28107,28079,28113,28078,28126,28153,28088,28151,28149,28101,28114,28186,28085,28122,28139,28120,28138,28145,28142,28136,28102,28100,28074,28140,28095,28134,28921,28937,28938,28925,28911,29245,29309,29313,29468,29467,29462,29459,29465,29575,29701,29706,29699,29702,29694,29709,29920,29942,29943,29980,29986,30053,30054,30050,30064,30095,30164,30165,30133,30154,30157,30350,30420,30418,30427,30519,30526,30524,30518,30520,30522,30827,30787,30798,31077,31080,31085,31227,31378,31381,31520,31528,31515,31532,31526,31513,31518,31534,31890,31895,31893,32070,32067,32113,32046,32057,32060,32064,32048,32051,32068,32047,32066,32050,32049,32573,32670,32666,32716,32718,32722,32796,32842,32838,33071,33046,33059,33067,33065,33072,33060,33282,33333,33335,33334,33337,33678,33694,33688,33656,33698,33686,33725,33707,33682,33674,33683,33673,33696,33655,33659,33660,33670,33703,34389,24426,34503,34496,34486,34500,34485,34502,34507,34481,34479,34505,34899,34974,34952,34987,34962,34966,34957,34955,35219,35215,35370,35357,35363,35365,35377,35373,35359,35355,35362,35913,35930,36009,36012,36011,36008,36010,36007,36199,36198,36286,36282,36571,36575,36889,36877,36890,36887,36899,36895,36893,36880,36885,36894,36896,36879,36898,36886,36891,36884,37096,37101,37117,37207,37326,37365,37350,37347,37351,37357,37353,38281,38506,38517,38515,38520,38512,38516,38518,38519,38508,38592,38634,38633,31456,31455,38914,38915,39770,40165,40565,40575,40613,40635,20642,20621,20613,20633,20625,20608,20630,20632,20634,26368,20977,21106,21108,21109,21097,21214,21213,21211,21338,21413,21883,21888,21927,21884,21898,21917,21912,21890,21916,21930,21908,21895,21899,21891,21939,21934,21919,21822,21938,21914,21947,21932,21937,21886,21897,21931,21913,22285,22575,22570,22580,22564,22576,22577,22561,22557,22560,22777,22778,22880,23159,23194,23167,23186,23195,23207,23411,23409,23506,23500,23507,23504,23562,23563,23601,23884,23888,23860,23879,24061,24133,24125,24128,24131,24190,24266,24257,24258,24260,24380,24429,24489,24490,24488,24785,24801,24754,24758,24800,24860,24867,24826,24853,24816,24827,24820,24936,24817,24846,24822,24841,24832,24850,25119,25161,25507,25484,25551,25536,25577,25545,25542,25549,25554,25571,25552,25569,25558,25581,25582,25462,25588,25578,25563,25682,25562,25593,25950,25958,25954,25955,26001,26e3,26031,26222,26224,26228,26230,26223,26257,26234,26238,26231,26366,26367,26399,26397,26874,26837,26848,26840,26839,26885,26847,26869,26862,26855,26873,26834,26866,26851,26827,26829,26893,26898,26894,26825,26842,26990,26875,27454,27450,27453,27544,27542,27580,27631,27694,27695,27692,28207,28216,28244,28193,28210,28263,28234,28192,28197,28195,28187,28251,28248,28196,28246,28270,28205,28198,28271,28212,28237,28218,28204,28227,28189,28222,28363,28297,28185,28238,28259,28228,28274,28265,28255,28953,28954,28966,28976,28961,28982,29038,28956,29260,29316,29312,29494,29477,29492,29481,29754,29738,29747,29730,29733,29749,29750,29748,29743,29723,29734,29736,29989,29990,30059,30058,30178,30171,30179,30169,30168,30174,30176,30331,30332,30358,30355,30388,30428,30543,30701,30813,30828,30831,31245,31240,31243,31237,31232,31384,31383,31382,31461,31459,31561,31574,31558,31568,31570,31572,31565,31563,31567,31569,31903,31909,32094,32080,32104,32085,32043,32110,32114,32097,32102,32098,32112,32115,21892,32724,32725,32779,32850,32901,33109,33108,33099,33105,33102,33081,33094,33086,33100,33107,33140,33298,33308,33769,33795,33784,33805,33760,33733,33803,33729,33775,33777,33780,33879,33802,33776,33804,33740,33789,33778,33738,33848,33806,33796,33756,33799,33748,33759,34395,34527,34521,34541,34516,34523,34532,34512,34526,34903,35009,35010,34993,35203,35222,35387,35424,35413,35422,35388,35393,35412,35419,35408,35398,35380,35386,35382,35414,35937,35970,36015,36028,36019,36029,36033,36027,36032,36020,36023,36022,36031,36024,36234,36229,36225,36302,36317,36299,36314,36305,36300,36315,36294,36603,36600,36604,36764,36910,36917,36913,36920,36914,36918,37122,37109,37129,37118,37219,37221,37327,37396,37397,37411,37385,37406,37389,37392,37383,37393,38292,38287,38283,38289,38291,38290,38286,38538,38542,38539,38525,38533,38534,38541,38514,38532,38593,38597,38596,38598,38599,38639,38642,38860,38917,38918,38920,39143,39146,39151,39145,39154,39149,39342,39341,40643,40653,40657,20098,20653,20661,20658,20659,20677,20670,20652,20663,20667,20655,20679,21119,21111,21117,21215,21222,21220,21218,21219,21295,21983,21992,21971,21990,21966,21980,21959,21969,21987,21988,21999,21978,21985,21957,21958,21989,21961,22290,22291,22622,22609,22616,22615,22618,22612,22635,22604,22637,22602,22626,22610,22603,22887,23233,23241,23244,23230,23229,23228,23219,23234,23218,23913,23919,24140,24185,24265,24264,24338,24409,24492,24494,24858,24847,24904,24863,24819,24859,24825,24833,24840,24910,24908,24900,24909,24894,24884,24871,24845,24838,24887,25121,25122,25619,25662,25630,25642,25645,25661,25644,25615,25628,25620,25613,25654,25622,25623,25606,25964,26015,26032,26263,26249,26247,26248,26262,26244,26264,26253,26371,27028,26989,26970,26999,26976,26964,26997,26928,27010,26954,26984,26987,26974,26963,27001,27014,26973,26979,26971,27463,27506,27584,27583,27603,27645,28322,28335,28371,28342,28354,28304,28317,28359,28357,28325,28312,28348,28346,28331,28369,28310,28316,28356,28372,28330,28327,28340,29006,29017,29033,29028,29001,29031,29020,29036,29030,29004,29029,29022,28998,29032,29014,29242,29266,29495,29509,29503,29502,29807,29786,29781,29791,29790,29761,29759,29785,29787,29788,30070,30072,30208,30192,30209,30194,30193,30202,30207,30196,30195,30430,30431,30555,30571,30566,30558,30563,30585,30570,30572,30556,30565,30568,30562,30702,30862,30896,30871,30872,30860,30857,30844,30865,30867,30847,31098,31103,31105,33836,31165,31260,31258,31264,31252,31263,31262,31391,31392,31607,31680,31584,31598,31591,31921,31923,31925,32147,32121,32145,32129,32143,32091,32622,32617,32618,32626,32681,32680,32676,32854,32856,32902,32900,33137,33136,33144,33125,33134,33139,33131,33145,33146,33126,33285,33351,33922,33911,33853,33841,33909,33894,33899,33865,33900,33883,33852,33845,33889,33891,33897,33901,33862,34398,34396,34399,34553,34579,34568,34567,34560,34558,34555,34562,34563,34566,34570,34905,35039,35028,35033,35036,35032,35037,35041,35018,35029,35026,35228,35299,35435,35442,35443,35430,35433,35440,35463,35452,35427,35488,35441,35461,35437,35426,35438,35436,35449,35451,35390,35432,35938,35978,35977,36042,36039,36040,36036,36018,36035,36034,36037,36321,36319,36328,36335,36339,36346,36330,36324,36326,36530,36611,36617,36606,36618,36767,36786,36939,36938,36947,36930,36948,36924,36949,36944,36935,36943,36942,36941,36945,36926,36929,37138,37143,37228,37226,37225,37321,37431,37463,37432,37437,37440,37438,37467,37451,37476,37457,37428,37449,37453,37445,37433,37439,37466,38296,38552,38548,38549,38605,38603,38601,38602,38647,38651,38649,38646,38742,38772,38774,38928,38929,38931,38922,38930,38924,39164,39156,39165,39166,39347,39345,39348,39649,40169,40578,40718,40723,40736,20711,20718,20709,20694,20717,20698,20693,20687,20689,20721,20686,20713,20834,20979,21123,21122,21297,21421,22014,22016,22043,22039,22013,22036,22022,22025,22029,22030,22007,22038,22047,22024,22032,22006,22296,22294,22645,22654,22659,22675,22666,22649,22661,22653,22781,22821,22818,22820,22890,22889,23265,23270,23273,23255,23254,23256,23267,23413,23518,23527,23521,23525,23526,23528,23522,23524,23519,23565,23650,23940,23943,24155,24163,24149,24151,24148,24275,24278,24330,24390,24432,24505,24903,24895,24907,24951,24930,24931,24927,24922,24920,24949,25130,25735,25688,25684,25764,25720,25695,25722,25681,25703,25652,25709,25723,25970,26017,26071,26070,26274,26280,26269,27036,27048,27029,27073,27054,27091,27083,27035,27063,27067,27051,27060,27088,27085,27053,27084,27046,27075,27043,27465,27468,27699,28467,28436,28414,28435,28404,28457,28478,28448,28460,28431,28418,28450,28415,28399,28422,28465,28472,28466,28451,28437,28459,28463,28552,28458,28396,28417,28402,28364,28407,29076,29081,29053,29066,29060,29074,29246,29330,29334,29508,29520,29796,29795,29802,29808,29805,29956,30097,30247,30221,30219,30217,30227,30433,30435,30596,30589,30591,30561,30913,30879,30887,30899,30889,30883,31118,31119,31117,31278,31281,31402,31401,31469,31471,31649,31637,31627,31605,31639,31645,31636,31631,31672,31623,31620,31929,31933,31934,32187,32176,32156,32189,32190,32160,32202,32180,32178,32177,32186,32162,32191,32181,32184,32173,32210,32199,32172,32624,32736,32737,32735,32862,32858,32903,33104,33152,33167,33160,33162,33151,33154,33255,33274,33287,33300,33310,33355,33993,33983,33990,33988,33945,33950,33970,33948,33995,33976,33984,34003,33936,33980,34001,33994,34623,34588,34619,34594,34597,34612,34584,34645,34615,34601,35059,35074,35060,35065,35064,35069,35048,35098,35055,35494,35468,35486,35491,35469,35489,35475,35492,35498,35493,35496,35480,35473,35482,35495,35946,35981,35980,36051,36049,36050,36203,36249,36245,36348,36628,36626,36629,36627,36771,36960,36952,36956,36963,36953,36958,36962,36957,36955,37145,37144,37150,37237,37240,37239,37236,37496,37504,37509,37528,37526,37499,37523,37532,37544,37500,37521,38305,38312,38313,38307,38309,38308,38553,38556,38555,38604,38610,38656,38780,38789,38902,38935,38936,39087,39089,39171,39173,39180,39177,39361,39599,39600,39654,39745,39746,40180,40182,40179,40636,40763,40778,20740,20736,20731,20725,20729,20738,20744,20745,20741,20956,21127,21128,21129,21133,21130,21232,21426,22062,22075,22073,22066,22079,22068,22057,22099,22094,22103,22132,22070,22063,22064,22656,22687,22686,22707,22684,22702,22697,22694,22893,23305,23291,23307,23285,23308,23304,23534,23532,23529,23531,23652,23653,23965,23956,24162,24159,24161,24290,24282,24287,24285,24291,24288,24392,24433,24503,24501,24950,24935,24942,24925,24917,24962,24956,24944,24939,24958,24999,24976,25003,24974,25004,24986,24996,24980,25006,25134,25705,25711,25721,25758,25778,25736,25744,25776,25765,25747,25749,25769,25746,25774,25773,25771,25754,25772,25753,25762,25779,25973,25975,25976,26286,26283,26292,26289,27171,27167,27112,27137,27166,27161,27133,27169,27155,27146,27123,27138,27141,27117,27153,27472,27470,27556,27589,27590,28479,28540,28548,28497,28518,28500,28550,28525,28507,28536,28526,28558,28538,28528,28516,28567,28504,28373,28527,28512,28511,29087,29100,29105,29096,29270,29339,29518,29527,29801,29835,29827,29822,29824,30079,30240,30249,30239,30244,30246,30241,30242,30362,30394,30436,30606,30599,30604,30609,30603,30923,30917,30906,30922,30910,30933,30908,30928,31295,31292,31296,31293,31287,31291,31407,31406,31661,31665,31684,31668,31686,31687,31681,31648,31692,31946,32224,32244,32239,32251,32216,32236,32221,32232,32227,32218,32222,32233,32158,32217,32242,32249,32629,32631,32687,32745,32806,33179,33180,33181,33184,33178,33176,34071,34109,34074,34030,34092,34093,34067,34065,34083,34081,34068,34028,34085,34047,34054,34690,34676,34678,34656,34662,34680,34664,34649,34647,34636,34643,34907,34909,35088,35079,35090,35091,35093,35082,35516,35538,35527,35524,35477,35531,35576,35506,35529,35522,35519,35504,35542,35533,35510,35513,35547,35916,35918,35948,36064,36062,36070,36068,36076,36077,36066,36067,36060,36074,36065,36205,36255,36259,36395,36368,36381,36386,36367,36393,36383,36385,36382,36538,36637,36635,36639,36649,36646,36650,36636,36638,36645,36969,36974,36968,36973,36983,37168,37165,37159,37169,37255,37257,37259,37251,37573,37563,37559,37610,37548,37604,37569,37555,37564,37586,37575,37616,37554,38317,38321,38660,38662,38663,38665,38752,38797,38795,38799,38945,38955,38940,39091,39178,39187,39186,39192,39389,39376,39391,39387,39377,39381,39378,39385,39607,39662,39663,39719,39749,39748,39799,39791,40198,40201,40195,40617,40638,40654,22696,40786,20754,20760,20756,20752,20757,20864,20906,20957,21137,21139,21235,22105,22123,22137,22121,22116,22136,22122,22120,22117,22129,22127,22124,22114,22134,22721,22718,22727,22725,22894,23325,23348,23416,23536,23566,24394,25010,24977,25001,24970,25037,25014,25022,25034,25032,25136,25797,25793,25803,25787,25788,25818,25796,25799,25794,25805,25791,25810,25812,25790,25972,26310,26313,26297,26308,26311,26296,27197,27192,27194,27225,27243,27224,27193,27204,27234,27233,27211,27207,27189,27231,27208,27481,27511,27653,28610,28593,28577,28611,28580,28609,28583,28595,28608,28601,28598,28582,28576,28596,29118,29129,29136,29138,29128,29141,29113,29134,29145,29148,29123,29124,29544,29852,29859,29848,29855,29854,29922,29964,29965,30260,30264,30266,30439,30437,30624,30622,30623,30629,30952,30938,30956,30951,31142,31309,31310,31302,31308,31307,31418,31705,31761,31689,31716,31707,31713,31721,31718,31957,31958,32266,32273,32264,32283,32291,32286,32285,32265,32272,32633,32690,32752,32753,32750,32808,33203,33193,33192,33275,33288,33368,33369,34122,34137,34120,34152,34153,34115,34121,34157,34154,34142,34691,34719,34718,34722,34701,34913,35114,35122,35109,35115,35105,35242,35238,35558,35578,35563,35569,35584,35548,35559,35566,35582,35585,35586,35575,35565,35571,35574,35580,35947,35949,35987,36084,36420,36401,36404,36418,36409,36405,36667,36655,36664,36659,36776,36774,36981,36980,36984,36978,36988,36986,37172,37266,37664,37686,37624,37683,37679,37666,37628,37675,37636,37658,37648,37670,37665,37653,37678,37657,38331,38567,38568,38570,38613,38670,38673,38678,38669,38675,38671,38747,38748,38758,38808,38960,38968,38971,38967,38957,38969,38948,39184,39208,39198,39195,39201,39194,39405,39394,39409,39608,39612,39675,39661,39720,39825,40213,40227,40230,40232,40210,40219,40664,40660,40845,40860,20778,20767,20769,20786,21237,22158,22144,22160,22149,22151,22159,22741,22739,22737,22734,23344,23338,23332,23418,23607,23656,23996,23994,23997,23992,24171,24396,24509,25033,25026,25031,25062,25035,25138,25140,25806,25802,25816,25824,25840,25830,25836,25841,25826,25837,25986,25987,26329,26326,27264,27284,27268,27298,27292,27355,27299,27262,27287,27280,27296,27484,27566,27610,27656,28632,28657,28639,28640,28635,28644,28651,28655,28544,28652,28641,28649,28629,28654,28656,29159,29151,29166,29158,29157,29165,29164,29172,29152,29237,29254,29552,29554,29865,29872,29862,29864,30278,30274,30284,30442,30643,30634,30640,30636,30631,30637,30703,30967,30970,30964,30959,30977,31143,31146,31319,31423,31751,31757,31742,31735,31756,31712,31968,31964,31966,31970,31967,31961,31965,32302,32318,32326,32311,32306,32323,32299,32317,32305,32325,32321,32308,32313,32328,32309,32319,32303,32580,32755,32764,32881,32882,32880,32879,32883,33222,33219,33210,33218,33216,33215,33213,33225,33214,33256,33289,33393,34218,34180,34174,34204,34193,34196,34223,34203,34183,34216,34186,34407,34752,34769,34739,34770,34758,34731,34747,34746,34760,34763,35131,35126,35140,35128,35133,35244,35598,35607,35609,35611,35594,35616,35613,35588,35600,35905,35903,35955,36090,36093,36092,36088,36091,36264,36425,36427,36424,36426,36676,36670,36674,36677,36671,36991,36989,36996,36993,36994,36992,37177,37283,37278,37276,37709,37762,37672,37749,37706,37733,37707,37656,37758,37740,37723,37744,37722,37716,38346,38347,38348,38344,38342,38577,38584,38614,38684,38686,38816,38867,38982,39094,39221,39425,39423,39854,39851,39850,39853,40251,40255,40587,40655,40670,40668,40669,40667,40766,40779,21474,22165,22190,22745,22744,23352,24413,25059,25139,25844,25842,25854,25862,25850,25851,25847,26039,26332,26406,27315,27308,27331,27323,27320,27330,27310,27311,27487,27512,27567,28681,28683,28670,28678,28666,28689,28687,29179,29180,29182,29176,29559,29557,29863,29887,29973,30294,30296,30290,30653,30655,30651,30652,30990,31150,31329,31330,31328,31428,31429,31787,31783,31786,31774,31779,31777,31975,32340,32341,32350,32346,32353,32338,32345,32584,32761,32763,32887,32886,33229,33231,33290,34255,34217,34253,34256,34249,34224,34234,34233,34214,34799,34796,34802,34784,35206,35250,35316,35624,35641,35628,35627,35920,36101,36441,36451,36454,36452,36447,36437,36544,36681,36685,36999,36995,37e3,37291,37292,37328,37780,37770,37782,37794,37811,37806,37804,37808,37784,37786,37783,38356,38358,38352,38357,38626,38620,38617,38619,38622,38692,38819,38822,38829,38905,38989,38991,38988,38990,38995,39098,39230,39231,39229,39214,39333,39438,39617,39683,39686,39759,39758,39757,39882,39881,39933,39880,39872,40273,40285,40288,40672,40725,40748,20787,22181,22750,22751,22754,23541,40848,24300,25074,25079,25078,25077,25856,25871,26336,26333,27365,27357,27354,27347,28699,28703,28712,28698,28701,28693,28696,29190,29197,29272,29346,29560,29562,29885,29898,29923,30087,30086,30303,30305,30663,31001,31153,31339,31337,31806,31807,31800,31805,31799,31808,32363,32365,32377,32361,32362,32645,32371,32694,32697,32696,33240,34281,34269,34282,34261,34276,34277,34295,34811,34821,34829,34809,34814,35168,35167,35158,35166,35649,35676,35672,35657,35674,35662,35663,35654,35673,36104,36106,36476,36466,36487,36470,36460,36474,36468,36692,36686,36781,37002,37003,37297,37294,37857,37841,37855,37827,37832,37852,37853,37846,37858,37837,37848,37860,37847,37864,38364,38580,38627,38698,38695,38753,38876,38907,39006,39e3,39003,39100,39237,39241,39446,39449,39693,39912,39911,39894,39899,40329,40289,40306,40298,40300,40594,40599,40595,40628,21240,22184,22199,22198,22196,22204,22756,23360,23363,23421,23542,24009,25080,25082,25880,25876,25881,26342,26407,27372,28734,28720,28722,29200,29563,29903,30306,30309,31014,31018,31020,31019,31431,31478,31820,31811,31821,31983,31984,36782,32381,32380,32386,32588,32768,33242,33382,34299,34297,34321,34298,34310,34315,34311,34314,34836,34837,35172,35258,35320,35696,35692,35686,35695,35679,35691,36111,36109,36489,36481,36485,36482,37300,37323,37912,37891,37885,38369,38704,39108,39250,39249,39336,39467,39472,39479,39477,39955,39949,40569,40629,40680,40751,40799,40803,40801,20791,20792,22209,22208,22210,22804,23660,24013,25084,25086,25885,25884,26005,26345,27387,27396,27386,27570,28748,29211,29351,29910,29908,30313,30675,31824,32399,32396,32700,34327,34349,34330,34851,34850,34849,34847,35178,35180,35261,35700,35703,35709,36115,36490,36493,36491,36703,36783,37306,37934,37939,37941,37946,37944,37938,37931,38370,38712,38713,38706,38911,39015,39013,39255,39493,39491,39488,39486,39631,39764,39761,39981,39973,40367,40372,40386,40376,40605,40687,40729,40796,40806,40807,20796,20795,22216,22218,22217,23423,24020,24018,24398,25087,25892,27402,27489,28753,28760,29568,29924,30090,30318,30316,31155,31840,31839,32894,32893,33247,35186,35183,35324,35712,36118,36119,36497,36499,36705,37192,37956,37969,37970,38717,38718,38851,38849,39019,39253,39509,39501,39634,39706,40009,39985,39998,39995,40403,40407,40756,40812,40810,40852,22220,24022,25088,25891,25899,25898,26348,27408,29914,31434,31844,31843,31845,32403,32406,32404,33250,34360,34367,34865,35722,37008,37007,37987,37984,37988,38760,39023,39260,39514,39515,39511,39635,39636,39633,40020,40023,40022,40421,40607,40692,22225,22761,25900,28766,30321,30322,30679,32592,32648,34870,34873,34914,35731,35730,35734,33399,36123,37312,37994,38722,38728,38724,38854,39024,39519,39714,39768,40031,40441,40442,40572,40573,40711,40823,40818,24307,27414,28771,31852,31854,34875,35264,36513,37313,38002,38e3,39025,39262,39638,39715,40652,28772,30682,35738,38007,38857,39522,39525,32412,35740,36522,37317,38013,38014,38012,40055,40056,40695,35924,38015,40474,29224,39530,39729,40475,40478,31858,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,20022,20031,20101,20128,20866,20886,20907,21241,21304,21353,21430,22794,23424,24027,12083,24191,24308,24400,24417,25908,26080,30098,30326,36789,38582,168,710,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,65339,65341,10045,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8679,8632,8633,12751,131276,20058,131210,20994,17553,40880,20872,40881,161287,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65506,65508,65287,65282,12849,8470,8481,12443,12444,11904,11908,11910,11911,11912,11914,11916,11917,11925,11932,11933,11941,11943,11946,11948,11950,11958,11964,11966,11974,11978,11980,11981,11983,11990,11991,11998,12003,null,null,null,643,592,603,596,629,339,248,331,650,618,20034,20060,20981,21274,21378,19975,19980,20039,20109,22231,64012,23662,24435,19983,20871,19982,20014,20115,20162,20169,20168,20888,21244,21356,21433,22304,22787,22828,23568,24063,26081,27571,27596,27668,29247,20017,20028,20200,20188,20201,20193,20189,20186,21004,21276,21324,22306,22307,22807,22831,23425,23428,23570,23611,23668,23667,24068,24192,24194,24521,25097,25168,27669,27702,27715,27711,27707,29358,29360,29578,31160,32906,38430,20238,20248,20268,20213,20244,20209,20224,20215,20232,20253,20226,20229,20258,20243,20228,20212,20242,20913,21011,21001,21008,21158,21282,21279,21325,21386,21511,22241,22239,22318,22314,22324,22844,22912,22908,22917,22907,22910,22903,22911,23382,23573,23589,23676,23674,23675,23678,24031,24181,24196,24322,24346,24436,24533,24532,24527,25180,25182,25188,25185,25190,25186,25177,25184,25178,25189,26095,26094,26430,26425,26424,26427,26426,26431,26428,26419,27672,27718,27730,27740,27727,27722,27732,27723,27724,28785,29278,29364,29365,29582,29994,30335,31349,32593,33400,33404,33408,33405,33407,34381,35198,37017,37015,37016,37019,37012,38434,38436,38432,38435,20310,20283,20322,20297,20307,20324,20286,20327,20306,20319,20289,20312,20269,20275,20287,20321,20879,20921,21020,21022,21025,21165,21166,21257,21347,21362,21390,21391,21552,21559,21546,21588,21573,21529,21532,21541,21528,21565,21583,21569,21544,21540,21575,22254,22247,22245,22337,22341,22348,22345,22347,22354,22790,22848,22950,22936,22944,22935,22926,22946,22928,22927,22951,22945,23438,23442,23592,23594,23693,23695,23688,23691,23689,23698,23690,23686,23699,23701,24032,24074,24078,24203,24201,24204,24200,24205,24325,24349,24440,24438,24530,24529,24528,24557,24552,24558,24563,24545,24548,24547,24570,24559,24567,24571,24576,24564,25146,25219,25228,25230,25231,25236,25223,25201,25211,25210,25200,25217,25224,25207,25213,25202,25204,25911,26096,26100,26099,26098,26101,26437,26439,26457,26453,26444,26440,26461,26445,26458,26443,27600,27673,27674,27768,27751,27755,27780,27787,27791,27761,27759,27753,27802,27757,27783,27797,27804,27750,27763,27749,27771,27790,28788,28794,29283,29375,29373,29379,29382,29377,29370,29381,29589,29591,29587,29588,29586,30010,30009,30100,30101,30337,31037,32820,32917,32921,32912,32914,32924,33424,33423,33413,33422,33425,33427,33418,33411,33412,35960,36809,36799,37023,37025,37029,37022,37031,37024,38448,38440,38447,38445,20019,20376,20348,20357,20349,20352,20359,20342,20340,20361,20356,20343,20300,20375,20330,20378,20345,20353,20344,20368,20380,20372,20382,20370,20354,20373,20331,20334,20894,20924,20926,21045,21042,21043,21062,21041,21180,21258,21259,21308,21394,21396,21639,21631,21633,21649,21634,21640,21611,21626,21630,21605,21612,21620,21606,21645,21615,21601,21600,21656,21603,21607,21604,22263,22265,22383,22386,22381,22379,22385,22384,22390,22400,22389,22395,22387,22388,22370,22376,22397,22796,22853,22965,22970,22991,22990,22962,22988,22977,22966,22972,22979,22998,22961,22973,22976,22984,22964,22983,23394,23397,23443,23445,23620,23623,23726,23716,23712,23733,23727,23720,23724,23711,23715,23725,23714,23722,23719,23709,23717,23734,23728,23718,24087,24084,24089,24360,24354,24355,24356,24404,24450,24446,24445,24542,24549,24621,24614,24601,24626,24587,24628,24586,24599,24627,24602,24606,24620,24610,24589,24592,24622,24595,24593,24588,24585,24604,25108,25149,25261,25268,25297,25278,25258,25270,25290,25262,25267,25263,25275,25257,25264,25272,25917,26024,26043,26121,26108,26116,26130,26120,26107,26115,26123,26125,26117,26109,26129,26128,26358,26378,26501,26476,26510,26514,26486,26491,26520,26502,26500,26484,26509,26508,26490,26527,26513,26521,26499,26493,26497,26488,26489,26516,27429,27520,27518,27614,27677,27795,27884,27883,27886,27865,27830,27860,27821,27879,27831,27856,27842,27834,27843,27846,27885,27890,27858,27869,27828,27786,27805,27776,27870,27840,27952,27853,27847,27824,27897,27855,27881,27857,28820,28824,28805,28819,28806,28804,28817,28822,28802,28826,28803,29290,29398,29387,29400,29385,29404,29394,29396,29402,29388,29393,29604,29601,29613,29606,29602,29600,29612,29597,29917,29928,30015,30016,30014,30092,30104,30383,30451,30449,30448,30453,30712,30716,30713,30715,30714,30711,31042,31039,31173,31352,31355,31483,31861,31997,32821,32911,32942,32931,32952,32949,32941,33312,33440,33472,33451,33434,33432,33435,33461,33447,33454,33468,33438,33466,33460,33448,33441,33449,33474,33444,33475,33462,33442,34416,34415,34413,34414,35926,36818,36811,36819,36813,36822,36821,36823,37042,37044,37039,37043,37040,38457,38461,38460,38458,38467,20429,20421,20435,20402,20425,20427,20417,20436,20444,20441,20411,20403,20443,20423,20438,20410,20416,20409,20460,21060,21065,21184,21186,21309,21372,21399,21398,21401,21400,21690,21665,21677,21669,21711,21699,33549,21687,21678,21718,21686,21701,21702,21664,21616,21692,21666,21694,21618,21726,21680,22453,22430,22431,22436,22412,22423,22429,22427,22420,22424,22415,22425,22437,22426,22421,22772,22797,22867,23009,23006,23022,23040,23025,23005,23034,23037,23036,23030,23012,23026,23031,23003,23017,23027,23029,23008,23038,23028,23021,23464,23628,23760,23768,23756,23767,23755,23771,23774,23770,23753,23751,23754,23766,23763,23764,23759,23752,23750,23758,23775,23800,24057,24097,24098,24099,24096,24100,24240,24228,24226,24219,24227,24229,24327,24366,24406,24454,24631,24633,24660,24690,24670,24645,24659,24647,24649,24667,24652,24640,24642,24671,24612,24644,24664,24678,24686,25154,25155,25295,25357,25355,25333,25358,25347,25323,25337,25359,25356,25336,25334,25344,25363,25364,25338,25365,25339,25328,25921,25923,26026,26047,26166,26145,26162,26165,26140,26150,26146,26163,26155,26170,26141,26164,26169,26158,26383,26384,26561,26610,26568,26554,26588,26555,26616,26584,26560,26551,26565,26603,26596,26591,26549,26573,26547,26615,26614,26606,26595,26562,26553,26574,26599,26608,26546,26620,26566,26605,26572,26542,26598,26587,26618,26569,26570,26563,26602,26571,27432,27522,27524,27574,27606,27608,27616,27680,27681,27944,27956,27949,27935,27964,27967,27922,27914,27866,27955,27908,27929,27962,27930,27921,27904,27933,27970,27905,27928,27959,27907,27919,27968,27911,27936,27948,27912,27938,27913,27920,28855,28831,28862,28849,28848,28833,28852,28853,28841,29249,29257,29258,29292,29296,29299,29294,29386,29412,29416,29419,29407,29418,29414,29411,29573,29644,29634,29640,29637,29625,29622,29621,29620,29675,29631,29639,29630,29635,29638,29624,29643,29932,29934,29998,30023,30024,30119,30122,30329,30404,30472,30467,30468,30469,30474,30455,30459,30458,30695,30696,30726,30737,30738,30725,30736,30735,30734,30729,30723,30739,31050,31052,31051,31045,31044,31189,31181,31183,31190,31182,31360,31358,31441,31488,31489,31866,31864,31865,31871,31872,31873,32003,32008,32001,32600,32657,32653,32702,32775,32782,32783,32788,32823,32984,32967,32992,32977,32968,32962,32976,32965,32995,32985,32988,32970,32981,32969,32975,32983,32998,32973,33279,33313,33428,33497,33534,33529,33543,33512,33536,33493,33594,33515,33494,33524,33516,33505,33522,33525,33548,33531,33526,33520,33514,33508,33504,33530,33523,33517,34423,34420,34428,34419,34881,34894,34919,34922,34921,35283,35332,35335,36210,36835,36833,36846,36832,37105,37053,37055,37077,37061,37054,37063,37067,37064,37332,37331,38484,38479,38481,38483,38474,38478,20510,20485,20487,20499,20514,20528,20507,20469,20468,20531,20535,20524,20470,20471,20503,20508,20512,20519,20533,20527,20529,20494,20826,20884,20883,20938,20932,20933,20936,20942,21089,21082,21074,21086,21087,21077,21090,21197,21262,21406,21798,21730,21783,21778,21735,21747,21732,21786,21759,21764,21768,21739,21777,21765,21745,21770,21755,21751,21752,21728,21774,21763,21771,22273,22274,22476,22578,22485,22482,22458,22470,22461,22460,22456,22454,22463,22471,22480,22457,22465,22798,22858,23065,23062,23085,23086,23061,23055,23063,23050,23070,23091,23404,23463,23469,23468,23555,23638,23636,23788,23807,23790,23793,23799,23808,23801,24105,24104,24232,24238,24234,24236,24371,24368,24423,24669,24666,24679,24641,24738,24712,24704,24722,24705,24733,24707,24725,24731,24727,24711,24732,24718,25113,25158,25330,25360,25430,25388,25412,25413,25398,25411,25572,25401,25419,25418,25404,25385,25409,25396,25432,25428,25433,25389,25415,25395,25434,25425,25400,25431,25408,25416,25930,25926,26054,26051,26052,26050,26186,26207,26183,26193,26386,26387,26655,26650,26697,26674,26675,26683,26699,26703,26646,26673,26652,26677,26667,26669,26671,26702,26692,26676,26653,26642,26644,26662,26664,26670,26701,26682,26661,26656,27436,27439,27437,27441,27444,27501,32898,27528,27622,27620,27624,27619,27618,27623,27685,28026,28003,28004,28022,27917,28001,28050,27992,28002,28013,28015,28049,28045,28143,28031,28038,27998,28007,28e3,28055,28016,28028,27999,28034,28056,27951,28008,28043,28030,28032,28036,27926,28035,28027,28029,28021,28048,28892,28883,28881,28893,28875,32569,28898,28887,28882,28894,28896,28884,28877,28869,28870,28871,28890,28878,28897,29250,29304,29303,29302,29440,29434,29428,29438,29430,29427,29435,29441,29651,29657,29669,29654,29628,29671,29667,29673,29660,29650,29659,29652,29661,29658,29655,29656,29672,29918,29919,29940,29941,29985,30043,30047,30128,30145,30139,30148,30144,30143,30134,30138,30346,30409,30493,30491,30480,30483,30482,30499,30481,30485,30489,30490,30498,30503,30755,30764,30754,30773,30767,30760,30766,30763,30753,30761,30771,30762,30769,31060,31067,31055,31068,31059,31058,31057,31211,31212,31200,31214,31213,31210,31196,31198,31197,31366,31369,31365,31371,31372,31370,31367,31448,31504,31492,31507,31493,31503,31496,31498,31502,31497,31506,31876,31889,31882,31884,31880,31885,31877,32030,32029,32017,32014,32024,32022,32019,32031,32018,32015,32012,32604,32609,32606,32608,32605,32603,32662,32658,32707,32706,32704,32790,32830,32825,33018,33010,33017,33013,33025,33019,33024,33281,33327,33317,33587,33581,33604,33561,33617,33573,33622,33599,33601,33574,33564,33570,33602,33614,33563,33578,33544,33596,33613,33558,33572,33568,33591,33583,33577,33607,33605,33612,33619,33566,33580,33611,33575,33608,34387,34386,34466,34472,34454,34445,34449,34462,34439,34455,34438,34443,34458,34437,34469,34457,34465,34471,34453,34456,34446,34461,34448,34452,34883,34884,34925,34933,34934,34930,34944,34929,34943,34927,34947,34942,34932,34940,35346,35911,35927,35963,36004,36003,36214,36216,36277,36279,36278,36561,36563,36862,36853,36866,36863,36859,36868,36860,36854,37078,37088,37081,37082,37091,37087,37093,37080,37083,37079,37084,37092,37200,37198,37199,37333,37346,37338,38492,38495,38588,39139,39647,39727,20095,20592,20586,20577,20574,20576,20563,20555,20573,20594,20552,20557,20545,20571,20554,20578,20501,20549,20575,20585,20587,20579,20580,20550,20544,20590,20595,20567,20561,20944,21099,21101,21100,21102,21206,21203,21293,21404,21877,21878,21820,21837,21840,21812,21802,21841,21858,21814,21813,21808,21842,21829,21772,21810,21861,21838,21817,21832,21805,21819,21824,21835,22282,22279,22523,22548,22498,22518,22492,22516,22528,22509,22525,22536,22520,22539,22515,22479,22535,22510,22499,22514,22501,22508,22497,22542,22524,22544,22503,22529,22540,22513,22505,22512,22541,22532,22876,23136,23128,23125,23143,23134,23096,23093,23149,23120,23135,23141,23148,23123,23140,23127,23107,23133,23122,23108,23131,23112,23182,23102,23117,23097,23116,23152,23145,23111,23121,23126,23106,23132,23410,23406,23489,23488,23641,23838,23819,23837,23834,23840,23820,23848,23821,23846,23845,23823,23856,23826,23843,23839,23854,24126,24116,24241,24244,24249,24242,24243,24374,24376,24475,24470,24479,24714,24720,24710,24766,24752,24762,24787,24788,24783,24804,24793,24797,24776,24753,24795,24759,24778,24767,24771,24781,24768,25394,25445,25482,25474,25469,25533,25502,25517,25501,25495,25515,25486,25455,25479,25488,25454,25519,25461,25500,25453,25518,25468,25508,25403,25503,25464,25477,25473,25489,25485,25456,25939,26061,26213,26209,26203,26201,26204,26210,26392,26745,26759,26768,26780,26733,26734,26798,26795,26966,26735,26787,26796,26793,26741,26740,26802,26767,26743,26770,26748,26731,26738,26794,26752,26737,26750,26779,26774,26763,26784,26761,26788,26744,26747,26769,26764,26762,26749,27446,27443,27447,27448,27537,27535,27533,27534,27532,27690,28096,28075,28084,28083,28276,28076,28137,28130,28087,28150,28116,28160,28104,28128,28127,28118,28094,28133,28124,28125,28123,28148,28106,28093,28141,28144,28090,28117,28098,28111,28105,28112,28146,28115,28157,28119,28109,28131,28091,28922,28941,28919,28951,28916,28940,28912,28932,28915,28944,28924,28927,28934,28947,28928,28920,28918,28939,28930,28942,29310,29307,29308,29311,29469,29463,29447,29457,29464,29450,29448,29439,29455,29470,29576,29686,29688,29685,29700,29697,29693,29703,29696,29690,29692,29695,29708,29707,29684,29704,30052,30051,30158,30162,30159,30155,30156,30161,30160,30351,30345,30419,30521,30511,30509,30513,30514,30516,30515,30525,30501,30523,30517,30792,30802,30793,30797,30794,30796,30758,30789,30800,31076,31079,31081,31082,31075,31083,31073,31163,31226,31224,31222,31223,31375,31380,31376,31541,31559,31540,31525,31536,31522,31524,31539,31512,31530,31517,31537,31531,31533,31535,31538,31544,31514,31523,31892,31896,31894,31907,32053,32061,32056,32054,32058,32069,32044,32041,32065,32071,32062,32063,32074,32059,32040,32611,32661,32668,32669,32667,32714,32715,32717,32720,32721,32711,32719,32713,32799,32798,32795,32839,32835,32840,33048,33061,33049,33051,33069,33055,33068,33054,33057,33045,33063,33053,33058,33297,33336,33331,33338,33332,33330,33396,33680,33699,33704,33677,33658,33651,33700,33652,33679,33665,33685,33689,33653,33684,33705,33661,33667,33676,33693,33691,33706,33675,33662,33701,33711,33672,33687,33712,33663,33702,33671,33710,33654,33690,34393,34390,34495,34487,34498,34497,34501,34490,34480,34504,34489,34483,34488,34508,34484,34491,34492,34499,34493,34494,34898,34953,34965,34984,34978,34986,34970,34961,34977,34975,34968,34983,34969,34971,34967,34980,34988,34956,34963,34958,35202,35286,35289,35285,35376,35367,35372,35358,35897,35899,35932,35933,35965,36005,36221,36219,36217,36284,36290,36281,36287,36289,36568,36574,36573,36572,36567,36576,36577,36900,36875,36881,36892,36876,36897,37103,37098,37104,37108,37106,37107,37076,37099,37100,37097,37206,37208,37210,37203,37205,37356,37364,37361,37363,37368,37348,37369,37354,37355,37367,37352,37358,38266,38278,38280,38524,38509,38507,38513,38511,38591,38762,38916,39141,39319,20635,20629,20628,20638,20619,20643,20611,20620,20622,20637,20584,20636,20626,20610,20615,20831,20948,21266,21265,21412,21415,21905,21928,21925,21933,21879,22085,21922,21907,21896,21903,21941,21889,21923,21906,21924,21885,21900,21926,21887,21909,21921,21902,22284,22569,22583,22553,22558,22567,22563,22568,22517,22600,22565,22556,22555,22579,22591,22582,22574,22585,22584,22573,22572,22587,22881,23215,23188,23199,23162,23202,23198,23160,23206,23164,23205,23212,23189,23214,23095,23172,23178,23191,23171,23179,23209,23163,23165,23180,23196,23183,23187,23197,23530,23501,23499,23508,23505,23498,23502,23564,23600,23863,23875,23915,23873,23883,23871,23861,23889,23886,23893,23859,23866,23890,23869,23857,23897,23874,23865,23881,23864,23868,23858,23862,23872,23877,24132,24129,24408,24486,24485,24491,24777,24761,24780,24802,24782,24772,24852,24818,24842,24854,24837,24821,24851,24824,24828,24830,24769,24835,24856,24861,24848,24831,24836,24843,25162,25492,25521,25520,25550,25573,25576,25583,25539,25757,25587,25546,25568,25590,25557,25586,25589,25697,25567,25534,25565,25564,25540,25560,25555,25538,25543,25548,25547,25544,25584,25559,25561,25906,25959,25962,25956,25948,25960,25957,25996,26013,26014,26030,26064,26066,26236,26220,26235,26240,26225,26233,26218,26226,26369,26892,26835,26884,26844,26922,26860,26858,26865,26895,26838,26871,26859,26852,26870,26899,26896,26867,26849,26887,26828,26888,26992,26804,26897,26863,26822,26900,26872,26832,26877,26876,26856,26891,26890,26903,26830,26824,26845,26846,26854,26868,26833,26886,26836,26857,26901,26917,26823,27449,27451,27455,27452,27540,27543,27545,27541,27581,27632,27634,27635,27696,28156,28230,28231,28191,28233,28296,28220,28221,28229,28258,28203,28223,28225,28253,28275,28188,28211,28235,28224,28241,28219,28163,28206,28254,28264,28252,28257,28209,28200,28256,28273,28267,28217,28194,28208,28243,28261,28199,28280,28260,28279,28245,28281,28242,28262,28213,28214,28250,28960,28958,28975,28923,28974,28977,28963,28965,28962,28978,28959,28968,28986,28955,29259,29274,29320,29321,29318,29317,29323,29458,29451,29488,29474,29489,29491,29479,29490,29485,29478,29475,29493,29452,29742,29740,29744,29739,29718,29722,29729,29741,29745,29732,29731,29725,29737,29728,29746,29947,29999,30063,30060,30183,30170,30177,30182,30173,30175,30180,30167,30357,30354,30426,30534,30535,30532,30541,30533,30538,30542,30539,30540,30686,30700,30816,30820,30821,30812,30829,30833,30826,30830,30832,30825,30824,30814,30818,31092,31091,31090,31088,31234,31242,31235,31244,31236,31385,31462,31460,31562,31547,31556,31560,31564,31566,31552,31576,31557,31906,31902,31912,31905,32088,32111,32099,32083,32086,32103,32106,32079,32109,32092,32107,32082,32084,32105,32081,32095,32078,32574,32575,32613,32614,32674,32672,32673,32727,32849,32847,32848,33022,32980,33091,33098,33106,33103,33095,33085,33101,33082,33254,33262,33271,33272,33273,33284,33340,33341,33343,33397,33595,33743,33785,33827,33728,33768,33810,33767,33764,33788,33782,33808,33734,33736,33771,33763,33727,33793,33757,33765,33752,33791,33761,33739,33742,33750,33781,33737,33801,33807,33758,33809,33798,33730,33779,33749,33786,33735,33745,33770,33811,33731,33772,33774,33732,33787,33751,33762,33819,33755,33790,34520,34530,34534,34515,34531,34522,34538,34525,34539,34524,34540,34537,34519,34536,34513,34888,34902,34901,35002,35031,35001,35e3,35008,35006,34998,35004,34999,35005,34994,35073,35017,35221,35224,35223,35293,35290,35291,35406,35405,35385,35417,35392,35415,35416,35396,35397,35410,35400,35409,35402,35404,35407,35935,35969,35968,36026,36030,36016,36025,36021,36228,36224,36233,36312,36307,36301,36295,36310,36316,36303,36309,36313,36296,36311,36293,36591,36599,36602,36601,36582,36590,36581,36597,36583,36584,36598,36587,36593,36588,36596,36585,36909,36916,36911,37126,37164,37124,37119,37116,37128,37113,37115,37121,37120,37127,37125,37123,37217,37220,37215,37218,37216,37377,37386,37413,37379,37402,37414,37391,37388,37376,37394,37375,37373,37382,37380,37415,37378,37404,37412,37401,37399,37381,37398,38267,38285,38284,38288,38535,38526,38536,38537,38531,38528,38594,38600,38595,38641,38640,38764,38768,38766,38919,39081,39147,40166,40697,20099,20100,20150,20669,20671,20678,20654,20676,20682,20660,20680,20674,20656,20673,20666,20657,20683,20681,20662,20664,20951,21114,21112,21115,21116,21955,21979,21964,21968,21963,21962,21981,21952,21972,21956,21993,21951,21970,21901,21967,21973,21986,21974,21960,22002,21965,21977,21954,22292,22611,22632,22628,22607,22605,22601,22639,22613,22606,22621,22617,22629,22619,22589,22627,22641,22780,23239,23236,23243,23226,23224,23217,23221,23216,23231,23240,23227,23238,23223,23232,23242,23220,23222,23245,23225,23184,23510,23512,23513,23583,23603,23921,23907,23882,23909,23922,23916,23902,23912,23911,23906,24048,24143,24142,24138,24141,24139,24261,24268,24262,24267,24263,24384,24495,24493,24823,24905,24906,24875,24901,24886,24882,24878,24902,24879,24911,24873,24896,25120,37224,25123,25125,25124,25541,25585,25579,25616,25618,25609,25632,25636,25651,25667,25631,25621,25624,25657,25655,25634,25635,25612,25638,25648,25640,25665,25653,25647,25610,25626,25664,25637,25639,25611,25575,25627,25646,25633,25614,25967,26002,26067,26246,26252,26261,26256,26251,26250,26265,26260,26232,26400,26982,26975,26936,26958,26978,26993,26943,26949,26986,26937,26946,26967,26969,27002,26952,26953,26933,26988,26931,26941,26981,26864,27e3,26932,26985,26944,26991,26948,26998,26968,26945,26996,26956,26939,26955,26935,26972,26959,26961,26930,26962,26927,27003,26940,27462,27461,27459,27458,27464,27457,27547,64013,27643,27644,27641,27639,27640,28315,28374,28360,28303,28352,28319,28307,28308,28320,28337,28345,28358,28370,28349,28353,28318,28361,28343,28336,28365,28326,28367,28338,28350,28355,28380,28376,28313,28306,28302,28301,28324,28321,28351,28339,28368,28362,28311,28334,28323,28999,29012,29010,29027,29024,28993,29021,29026,29042,29048,29034,29025,28994,29016,28995,29003,29040,29023,29008,29011,28996,29005,29018,29263,29325,29324,29329,29328,29326,29500,29506,29499,29498,29504,29514,29513,29764,29770,29771,29778,29777,29783,29760,29775,29776,29774,29762,29766,29773,29780,29921,29951,29950,29949,29981,30073,30071,27011,30191,30223,30211,30199,30206,30204,30201,30200,30224,30203,30198,30189,30197,30205,30361,30389,30429,30549,30559,30560,30546,30550,30554,30569,30567,30548,30553,30573,30688,30855,30874,30868,30863,30852,30869,30853,30854,30881,30851,30841,30873,30848,30870,30843,31100,31106,31101,31097,31249,31256,31257,31250,31255,31253,31266,31251,31259,31248,31395,31394,31390,31467,31590,31588,31597,31604,31593,31602,31589,31603,31601,31600,31585,31608,31606,31587,31922,31924,31919,32136,32134,32128,32141,32127,32133,32122,32142,32123,32131,32124,32140,32148,32132,32125,32146,32621,32619,32615,32616,32620,32678,32677,32679,32731,32732,32801,33124,33120,33143,33116,33129,33115,33122,33138,26401,33118,33142,33127,33135,33092,33121,33309,33353,33348,33344,33346,33349,34033,33855,33878,33910,33913,33935,33933,33893,33873,33856,33926,33895,33840,33869,33917,33882,33881,33908,33907,33885,34055,33886,33847,33850,33844,33914,33859,33912,33842,33861,33833,33753,33867,33839,33858,33837,33887,33904,33849,33870,33868,33874,33903,33989,33934,33851,33863,33846,33843,33896,33918,33860,33835,33888,33876,33902,33872,34571,34564,34551,34572,34554,34518,34549,34637,34552,34574,34569,34561,34550,34573,34565,35030,35019,35021,35022,35038,35035,35034,35020,35024,35205,35227,35295,35301,35300,35297,35296,35298,35292,35302,35446,35462,35455,35425,35391,35447,35458,35460,35445,35459,35457,35444,35450,35900,35915,35914,35941,35940,35942,35974,35972,35973,36044,36200,36201,36241,36236,36238,36239,36237,36243,36244,36240,36242,36336,36320,36332,36337,36334,36304,36329,36323,36322,36327,36338,36331,36340,36614,36607,36609,36608,36613,36615,36616,36610,36619,36946,36927,36932,36937,36925,37136,37133,37135,37137,37142,37140,37131,37134,37230,37231,37448,37458,37424,37434,37478,37427,37477,37470,37507,37422,37450,37446,37485,37484,37455,37472,37479,37487,37430,37473,37488,37425,37460,37475,37456,37490,37454,37459,37452,37462,37426,38303,38300,38302,38299,38546,38547,38545,38551,38606,38650,38653,38648,38645,38771,38775,38776,38770,38927,38925,38926,39084,39158,39161,39343,39346,39344,39349,39597,39595,39771,40170,40173,40167,40576,40701,20710,20692,20695,20712,20723,20699,20714,20701,20708,20691,20716,20720,20719,20707,20704,20952,21120,21121,21225,21227,21296,21420,22055,22037,22028,22034,22012,22031,22044,22017,22035,22018,22010,22045,22020,22015,22009,22665,22652,22672,22680,22662,22657,22655,22644,22667,22650,22663,22673,22670,22646,22658,22664,22651,22676,22671,22782,22891,23260,23278,23269,23253,23274,23258,23277,23275,23283,23266,23264,23259,23276,23262,23261,23257,23272,23263,23415,23520,23523,23651,23938,23936,23933,23942,23930,23937,23927,23946,23945,23944,23934,23932,23949,23929,23935,24152,24153,24147,24280,24273,24279,24270,24284,24277,24281,24274,24276,24388,24387,24431,24502,24876,24872,24897,24926,24945,24947,24914,24915,24946,24940,24960,24948,24916,24954,24923,24933,24891,24938,24929,24918,25129,25127,25131,25643,25677,25691,25693,25716,25718,25714,25715,25725,25717,25702,25766,25678,25730,25694,25692,25675,25683,25696,25680,25727,25663,25708,25707,25689,25701,25719,25971,26016,26273,26272,26271,26373,26372,26402,27057,27062,27081,27040,27086,27030,27056,27052,27068,27025,27033,27022,27047,27021,27049,27070,27055,27071,27076,27069,27044,27092,27065,27082,27034,27087,27059,27027,27050,27041,27038,27097,27031,27024,27074,27061,27045,27078,27466,27469,27467,27550,27551,27552,27587,27588,27646,28366,28405,28401,28419,28453,28408,28471,28411,28462,28425,28494,28441,28442,28455,28440,28475,28434,28397,28426,28470,28531,28409,28398,28461,28480,28464,28476,28469,28395,28423,28430,28483,28421,28413,28406,28473,28444,28412,28474,28447,28429,28446,28424,28449,29063,29072,29065,29056,29061,29058,29071,29051,29062,29057,29079,29252,29267,29335,29333,29331,29507,29517,29521,29516,29794,29811,29809,29813,29810,29799,29806,29952,29954,29955,30077,30096,30230,30216,30220,30229,30225,30218,30228,30392,30593,30588,30597,30594,30574,30592,30575,30590,30595,30898,30890,30900,30893,30888,30846,30891,30878,30885,30880,30892,30882,30884,31128,31114,31115,31126,31125,31124,31123,31127,31112,31122,31120,31275,31306,31280,31279,31272,31270,31400,31403,31404,31470,31624,31644,31626,31633,31632,31638,31629,31628,31643,31630,31621,31640,21124,31641,31652,31618,31931,31935,31932,31930,32167,32183,32194,32163,32170,32193,32192,32197,32157,32206,32196,32198,32203,32204,32175,32185,32150,32188,32159,32166,32174,32169,32161,32201,32627,32738,32739,32741,32734,32804,32861,32860,33161,33158,33155,33159,33165,33164,33163,33301,33943,33956,33953,33951,33978,33998,33986,33964,33966,33963,33977,33972,33985,33997,33962,33946,33969,34e3,33949,33959,33979,33954,33940,33991,33996,33947,33961,33967,33960,34006,33944,33974,33999,33952,34007,34004,34002,34011,33968,33937,34401,34611,34595,34600,34667,34624,34606,34590,34593,34585,34587,34627,34604,34625,34622,34630,34592,34610,34602,34605,34620,34578,34618,34609,34613,34626,34598,34599,34616,34596,34586,34608,34577,35063,35047,35057,35058,35066,35070,35054,35068,35062,35067,35056,35052,35051,35229,35233,35231,35230,35305,35307,35304,35499,35481,35467,35474,35471,35478,35901,35944,35945,36053,36047,36055,36246,36361,36354,36351,36365,36349,36362,36355,36359,36358,36357,36350,36352,36356,36624,36625,36622,36621,37155,37148,37152,37154,37151,37149,37146,37156,37153,37147,37242,37234,37241,37235,37541,37540,37494,37531,37498,37536,37524,37546,37517,37542,37530,37547,37497,37527,37503,37539,37614,37518,37506,37525,37538,37501,37512,37537,37514,37510,37516,37529,37543,37502,37511,37545,37533,37515,37421,38558,38561,38655,38744,38781,38778,38782,38787,38784,38786,38779,38788,38785,38783,38862,38861,38934,39085,39086,39170,39168,39175,39325,39324,39363,39353,39355,39354,39362,39357,39367,39601,39651,39655,39742,39743,39776,39777,39775,40177,40178,40181,40615,20735,20739,20784,20728,20742,20743,20726,20734,20747,20748,20733,20746,21131,21132,21233,21231,22088,22082,22092,22069,22081,22090,22089,22086,22104,22106,22080,22067,22077,22060,22078,22072,22058,22074,22298,22699,22685,22705,22688,22691,22703,22700,22693,22689,22783,23295,23284,23293,23287,23286,23299,23288,23298,23289,23297,23303,23301,23311,23655,23961,23959,23967,23954,23970,23955,23957,23968,23964,23969,23962,23966,24169,24157,24160,24156,32243,24283,24286,24289,24393,24498,24971,24963,24953,25009,25008,24994,24969,24987,24979,25007,25005,24991,24978,25002,24993,24973,24934,25011,25133,25710,25712,25750,25760,25733,25751,25756,25743,25739,25738,25740,25763,25759,25704,25777,25752,25974,25978,25977,25979,26034,26035,26293,26288,26281,26290,26295,26282,26287,27136,27142,27159,27109,27128,27157,27121,27108,27168,27135,27116,27106,27163,27165,27134,27175,27122,27118,27156,27127,27111,27200,27144,27110,27131,27149,27132,27115,27145,27140,27160,27173,27151,27126,27174,27143,27124,27158,27473,27557,27555,27554,27558,27649,27648,27647,27650,28481,28454,28542,28551,28614,28562,28557,28553,28556,28514,28495,28549,28506,28566,28534,28524,28546,28501,28530,28498,28496,28503,28564,28563,28509,28416,28513,28523,28541,28519,28560,28499,28555,28521,28543,28565,28515,28535,28522,28539,29106,29103,29083,29104,29088,29082,29097,29109,29085,29093,29086,29092,29089,29098,29084,29095,29107,29336,29338,29528,29522,29534,29535,29536,29533,29531,29537,29530,29529,29538,29831,29833,29834,29830,29825,29821,29829,29832,29820,29817,29960,29959,30078,30245,30238,30233,30237,30236,30243,30234,30248,30235,30364,30365,30366,30363,30605,30607,30601,30600,30925,30907,30927,30924,30929,30926,30932,30920,30915,30916,30921,31130,31137,31136,31132,31138,31131,27510,31289,31410,31412,31411,31671,31691,31678,31660,31694,31663,31673,31690,31669,31941,31944,31948,31947,32247,32219,32234,32231,32215,32225,32259,32250,32230,32246,32241,32240,32238,32223,32630,32684,32688,32685,32749,32747,32746,32748,32742,32744,32868,32871,33187,33183,33182,33173,33186,33177,33175,33302,33359,33363,33362,33360,33358,33361,34084,34107,34063,34048,34089,34062,34057,34061,34079,34058,34087,34076,34043,34091,34042,34056,34060,34036,34090,34034,34069,34039,34027,34035,34044,34066,34026,34025,34070,34046,34088,34077,34094,34050,34045,34078,34038,34097,34086,34023,34024,34032,34031,34041,34072,34080,34096,34059,34073,34095,34402,34646,34659,34660,34679,34785,34675,34648,34644,34651,34642,34657,34650,34641,34654,34669,34666,34640,34638,34655,34653,34671,34668,34682,34670,34652,34661,34639,34683,34677,34658,34663,34665,34906,35077,35084,35092,35083,35095,35096,35097,35078,35094,35089,35086,35081,35234,35236,35235,35309,35312,35308,35535,35526,35512,35539,35537,35540,35541,35515,35543,35518,35520,35525,35544,35523,35514,35517,35545,35902,35917,35983,36069,36063,36057,36072,36058,36061,36071,36256,36252,36257,36251,36384,36387,36389,36388,36398,36373,36379,36374,36369,36377,36390,36391,36372,36370,36376,36371,36380,36375,36378,36652,36644,36632,36634,36640,36643,36630,36631,36979,36976,36975,36967,36971,37167,37163,37161,37162,37170,37158,37166,37253,37254,37258,37249,37250,37252,37248,37584,37571,37572,37568,37593,37558,37583,37617,37599,37592,37609,37591,37597,37580,37615,37570,37608,37578,37576,37582,37606,37581,37589,37577,37600,37598,37607,37585,37587,37557,37601,37574,37556,38268,38316,38315,38318,38320,38564,38562,38611,38661,38664,38658,38746,38794,38798,38792,38864,38863,38942,38941,38950,38953,38952,38944,38939,38951,39090,39176,39162,39185,39188,39190,39191,39189,39388,39373,39375,39379,39380,39374,39369,39382,39384,39371,39383,39372,39603,39660,39659,39667,39666,39665,39750,39747,39783,39796,39793,39782,39798,39797,39792,39784,39780,39788,40188,40186,40189,40191,40183,40199,40192,40185,40187,40200,40197,40196,40579,40659,40719,40720,20764,20755,20759,20762,20753,20958,21300,21473,22128,22112,22126,22131,22118,22115,22125,22130,22110,22135,22300,22299,22728,22717,22729,22719,22714,22722,22716,22726,23319,23321,23323,23329,23316,23315,23312,23318,23336,23322,23328,23326,23535,23980,23985,23977,23975,23989,23984,23982,23978,23976,23986,23981,23983,23988,24167,24168,24166,24175,24297,24295,24294,24296,24293,24395,24508,24989,25e3,24982,25029,25012,25030,25025,25036,25018,25023,25016,24972,25815,25814,25808,25807,25801,25789,25737,25795,25819,25843,25817,25907,25983,25980,26018,26312,26302,26304,26314,26315,26319,26301,26299,26298,26316,26403,27188,27238,27209,27239,27186,27240,27198,27229,27245,27254,27227,27217,27176,27226,27195,27199,27201,27242,27236,27216,27215,27220,27247,27241,27232,27196,27230,27222,27221,27213,27214,27206,27477,27476,27478,27559,27562,27563,27592,27591,27652,27651,27654,28589,28619,28579,28615,28604,28622,28616,28510,28612,28605,28574,28618,28584,28676,28581,28590,28602,28588,28586,28623,28607,28600,28578,28617,28587,28621,28591,28594,28592,29125,29122,29119,29112,29142,29120,29121,29131,29140,29130,29127,29135,29117,29144,29116,29126,29146,29147,29341,29342,29545,29542,29543,29548,29541,29547,29546,29823,29850,29856,29844,29842,29845,29857,29963,30080,30255,30253,30257,30269,30259,30268,30261,30258,30256,30395,30438,30618,30621,30625,30620,30619,30626,30627,30613,30617,30615,30941,30953,30949,30954,30942,30947,30939,30945,30946,30957,30943,30944,31140,31300,31304,31303,31414,31416,31413,31409,31415,31710,31715,31719,31709,31701,31717,31706,31720,31737,31700,31722,31714,31708,31723,31704,31711,31954,31956,31959,31952,31953,32274,32289,32279,32268,32287,32288,32275,32270,32284,32277,32282,32290,32267,32271,32278,32269,32276,32293,32292,32579,32635,32636,32634,32689,32751,32810,32809,32876,33201,33190,33198,33209,33205,33195,33200,33196,33204,33202,33207,33191,33266,33365,33366,33367,34134,34117,34155,34125,34131,34145,34136,34112,34118,34148,34113,34146,34116,34129,34119,34147,34110,34139,34161,34126,34158,34165,34133,34151,34144,34188,34150,34141,34132,34149,34156,34403,34405,34404,34715,34703,34711,34707,34706,34696,34689,34710,34712,34681,34695,34723,34693,34704,34705,34717,34692,34708,34716,34714,34697,35102,35110,35120,35117,35118,35111,35121,35106,35113,35107,35119,35116,35103,35313,35552,35554,35570,35572,35573,35549,35604,35556,35551,35568,35528,35550,35553,35560,35583,35567,35579,35985,35986,35984,36085,36078,36081,36080,36083,36204,36206,36261,36263,36403,36414,36408,36416,36421,36406,36412,36413,36417,36400,36415,36541,36662,36654,36661,36658,36665,36663,36660,36982,36985,36987,36998,37114,37171,37173,37174,37267,37264,37265,37261,37263,37671,37662,37640,37663,37638,37647,37754,37688,37692,37659,37667,37650,37633,37702,37677,37646,37645,37579,37661,37626,37669,37651,37625,37623,37684,37634,37668,37631,37673,37689,37685,37674,37652,37644,37643,37630,37641,37632,37627,37654,38332,38349,38334,38329,38330,38326,38335,38325,38333,38569,38612,38667,38674,38672,38809,38807,38804,38896,38904,38965,38959,38962,39204,39199,39207,39209,39326,39406,39404,39397,39396,39408,39395,39402,39401,39399,39609,39615,39604,39611,39670,39674,39673,39671,39731,39808,39813,39815,39804,39806,39803,39810,39827,39826,39824,39802,39829,39805,39816,40229,40215,40224,40222,40212,40233,40221,40216,40226,40208,40217,40223,40584,40582,40583,40622,40621,40661,40662,40698,40722,40765,20774,20773,20770,20772,20768,20777,21236,22163,22156,22157,22150,22148,22147,22142,22146,22143,22145,22742,22740,22735,22738,23341,23333,23346,23331,23340,23335,23334,23343,23342,23419,23537,23538,23991,24172,24170,24510,24507,25027,25013,25020,25063,25056,25061,25060,25064,25054,25839,25833,25827,25835,25828,25832,25985,25984,26038,26074,26322,27277,27286,27265,27301,27273,27295,27291,27297,27294,27271,27283,27278,27285,27267,27304,27300,27281,27263,27302,27290,27269,27276,27282,27483,27565,27657,28620,28585,28660,28628,28643,28636,28653,28647,28646,28638,28658,28637,28642,28648,29153,29169,29160,29170,29156,29168,29154,29555,29550,29551,29847,29874,29867,29840,29866,29869,29873,29861,29871,29968,29969,29970,29967,30084,30275,30280,30281,30279,30372,30441,30645,30635,30642,30647,30646,30644,30641,30632,30704,30963,30973,30978,30971,30972,30962,30981,30969,30974,30980,31147,31144,31324,31323,31318,31320,31316,31322,31422,31424,31425,31749,31759,31730,31744,31743,31739,31758,31732,31755,31731,31746,31753,31747,31745,31736,31741,31750,31728,31729,31760,31754,31976,32301,32316,32322,32307,38984,32312,32298,32329,32320,32327,32297,32332,32304,32315,32310,32324,32314,32581,32639,32638,32637,32756,32754,32812,33211,33220,33228,33226,33221,33223,33212,33257,33371,33370,33372,34179,34176,34191,34215,34197,34208,34187,34211,34171,34212,34202,34206,34167,34172,34185,34209,34170,34168,34135,34190,34198,34182,34189,34201,34205,34177,34210,34178,34184,34181,34169,34166,34200,34192,34207,34408,34750,34730,34733,34757,34736,34732,34745,34741,34748,34734,34761,34755,34754,34764,34743,34735,34756,34762,34740,34742,34751,34744,34749,34782,34738,35125,35123,35132,35134,35137,35154,35127,35138,35245,35247,35246,35314,35315,35614,35608,35606,35601,35589,35595,35618,35599,35602,35605,35591,35597,35592,35590,35612,35603,35610,35919,35952,35954,35953,35951,35989,35988,36089,36207,36430,36429,36435,36432,36428,36423,36675,36672,36997,36990,37176,37274,37282,37275,37273,37279,37281,37277,37280,37793,37763,37807,37732,37718,37703,37756,37720,37724,37750,37705,37712,37713,37728,37741,37775,37708,37738,37753,37719,37717,37714,37711,37745,37751,37755,37729,37726,37731,37735,37760,37710,37721,38343,38336,38345,38339,38341,38327,38574,38576,38572,38688,38687,38680,38685,38681,38810,38817,38812,38814,38813,38869,38868,38897,38977,38980,38986,38985,38981,38979,39205,39211,39212,39210,39219,39218,39215,39213,39217,39216,39320,39331,39329,39426,39418,39412,39415,39417,39416,39414,39419,39421,39422,39420,39427,39614,39678,39677,39681,39676,39752,39834,39848,39838,39835,39846,39841,39845,39844,39814,39842,39840,39855,40243,40257,40295,40246,40238,40239,40241,40248,40240,40261,40258,40259,40254,40247,40256,40253,32757,40237,40586,40585,40589,40624,40648,40666,40699,40703,40740,40739,40738,40788,40864,20785,20781,20782,22168,22172,22167,22170,22173,22169,22896,23356,23657,23658,24e3,24173,24174,25048,25055,25069,25070,25073,25066,25072,25067,25046,25065,25855,25860,25853,25848,25857,25859,25852,26004,26075,26330,26331,26328,27333,27321,27325,27361,27334,27322,27318,27319,27335,27316,27309,27486,27593,27659,28679,28684,28685,28673,28677,28692,28686,28671,28672,28667,28710,28668,28663,28682,29185,29183,29177,29187,29181,29558,29880,29888,29877,29889,29886,29878,29883,29890,29972,29971,30300,30308,30297,30288,30291,30295,30298,30374,30397,30444,30658,30650,30975,30988,30995,30996,30985,30992,30994,30993,31149,31148,31327,31772,31785,31769,31776,31775,31789,31773,31782,31784,31778,31781,31792,32348,32336,32342,32355,32344,32354,32351,32337,32352,32343,32339,32693,32691,32759,32760,32885,33233,33234,33232,33375,33374,34228,34246,34240,34243,34242,34227,34229,34237,34247,34244,34239,34251,34254,34248,34245,34225,34230,34258,34340,34232,34231,34238,34409,34791,34790,34786,34779,34795,34794,34789,34783,34803,34788,34772,34780,34771,34797,34776,34787,34724,34775,34777,34817,34804,34792,34781,35155,35147,35151,35148,35142,35152,35153,35145,35626,35623,35619,35635,35632,35637,35655,35631,35644,35646,35633,35621,35639,35622,35638,35630,35620,35643,35645,35642,35906,35957,35993,35992,35991,36094,36100,36098,36096,36444,36450,36448,36439,36438,36446,36453,36455,36443,36442,36449,36445,36457,36436,36678,36679,36680,36683,37160,37178,37179,37182,37288,37285,37287,37295,37290,37813,37772,37778,37815,37787,37789,37769,37799,37774,37802,37790,37798,37781,37768,37785,37791,37773,37809,37777,37810,37796,37800,37812,37795,37797,38354,38355,38353,38579,38615,38618,24002,38623,38616,38621,38691,38690,38693,38828,38830,38824,38827,38820,38826,38818,38821,38871,38873,38870,38872,38906,38992,38993,38994,39096,39233,39228,39226,39439,39435,39433,39437,39428,39441,39434,39429,39431,39430,39616,39644,39688,39684,39685,39721,39733,39754,39756,39755,39879,39878,39875,39871,39873,39861,39864,39891,39862,39876,39865,39869,40284,40275,40271,40266,40283,40267,40281,40278,40268,40279,40274,40276,40287,40280,40282,40590,40588,40671,40705,40704,40726,40741,40747,40746,40745,40744,40780,40789,20788,20789,21142,21239,21428,22187,22189,22182,22183,22186,22188,22746,22749,22747,22802,23357,23358,23359,24003,24176,24511,25083,25863,25872,25869,25865,25868,25870,25988,26078,26077,26334,27367,27360,27340,27345,27353,27339,27359,27356,27344,27371,27343,27341,27358,27488,27568,27660,28697,28711,28704,28694,28715,28705,28706,28707,28713,28695,28708,28700,28714,29196,29194,29191,29186,29189,29349,29350,29348,29347,29345,29899,29893,29879,29891,29974,30304,30665,30666,30660,30705,31005,31003,31009,31004,30999,31006,31152,31335,31336,31795,31804,31801,31788,31803,31980,31978,32374,32373,32376,32368,32375,32367,32378,32370,32372,32360,32587,32586,32643,32646,32695,32765,32766,32888,33239,33237,33380,33377,33379,34283,34289,34285,34265,34273,34280,34266,34263,34284,34290,34296,34264,34271,34275,34268,34257,34288,34278,34287,34270,34274,34816,34810,34819,34806,34807,34825,34828,34827,34822,34812,34824,34815,34826,34818,35170,35162,35163,35159,35169,35164,35160,35165,35161,35208,35255,35254,35318,35664,35656,35658,35648,35667,35670,35668,35659,35669,35665,35650,35666,35671,35907,35959,35958,35994,36102,36103,36105,36268,36266,36269,36267,36461,36472,36467,36458,36463,36475,36546,36690,36689,36687,36688,36691,36788,37184,37183,37296,37293,37854,37831,37839,37826,37850,37840,37881,37868,37836,37849,37801,37862,37834,37844,37870,37859,37845,37828,37838,37824,37842,37863,38269,38362,38363,38625,38697,38699,38700,38696,38694,38835,38839,38838,38877,38878,38879,39004,39001,39005,38999,39103,39101,39099,39102,39240,39239,39235,39334,39335,39450,39445,39461,39453,39460,39451,39458,39456,39463,39459,39454,39452,39444,39618,39691,39690,39694,39692,39735,39914,39915,39904,39902,39908,39910,39906,39920,39892,39895,39916,39900,39897,39909,39893,39905,39898,40311,40321,40330,40324,40328,40305,40320,40312,40326,40331,40332,40317,40299,40308,40309,40304,40297,40325,40307,40315,40322,40303,40313,40319,40327,40296,40596,40593,40640,40700,40749,40768,40769,40781,40790,40791,40792,21303,22194,22197,22195,22755,23365,24006,24007,24302,24303,24512,24513,25081,25879,25878,25877,25875,26079,26344,26339,26340,27379,27376,27370,27368,27385,27377,27374,27375,28732,28725,28719,28727,28724,28721,28738,28728,28735,28730,28729,28736,28731,28723,28737,29203,29204,29352,29565,29564,29882,30379,30378,30398,30445,30668,30670,30671,30669,30706,31013,31011,31015,31016,31012,31017,31154,31342,31340,31341,31479,31817,31816,31818,31815,31813,31982,32379,32382,32385,32384,32698,32767,32889,33243,33241,33291,33384,33385,34338,34303,34305,34302,34331,34304,34294,34308,34313,34309,34316,34301,34841,34832,34833,34839,34835,34838,35171,35174,35257,35319,35680,35690,35677,35688,35683,35685,35687,35693,36270,36486,36488,36484,36697,36694,36695,36693,36696,36698,37005,37187,37185,37303,37301,37298,37299,37899,37907,37883,37920,37903,37908,37886,37909,37904,37928,37913,37901,37877,37888,37879,37895,37902,37910,37906,37882,37897,37880,37898,37887,37884,37900,37878,37905,37894,38366,38368,38367,38702,38703,38841,38843,38909,38910,39008,39010,39011,39007,39105,39106,39248,39246,39257,39244,39243,39251,39474,39476,39473,39468,39466,39478,39465,39470,39480,39469,39623,39626,39622,39696,39698,39697,39947,39944,39927,39941,39954,39928,4e4,39943,39950,39942,39959,39956,39945,40351,40345,40356,40349,40338,40344,40336,40347,40352,40340,40348,40362,40343,40353,40346,40354,40360,40350,40355,40383,40361,40342,40358,40359,40601,40603,40602,40677,40676,40679,40678,40752,40750,40795,40800,40798,40797,40793,40849,20794,20793,21144,21143,22211,22205,22206,23368,23367,24011,24015,24305,25085,25883,27394,27388,27395,27384,27392,28739,28740,28746,28744,28745,28741,28742,29213,29210,29209,29566,29975,30314,30672,31021,31025,31023,31828,31827,31986,32394,32391,32392,32395,32390,32397,32589,32699,32816,33245,34328,34346,34342,34335,34339,34332,34329,34343,34350,34337,34336,34345,34334,34341,34857,34845,34843,34848,34852,34844,34859,34890,35181,35177,35182,35179,35322,35705,35704,35653,35706,35707,36112,36116,36271,36494,36492,36702,36699,36701,37190,37188,37189,37305,37951,37947,37942,37929,37949,37948,37936,37945,37930,37943,37932,37952,37937,38373,38372,38371,38709,38714,38847,38881,39012,39113,39110,39104,39256,39254,39481,39485,39494,39492,39490,39489,39482,39487,39629,39701,39703,39704,39702,39738,39762,39979,39965,39964,39980,39971,39976,39977,39972,39969,40375,40374,40380,40385,40391,40394,40399,40382,40389,40387,40379,40373,40398,40377,40378,40364,40392,40369,40365,40396,40371,40397,40370,40570,40604,40683,40686,40685,40731,40728,40730,40753,40782,40805,40804,40850,20153,22214,22213,22219,22897,23371,23372,24021,24017,24306,25889,25888,25894,25890,27403,27400,27401,27661,28757,28758,28759,28754,29214,29215,29353,29567,29912,29909,29913,29911,30317,30381,31029,31156,31344,31345,31831,31836,31833,31835,31834,31988,31985,32401,32591,32647,33246,33387,34356,34357,34355,34348,34354,34358,34860,34856,34854,34858,34853,35185,35263,35262,35323,35710,35716,35714,35718,35717,35711,36117,36501,36500,36506,36498,36496,36502,36503,36704,36706,37191,37964,37968,37962,37963,37967,37959,37957,37960,37961,37958,38719,38883,39018,39017,39115,39252,39259,39502,39507,39508,39500,39503,39496,39498,39497,39506,39504,39632,39705,39723,39739,39766,39765,40006,40008,39999,40004,39993,39987,40001,39996,39991,39988,39986,39997,39990,40411,40402,40414,40410,40395,40400,40412,40401,40415,40425,40409,40408,40406,40437,40405,40413,40630,40688,40757,40755,40754,40770,40811,40853,40866,20797,21145,22760,22759,22898,23373,24024,34863,24399,25089,25091,25092,25897,25893,26006,26347,27409,27410,27407,27594,28763,28762,29218,29570,29569,29571,30320,30676,31847,31846,32405,33388,34362,34368,34361,34364,34353,34363,34366,34864,34866,34862,34867,35190,35188,35187,35326,35724,35726,35723,35720,35909,36121,36504,36708,36707,37308,37986,37973,37981,37975,37982,38852,38853,38912,39510,39513,39710,39711,39712,40018,40024,40016,40010,40013,40011,40021,40025,40012,40014,40443,40439,40431,40419,40427,40440,40420,40438,40417,40430,40422,40434,40432,40418,40428,40436,40435,40424,40429,40642,40656,40690,40691,40710,40732,40760,40759,40758,40771,40783,40817,40816,40814,40815,22227,22221,23374,23661,25901,26349,26350,27411,28767,28769,28765,28768,29219,29915,29925,30677,31032,31159,31158,31850,32407,32649,33389,34371,34872,34871,34869,34891,35732,35733,36510,36511,36512,36509,37310,37309,37314,37995,37992,37993,38629,38726,38723,38727,38855,38885,39518,39637,39769,40035,40039,40038,40034,40030,40032,40450,40446,40455,40451,40454,40453,40448,40449,40457,40447,40445,40452,40608,40734,40774,40820,40821,40822,22228,25902,26040,27416,27417,27415,27418,28770,29222,29354,30680,30681,31033,31849,31851,31990,32410,32408,32411,32409,33248,33249,34374,34375,34376,35193,35194,35196,35195,35327,35736,35737,36517,36516,36515,37998,37997,37999,38001,38003,38729,39026,39263,40040,40046,40045,40459,40461,40464,40463,40466,40465,40609,40693,40713,40775,40824,40827,40826,40825,22302,28774,31855,34876,36274,36518,37315,38004,38008,38006,38005,39520,40052,40051,40049,40053,40468,40467,40694,40714,40868,28776,28773,31991,34410,34878,34877,34879,35742,35996,36521,36553,38731,39027,39028,39116,39265,39339,39524,39526,39527,39716,40469,40471,40776,25095,27422,29223,34380,36520,38018,38016,38017,39529,39528,39726,40473,29225,34379,35743,38019,40057,40631,30325,39531,40058,40477,28777,28778,40612,40830,40777,40856,30849,37561,35023,22715,24658,31911,23290,9556,9574,9559,9568,9580,9571,9562,9577,9565,9554,9572,9557,9566,9578,9569,9560,9575,9563,9555,9573,9558,9567,9579,9570,9561,9576,9564,9553,9552,9581,9582,9584,9583,65517,132423,37595,132575,147397,34124,17077,29679,20917,13897,149826,166372,37700,137691,33518,146632,30780,26436,25311,149811,166314,131744,158643,135941,20395,140525,20488,159017,162436,144896,150193,140563,20521,131966,24484,131968,131911,28379,132127,20605,20737,13434,20750,39020,14147,33814,149924,132231,20832,144308,20842,134143,139516,131813,140592,132494,143923,137603,23426,34685,132531,146585,20914,20920,40244,20937,20943,20945,15580,20947,150182,20915,20962,21314,20973,33741,26942,145197,24443,21003,21030,21052,21173,21079,21140,21177,21189,31765,34114,21216,34317,158483,21253,166622,21833,28377,147328,133460,147436,21299,21316,134114,27851,136998,26651,29653,24650,16042,14540,136936,29149,17570,21357,21364,165547,21374,21375,136598,136723,30694,21395,166555,21408,21419,21422,29607,153458,16217,29596,21441,21445,27721,20041,22526,21465,15019,134031,21472,147435,142755,21494,134263,21523,28793,21803,26199,27995,21613,158547,134516,21853,21647,21668,18342,136973,134877,15796,134477,166332,140952,21831,19693,21551,29719,21894,21929,22021,137431,147514,17746,148533,26291,135348,22071,26317,144010,26276,26285,22093,22095,30961,22257,38791,21502,22272,22255,22253,166758,13859,135759,22342,147877,27758,28811,22338,14001,158846,22502,136214,22531,136276,148323,22566,150517,22620,22698,13665,22752,22748,135740,22779,23551,22339,172368,148088,37843,13729,22815,26790,14019,28249,136766,23076,21843,136850,34053,22985,134478,158849,159018,137180,23001,137211,137138,159142,28017,137256,136917,23033,159301,23211,23139,14054,149929,23159,14088,23190,29797,23251,159649,140628,15749,137489,14130,136888,24195,21200,23414,25992,23420,162318,16388,18525,131588,23509,24928,137780,154060,132517,23539,23453,19728,23557,138052,23571,29646,23572,138405,158504,23625,18653,23685,23785,23791,23947,138745,138807,23824,23832,23878,138916,23738,24023,33532,14381,149761,139337,139635,33415,14390,15298,24110,27274,24181,24186,148668,134355,21414,20151,24272,21416,137073,24073,24308,164994,24313,24315,14496,24316,26686,37915,24333,131521,194708,15070,18606,135994,24378,157832,140240,24408,140401,24419,38845,159342,24434,37696,166454,24487,23990,15711,152144,139114,159992,140904,37334,131742,166441,24625,26245,137335,14691,15815,13881,22416,141236,31089,15936,24734,24740,24755,149890,149903,162387,29860,20705,23200,24932,33828,24898,194726,159442,24961,20980,132694,24967,23466,147383,141407,25043,166813,170333,25040,14642,141696,141505,24611,24924,25886,25483,131352,25285,137072,25301,142861,25452,149983,14871,25656,25592,136078,137212,25744,28554,142902,38932,147596,153373,25825,25829,38011,14950,25658,14935,25933,28438,150056,150051,25989,25965,25951,143486,26037,149824,19255,26065,16600,137257,26080,26083,24543,144384,26136,143863,143864,26180,143780,143781,26187,134773,26215,152038,26227,26228,138813,143921,165364,143816,152339,30661,141559,39332,26370,148380,150049,15147,27130,145346,26462,26471,26466,147917,168173,26583,17641,26658,28240,37436,26625,144358,159136,26717,144495,27105,27147,166623,26995,26819,144845,26881,26880,15666,14849,144956,15232,26540,26977,166474,17148,26934,27032,15265,132041,33635,20624,27129,144985,139562,27205,145155,27293,15347,26545,27336,168348,15373,27421,133411,24798,27445,27508,141261,28341,146139,132021,137560,14144,21537,146266,27617,147196,27612,27703,140427,149745,158545,27738,33318,27769,146876,17605,146877,147876,149772,149760,146633,14053,15595,134450,39811,143865,140433,32655,26679,159013,159137,159211,28054,27996,28284,28420,149887,147589,159346,34099,159604,20935,27804,28189,33838,166689,28207,146991,29779,147330,31180,28239,23185,143435,28664,14093,28573,146992,28410,136343,147517,17749,37872,28484,28508,15694,28532,168304,15675,28575,147780,28627,147601,147797,147513,147440,147380,147775,20959,147798,147799,147776,156125,28747,28798,28839,28801,28876,28885,28886,28895,16644,15848,29108,29078,148087,28971,28997,23176,29002,29038,23708,148325,29007,37730,148161,28972,148570,150055,150050,29114,166888,28861,29198,37954,29205,22801,37955,29220,37697,153093,29230,29248,149876,26813,29269,29271,15957,143428,26637,28477,29314,29482,29483,149539,165931,18669,165892,29480,29486,29647,29610,134202,158254,29641,29769,147938,136935,150052,26147,14021,149943,149901,150011,29687,29717,26883,150054,29753,132547,16087,29788,141485,29792,167602,29767,29668,29814,33721,29804,14128,29812,37873,27180,29826,18771,150156,147807,150137,166799,23366,166915,137374,29896,137608,29966,29929,29982,167641,137803,23511,167596,37765,30029,30026,30055,30062,151426,16132,150803,30094,29789,30110,30132,30210,30252,30289,30287,30319,30326,156661,30352,33263,14328,157969,157966,30369,30373,30391,30412,159647,33890,151709,151933,138780,30494,30502,30528,25775,152096,30552,144044,30639,166244,166248,136897,30708,30729,136054,150034,26826,30895,30919,30931,38565,31022,153056,30935,31028,30897,161292,36792,34948,166699,155779,140828,31110,35072,26882,31104,153687,31133,162617,31036,31145,28202,160038,16040,31174,168205,31188],"euc-kr":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,45081,45082,45083,45086,45087,45088,45089,45090,45091,45092,45093,45094,45095,45097,45098,45099,45100,45101,45102,45103,45104,45105,45106,45107,45108,45109,45110,45111,45112,45113,45114,45115,45116,45117,45118,45119,45120,45121,45122,45123,45126,45127,45129,45131,45133,45135,45136,45137,45138,45142,45144,45146,45147,45148,45150,45151,45152,45153,45154,45155,45156,45157,45158,45159,45160,45161,45162,45163,45164,45165,45166,45167,45168,45169,45170,45171,45172,45173,45174,45175,45176,45177,45178,45179,45182,45183,45185,45186,45187,45189,45190,45191,45192,45193,45194,45195,45198,45200,45202,45203,45204,45205,45206,45207,45211,45213,45214,45219,45220,45221,45222,45223,45226,45232,45234,45238,45239,45241,45242,45243,45245,45246,45247,45248,45249,45250,45251,45254,45258,45259,45260,45261,45262,45263,45266,null,null,null,null,null,null,45267,45269,45270,45271,45273,45274,45275,45276,45277,45278,45279,45281,45282,45283,45284,45286,45287,45288,45289,45290,45291,45292,45293,45294,45295,45296,null,null,null,null,null,null,45297,45298,45299,45300,45301,45302,45303,45304,45305,45306,45307,45308,45309,45310,45311,45312,45313,45314,45315,45316,45317,45318,45319,45322,45325,45326,45327,45329,45332,45333,45334,45335,45338,45342,45343,45344,45345,45346,45350,45351,45353,45354,45355,45357,45358,45359,45360,45361,45362,45363,45366,45370,45371,45372,45373,45374,45375,45378,45379,45381,45382,45383,45385,45386,45387,45388,45389,45390,45391,45394,45395,45398,45399,45401,45402,45403,45405,45406,45407,45409,45410,45411,45412,45413,45414,45415,45416,45417,45418,45419,45420,45421,45422,45423,45424,45425,45426,45427,45428,45429,45430,45431,45434,45435,45437,45438,45439,45441,45443,45444,45445,45446,45447,45450,45452,45454,45455,45456,45457,45461,45462,45463,45465,45466,45467,45469,45470,45471,45472,45473,45474,45475,45476,45477,45478,45479,45481,45482,45483,45484,45485,45486,45487,45488,45489,45490,45491,45492,45493,45494,45495,45496,null,null,null,null,null,null,45497,45498,45499,45500,45501,45502,45503,45504,45505,45506,45507,45508,45509,45510,45511,45512,45513,45514,45515,45517,45518,45519,45521,45522,45523,45525,null,null,null,null,null,null,45526,45527,45528,45529,45530,45531,45534,45536,45537,45538,45539,45540,45541,45542,45543,45546,45547,45549,45550,45551,45553,45554,45555,45556,45557,45558,45559,45560,45562,45564,45566,45567,45568,45569,45570,45571,45574,45575,45577,45578,45581,45582,45583,45584,45585,45586,45587,45590,45592,45594,45595,45596,45597,45598,45599,45601,45602,45603,45604,45605,45606,45607,45608,45609,45610,45611,45612,45613,45614,45615,45616,45617,45618,45619,45621,45622,45623,45624,45625,45626,45627,45629,45630,45631,45632,45633,45634,45635,45636,45637,45638,45639,45640,45641,45642,45643,45644,45645,45646,45647,45648,45649,45650,45651,45652,45653,45654,45655,45657,45658,45659,45661,45662,45663,45665,45666,45667,45668,45669,45670,45671,45674,45675,45676,45677,45678,45679,45680,45681,45682,45683,45686,45687,45688,45689,45690,45691,45693,45694,45695,45696,45697,45698,45699,45702,45703,45704,45706,45707,45708,45709,45710,null,null,null,null,null,null,45711,45714,45715,45717,45718,45719,45723,45724,45725,45726,45727,45730,45732,45735,45736,45737,45739,45741,45742,45743,45745,45746,45747,45749,45750,45751,null,null,null,null,null,null,45752,45753,45754,45755,45756,45757,45758,45759,45760,45761,45762,45763,45764,45765,45766,45767,45770,45771,45773,45774,45775,45777,45779,45780,45781,45782,45783,45786,45788,45790,45791,45792,45793,45795,45799,45801,45802,45808,45809,45810,45814,45820,45821,45822,45826,45827,45829,45830,45831,45833,45834,45835,45836,45837,45838,45839,45842,45846,45847,45848,45849,45850,45851,45853,45854,45855,45856,45857,45858,45859,45860,45861,45862,45863,45864,45865,45866,45867,45868,45869,45870,45871,45872,45873,45874,45875,45876,45877,45878,45879,45880,45881,45882,45883,45884,45885,45886,45887,45888,45889,45890,45891,45892,45893,45894,45895,45896,45897,45898,45899,45900,45901,45902,45903,45904,45905,45906,45907,45911,45913,45914,45917,45920,45921,45922,45923,45926,45928,45930,45932,45933,45935,45938,45939,45941,45942,45943,45945,45946,45947,45948,45949,45950,45951,45954,45958,45959,45960,45961,45962,45963,45965,null,null,null,null,null,null,45966,45967,45969,45970,45971,45973,45974,45975,45976,45977,45978,45979,45980,45981,45982,45983,45986,45987,45988,45989,45990,45991,45993,45994,45995,45997,null,null,null,null,null,null,45998,45999,46e3,46001,46002,46003,46004,46005,46006,46007,46008,46009,46010,46011,46012,46013,46014,46015,46016,46017,46018,46019,46022,46023,46025,46026,46029,46031,46033,46034,46035,46038,46040,46042,46044,46046,46047,46049,46050,46051,46053,46054,46055,46057,46058,46059,46060,46061,46062,46063,46064,46065,46066,46067,46068,46069,46070,46071,46072,46073,46074,46075,46077,46078,46079,46080,46081,46082,46083,46084,46085,46086,46087,46088,46089,46090,46091,46092,46093,46094,46095,46097,46098,46099,46100,46101,46102,46103,46105,46106,46107,46109,46110,46111,46113,46114,46115,46116,46117,46118,46119,46122,46124,46125,46126,46127,46128,46129,46130,46131,46133,46134,46135,46136,46137,46138,46139,46140,46141,46142,46143,46144,46145,46146,46147,46148,46149,46150,46151,46152,46153,46154,46155,46156,46157,46158,46159,46162,46163,46165,46166,46167,46169,46170,46171,46172,46173,46174,46175,46178,46180,46182,null,null,null,null,null,null,46183,46184,46185,46186,46187,46189,46190,46191,46192,46193,46194,46195,46196,46197,46198,46199,46200,46201,46202,46203,46204,46205,46206,46207,46209,46210,null,null,null,null,null,null,46211,46212,46213,46214,46215,46217,46218,46219,46220,46221,46222,46223,46224,46225,46226,46227,46228,46229,46230,46231,46232,46233,46234,46235,46236,46238,46239,46240,46241,46242,46243,46245,46246,46247,46249,46250,46251,46253,46254,46255,46256,46257,46258,46259,46260,46262,46264,46266,46267,46268,46269,46270,46271,46273,46274,46275,46277,46278,46279,46281,46282,46283,46284,46285,46286,46287,46289,46290,46291,46292,46294,46295,46296,46297,46298,46299,46302,46303,46305,46306,46309,46311,46312,46313,46314,46315,46318,46320,46322,46323,46324,46325,46326,46327,46329,46330,46331,46332,46333,46334,46335,46336,46337,46338,46339,46340,46341,46342,46343,46344,46345,46346,46347,46348,46349,46350,46351,46352,46353,46354,46355,46358,46359,46361,46362,46365,46366,46367,46368,46369,46370,46371,46374,46379,46380,46381,46382,46383,46386,46387,46389,46390,46391,46393,46394,46395,46396,46397,46398,46399,46402,46406,null,null,null,null,null,null,46407,46408,46409,46410,46414,46415,46417,46418,46419,46421,46422,46423,46424,46425,46426,46427,46430,46434,46435,46436,46437,46438,46439,46440,46441,46442,null,null,null,null,null,null,46443,46444,46445,46446,46447,46448,46449,46450,46451,46452,46453,46454,46455,46456,46457,46458,46459,46460,46461,46462,46463,46464,46465,46466,46467,46468,46469,46470,46471,46472,46473,46474,46475,46476,46477,46478,46479,46480,46481,46482,46483,46484,46485,46486,46487,46488,46489,46490,46491,46492,46493,46494,46495,46498,46499,46501,46502,46503,46505,46508,46509,46510,46511,46514,46518,46519,46520,46521,46522,46526,46527,46529,46530,46531,46533,46534,46535,46536,46537,46538,46539,46542,46546,46547,46548,46549,46550,46551,46553,46554,46555,46556,46557,46558,46559,46560,46561,46562,46563,46564,46565,46566,46567,46568,46569,46570,46571,46573,46574,46575,46576,46577,46578,46579,46580,46581,46582,46583,46584,46585,46586,46587,46588,46589,46590,46591,46592,46593,46594,46595,46596,46597,46598,46599,46600,46601,46602,46603,46604,46605,46606,46607,46610,46611,46613,46614,46615,46617,46618,46619,46620,46621,null,null,null,null,null,null,46622,46623,46624,46625,46626,46627,46628,46630,46631,46632,46633,46634,46635,46637,46638,46639,46640,46641,46642,46643,46645,46646,46647,46648,46649,46650,null,null,null,null,null,null,46651,46652,46653,46654,46655,46656,46657,46658,46659,46660,46661,46662,46663,46665,46666,46667,46668,46669,46670,46671,46672,46673,46674,46675,46676,46677,46678,46679,46680,46681,46682,46683,46684,46685,46686,46687,46688,46689,46690,46691,46693,46694,46695,46697,46698,46699,46700,46701,46702,46703,46704,46705,46706,46707,46708,46709,46710,46711,46712,46713,46714,46715,46716,46717,46718,46719,46720,46721,46722,46723,46724,46725,46726,46727,46728,46729,46730,46731,46732,46733,46734,46735,46736,46737,46738,46739,46740,46741,46742,46743,46744,46745,46746,46747,46750,46751,46753,46754,46755,46757,46758,46759,46760,46761,46762,46765,46766,46767,46768,46770,46771,46772,46773,46774,46775,46776,46777,46778,46779,46780,46781,46782,46783,46784,46785,46786,46787,46788,46789,46790,46791,46792,46793,46794,46795,46796,46797,46798,46799,46800,46801,46802,46803,46805,46806,46807,46808,46809,46810,46811,46812,46813,null,null,null,null,null,null,46814,46815,46816,46817,46818,46819,46820,46821,46822,46823,46824,46825,46826,46827,46828,46829,46830,46831,46833,46834,46835,46837,46838,46839,46841,46842,null,null,null,null,null,null,46843,46844,46845,46846,46847,46850,46851,46852,46854,46855,46856,46857,46858,46859,46860,46861,46862,46863,46864,46865,46866,46867,46868,46869,46870,46871,46872,46873,46874,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46885,46886,46887,46890,46891,46893,46894,46897,46898,46899,46900,46901,46902,46903,46906,46908,46909,46910,46911,46912,46913,46914,46915,46917,46918,46919,46921,46922,46923,46925,46926,46927,46928,46929,46930,46931,46934,46935,46936,46937,46938,46939,46940,46941,46942,46943,46945,46946,46947,46949,46950,46951,46953,46954,46955,46956,46957,46958,46959,46962,46964,46966,46967,46968,46969,46970,46971,46974,46975,46977,46978,46979,46981,46982,46983,46984,46985,46986,46987,46990,46995,46996,46997,47002,47003,47005,47006,47007,47009,47010,47011,47012,47013,47014,47015,47018,47022,47023,47024,47025,47026,47027,47030,47031,47033,47034,47035,47036,47037,47038,47039,47040,47041,null,null,null,null,null,null,47042,47043,47044,47045,47046,47048,47050,47051,47052,47053,47054,47055,47056,47057,47058,47059,47060,47061,47062,47063,47064,47065,47066,47067,47068,47069,null,null,null,null,null,null,47070,47071,47072,47073,47074,47075,47076,47077,47078,47079,47080,47081,47082,47083,47086,47087,47089,47090,47091,47093,47094,47095,47096,47097,47098,47099,47102,47106,47107,47108,47109,47110,47114,47115,47117,47118,47119,47121,47122,47123,47124,47125,47126,47127,47130,47132,47134,47135,47136,47137,47138,47139,47142,47143,47145,47146,47147,47149,47150,47151,47152,47153,47154,47155,47158,47162,47163,47164,47165,47166,47167,47169,47170,47171,47173,47174,47175,47176,47177,47178,47179,47180,47181,47182,47183,47184,47186,47188,47189,47190,47191,47192,47193,47194,47195,47198,47199,47201,47202,47203,47205,47206,47207,47208,47209,47210,47211,47214,47216,47218,47219,47220,47221,47222,47223,47225,47226,47227,47229,47230,47231,47232,47233,47234,47235,47236,47237,47238,47239,47240,47241,47242,47243,47244,47246,47247,47248,47249,47250,47251,47252,47253,47254,47255,47256,47257,47258,47259,47260,47261,47262,47263,null,null,null,null,null,null,47264,47265,47266,47267,47268,47269,47270,47271,47273,47274,47275,47276,47277,47278,47279,47281,47282,47283,47285,47286,47287,47289,47290,47291,47292,47293,null,null,null,null,null,null,47294,47295,47298,47300,47302,47303,47304,47305,47306,47307,47309,47310,47311,47313,47314,47315,47317,47318,47319,47320,47321,47322,47323,47324,47326,47328,47330,47331,47332,47333,47334,47335,47338,47339,47341,47342,47343,47345,47346,47347,47348,47349,47350,47351,47354,47356,47358,47359,47360,47361,47362,47363,47365,47366,47367,47368,47369,47370,47371,47372,47373,47374,47375,47376,47377,47378,47379,47380,47381,47382,47383,47385,47386,47387,47388,47389,47390,47391,47393,47394,47395,47396,47397,47398,47399,47400,47401,47402,47403,47404,47405,47406,47407,47408,47409,47410,47411,47412,47413,47414,47415,47416,47417,47418,47419,47422,47423,47425,47426,47427,47429,47430,47431,47432,47433,47434,47435,47437,47438,47440,47442,47443,47444,47445,47446,47447,47450,47451,47453,47454,47455,47457,47458,47459,47460,47461,47462,47463,47466,47468,47470,47471,47472,47473,47474,47475,47478,47479,47481,47482,47483,47485,null,null,null,null,null,null,47486,47487,47488,47489,47490,47491,47494,47496,47499,47500,47503,47504,47505,47506,47507,47508,47509,47510,47511,47512,47513,47514,47515,47516,47517,47518,null,null,null,null,null,null,47519,47520,47521,47522,47523,47524,47525,47526,47527,47528,47529,47530,47531,47534,47535,47537,47538,47539,47541,47542,47543,47544,47545,47546,47547,47550,47552,47554,47555,47556,47557,47558,47559,47562,47563,47565,47571,47572,47573,47574,47575,47578,47580,47583,47584,47586,47590,47591,47593,47594,47595,47597,47598,47599,47600,47601,47602,47603,47606,47611,47612,47613,47614,47615,47618,47619,47620,47621,47622,47623,47625,47626,47627,47628,47629,47630,47631,47632,47633,47634,47635,47636,47638,47639,47640,47641,47642,47643,47644,47645,47646,47647,47648,47649,47650,47651,47652,47653,47654,47655,47656,47657,47658,47659,47660,47661,47662,47663,47664,47665,47666,47667,47668,47669,47670,47671,47674,47675,47677,47678,47679,47681,47683,47684,47685,47686,47687,47690,47692,47695,47696,47697,47698,47702,47703,47705,47706,47707,47709,47710,47711,47712,47713,47714,47715,47718,47722,47723,47724,47725,47726,47727,null,null,null,null,null,null,47730,47731,47733,47734,47735,47737,47738,47739,47740,47741,47742,47743,47744,47745,47746,47750,47752,47753,47754,47755,47757,47758,47759,47760,47761,47762,null,null,null,null,null,null,47763,47764,47765,47766,47767,47768,47769,47770,47771,47772,47773,47774,47775,47776,47777,47778,47779,47780,47781,47782,47783,47786,47789,47790,47791,47793,47795,47796,47797,47798,47799,47802,47804,47806,47807,47808,47809,47810,47811,47813,47814,47815,47817,47818,47819,47820,47821,47822,47823,47824,47825,47826,47827,47828,47829,47830,47831,47834,47835,47836,47837,47838,47839,47840,47841,47842,47843,47844,47845,47846,47847,47848,47849,47850,47851,47852,47853,47854,47855,47856,47857,47858,47859,47860,47861,47862,47863,47864,47865,47866,47867,47869,47870,47871,47873,47874,47875,47877,47878,47879,47880,47881,47882,47883,47884,47886,47888,47890,47891,47892,47893,47894,47895,47897,47898,47899,47901,47902,47903,47905,47906,47907,47908,47909,47910,47911,47912,47914,47916,47917,47918,47919,47920,47921,47922,47923,47927,47929,47930,47935,47936,47937,47938,47939,47942,47944,47946,47947,47948,47950,47953,47954,null,null,null,null,null,null,47955,47957,47958,47959,47961,47962,47963,47964,47965,47966,47967,47968,47970,47972,47973,47974,47975,47976,47977,47978,47979,47981,47982,47983,47984,47985,null,null,null,null,null,null,47986,47987,47988,47989,47990,47991,47992,47993,47994,47995,47996,47997,47998,47999,48e3,48001,48002,48003,48004,48005,48006,48007,48009,48010,48011,48013,48014,48015,48017,48018,48019,48020,48021,48022,48023,48024,48025,48026,48027,48028,48029,48030,48031,48032,48033,48034,48035,48037,48038,48039,48041,48042,48043,48045,48046,48047,48048,48049,48050,48051,48053,48054,48056,48057,48058,48059,48060,48061,48062,48063,48065,48066,48067,48069,48070,48071,48073,48074,48075,48076,48077,48078,48079,48081,48082,48084,48085,48086,48087,48088,48089,48090,48091,48092,48093,48094,48095,48096,48097,48098,48099,48100,48101,48102,48103,48104,48105,48106,48107,48108,48109,48110,48111,48112,48113,48114,48115,48116,48117,48118,48119,48122,48123,48125,48126,48129,48131,48132,48133,48134,48135,48138,48142,48144,48146,48147,48153,48154,48160,48161,48162,48163,48166,48168,48170,48171,48172,48174,48175,48178,48179,48181,null,null,null,null,null,null,48182,48183,48185,48186,48187,48188,48189,48190,48191,48194,48198,48199,48200,48202,48203,48206,48207,48209,48210,48211,48212,48213,48214,48215,48216,48217,null,null,null,null,null,null,48218,48219,48220,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48234,48235,48236,48237,48238,48239,48240,48241,48242,48243,48244,48245,48246,48247,48248,48249,48250,48251,48252,48253,48254,48255,48256,48257,48258,48259,48262,48263,48265,48266,48269,48271,48272,48273,48274,48275,48278,48280,48283,48284,48285,48286,48287,48290,48291,48293,48294,48297,48298,48299,48300,48301,48302,48303,48306,48310,48311,48312,48313,48314,48315,48318,48319,48321,48322,48323,48325,48326,48327,48328,48329,48330,48331,48332,48334,48338,48339,48340,48342,48343,48345,48346,48347,48349,48350,48351,48352,48353,48354,48355,48356,48357,48358,48359,48360,48361,48362,48363,48364,48365,48366,48367,48368,48369,48370,48371,48375,48377,48378,48379,48381,48382,48383,48384,48385,48386,48387,48390,48392,48394,48395,48396,48397,48398,48399,48401,48402,48403,48405,48406,48407,48408,48409,48410,48411,48412,48413,null,null,null,null,null,null,48414,48415,48416,48417,48418,48419,48421,48422,48423,48424,48425,48426,48427,48429,48430,48431,48432,48433,48434,48435,48436,48437,48438,48439,48440,48441,null,null,null,null,null,null,48442,48443,48444,48445,48446,48447,48449,48450,48451,48452,48453,48454,48455,48458,48459,48461,48462,48463,48465,48466,48467,48468,48469,48470,48471,48474,48475,48476,48477,48478,48479,48480,48481,48482,48483,48485,48486,48487,48489,48490,48491,48492,48493,48494,48495,48496,48497,48498,48499,48500,48501,48502,48503,48504,48505,48506,48507,48508,48509,48510,48511,48514,48515,48517,48518,48523,48524,48525,48526,48527,48530,48532,48534,48535,48536,48539,48541,48542,48543,48544,48545,48546,48547,48549,48550,48551,48552,48553,48554,48555,48556,48557,48558,48559,48561,48562,48563,48564,48565,48566,48567,48569,48570,48571,48572,48573,48574,48575,48576,48577,48578,48579,48580,48581,48582,48583,48584,48585,48586,48587,48588,48589,48590,48591,48592,48593,48594,48595,48598,48599,48601,48602,48603,48605,48606,48607,48608,48609,48610,48611,48612,48613,48614,48615,48616,48618,48619,48620,48621,48622,48623,48625,null,null,null,null,null,null,48626,48627,48629,48630,48631,48633,48634,48635,48636,48637,48638,48639,48641,48642,48644,48646,48647,48648,48649,48650,48651,48654,48655,48657,48658,48659,null,null,null,null,null,null,48661,48662,48663,48664,48665,48666,48667,48670,48672,48673,48674,48675,48676,48677,48678,48679,48680,48681,48682,48683,48684,48685,48686,48687,48688,48689,48690,48691,48692,48693,48694,48695,48696,48697,48698,48699,48700,48701,48702,48703,48704,48705,48706,48707,48710,48711,48713,48714,48715,48717,48719,48720,48721,48722,48723,48726,48728,48732,48733,48734,48735,48738,48739,48741,48742,48743,48745,48747,48748,48749,48750,48751,48754,48758,48759,48760,48761,48762,48766,48767,48769,48770,48771,48773,48774,48775,48776,48777,48778,48779,48782,48786,48787,48788,48789,48790,48791,48794,48795,48796,48797,48798,48799,48800,48801,48802,48803,48804,48805,48806,48807,48809,48810,48811,48812,48813,48814,48815,48816,48817,48818,48819,48820,48821,48822,48823,48824,48825,48826,48827,48828,48829,48830,48831,48832,48833,48834,48835,48836,48837,48838,48839,48840,48841,48842,48843,48844,48845,48846,48847,48850,48851,null,null,null,null,null,null,48853,48854,48857,48858,48859,48860,48861,48862,48863,48865,48866,48870,48871,48872,48873,48874,48875,48877,48878,48879,48880,48881,48882,48883,48884,48885,null,null,null,null,null,null,48886,48887,48888,48889,48890,48891,48892,48893,48894,48895,48896,48898,48899,48900,48901,48902,48903,48906,48907,48908,48909,48910,48911,48912,48913,48914,48915,48916,48917,48918,48919,48922,48926,48927,48928,48929,48930,48931,48932,48933,48934,48935,48936,48937,48938,48939,48940,48941,48942,48943,48944,48945,48946,48947,48948,48949,48950,48951,48952,48953,48954,48955,48956,48957,48958,48959,48962,48963,48965,48966,48967,48969,48970,48971,48972,48973,48974,48975,48978,48979,48980,48982,48983,48984,48985,48986,48987,48988,48989,48990,48991,48992,48993,48994,48995,48996,48997,48998,48999,49e3,49001,49002,49003,49004,49005,49006,49007,49008,49009,49010,49011,49012,49013,49014,49015,49016,49017,49018,49019,49020,49021,49022,49023,49024,49025,49026,49027,49028,49029,49030,49031,49032,49033,49034,49035,49036,49037,49038,49039,49040,49041,49042,49043,49045,49046,49047,49048,49049,49050,49051,49052,49053,null,null,null,null,null,null,49054,49055,49056,49057,49058,49059,49060,49061,49062,49063,49064,49065,49066,49067,49068,49069,49070,49071,49073,49074,49075,49076,49077,49078,49079,49080,null,null,null,null,null,null,49081,49082,49083,49084,49085,49086,49087,49088,49089,49090,49091,49092,49094,49095,49096,49097,49098,49099,49102,49103,49105,49106,49107,49109,49110,49111,49112,49113,49114,49115,49117,49118,49120,49122,49123,49124,49125,49126,49127,49128,49129,49130,49131,49132,49133,49134,49135,49136,49137,49138,49139,49140,49141,49142,49143,49144,49145,49146,49147,49148,49149,49150,49151,49152,49153,49154,49155,49156,49157,49158,49159,49160,49161,49162,49163,49164,49165,49166,49167,49168,49169,49170,49171,49172,49173,49174,49175,49176,49177,49178,49179,49180,49181,49182,49183,49184,49185,49186,49187,49188,49189,49190,49191,49192,49193,49194,49195,49196,49197,49198,49199,49200,49201,49202,49203,49204,49205,49206,49207,49208,49209,49210,49211,49213,49214,49215,49216,49217,49218,49219,49220,49221,49222,49223,49224,49225,49226,49227,49228,49229,49230,49231,49232,49234,49235,49236,49237,49238,49239,49241,49242,49243,null,null,null,null,null,null,49245,49246,49247,49249,49250,49251,49252,49253,49254,49255,49258,49259,49260,49261,49262,49263,49264,49265,49266,49267,49268,49269,49270,49271,49272,49273,null,null,null,null,null,null,49274,49275,49276,49277,49278,49279,49280,49281,49282,49283,49284,49285,49286,49287,49288,49289,49290,49291,49292,49293,49294,49295,49298,49299,49301,49302,49303,49305,49306,49307,49308,49309,49310,49311,49314,49316,49318,49319,49320,49321,49322,49323,49326,49329,49330,49335,49336,49337,49338,49339,49342,49346,49347,49348,49350,49351,49354,49355,49357,49358,49359,49361,49362,49363,49364,49365,49366,49367,49370,49374,49375,49376,49377,49378,49379,49382,49383,49385,49386,49387,49389,49390,49391,49392,49393,49394,49395,49398,49400,49402,49403,49404,49405,49406,49407,49409,49410,49411,49413,49414,49415,49417,49418,49419,49420,49421,49422,49423,49425,49426,49427,49428,49430,49431,49432,49433,49434,49435,49441,49442,49445,49448,49449,49450,49451,49454,49458,49459,49460,49461,49463,49466,49467,49469,49470,49471,49473,49474,49475,49476,49477,49478,49479,49482,49486,49487,49488,49489,49490,49491,49494,49495,null,null,null,null,null,null,49497,49498,49499,49501,49502,49503,49504,49505,49506,49507,49510,49514,49515,49516,49517,49518,49519,49521,49522,49523,49525,49526,49527,49529,49530,49531,null,null,null,null,null,null,49532,49533,49534,49535,49536,49537,49538,49539,49540,49542,49543,49544,49545,49546,49547,49551,49553,49554,49555,49557,49559,49560,49561,49562,49563,49566,49568,49570,49571,49572,49574,49575,49578,49579,49581,49582,49583,49585,49586,49587,49588,49589,49590,49591,49592,49593,49594,49595,49596,49598,49599,49600,49601,49602,49603,49605,49606,49607,49609,49610,49611,49613,49614,49615,49616,49617,49618,49619,49621,49622,49625,49626,49627,49628,49629,49630,49631,49633,49634,49635,49637,49638,49639,49641,49642,49643,49644,49645,49646,49647,49650,49652,49653,49654,49655,49656,49657,49658,49659,49662,49663,49665,49666,49667,49669,49670,49671,49672,49673,49674,49675,49678,49680,49682,49683,49684,49685,49686,49687,49690,49691,49693,49694,49697,49698,49699,49700,49701,49702,49703,49706,49708,49710,49712,49715,49717,49718,49719,49720,49721,49722,49723,49724,49725,49726,49727,49728,49729,49730,49731,49732,49733,null,null,null,null,null,null,49734,49735,49737,49738,49739,49740,49741,49742,49743,49746,49747,49749,49750,49751,49753,49754,49755,49756,49757,49758,49759,49761,49762,49763,49764,49766,null,null,null,null,null,null,49767,49768,49769,49770,49771,49774,49775,49777,49778,49779,49781,49782,49783,49784,49785,49786,49787,49790,49792,49794,49795,49796,49797,49798,49799,49802,49803,49804,49805,49806,49807,49809,49810,49811,49812,49813,49814,49815,49817,49818,49820,49822,49823,49824,49825,49826,49827,49830,49831,49833,49834,49835,49838,49839,49840,49841,49842,49843,49846,49848,49850,49851,49852,49853,49854,49855,49856,49857,49858,49859,49860,49861,49862,49863,49864,49865,49866,49867,49868,49869,49870,49871,49872,49873,49874,49875,49876,49877,49878,49879,49880,49881,49882,49883,49886,49887,49889,49890,49893,49894,49895,49896,49897,49898,49902,49904,49906,49907,49908,49909,49911,49914,49917,49918,49919,49921,49922,49923,49924,49925,49926,49927,49930,49931,49934,49935,49936,49937,49938,49942,49943,49945,49946,49947,49949,49950,49951,49952,49953,49954,49955,49958,49959,49962,49963,49964,49965,49966,49967,49968,49969,49970,null,null,null,null,null,null,49971,49972,49973,49974,49975,49976,49977,49978,49979,49980,49981,49982,49983,49984,49985,49986,49987,49988,49990,49991,49992,49993,49994,49995,49996,49997,null,null,null,null,null,null,49998,49999,5e4,50001,50002,50003,50004,50005,50006,50007,50008,50009,50010,50011,50012,50013,50014,50015,50016,50017,50018,50019,50020,50021,50022,50023,50026,50027,50029,50030,50031,50033,50035,50036,50037,50038,50039,50042,50043,50046,50047,50048,50049,50050,50051,50053,50054,50055,50057,50058,50059,50061,50062,50063,50064,50065,50066,50067,50068,50069,50070,50071,50072,50073,50074,50075,50076,50077,50078,50079,50080,50081,50082,50083,50084,50085,50086,50087,50088,50089,50090,50091,50092,50093,50094,50095,50096,50097,50098,50099,50100,50101,50102,50103,50104,50105,50106,50107,50108,50109,50110,50111,50113,50114,50115,50116,50117,50118,50119,50120,50121,50122,50123,50124,50125,50126,50127,50128,50129,50130,50131,50132,50133,50134,50135,50138,50139,50141,50142,50145,50147,50148,50149,50150,50151,50154,50155,50156,50158,50159,50160,50161,50162,50163,50166,50167,50169,50170,50171,50172,50173,50174,null,null,null,null,null,null,50175,50176,50177,50178,50179,50180,50181,50182,50183,50185,50186,50187,50188,50189,50190,50191,50193,50194,50195,50196,50197,50198,50199,50200,50201,50202,null,null,null,null,null,null,50203,50204,50205,50206,50207,50208,50209,50210,50211,50213,50214,50215,50216,50217,50218,50219,50221,50222,50223,50225,50226,50227,50229,50230,50231,50232,50233,50234,50235,50238,50239,50240,50241,50242,50243,50244,50245,50246,50247,50249,50250,50251,50252,50253,50254,50255,50256,50257,50258,50259,50260,50261,50262,50263,50264,50265,50266,50267,50268,50269,50270,50271,50272,50273,50274,50275,50278,50279,50281,50282,50283,50285,50286,50287,50288,50289,50290,50291,50294,50295,50296,50298,50299,50300,50301,50302,50303,50305,50306,50307,50308,50309,50310,50311,50312,50313,50314,50315,50316,50317,50318,50319,50320,50321,50322,50323,50325,50326,50327,50328,50329,50330,50331,50333,50334,50335,50336,50337,50338,50339,50340,50341,50342,50343,50344,50345,50346,50347,50348,50349,50350,50351,50352,50353,50354,50355,50356,50357,50358,50359,50361,50362,50363,50365,50366,50367,50368,50369,50370,50371,50372,50373,null,null,null,null,null,null,50374,50375,50376,50377,50378,50379,50380,50381,50382,50383,50384,50385,50386,50387,50388,50389,50390,50391,50392,50393,50394,50395,50396,50397,50398,50399,null,null,null,null,null,null,50400,50401,50402,50403,50404,50405,50406,50407,50408,50410,50411,50412,50413,50414,50415,50418,50419,50421,50422,50423,50425,50427,50428,50429,50430,50434,50435,50436,50437,50438,50439,50440,50441,50442,50443,50445,50446,50447,50449,50450,50451,50453,50454,50455,50456,50457,50458,50459,50461,50462,50463,50464,50465,50466,50467,50468,50469,50470,50471,50474,50475,50477,50478,50479,50481,50482,50483,50484,50485,50486,50487,50490,50492,50494,50495,50496,50497,50498,50499,50502,50503,50507,50511,50512,50513,50514,50518,50522,50523,50524,50527,50530,50531,50533,50534,50535,50537,50538,50539,50540,50541,50542,50543,50546,50550,50551,50552,50553,50554,50555,50558,50559,50561,50562,50563,50565,50566,50568,50569,50570,50571,50574,50576,50578,50579,50580,50582,50585,50586,50587,50589,50590,50591,50593,50594,50595,50596,50597,50598,50599,50600,50602,50603,50604,50605,50606,50607,50608,50609,50610,50611,50614,null,null,null,null,null,null,50615,50618,50623,50624,50625,50626,50627,50635,50637,50639,50642,50643,50645,50646,50647,50649,50650,50651,50652,50653,50654,50655,50658,50660,50662,50663,null,null,null,null,null,null,50664,50665,50666,50667,50671,50673,50674,50675,50677,50680,50681,50682,50683,50690,50691,50692,50697,50698,50699,50701,50702,50703,50705,50706,50707,50708,50709,50710,50711,50714,50717,50718,50719,50720,50721,50722,50723,50726,50727,50729,50730,50731,50735,50737,50738,50742,50744,50746,50748,50749,50750,50751,50754,50755,50757,50758,50759,50761,50762,50763,50764,50765,50766,50767,50770,50774,50775,50776,50777,50778,50779,50782,50783,50785,50786,50787,50788,50789,50790,50791,50792,50793,50794,50795,50797,50798,50800,50802,50803,50804,50805,50806,50807,50810,50811,50813,50814,50815,50817,50818,50819,50820,50821,50822,50823,50826,50828,50830,50831,50832,50833,50834,50835,50838,50839,50841,50842,50843,50845,50846,50847,50848,50849,50850,50851,50854,50856,50858,50859,50860,50861,50862,50863,50866,50867,50869,50870,50871,50875,50876,50877,50878,50879,50882,50884,50886,50887,50888,50889,50890,50891,50894,null,null,null,null,null,null,50895,50897,50898,50899,50901,50902,50903,50904,50905,50906,50907,50910,50911,50914,50915,50916,50917,50918,50919,50922,50923,50925,50926,50927,50929,50930,null,null,null,null,null,null,50931,50932,50933,50934,50935,50938,50939,50940,50942,50943,50944,50945,50946,50947,50950,50951,50953,50954,50955,50957,50958,50959,50960,50961,50962,50963,50966,50968,50970,50971,50972,50973,50974,50975,50978,50979,50981,50982,50983,50985,50986,50987,50988,50989,50990,50991,50994,50996,50998,51e3,51001,51002,51003,51006,51007,51009,51010,51011,51013,51014,51015,51016,51017,51019,51022,51024,51033,51034,51035,51037,51038,51039,51041,51042,51043,51044,51045,51046,51047,51049,51050,51052,51053,51054,51055,51056,51057,51058,51059,51062,51063,51065,51066,51067,51071,51072,51073,51074,51078,51083,51084,51085,51087,51090,51091,51093,51097,51099,51100,51101,51102,51103,51106,51111,51112,51113,51114,51115,51118,51119,51121,51122,51123,51125,51126,51127,51128,51129,51130,51131,51134,51138,51139,51140,51141,51142,51143,51146,51147,51149,51151,51153,51154,51155,51156,51157,51158,51159,51161,51162,51163,51164,null,null,null,null,null,null,51166,51167,51168,51169,51170,51171,51173,51174,51175,51177,51178,51179,51181,51182,51183,51184,51185,51186,51187,51188,51189,51190,51191,51192,51193,51194,null,null,null,null,null,null,51195,51196,51197,51198,51199,51202,51203,51205,51206,51207,51209,51211,51212,51213,51214,51215,51218,51220,51223,51224,51225,51226,51227,51230,51231,51233,51234,51235,51237,51238,51239,51240,51241,51242,51243,51246,51248,51250,51251,51252,51253,51254,51255,51257,51258,51259,51261,51262,51263,51265,51266,51267,51268,51269,51270,51271,51274,51275,51278,51279,51280,51281,51282,51283,51285,51286,51287,51288,51289,51290,51291,51292,51293,51294,51295,51296,51297,51298,51299,51300,51301,51302,51303,51304,51305,51306,51307,51308,51309,51310,51311,51314,51315,51317,51318,51319,51321,51323,51324,51325,51326,51327,51330,51332,51336,51337,51338,51342,51343,51344,51345,51346,51347,51349,51350,51351,51352,51353,51354,51355,51356,51358,51360,51362,51363,51364,51365,51366,51367,51369,51370,51371,51372,51373,51374,51375,51376,51377,51378,51379,51380,51381,51382,51383,51384,51385,51386,51387,51390,51391,51392,51393,null,null,null,null,null,null,51394,51395,51397,51398,51399,51401,51402,51403,51405,51406,51407,51408,51409,51410,51411,51414,51416,51418,51419,51420,51421,51422,51423,51426,51427,51429,null,null,null,null,null,null,51430,51431,51432,51433,51434,51435,51436,51437,51438,51439,51440,51441,51442,51443,51444,51446,51447,51448,51449,51450,51451,51454,51455,51457,51458,51459,51463,51464,51465,51466,51467,51470,12288,12289,12290,183,8229,8230,168,12291,173,8213,8741,65340,8764,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,177,215,247,8800,8804,8805,8734,8756,176,8242,8243,8451,8491,65504,65505,65509,9794,9792,8736,8869,8978,8706,8711,8801,8786,167,8251,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8594,8592,8593,8595,8596,12307,8810,8811,8730,8765,8733,8757,8747,8748,8712,8715,8838,8839,8834,8835,8746,8745,8743,8744,65506,51472,51474,51475,51476,51477,51478,51479,51481,51482,51483,51484,51485,51486,51487,51488,51489,51490,51491,51492,51493,51494,51495,51496,51497,51498,51499,null,null,null,null,null,null,51501,51502,51503,51504,51505,51506,51507,51509,51510,51511,51512,51513,51514,51515,51516,51517,51518,51519,51520,51521,51522,51523,51524,51525,51526,51527,null,null,null,null,null,null,51528,51529,51530,51531,51532,51533,51534,51535,51538,51539,51541,51542,51543,51545,51546,51547,51548,51549,51550,51551,51554,51556,51557,51558,51559,51560,51561,51562,51563,51565,51566,51567,8658,8660,8704,8707,180,65374,711,728,733,730,729,184,731,161,191,720,8750,8721,8719,164,8457,8240,9665,9664,9655,9654,9828,9824,9825,9829,9831,9827,8857,9672,9635,9680,9681,9618,9636,9637,9640,9639,9638,9641,9832,9743,9742,9756,9758,182,8224,8225,8597,8599,8601,8598,8600,9837,9833,9834,9836,12927,12828,8470,13255,8482,13250,13272,8481,8364,174,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51569,51570,51571,51573,51574,51575,51576,51577,51578,51579,51581,51582,51583,51584,51585,51586,51587,51588,51589,51590,51591,51594,51595,51597,51598,51599,null,null,null,null,null,null,51601,51602,51603,51604,51605,51606,51607,51610,51612,51614,51615,51616,51617,51618,51619,51620,51621,51622,51623,51624,51625,51626,51627,51628,51629,51630,null,null,null,null,null,null,51631,51632,51633,51634,51635,51636,51637,51638,51639,51640,51641,51642,51643,51644,51645,51646,51647,51650,51651,51653,51654,51657,51659,51660,51661,51662,51663,51666,51668,51671,51672,51675,65281,65282,65283,65284,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65510,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,51678,51679,51681,51683,51685,51686,51688,51689,51690,51691,51694,51698,51699,51700,51701,51702,51703,51706,51707,51709,51710,51711,51713,51714,51715,51716,null,null,null,null,null,null,51717,51718,51719,51722,51726,51727,51728,51729,51730,51731,51733,51734,51735,51737,51738,51739,51740,51741,51742,51743,51744,51745,51746,51747,51748,51749,null,null,null,null,null,null,51750,51751,51752,51754,51755,51756,51757,51758,51759,51760,51761,51762,51763,51764,51765,51766,51767,51768,51769,51770,51771,51772,51773,51774,51775,51776,51777,51778,51779,51780,51781,51782,12593,12594,12595,12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,51783,51784,51785,51786,51787,51790,51791,51793,51794,51795,51797,51798,51799,51800,51801,51802,51803,51806,51810,51811,51812,51813,51814,51815,51817,51818,null,null,null,null,null,null,51819,51820,51821,51822,51823,51824,51825,51826,51827,51828,51829,51830,51831,51832,51833,51834,51835,51836,51838,51839,51840,51841,51842,51843,51845,51846,null,null,null,null,null,null,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,null,null,null,null,null,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892,51893,51894,51895,51896,51897,51898,51899,51902,51903,51905,51906,51907,51909,null,null,null,null,null,null,51910,51911,51912,51913,51914,51915,51918,51920,51922,51924,51925,51926,51927,51930,51931,51932,51933,51934,51935,51937,51938,51939,51940,51941,51942,51943,null,null,null,null,null,null,51944,51945,51946,51947,51949,51950,51951,51952,51953,51954,51955,51957,51958,51959,51960,51961,51962,51963,51964,51965,51966,51967,51968,51969,51970,51971,51972,51973,51974,51975,51977,51978,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,9490,9489,9498,9497,9494,9493,9486,9485,9502,9503,9505,9506,9510,9511,9513,9514,9517,9518,9521,9522,9525,9526,9529,9530,9533,9534,9536,9537,9539,9540,9541,9542,9543,9544,9545,9546,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51979,51980,51981,51982,51983,51985,51986,51987,51989,51990,51991,51993,51994,51995,51996,51997,51998,51999,52002,52003,52004,52005,52006,52007,52008,52009,null,null,null,null,null,null,52010,52011,52012,52013,52014,52015,52016,52017,52018,52019,52020,52021,52022,52023,52024,52025,52026,52027,52028,52029,52030,52031,52032,52034,52035,52036,null,null,null,null,null,null,52037,52038,52039,52042,52043,52045,52046,52047,52049,52050,52051,52052,52053,52054,52055,52058,52059,52060,52062,52063,52064,52065,52066,52067,52069,52070,52071,52072,52073,52074,52075,52076,13205,13206,13207,8467,13208,13252,13219,13220,13221,13222,13209,13210,13211,13212,13213,13214,13215,13216,13217,13218,13258,13197,13198,13199,13263,13192,13193,13256,13223,13224,13232,13233,13234,13235,13236,13237,13238,13239,13240,13241,13184,13185,13186,13187,13188,13242,13243,13244,13245,13246,13247,13200,13201,13202,13203,13204,8486,13248,13249,13194,13195,13196,13270,13253,13229,13230,13231,13275,13225,13226,13227,13228,13277,13264,13267,13251,13257,13276,13254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52077,52078,52079,52080,52081,52082,52083,52084,52085,52086,52087,52090,52091,52092,52093,52094,52095,52096,52097,52098,52099,52100,52101,52102,52103,52104,null,null,null,null,null,null,52105,52106,52107,52108,52109,52110,52111,52112,52113,52114,52115,52116,52117,52118,52119,52120,52121,52122,52123,52125,52126,52127,52128,52129,52130,52131,null,null,null,null,null,null,52132,52133,52134,52135,52136,52137,52138,52139,52140,52141,52142,52143,52144,52145,52146,52147,52148,52149,52150,52151,52153,52154,52155,52156,52157,52158,52159,52160,52161,52162,52163,52164,198,208,170,294,null,306,null,319,321,216,338,186,222,358,330,null,12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911,12912,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,9424,9425,9426,9427,9428,9429,9430,9431,9432,9433,9434,9435,9436,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,189,8531,8532,188,190,8539,8540,8541,8542,52165,52166,52167,52168,52169,52170,52171,52172,52173,52174,52175,52176,52177,52178,52179,52181,52182,52183,52184,52185,52186,52187,52188,52189,52190,52191,null,null,null,null,null,null,52192,52193,52194,52195,52197,52198,52200,52202,52203,52204,52205,52206,52207,52208,52209,52210,52211,52212,52213,52214,52215,52216,52217,52218,52219,52220,null,null,null,null,null,null,52221,52222,52223,52224,52225,52226,52227,52228,52229,52230,52231,52232,52233,52234,52235,52238,52239,52241,52242,52243,52245,52246,52247,52248,52249,52250,52251,52254,52255,52256,52259,52260,230,273,240,295,305,307,312,320,322,248,339,223,254,359,331,329,12800,12801,12802,12803,12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819,12820,12821,12822,12823,12824,12825,12826,12827,9372,9373,9374,9375,9376,9377,9378,9379,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,9393,9394,9395,9396,9397,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,185,178,179,8308,8319,8321,8322,8323,8324,52261,52262,52266,52267,52269,52271,52273,52274,52275,52276,52277,52278,52279,52282,52287,52288,52289,52290,52291,52294,52295,52297,52298,52299,52301,52302,null,null,null,null,null,null,52303,52304,52305,52306,52307,52310,52314,52315,52316,52317,52318,52319,52321,52322,52323,52325,52327,52329,52330,52331,52332,52333,52334,52335,52337,52338,null,null,null,null,null,null,52339,52340,52342,52343,52344,52345,52346,52347,52348,52349,52350,52351,52352,52353,52354,52355,52356,52357,52358,52359,52360,52361,52362,52363,52364,52365,52366,52367,52368,52369,52370,52371,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,52372,52373,52374,52375,52378,52379,52381,52382,52383,52385,52386,52387,52388,52389,52390,52391,52394,52398,52399,52400,52401,52402,52403,52406,52407,52409,null,null,null,null,null,null,52410,52411,52413,52414,52415,52416,52417,52418,52419,52422,52424,52426,52427,52428,52429,52430,52431,52433,52434,52435,52437,52438,52439,52440,52441,52442,null,null,null,null,null,null,52443,52444,52445,52446,52447,52448,52449,52450,52451,52453,52454,52455,52456,52457,52458,52459,52461,52462,52463,52465,52466,52467,52468,52469,52470,52471,52472,52473,52474,52475,52476,52477,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,52478,52479,52480,52482,52483,52484,52485,52486,52487,52490,52491,52493,52494,52495,52497,52498,52499,52500,52501,52502,52503,52506,52508,52510,52511,52512,null,null,null,null,null,null,52513,52514,52515,52517,52518,52519,52521,52522,52523,52525,52526,52527,52528,52529,52530,52531,52532,52533,52534,52535,52536,52538,52539,52540,52541,52542,null,null,null,null,null,null,52543,52544,52545,52546,52547,52548,52549,52550,52551,52552,52553,52554,52555,52556,52557,52558,52559,52560,52561,52562,52563,52564,52565,52566,52567,52568,52569,52570,52571,52573,52574,52575,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,52577,52578,52579,52581,52582,52583,52584,52585,52586,52587,52590,52592,52594,52595,52596,52597,52598,52599,52601,52602,52603,52604,52605,52606,52607,52608,null,null,null,null,null,null,52609,52610,52611,52612,52613,52614,52615,52617,52618,52619,52620,52621,52622,52623,52624,52625,52626,52627,52630,52631,52633,52634,52635,52637,52638,52639,null,null,null,null,null,null,52640,52641,52642,52643,52646,52648,52650,52651,52652,52653,52654,52655,52657,52658,52659,52660,52661,52662,52663,52664,52665,52666,52667,52668,52669,52670,52671,52672,52673,52674,52675,52677,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52678,52679,52680,52681,52682,52683,52685,52686,52687,52689,52690,52691,52692,52693,52694,52695,52696,52697,52698,52699,52700,52701,52702,52703,52704,52705,null,null,null,null,null,null,52706,52707,52708,52709,52710,52711,52713,52714,52715,52717,52718,52719,52721,52722,52723,52724,52725,52726,52727,52730,52732,52734,52735,52736,52737,52738,null,null,null,null,null,null,52739,52741,52742,52743,52745,52746,52747,52749,52750,52751,52752,52753,52754,52755,52757,52758,52759,52760,52762,52763,52764,52765,52766,52767,52770,52771,52773,52774,52775,52777,52778,52779,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52780,52781,52782,52783,52786,52788,52790,52791,52792,52793,52794,52795,52796,52797,52798,52799,52800,52801,52802,52803,52804,52805,52806,52807,52808,52809,null,null,null,null,null,null,52810,52811,52812,52813,52814,52815,52816,52817,52818,52819,52820,52821,52822,52823,52826,52827,52829,52830,52834,52835,52836,52837,52838,52839,52842,52844,null,null,null,null,null,null,52846,52847,52848,52849,52850,52851,52854,52855,52857,52858,52859,52861,52862,52863,52864,52865,52866,52867,52870,52872,52874,52875,52876,52877,52878,52879,52882,52883,52885,52886,52887,52889,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52890,52891,52892,52893,52894,52895,52898,52902,52903,52904,52905,52906,52907,52910,52911,52912,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,null,null,null,null,null,null,52923,52924,52925,52926,52927,52928,52930,52931,52932,52933,52934,52935,52936,52937,52938,52939,52940,52941,52942,52943,52944,52945,52946,52947,52948,52949,null,null,null,null,null,null,52950,52951,52952,52953,52954,52955,52956,52957,52958,52959,52960,52961,52962,52963,52966,52967,52969,52970,52973,52974,52975,52976,52977,52978,52979,52982,52986,52987,52988,52989,52990,52991,44032,44033,44036,44039,44040,44041,44042,44048,44049,44050,44051,44052,44053,44054,44055,44057,44058,44059,44060,44061,44064,44068,44076,44077,44079,44080,44081,44088,44089,44092,44096,44107,44109,44116,44120,44124,44144,44145,44148,44151,44152,44154,44160,44161,44163,44164,44165,44166,44169,44170,44171,44172,44176,44180,44188,44189,44191,44192,44193,44200,44201,44202,44204,44207,44208,44216,44217,44219,44220,44221,44225,44228,44232,44236,44245,44247,44256,44257,44260,44263,44264,44266,44268,44271,44272,44273,44275,44277,44278,44284,44285,44288,44292,44294,52994,52995,52997,52998,52999,53001,53002,53003,53004,53005,53006,53007,53010,53012,53014,53015,53016,53017,53018,53019,53021,53022,53023,53025,53026,53027,null,null,null,null,null,null,53029,53030,53031,53032,53033,53034,53035,53038,53042,53043,53044,53045,53046,53047,53049,53050,53051,53052,53053,53054,53055,53056,53057,53058,53059,53060,null,null,null,null,null,null,53061,53062,53063,53064,53065,53066,53067,53068,53069,53070,53071,53072,53073,53074,53075,53078,53079,53081,53082,53083,53085,53086,53087,53088,53089,53090,53091,53094,53096,53098,53099,53100,44300,44301,44303,44305,44312,44316,44320,44329,44332,44333,44340,44341,44344,44348,44356,44357,44359,44361,44368,44372,44376,44385,44387,44396,44397,44400,44403,44404,44405,44406,44411,44412,44413,44415,44417,44418,44424,44425,44428,44432,44444,44445,44452,44471,44480,44481,44484,44488,44496,44497,44499,44508,44512,44516,44536,44537,44540,44543,44544,44545,44552,44553,44555,44557,44564,44592,44593,44596,44599,44600,44602,44608,44609,44611,44613,44614,44618,44620,44621,44622,44624,44628,44630,44636,44637,44639,44640,44641,44645,44648,44649,44652,44656,44664,53101,53102,53103,53106,53107,53109,53110,53111,53113,53114,53115,53116,53117,53118,53119,53121,53122,53123,53124,53126,53127,53128,53129,53130,53131,53133,null,null,null,null,null,null,53134,53135,53136,53137,53138,53139,53140,53141,53142,53143,53144,53145,53146,53147,53148,53149,53150,53151,53152,53154,53155,53156,53157,53158,53159,53161,null,null,null,null,null,null,53162,53163,53164,53165,53166,53167,53169,53170,53171,53172,53173,53174,53175,53176,53177,53178,53179,53180,53181,53182,53183,53184,53185,53186,53187,53189,53190,53191,53192,53193,53194,53195,44665,44667,44668,44669,44676,44677,44684,44732,44733,44734,44736,44740,44748,44749,44751,44752,44753,44760,44761,44764,44776,44779,44781,44788,44792,44796,44807,44808,44813,44816,44844,44845,44848,44850,44852,44860,44861,44863,44865,44866,44867,44872,44873,44880,44892,44893,44900,44901,44921,44928,44932,44936,44944,44945,44949,44956,44984,44985,44988,44992,44999,45e3,45001,45003,45005,45006,45012,45020,45032,45033,45040,45041,45044,45048,45056,45057,45060,45068,45072,45076,45084,45085,45096,45124,45125,45128,45130,45132,45134,45139,45140,45141,45143,45145,53196,53197,53198,53199,53200,53201,53202,53203,53204,53205,53206,53207,53208,53209,53210,53211,53212,53213,53214,53215,53218,53219,53221,53222,53223,53225,null,null,null,null,null,null,53226,53227,53228,53229,53230,53231,53234,53236,53238,53239,53240,53241,53242,53243,53245,53246,53247,53249,53250,53251,53253,53254,53255,53256,53257,53258,null,null,null,null,null,null,53259,53260,53261,53262,53263,53264,53266,53267,53268,53269,53270,53271,53273,53274,53275,53276,53277,53278,53279,53280,53281,53282,53283,53284,53285,53286,53287,53288,53289,53290,53291,53292,45149,45180,45181,45184,45188,45196,45197,45199,45201,45208,45209,45210,45212,45215,45216,45217,45218,45224,45225,45227,45228,45229,45230,45231,45233,45235,45236,45237,45240,45244,45252,45253,45255,45256,45257,45264,45265,45268,45272,45280,45285,45320,45321,45323,45324,45328,45330,45331,45336,45337,45339,45340,45341,45347,45348,45349,45352,45356,45364,45365,45367,45368,45369,45376,45377,45380,45384,45392,45393,45396,45397,45400,45404,45408,45432,45433,45436,45440,45442,45448,45449,45451,45453,45458,45459,45460,45464,45468,45480,45516,45520,45524,45532,45533,53294,53295,53296,53297,53298,53299,53302,53303,53305,53306,53307,53309,53310,53311,53312,53313,53314,53315,53318,53320,53322,53323,53324,53325,53326,53327,null,null,null,null,null,null,53329,53330,53331,53333,53334,53335,53337,53338,53339,53340,53341,53342,53343,53345,53346,53347,53348,53349,53350,53351,53352,53353,53354,53355,53358,53359,null,null,null,null,null,null,53361,53362,53363,53365,53366,53367,53368,53369,53370,53371,53374,53375,53376,53378,53379,53380,53381,53382,53383,53384,53385,53386,53387,53388,53389,53390,53391,53392,53393,53394,53395,53396,45535,45544,45545,45548,45552,45561,45563,45565,45572,45573,45576,45579,45580,45588,45589,45591,45593,45600,45620,45628,45656,45660,45664,45672,45673,45684,45685,45692,45700,45701,45705,45712,45713,45716,45720,45721,45722,45728,45729,45731,45733,45734,45738,45740,45744,45748,45768,45769,45772,45776,45778,45784,45785,45787,45789,45794,45796,45797,45798,45800,45803,45804,45805,45806,45807,45811,45812,45813,45815,45816,45817,45818,45819,45823,45824,45825,45828,45832,45840,45841,45843,45844,45845,45852,45908,45909,45910,45912,45915,45916,45918,45919,45924,45925,53397,53398,53399,53400,53401,53402,53403,53404,53405,53406,53407,53408,53409,53410,53411,53414,53415,53417,53418,53419,53421,53422,53423,53424,53425,53426,null,null,null,null,null,null,53427,53430,53432,53434,53435,53436,53437,53438,53439,53442,53443,53445,53446,53447,53450,53451,53452,53453,53454,53455,53458,53462,53463,53464,53465,53466,null,null,null,null,null,null,53467,53470,53471,53473,53474,53475,53477,53478,53479,53480,53481,53482,53483,53486,53490,53491,53492,53493,53494,53495,53497,53498,53499,53500,53501,53502,53503,53504,53505,53506,53507,53508,45927,45929,45931,45934,45936,45937,45940,45944,45952,45953,45955,45956,45957,45964,45968,45972,45984,45985,45992,45996,46020,46021,46024,46027,46028,46030,46032,46036,46037,46039,46041,46043,46045,46048,46052,46056,46076,46096,46104,46108,46112,46120,46121,46123,46132,46160,46161,46164,46168,46176,46177,46179,46181,46188,46208,46216,46237,46244,46248,46252,46261,46263,46265,46272,46276,46280,46288,46293,46300,46301,46304,46307,46308,46310,46316,46317,46319,46321,46328,46356,46357,46360,46363,46364,46372,46373,46375,46376,46377,46378,46384,46385,46388,46392,53509,53510,53511,53512,53513,53514,53515,53516,53518,53519,53520,53521,53522,53523,53524,53525,53526,53527,53528,53529,53530,53531,53532,53533,53534,53535,null,null,null,null,null,null,53536,53537,53538,53539,53540,53541,53542,53543,53544,53545,53546,53547,53548,53549,53550,53551,53554,53555,53557,53558,53559,53561,53563,53564,53565,53566,null,null,null,null,null,null,53567,53570,53574,53575,53576,53577,53578,53579,53582,53583,53585,53586,53587,53589,53590,53591,53592,53593,53594,53595,53598,53600,53602,53603,53604,53605,53606,53607,53609,53610,53611,53613,46400,46401,46403,46404,46405,46411,46412,46413,46416,46420,46428,46429,46431,46432,46433,46496,46497,46500,46504,46506,46507,46512,46513,46515,46516,46517,46523,46524,46525,46528,46532,46540,46541,46543,46544,46545,46552,46572,46608,46609,46612,46616,46629,46636,46644,46664,46692,46696,46748,46749,46752,46756,46763,46764,46769,46804,46832,46836,46840,46848,46849,46853,46888,46889,46892,46895,46896,46904,46905,46907,46916,46920,46924,46932,46933,46944,46948,46952,46960,46961,46963,46965,46972,46973,46976,46980,46988,46989,46991,46992,46993,46994,46998,46999,53614,53615,53616,53617,53618,53619,53620,53621,53622,53623,53624,53625,53626,53627,53629,53630,53631,53632,53633,53634,53635,53637,53638,53639,53641,53642,null,null,null,null,null,null,53643,53644,53645,53646,53647,53648,53649,53650,53651,53652,53653,53654,53655,53656,53657,53658,53659,53660,53661,53662,53663,53666,53667,53669,53670,53671,null,null,null,null,null,null,53673,53674,53675,53676,53677,53678,53679,53682,53684,53686,53687,53688,53689,53691,53693,53694,53695,53697,53698,53699,53700,53701,53702,53703,53704,53705,53706,53707,53708,53709,53710,53711,47e3,47001,47004,47008,47016,47017,47019,47020,47021,47028,47029,47032,47047,47049,47084,47085,47088,47092,47100,47101,47103,47104,47105,47111,47112,47113,47116,47120,47128,47129,47131,47133,47140,47141,47144,47148,47156,47157,47159,47160,47161,47168,47172,47185,47187,47196,47197,47200,47204,47212,47213,47215,47217,47224,47228,47245,47272,47280,47284,47288,47296,47297,47299,47301,47308,47312,47316,47325,47327,47329,47336,47337,47340,47344,47352,47353,47355,47357,47364,47384,47392,47420,47421,47424,47428,47436,47439,47441,47448,47449,47452,47456,47464,47465,53712,53713,53714,53715,53716,53717,53718,53719,53721,53722,53723,53724,53725,53726,53727,53728,53729,53730,53731,53732,53733,53734,53735,53736,53737,53738,null,null,null,null,null,null,53739,53740,53741,53742,53743,53744,53745,53746,53747,53749,53750,53751,53753,53754,53755,53756,53757,53758,53759,53760,53761,53762,53763,53764,53765,53766,null,null,null,null,null,null,53768,53770,53771,53772,53773,53774,53775,53777,53778,53779,53780,53781,53782,53783,53784,53785,53786,53787,53788,53789,53790,53791,53792,53793,53794,53795,53796,53797,53798,53799,53800,53801,47467,47469,47476,47477,47480,47484,47492,47493,47495,47497,47498,47501,47502,47532,47533,47536,47540,47548,47549,47551,47553,47560,47561,47564,47566,47567,47568,47569,47570,47576,47577,47579,47581,47582,47585,47587,47588,47589,47592,47596,47604,47605,47607,47608,47609,47610,47616,47617,47624,47637,47672,47673,47676,47680,47682,47688,47689,47691,47693,47694,47699,47700,47701,47704,47708,47716,47717,47719,47720,47721,47728,47729,47732,47736,47747,47748,47749,47751,47756,47784,47785,47787,47788,47792,47794,47800,47801,47803,47805,47812,47816,47832,47833,47868,53802,53803,53806,53807,53809,53810,53811,53813,53814,53815,53816,53817,53818,53819,53822,53824,53826,53827,53828,53829,53830,53831,53833,53834,53835,53836,null,null,null,null,null,null,53837,53838,53839,53840,53841,53842,53843,53844,53845,53846,53847,53848,53849,53850,53851,53853,53854,53855,53856,53857,53858,53859,53861,53862,53863,53864,null,null,null,null,null,null,53865,53866,53867,53868,53869,53870,53871,53872,53873,53874,53875,53876,53877,53878,53879,53880,53881,53882,53883,53884,53885,53886,53887,53890,53891,53893,53894,53895,53897,53898,53899,53900,47872,47876,47885,47887,47889,47896,47900,47904,47913,47915,47924,47925,47926,47928,47931,47932,47933,47934,47940,47941,47943,47945,47949,47951,47952,47956,47960,47969,47971,47980,48008,48012,48016,48036,48040,48044,48052,48055,48064,48068,48072,48080,48083,48120,48121,48124,48127,48128,48130,48136,48137,48139,48140,48141,48143,48145,48148,48149,48150,48151,48152,48155,48156,48157,48158,48159,48164,48165,48167,48169,48173,48176,48177,48180,48184,48192,48193,48195,48196,48197,48201,48204,48205,48208,48221,48260,48261,48264,48267,48268,48270,48276,48277,48279,53901,53902,53903,53906,53907,53908,53910,53911,53912,53913,53914,53915,53917,53918,53919,53921,53922,53923,53925,53926,53927,53928,53929,53930,53931,53933,null,null,null,null,null,null,53934,53935,53936,53938,53939,53940,53941,53942,53943,53946,53947,53949,53950,53953,53955,53956,53957,53958,53959,53962,53964,53965,53966,53967,53968,53969,null,null,null,null,null,null,53970,53971,53973,53974,53975,53977,53978,53979,53981,53982,53983,53984,53985,53986,53987,53990,53991,53992,53993,53994,53995,53996,53997,53998,53999,54002,54003,54005,54006,54007,54009,54010,48281,48282,48288,48289,48292,48295,48296,48304,48305,48307,48308,48309,48316,48317,48320,48324,48333,48335,48336,48337,48341,48344,48348,48372,48373,48374,48376,48380,48388,48389,48391,48393,48400,48404,48420,48428,48448,48456,48457,48460,48464,48472,48473,48484,48488,48512,48513,48516,48519,48520,48521,48522,48528,48529,48531,48533,48537,48538,48540,48548,48560,48568,48596,48597,48600,48604,48617,48624,48628,48632,48640,48643,48645,48652,48653,48656,48660,48668,48669,48671,48708,48709,48712,48716,48718,48724,48725,48727,48729,48730,48731,48736,48737,48740,54011,54012,54013,54014,54015,54018,54020,54022,54023,54024,54025,54026,54027,54031,54033,54034,54035,54037,54039,54040,54041,54042,54043,54046,54050,54051,null,null,null,null,null,null,54052,54054,54055,54058,54059,54061,54062,54063,54065,54066,54067,54068,54069,54070,54071,54074,54078,54079,54080,54081,54082,54083,54086,54087,54088,54089,null,null,null,null,null,null,54090,54091,54092,54093,54094,54095,54096,54097,54098,54099,54100,54101,54102,54103,54104,54105,54106,54107,54108,54109,54110,54111,54112,54113,54114,54115,54116,54117,54118,54119,54120,54121,48744,48746,48752,48753,48755,48756,48757,48763,48764,48765,48768,48772,48780,48781,48783,48784,48785,48792,48793,48808,48848,48849,48852,48855,48856,48864,48867,48868,48869,48876,48897,48904,48905,48920,48921,48923,48924,48925,48960,48961,48964,48968,48976,48977,48981,49044,49072,49093,49100,49101,49104,49108,49116,49119,49121,49212,49233,49240,49244,49248,49256,49257,49296,49297,49300,49304,49312,49313,49315,49317,49324,49325,49327,49328,49331,49332,49333,49334,49340,49341,49343,49344,49345,49349,49352,49353,49356,49360,49368,49369,49371,49372,49373,49380,54122,54123,54124,54125,54126,54127,54128,54129,54130,54131,54132,54133,54134,54135,54136,54137,54138,54139,54142,54143,54145,54146,54147,54149,54150,54151,null,null,null,null,null,null,54152,54153,54154,54155,54158,54162,54163,54164,54165,54166,54167,54170,54171,54173,54174,54175,54177,54178,54179,54180,54181,54182,54183,54186,54188,54190,null,null,null,null,null,null,54191,54192,54193,54194,54195,54197,54198,54199,54201,54202,54203,54205,54206,54207,54208,54209,54210,54211,54214,54215,54218,54219,54220,54221,54222,54223,54225,54226,54227,54228,54229,54230,49381,49384,49388,49396,49397,49399,49401,49408,49412,49416,49424,49429,49436,49437,49438,49439,49440,49443,49444,49446,49447,49452,49453,49455,49456,49457,49462,49464,49465,49468,49472,49480,49481,49483,49484,49485,49492,49493,49496,49500,49508,49509,49511,49512,49513,49520,49524,49528,49541,49548,49549,49550,49552,49556,49558,49564,49565,49567,49569,49573,49576,49577,49580,49584,49597,49604,49608,49612,49620,49623,49624,49632,49636,49640,49648,49649,49651,49660,49661,49664,49668,49676,49677,49679,49681,49688,49689,49692,49695,49696,49704,49705,49707,49709,54231,54233,54234,54235,54236,54237,54238,54239,54240,54242,54244,54245,54246,54247,54248,54249,54250,54251,54254,54255,54257,54258,54259,54261,54262,54263,null,null,null,null,null,null,54264,54265,54266,54267,54270,54272,54274,54275,54276,54277,54278,54279,54281,54282,54283,54284,54285,54286,54287,54288,54289,54290,54291,54292,54293,54294,null,null,null,null,null,null,54295,54296,54297,54298,54299,54300,54302,54303,54304,54305,54306,54307,54308,54309,54310,54311,54312,54313,54314,54315,54316,54317,54318,54319,54320,54321,54322,54323,54324,54325,54326,54327,49711,49713,49714,49716,49736,49744,49745,49748,49752,49760,49765,49772,49773,49776,49780,49788,49789,49791,49793,49800,49801,49808,49816,49819,49821,49828,49829,49832,49836,49837,49844,49845,49847,49849,49884,49885,49888,49891,49892,49899,49900,49901,49903,49905,49910,49912,49913,49915,49916,49920,49928,49929,49932,49933,49939,49940,49941,49944,49948,49956,49957,49960,49961,49989,50024,50025,50028,50032,50034,50040,50041,50044,50045,50052,50056,50060,50112,50136,50137,50140,50143,50144,50146,50152,50153,50157,50164,50165,50168,50184,50192,50212,50220,50224,54328,54329,54330,54331,54332,54333,54334,54335,54337,54338,54339,54341,54342,54343,54344,54345,54346,54347,54348,54349,54350,54351,54352,54353,54354,54355,null,null,null,null,null,null,54356,54357,54358,54359,54360,54361,54362,54363,54365,54366,54367,54369,54370,54371,54373,54374,54375,54376,54377,54378,54379,54380,54382,54384,54385,54386,null,null,null,null,null,null,54387,54388,54389,54390,54391,54394,54395,54397,54398,54401,54403,54404,54405,54406,54407,54410,54412,54414,54415,54416,54417,54418,54419,54421,54422,54423,54424,54425,54426,54427,54428,54429,50228,50236,50237,50248,50276,50277,50280,50284,50292,50293,50297,50304,50324,50332,50360,50364,50409,50416,50417,50420,50424,50426,50431,50432,50433,50444,50448,50452,50460,50472,50473,50476,50480,50488,50489,50491,50493,50500,50501,50504,50505,50506,50508,50509,50510,50515,50516,50517,50519,50520,50521,50525,50526,50528,50529,50532,50536,50544,50545,50547,50548,50549,50556,50557,50560,50564,50567,50572,50573,50575,50577,50581,50583,50584,50588,50592,50601,50612,50613,50616,50617,50619,50620,50621,50622,50628,50629,50630,50631,50632,50633,50634,50636,50638,54430,54431,54432,54433,54434,54435,54436,54437,54438,54439,54440,54442,54443,54444,54445,54446,54447,54448,54449,54450,54451,54452,54453,54454,54455,54456,null,null,null,null,null,null,54457,54458,54459,54460,54461,54462,54463,54464,54465,54466,54467,54468,54469,54470,54471,54472,54473,54474,54475,54477,54478,54479,54481,54482,54483,54485,null,null,null,null,null,null,54486,54487,54488,54489,54490,54491,54493,54494,54496,54497,54498,54499,54500,54501,54502,54503,54505,54506,54507,54509,54510,54511,54513,54514,54515,54516,54517,54518,54519,54521,54522,54524,50640,50641,50644,50648,50656,50657,50659,50661,50668,50669,50670,50672,50676,50678,50679,50684,50685,50686,50687,50688,50689,50693,50694,50695,50696,50700,50704,50712,50713,50715,50716,50724,50725,50728,50732,50733,50734,50736,50739,50740,50741,50743,50745,50747,50752,50753,50756,50760,50768,50769,50771,50772,50773,50780,50781,50784,50796,50799,50801,50808,50809,50812,50816,50824,50825,50827,50829,50836,50837,50840,50844,50852,50853,50855,50857,50864,50865,50868,50872,50873,50874,50880,50881,50883,50885,50892,50893,50896,50900,50908,50909,50912,50913,50920,54526,54527,54528,54529,54530,54531,54533,54534,54535,54537,54538,54539,54541,54542,54543,54544,54545,54546,54547,54550,54552,54553,54554,54555,54556,54557,null,null,null,null,null,null,54558,54559,54560,54561,54562,54563,54564,54565,54566,54567,54568,54569,54570,54571,54572,54573,54574,54575,54576,54577,54578,54579,54580,54581,54582,54583,null,null,null,null,null,null,54584,54585,54586,54587,54590,54591,54593,54594,54595,54597,54598,54599,54600,54601,54602,54603,54606,54608,54610,54611,54612,54613,54614,54615,54618,54619,54621,54622,54623,54625,54626,54627,50921,50924,50928,50936,50937,50941,50948,50949,50952,50956,50964,50965,50967,50969,50976,50977,50980,50984,50992,50993,50995,50997,50999,51004,51005,51008,51012,51018,51020,51021,51023,51025,51026,51027,51028,51029,51030,51031,51032,51036,51040,51048,51051,51060,51061,51064,51068,51069,51070,51075,51076,51077,51079,51080,51081,51082,51086,51088,51089,51092,51094,51095,51096,51098,51104,51105,51107,51108,51109,51110,51116,51117,51120,51124,51132,51133,51135,51136,51137,51144,51145,51148,51150,51152,51160,51165,51172,51176,51180,51200,51201,51204,51208,51210,54628,54630,54631,54634,54636,54638,54639,54640,54641,54642,54643,54646,54647,54649,54650,54651,54653,54654,54655,54656,54657,54658,54659,54662,54666,54667,null,null,null,null,null,null,54668,54669,54670,54671,54673,54674,54675,54676,54677,54678,54679,54680,54681,54682,54683,54684,54685,54686,54687,54688,54689,54690,54691,54692,54694,54695,null,null,null,null,null,null,54696,54697,54698,54699,54700,54701,54702,54703,54704,54705,54706,54707,54708,54709,54710,54711,54712,54713,54714,54715,54716,54717,54718,54719,54720,54721,54722,54723,54724,54725,54726,54727,51216,51217,51219,51221,51222,51228,51229,51232,51236,51244,51245,51247,51249,51256,51260,51264,51272,51273,51276,51277,51284,51312,51313,51316,51320,51322,51328,51329,51331,51333,51334,51335,51339,51340,51341,51348,51357,51359,51361,51368,51388,51389,51396,51400,51404,51412,51413,51415,51417,51424,51425,51428,51445,51452,51453,51456,51460,51461,51462,51468,51469,51471,51473,51480,51500,51508,51536,51537,51540,51544,51552,51553,51555,51564,51568,51572,51580,51592,51593,51596,51600,51608,51609,51611,51613,51648,51649,51652,51655,51656,51658,51664,51665,51667,54730,54731,54733,54734,54735,54737,54739,54740,54741,54742,54743,54746,54748,54750,54751,54752,54753,54754,54755,54758,54759,54761,54762,54763,54765,54766,null,null,null,null,null,null,54767,54768,54769,54770,54771,54774,54776,54778,54779,54780,54781,54782,54783,54786,54787,54789,54790,54791,54793,54794,54795,54796,54797,54798,54799,54802,null,null,null,null,null,null,54806,54807,54808,54809,54810,54811,54813,54814,54815,54817,54818,54819,54821,54822,54823,54824,54825,54826,54827,54828,54830,54831,54832,54833,54834,54835,54836,54837,54838,54839,54842,54843,51669,51670,51673,51674,51676,51677,51680,51682,51684,51687,51692,51693,51695,51696,51697,51704,51705,51708,51712,51720,51721,51723,51724,51725,51732,51736,51753,51788,51789,51792,51796,51804,51805,51807,51808,51809,51816,51837,51844,51864,51900,51901,51904,51908,51916,51917,51919,51921,51923,51928,51929,51936,51948,51956,51976,51984,51988,51992,52e3,52001,52033,52040,52041,52044,52048,52056,52057,52061,52068,52088,52089,52124,52152,52180,52196,52199,52201,52236,52237,52240,52244,52252,52253,52257,52258,52263,52264,52265,52268,52270,52272,52280,52281,52283,54845,54846,54847,54849,54850,54851,54852,54854,54855,54858,54860,54862,54863,54864,54866,54867,54870,54871,54873,54874,54875,54877,54878,54879,54880,54881,null,null,null,null,null,null,54882,54883,54884,54885,54886,54888,54890,54891,54892,54893,54894,54895,54898,54899,54901,54902,54903,54904,54905,54906,54907,54908,54909,54910,54911,54912,null,null,null,null,null,null,54913,54914,54916,54918,54919,54920,54921,54922,54923,54926,54927,54929,54930,54931,54933,54934,54935,54936,54937,54938,54939,54940,54942,54944,54946,54947,54948,54949,54950,54951,54953,54954,52284,52285,52286,52292,52293,52296,52300,52308,52309,52311,52312,52313,52320,52324,52326,52328,52336,52341,52376,52377,52380,52384,52392,52393,52395,52396,52397,52404,52405,52408,52412,52420,52421,52423,52425,52432,52436,52452,52460,52464,52481,52488,52489,52492,52496,52504,52505,52507,52509,52516,52520,52524,52537,52572,52576,52580,52588,52589,52591,52593,52600,52616,52628,52629,52632,52636,52644,52645,52647,52649,52656,52676,52684,52688,52712,52716,52720,52728,52729,52731,52733,52740,52744,52748,52756,52761,52768,52769,52772,52776,52784,52785,52787,52789,54955,54957,54958,54959,54961,54962,54963,54964,54965,54966,54967,54968,54970,54972,54973,54974,54975,54976,54977,54978,54979,54982,54983,54985,54986,54987,null,null,null,null,null,null,54989,54990,54991,54992,54994,54995,54997,54998,55e3,55002,55003,55004,55005,55006,55007,55009,55010,55011,55013,55014,55015,55017,55018,55019,55020,55021,null,null,null,null,null,null,55022,55023,55025,55026,55027,55028,55030,55031,55032,55033,55034,55035,55038,55039,55041,55042,55043,55045,55046,55047,55048,55049,55050,55051,55052,55053,55054,55055,55056,55058,55059,55060,52824,52825,52828,52831,52832,52833,52840,52841,52843,52845,52852,52853,52856,52860,52868,52869,52871,52873,52880,52881,52884,52888,52896,52897,52899,52900,52901,52908,52909,52929,52964,52965,52968,52971,52972,52980,52981,52983,52984,52985,52992,52993,52996,53e3,53008,53009,53011,53013,53020,53024,53028,53036,53037,53039,53040,53041,53048,53076,53077,53080,53084,53092,53093,53095,53097,53104,53105,53108,53112,53120,53125,53132,53153,53160,53168,53188,53216,53217,53220,53224,53232,53233,53235,53237,53244,53248,53252,53265,53272,53293,53300,53301,53304,53308,55061,55062,55063,55066,55067,55069,55070,55071,55073,55074,55075,55076,55077,55078,55079,55082,55084,55086,55087,55088,55089,55090,55091,55094,55095,55097,null,null,null,null,null,null,55098,55099,55101,55102,55103,55104,55105,55106,55107,55109,55110,55112,55114,55115,55116,55117,55118,55119,55122,55123,55125,55130,55131,55132,55133,55134,null,null,null,null,null,null,55135,55138,55140,55142,55143,55144,55146,55147,55149,55150,55151,55153,55154,55155,55157,55158,55159,55160,55161,55162,55163,55166,55167,55168,55170,55171,55172,55173,55174,55175,55178,55179,53316,53317,53319,53321,53328,53332,53336,53344,53356,53357,53360,53364,53372,53373,53377,53412,53413,53416,53420,53428,53429,53431,53433,53440,53441,53444,53448,53449,53456,53457,53459,53460,53461,53468,53469,53472,53476,53484,53485,53487,53488,53489,53496,53517,53552,53553,53556,53560,53562,53568,53569,53571,53572,53573,53580,53581,53584,53588,53596,53597,53599,53601,53608,53612,53628,53636,53640,53664,53665,53668,53672,53680,53681,53683,53685,53690,53692,53696,53720,53748,53752,53767,53769,53776,53804,53805,53808,53812,53820,53821,53823,53825,53832,53852,55181,55182,55183,55185,55186,55187,55188,55189,55190,55191,55194,55196,55198,55199,55200,55201,55202,55203,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,53860,53888,53889,53892,53896,53904,53905,53909,53916,53920,53924,53932,53937,53944,53945,53948,53951,53952,53954,53960,53961,53963,53972,53976,53980,53988,53989,54e3,54001,54004,54008,54016,54017,54019,54021,54028,54029,54030,54032,54036,54038,54044,54045,54047,54048,54049,54053,54056,54057,54060,54064,54072,54073,54075,54076,54077,54084,54085,54140,54141,54144,54148,54156,54157,54159,54160,54161,54168,54169,54172,54176,54184,54185,54187,54189,54196,54200,54204,54212,54213,54216,54217,54224,54232,54241,54243,54252,54253,54256,54260,54268,54269,54271,54273,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54280,54301,54336,54340,54364,54368,54372,54381,54383,54392,54393,54396,54399,54400,54402,54408,54409,54411,54413,54420,54441,54476,54480,54484,54492,54495,54504,54508,54512,54520,54523,54525,54532,54536,54540,54548,54549,54551,54588,54589,54592,54596,54604,54605,54607,54609,54616,54617,54620,54624,54629,54632,54633,54635,54637,54644,54645,54648,54652,54660,54661,54663,54664,54665,54672,54693,54728,54729,54732,54736,54738,54744,54745,54747,54749,54756,54757,54760,54764,54772,54773,54775,54777,54784,54785,54788,54792,54800,54801,54803,54804,54805,54812,54816,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54820,54829,54840,54841,54844,54848,54853,54856,54857,54859,54861,54865,54868,54869,54872,54876,54887,54889,54896,54897,54900,54915,54917,54924,54925,54928,54932,54941,54943,54945,54952,54956,54960,54969,54971,54980,54981,54984,54988,54993,54996,54999,55001,55008,55012,55016,55024,55029,55036,55037,55040,55044,55057,55064,55065,55068,55072,55080,55081,55083,55085,55092,55093,55096,55100,55108,55111,55113,55120,55121,55124,55126,55127,55128,55129,55136,55137,55139,55141,55145,55148,55152,55156,55164,55165,55169,55176,55177,55180,55184,55192,55193,55195,55197,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20285,20339,20551,20729,21152,21487,21621,21733,22025,23233,23478,26247,26550,26551,26607,27468,29634,30146,31292,33499,33540,34903,34952,35382,36040,36303,36603,36838,39381,21051,21364,21508,24682,24932,27580,29647,33050,35258,35282,38307,20355,21002,22718,22904,23014,24178,24185,25031,25536,26438,26604,26751,28567,30286,30475,30965,31240,31487,31777,32925,33390,33393,35563,38291,20075,21917,26359,28212,30883,31469,33883,35088,34638,38824,21208,22350,22570,23884,24863,25022,25121,25954,26577,27204,28187,29976,30131,30435,30640,32058,37039,37969,37970,40853,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21283,23724,30002,32987,37440,38296,21083,22536,23004,23713,23831,24247,24378,24394,24951,27743,30074,30086,31968,32115,32177,32652,33108,33313,34193,35137,35611,37628,38477,40007,20171,20215,20491,20977,22607,24887,24894,24936,25913,27114,28433,30117,30342,30422,31623,33445,33995,63744,37799,38283,21888,23458,22353,63745,31923,32697,37301,20520,21435,23621,24040,25298,25454,25818,25831,28192,28844,31067,36317,36382,63746,36989,37445,37624,20094,20214,20581,24062,24314,24838,26967,33137,34388,36423,37749,39467,20062,20625,26480,26688,20745,21133,21138,27298,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30652,37392,40660,21163,24623,36850,20552,25001,25581,25802,26684,27268,28608,33160,35233,38548,22533,29309,29356,29956,32121,32365,32937,35211,35700,36963,40273,25225,27770,28500,32080,32570,35363,20860,24906,31645,35609,37463,37772,20140,20435,20510,20670,20742,21185,21197,21375,22384,22659,24218,24465,24950,25004,25806,25964,26223,26299,26356,26775,28039,28805,28913,29855,29861,29898,30169,30828,30956,31455,31478,32069,32147,32789,32831,33051,33686,35686,36629,36885,37857,38915,38968,39514,39912,20418,21843,22586,22865,23395,23622,24760,25106,26690,26800,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26856,28330,30028,30328,30926,31293,31995,32363,32380,35336,35489,35903,38542,40388,21476,21481,21578,21617,22266,22993,23396,23611,24235,25335,25911,25925,25970,26272,26543,27073,27837,30204,30352,30590,31295,32660,32771,32929,33167,33510,33533,33776,34241,34865,34996,35493,63747,36764,37678,38599,39015,39640,40723,21741,26011,26354,26767,31296,35895,40288,22256,22372,23825,26118,26801,26829,28414,29736,34974,39908,27752,63748,39592,20379,20844,20849,21151,23380,24037,24656,24685,25329,25511,25915,29657,31354,34467,36002,38799,20018,23521,25096,26524,29916,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31185,33747,35463,35506,36328,36942,37707,38982,24275,27112,34303,37101,63749,20896,23448,23532,24931,26874,27454,28748,29743,29912,31649,32592,33733,35264,36011,38364,39208,21038,24669,25324,36866,20362,20809,21281,22745,24291,26336,27960,28826,29378,29654,31568,33009,37979,21350,25499,32619,20054,20608,22602,22750,24618,24871,25296,27088,39745,23439,32024,32945,36703,20132,20689,21676,21932,23308,23968,24039,25898,25934,26657,27211,29409,30350,30703,32094,32761,33184,34126,34527,36611,36686,37066,39171,39509,39851,19992,20037,20061,20167,20465,20855,21246,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21312,21475,21477,21646,22036,22389,22434,23495,23943,24272,25084,25304,25937,26552,26601,27083,27472,27590,27628,27714,28317,28792,29399,29590,29699,30655,30697,31350,32127,32777,33276,33285,33290,33503,34914,35635,36092,36544,36881,37041,37476,37558,39378,39493,40169,40407,40860,22283,23616,33738,38816,38827,40628,21531,31384,32676,35033,36557,37089,22528,23624,25496,31391,23470,24339,31353,31406,33422,36524,20518,21048,21240,21367,22280,25331,25458,27402,28099,30519,21413,29527,34152,36470,38357,26426,27331,28528,35437,36556,39243,63750,26231,27512,36020,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,39740,63751,21483,22317,22862,25542,27131,29674,30789,31418,31429,31998,33909,35215,36211,36917,38312,21243,22343,30023,31584,33740,37406,63752,27224,20811,21067,21127,25119,26840,26997,38553,20677,21156,21220,25027,26020,26681,27135,29822,31563,33465,33771,35250,35641,36817,39241,63753,20170,22935,25810,26129,27278,29748,31105,31165,33449,34942,34943,35167,63754,37670,20235,21450,24613,25201,27762,32026,32102,20120,20834,30684,32943,20225,20238,20854,20864,21980,22120,22331,22522,22524,22804,22855,22931,23492,23696,23822,24049,24190,24524,25216,26071,26083,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26398,26399,26462,26827,26820,27231,27450,27683,27773,27778,28103,29592,29734,29738,29826,29859,30072,30079,30849,30959,31041,31047,31048,31098,31637,32e3,32186,32648,32774,32813,32908,35352,35663,35912,36215,37665,37668,39138,39249,39438,39439,39525,40594,32202,20342,21513,25326,26708,37329,21931,20794,63755,63756,23068,25062,63757,25295,25343,63758,63759,63760,63761,63762,63763,37027,63764,63765,63766,63767,63768,35582,63769,63770,63771,63772,26262,63773,29014,63774,63775,38627,63776,25423,25466,21335,63777,26511,26976,28275,63778,30007,63779,63780,63781,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32013,63782,63783,34930,22218,23064,63784,63785,63786,63787,63788,20035,63789,20839,22856,26608,32784,63790,22899,24180,25754,31178,24565,24684,25288,25467,23527,23511,21162,63791,22900,24361,24594,63792,63793,63794,29785,63795,63796,63797,63798,63799,63800,39377,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,28611,63812,63813,33215,36786,24817,63814,63815,33126,63816,63817,23615,63818,63819,63820,63821,63822,63823,63824,63825,23273,35365,26491,32016,63826,63827,63828,63829,63830,63831,33021,63832,63833,23612,27877,21311,28346,22810,33590,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20025,20150,20294,21934,22296,22727,24406,26039,26086,27264,27573,28237,30701,31471,31774,32222,34507,34962,37170,37723,25787,28606,29562,30136,36948,21846,22349,25018,25812,26311,28129,28251,28525,28601,30192,32835,33213,34113,35203,35527,35674,37663,27795,30035,31572,36367,36957,21776,22530,22616,24162,25095,25758,26848,30070,31958,34739,40680,20195,22408,22382,22823,23565,23729,24118,24453,25140,25825,29619,33274,34955,36024,38538,40667,23429,24503,24755,20498,20992,21040,22294,22581,22615,23566,23648,23798,23947,24230,24466,24764,25361,25481,25623,26691,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26873,27330,28120,28193,28372,28644,29182,30428,30585,31153,31291,33796,35241,36077,36339,36424,36867,36884,36947,37117,37709,38518,38876,27602,28678,29272,29346,29544,30563,31167,31716,32411,35712,22697,24775,25958,26109,26302,27788,28958,29129,35930,38931,20077,31361,20189,20908,20941,21205,21516,24999,26481,26704,26847,27934,28540,30140,30643,31461,33012,33891,37509,20828,26007,26460,26515,30168,31431,33651,63834,35910,36887,38957,23663,33216,33434,36929,36975,37389,24471,23965,27225,29128,30331,31561,34276,35588,37159,39472,21895,25078,63835,30313,32645,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34367,34746,35064,37007,63836,27931,28889,29662,32097,33853,63837,37226,39409,63838,20098,21365,27396,27410,28734,29211,34349,40478,21068,36771,23888,25829,25900,27414,28651,31811,32412,34253,35172,35261,25289,33240,34847,24266,26391,28010,29436,29701,29807,34690,37086,20358,23821,24480,33802,20919,25504,30053,20142,20486,20841,20937,26753,27153,31918,31921,31975,33391,35538,36635,37327,20406,20791,21237,21570,24300,24942,25150,26053,27354,28670,31018,34268,34851,38317,39522,39530,40599,40654,21147,26310,27511,28701,31019,36706,38722,24976,25088,25891,28451,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29001,29833,32244,32879,34030,36646,36899,37706,20925,21015,21155,27916,28872,35010,24265,25986,27566,28610,31806,29557,20196,20278,22265,63839,23738,23994,24604,29618,31533,32666,32718,32838,36894,37428,38646,38728,38936,40801,20363,28583,31150,37300,38583,21214,63840,25736,25796,27347,28510,28696,29200,30439,32769,34310,34396,36335,36613,38706,39791,40442,40565,30860,31103,32160,33737,37636,40575,40595,35542,22751,24324,26407,28711,29903,31840,32894,20769,28712,29282,30922,36034,36058,36084,38647,20102,20698,23534,24278,26009,29134,30274,30637,32842,34044,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36988,39719,40845,22744,23105,23650,27155,28122,28431,30267,32047,32311,34078,35128,37860,38475,21129,26066,26611,27060,27969,28316,28687,29705,29792,30041,30244,30827,35628,39006,20845,25134,38520,20374,20523,23833,28138,32184,36650,24459,24900,26647,63841,38534,21202,32907,20956,20940,26974,31260,32190,33777,38517,20442,21033,21400,21519,21774,23653,24743,26446,26792,28012,29313,29432,29702,29827,63842,30178,31852,32633,32696,33673,35023,35041,37324,37328,38626,39881,21533,28542,29136,29848,34298,36522,38563,40023,40607,26519,28107,29747,33256,38678,30764,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31435,31520,31890,25705,29802,30194,30908,30952,39340,39764,40635,23518,24149,28448,33180,33707,37e3,19975,21325,23081,24018,24398,24930,25405,26217,26364,28415,28459,28771,30622,33836,34067,34875,36627,39237,39995,21788,25273,26411,27819,33545,35178,38778,20129,22916,24536,24537,26395,32178,32596,33426,33579,33725,36638,37017,22475,22969,23186,23504,26151,26522,26757,27599,29028,32629,36023,36067,36993,39749,33032,35978,38476,39488,40613,23391,27667,29467,30450,30431,33804,20906,35219,20813,20885,21193,26825,27796,30468,30496,32191,32236,38754,40629,28357,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34065,20901,21517,21629,26126,26269,26919,28319,30399,30609,33559,33986,34719,37225,37528,40180,34946,20398,20882,21215,22982,24125,24917,25720,25721,26286,26576,27169,27597,27611,29279,29281,29761,30520,30683,32791,33468,33541,35584,35624,35980,26408,27792,29287,30446,30566,31302,40361,27519,27794,22818,26406,33945,21359,22675,22937,24287,25551,26164,26483,28218,29483,31447,33495,37672,21209,24043,25006,25035,25098,25287,25771,26080,26969,27494,27595,28961,29687,30045,32326,33310,33538,34154,35491,36031,38695,40289,22696,40664,20497,21006,21563,21839,25991,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27766,32010,32011,32862,34442,38272,38639,21247,27797,29289,21619,23194,23614,23883,24396,24494,26410,26806,26979,28220,28228,30473,31859,32654,34183,35598,36855,38753,40692,23735,24758,24845,25003,25935,26107,26108,27665,27887,29599,29641,32225,38292,23494,34588,35600,21085,21338,25293,25615,25778,26420,27192,27850,29632,29854,31636,31893,32283,33162,33334,34180,36843,38649,39361,20276,21322,21453,21467,25292,25644,25856,26001,27075,27886,28504,29677,30036,30242,30436,30460,30928,30971,31020,32070,33324,34784,36820,38930,39151,21187,25300,25765,28196,28497,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30332,36299,37297,37474,39662,39747,20515,20621,22346,22952,23592,24135,24439,25151,25918,26041,26049,26121,26507,27036,28354,30917,32033,32938,33152,33323,33459,33953,34444,35370,35607,37030,38450,40848,20493,20467,63843,22521,24472,25308,25490,26479,28227,28953,30403,32972,32986,35060,35061,35097,36064,36649,37197,38506,20271,20336,24091,26575,26658,30333,30334,39748,24161,27146,29033,29140,30058,63844,32321,34115,34281,39132,20240,31567,32624,38309,20961,24070,26805,27710,27726,27867,29359,31684,33539,27861,29754,20731,21128,22721,25816,27287,29863,30294,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30887,34327,38370,38713,63845,21342,24321,35722,36776,36783,37002,21029,30629,40009,40712,19993,20482,20853,23643,24183,26142,26170,26564,26821,28851,29953,30149,31177,31453,36647,39200,39432,20445,22561,22577,23542,26222,27493,27921,28282,28541,29668,29995,33769,35036,35091,35676,36628,20239,20693,21264,21340,23443,24489,26381,31119,33145,33583,34068,35079,35206,36665,36667,39333,39954,26412,20086,20472,22857,23553,23791,23792,25447,26834,28925,29090,29739,32299,34028,34562,36898,37586,40179,19981,20184,20463,20613,21078,21103,21542,21648,22496,22827,23142,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23386,23413,23500,24220,63846,25206,25975,26023,28014,28325,29238,31526,31807,32566,33104,33105,33178,33344,33433,33705,35331,36e3,36070,36091,36212,36282,37096,37340,38428,38468,39385,40167,21271,20998,21545,22132,22707,22868,22894,24575,24996,25198,26128,27774,28954,30406,31881,31966,32027,33452,36033,38640,63847,20315,24343,24447,25282,23849,26379,26842,30844,32323,40300,19989,20633,21269,21290,21329,22915,23138,24199,24754,24970,25161,25209,26e3,26503,27047,27604,27606,27607,27608,27832,63848,29749,30202,30738,30865,31189,31192,31875,32203,32737,32933,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,33086,33218,33778,34586,35048,35513,35692,36027,37145,38750,39131,40763,22188,23338,24428,25996,27315,27567,27996,28657,28693,29277,29613,36007,36051,38971,24977,27703,32856,39425,20045,20107,20123,20181,20282,20284,20351,20447,20735,21490,21496,21766,21987,22235,22763,22882,23057,23531,23546,23556,24051,24107,24473,24605,25448,26012,26031,26614,26619,26797,27515,27801,27863,28195,28681,29509,30722,31038,31040,31072,31169,31721,32023,32114,32902,33293,33678,34001,34503,35039,35408,35422,35613,36060,36198,36781,37034,39164,39391,40605,21066,63849,26388,63850,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20632,21034,23665,25955,27733,29642,29987,30109,31639,33948,37240,38704,20087,25746,27578,29022,34217,19977,63851,26441,26862,28183,33439,34072,34923,25591,28545,37394,39087,19978,20663,20687,20767,21830,21930,22039,23360,23577,23776,24120,24202,24224,24258,24819,26705,27233,28248,29245,29248,29376,30456,31077,31665,32724,35059,35316,35443,35937,36062,38684,22622,29885,36093,21959,63852,31329,32034,33394,29298,29983,29989,63853,31513,22661,22779,23996,24207,24246,24464,24661,25234,25471,25933,26257,26329,26360,26646,26866,29312,29790,31598,32110,32214,32626,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32997,33298,34223,35199,35475,36893,37604,40653,40736,22805,22893,24109,24796,26132,26227,26512,27728,28101,28511,30707,30889,33990,37323,37675,20185,20682,20808,21892,23307,23459,25159,25982,26059,28210,29053,29697,29764,29831,29887,30316,31146,32218,32341,32680,33146,33203,33337,34330,34796,35445,36323,36984,37521,37925,39245,39854,21352,23633,26964,27844,27945,28203,33292,34203,35131,35373,35498,38634,40807,21089,26297,27570,32406,34814,36109,38275,38493,25885,28041,29166,63854,22478,22995,23468,24615,24826,25104,26143,26207,29481,29689,30427,30465,31596,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32854,32882,33125,35488,37266,19990,21218,27506,27927,31237,31545,32048,63855,36016,21484,22063,22609,23477,23567,23569,24034,25152,25475,25620,26157,26803,27836,28040,28335,28703,28836,29138,29990,30095,30094,30233,31505,31712,31787,32032,32057,34092,34157,34311,35380,36877,36961,37045,37559,38902,39479,20439,23660,26463,28049,31903,32396,35606,36118,36895,23403,24061,25613,33984,36956,39137,29575,23435,24730,26494,28126,35359,35494,36865,38924,21047,63856,28753,30862,37782,34928,37335,20462,21463,22013,22234,22402,22781,23234,23432,23723,23744,24101,24833,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,25101,25163,25480,25628,25910,25976,27193,27530,27700,27929,28465,29159,29417,29560,29703,29874,30246,30561,31168,31319,31466,31929,32143,32172,32353,32670,33065,33585,33936,34010,34282,34966,35504,35728,36664,36930,36995,37228,37526,37561,38539,38567,38568,38614,38656,38920,39318,39635,39706,21460,22654,22809,23408,23487,28113,28506,29087,29729,29881,32901,33789,24033,24455,24490,24642,26092,26642,26991,27219,27529,27957,28147,29667,30462,30636,31565,32020,33059,33308,33600,34036,34147,35426,35524,37255,37662,38918,39348,25100,34899,36848,37477,23815,23847,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23913,29791,33181,34664,28629,25342,32722,35126,35186,19998,20056,20711,21213,21319,25215,26119,32361,34821,38494,20365,21273,22070,22987,23204,23608,23630,23629,24066,24337,24643,26045,26159,26178,26558,26612,29468,30690,31034,32709,33940,33997,35222,35430,35433,35553,35925,35962,22516,23508,24335,24687,25325,26893,27542,28252,29060,31698,34645,35672,36606,39135,39166,20280,20353,20449,21627,23072,23480,24892,26032,26216,29180,30003,31070,32051,33102,33251,33688,34218,34254,34563,35338,36523,36763,63857,36805,22833,23460,23526,24713,23529,23563,24515,27777,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63858,28145,28683,29978,33455,35574,20160,21313,63859,38617,27663,20126,20420,20818,21854,23077,23784,25105,29273,33469,33706,34558,34905,35357,38463,38597,39187,40201,40285,22538,23731,23997,24132,24801,24853,25569,27138,28197,37122,37716,38990,39952,40823,23433,23736,25353,26191,26696,30524,38593,38797,38996,39839,26017,35585,36555,38332,21813,23721,24022,24245,26263,30284,33780,38343,22739,25276,29390,40232,20208,22830,24591,26171,27523,31207,40230,21395,21696,22467,23830,24859,26326,28079,30861,33406,38552,38724,21380,25212,25494,28082,32266,33099,38989,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27387,32588,40367,40474,20063,20539,20918,22812,24825,25590,26928,29242,32822,63860,37326,24369,63861,63862,32004,33509,33903,33979,34277,36493,63863,20335,63864,63865,22756,23363,24665,25562,25880,25965,26264,63866,26954,27171,27915,28673,29036,30162,30221,31155,31344,63867,32650,63868,35140,63869,35731,37312,38525,63870,39178,22276,24481,26044,28417,30208,31142,35486,39341,39770,40812,20740,25014,25233,27277,33222,20547,22576,24422,28937,35328,35578,23420,34326,20474,20796,22196,22852,25513,28153,23978,26989,20870,20104,20313,63871,63872,63873,22914,63874,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63875,27487,27741,63876,29877,30998,63877,33287,33349,33593,36671,36701,63878,39192,63879,63880,63881,20134,63882,22495,24441,26131,63883,63884,30123,32377,35695,63885,36870,39515,22181,22567,23032,23071,23476,63886,24310,63887,63888,25424,25403,63889,26941,27783,27839,28046,28051,28149,28436,63890,28895,28982,29017,63891,29123,29141,63892,30799,30831,63893,31605,32227,63894,32303,63895,34893,36575,63896,63897,63898,37467,63899,40182,63900,63901,63902,24709,28037,63903,29105,63904,63905,38321,21421,63906,63907,63908,26579,63909,28814,28976,29744,33398,33490,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63910,38331,39653,40573,26308,63911,29121,33865,63912,63913,22603,63914,63915,23992,24433,63916,26144,26254,27001,27054,27704,27891,28214,28481,28634,28699,28719,29008,29151,29552,63917,29787,63918,29908,30408,31310,32403,63919,63920,33521,35424,36814,63921,37704,63922,38681,63923,63924,20034,20522,63925,21e3,21473,26355,27757,28618,29450,30591,31330,33454,34269,34306,63926,35028,35427,35709,35947,63927,37555,63928,38675,38928,20116,20237,20425,20658,21320,21566,21555,21978,22626,22714,22887,23067,23524,24735,63929,25034,25942,26111,26212,26791,27738,28595,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28879,29100,29522,31613,34568,35492,39986,40711,23627,27779,29508,29577,37434,28331,29797,30239,31337,32277,34314,20800,22725,25793,29934,29973,30320,32705,37013,38605,39252,28198,29926,31401,31402,33253,34521,34680,35355,23113,23436,23451,26785,26880,28003,29609,29715,29740,30871,32233,32747,33048,33109,33694,35916,38446,38929,26352,24448,26106,26505,27754,29579,20525,23043,27498,30702,22806,23916,24013,29477,30031,63930,63931,20709,20985,22575,22829,22934,23002,23525,63932,63933,23970,25303,25622,25747,25854,63934,26332,63935,27208,63936,29183,29796,63937,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31368,31407,32327,32350,32768,33136,63938,34799,35201,35616,36953,63939,36992,39250,24958,27442,28020,32287,35109,36785,20433,20653,20887,21191,22471,22665,23481,24248,24898,27029,28044,28263,28342,29076,29794,29992,29996,32883,33592,33993,36362,37780,37854,63940,20110,20305,20598,20778,21448,21451,21491,23431,23507,23588,24858,24962,26100,29275,29591,29760,30402,31056,31121,31161,32006,32701,33419,34261,34398,36802,36935,37109,37354,38533,38632,38633,21206,24423,26093,26161,26671,29020,31286,37057,38922,20113,63941,27218,27550,28560,29065,32792,33464,34131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36939,38549,38642,38907,34074,39729,20112,29066,38596,20803,21407,21729,22291,22290,22435,23195,23236,23491,24616,24895,25588,27781,27961,28274,28304,29232,29503,29783,33489,34945,36677,36960,63942,38498,39e3,40219,26376,36234,37470,20301,20553,20702,21361,22285,22996,23041,23561,24944,26256,28205,29234,29771,32239,32963,33806,33894,34111,34655,34907,35096,35586,36949,38859,39759,20083,20369,20754,20842,63943,21807,21929,23418,23461,24188,24189,24254,24736,24799,24840,24841,25540,25912,26377,63944,26580,26586,63945,26977,26978,27833,27943,63946,28216,63947,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28641,29494,29495,63948,29788,30001,63949,30290,63950,63951,32173,33278,33848,35029,35480,35547,35565,36400,36418,36938,36926,36986,37193,37321,37742,63952,63953,22537,63954,27603,32905,32946,63955,63956,20801,22891,23609,63957,63958,28516,29607,32996,36103,63959,37399,38287,63960,63961,63962,63963,32895,25102,28700,32104,34701,63964,22432,24681,24903,27575,35518,37504,38577,20057,21535,28139,34093,38512,38899,39150,25558,27875,37009,20957,25033,33210,40441,20381,20506,20736,23452,24847,25087,25836,26885,27589,30097,30691,32681,33380,34191,34811,34915,35516,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,35696,37291,20108,20197,20234,63965,63966,22839,23016,63967,24050,24347,24411,24609,63968,63969,63970,63971,29246,29669,63972,30064,30157,63973,31227,63974,32780,32819,32900,33505,33617,63975,63976,36029,36019,36999,63977,63978,39156,39180,63979,63980,28727,30410,32714,32716,32764,35610,20154,20161,20995,21360,63981,21693,22240,23035,23493,24341,24525,28270,63982,63983,32106,33589,63984,34451,35469,63985,38765,38775,63986,63987,19968,20314,20350,22777,26085,28322,36920,37808,39353,20219,22764,22922,23001,24641,63988,63989,31252,63990,33615,36035,20837,21316,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63991,63992,63993,20173,21097,23381,33471,20180,21050,21672,22985,23039,23376,23383,23388,24675,24904,28363,28825,29038,29574,29943,30133,30913,32043,32773,33258,33576,34071,34249,35566,36039,38604,20316,21242,22204,26027,26152,28796,28856,29237,32189,33421,37196,38592,40306,23409,26855,27544,28538,30430,23697,26283,28507,31668,31786,34870,38620,19976,20183,21280,22580,22715,22767,22892,23559,24115,24196,24373,25484,26290,26454,27167,27299,27404,28479,29254,63994,29520,29835,31456,31911,33144,33247,33255,33674,33900,34083,34196,34255,35037,36115,37292,38263,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38556,20877,21705,22312,23472,25165,26448,26685,26771,28221,28371,28797,32289,35009,36001,36617,40779,40782,29229,31631,35533,37658,20295,20302,20786,21632,22992,24213,25269,26485,26990,27159,27822,28186,29401,29482,30141,31672,32053,33511,33785,33879,34295,35419,36015,36487,36889,37048,38606,40799,21219,21514,23265,23490,25688,25973,28404,29380,63995,30340,31309,31515,31821,32318,32735,33659,35627,36042,36196,36321,36447,36842,36857,36969,37841,20291,20346,20659,20840,20856,21069,21098,22625,22652,22880,23560,23637,24283,24731,25136,26643,27583,27656,28593,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29006,29728,3e4,30008,30033,30322,31564,31627,31661,31686,32399,35438,36670,36681,37439,37523,37666,37931,38651,39002,39019,39198,20999,25130,25240,27993,30308,31434,31680,32118,21344,23742,24215,28472,28857,31896,38673,39822,40670,25509,25722,34678,19969,20117,20141,20572,20597,21576,22979,23450,24128,24237,24311,24449,24773,25402,25919,25972,26060,26230,26232,26622,26984,27273,27491,27712,28096,28136,28191,28254,28702,28833,29582,29693,30010,30555,30855,31118,31243,31357,31934,32142,33351,35330,35562,35998,37165,37194,37336,37478,37580,37664,38662,38742,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38748,38914,40718,21046,21137,21884,22564,24093,24351,24716,25552,26799,28639,31085,31532,33229,34234,35069,35576,36420,37261,38500,38555,38717,38988,40778,20430,20806,20939,21161,22066,24340,24427,25514,25805,26089,26177,26362,26361,26397,26781,26839,27133,28437,28526,29031,29157,29226,29866,30522,31062,31066,31199,31264,31381,31895,31967,32068,32368,32903,34299,34468,35412,35519,36249,36481,36896,36973,37347,38459,38613,40165,26063,31751,36275,37827,23384,23562,21330,25305,29469,20519,23447,24478,24752,24939,26837,28121,29742,31278,32066,32156,32305,33131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36394,36405,37758,37912,20304,22352,24038,24231,25387,32618,20027,20303,20367,20570,23005,32964,21610,21608,22014,22863,23449,24030,24282,26205,26417,26609,26666,27880,27954,28234,28557,28855,29664,30087,31820,32002,32044,32162,33311,34523,35387,35461,36208,36490,36659,36913,37198,37202,37956,39376,31481,31909,20426,20737,20934,22472,23535,23803,26201,27197,27994,28310,28652,28940,30063,31459,34850,36897,36981,38603,39423,33537,20013,20210,34886,37325,21373,27355,26987,27713,33914,22686,24974,26366,25327,28893,29969,30151,32338,33976,35657,36104,20043,21482,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21675,22320,22336,24535,25345,25351,25711,25903,26088,26234,26525,26547,27490,27744,27802,28460,30693,30757,31049,31063,32025,32930,33026,33267,33437,33463,34584,35468,63996,36100,36286,36978,30452,31257,31287,32340,32887,21767,21972,22645,25391,25634,26185,26187,26733,27035,27524,27941,28337,29645,29800,29857,30043,30137,30433,30494,30603,31206,32265,32285,33275,34095,34967,35386,36049,36587,36784,36914,37805,38499,38515,38663,20356,21489,23018,23241,24089,26702,29894,30142,31209,31378,33187,34541,36074,36300,36845,26015,26389,63997,22519,28503,32221,36655,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37878,38598,24501,25074,28548,19988,20376,20511,21449,21983,23919,24046,27425,27492,30923,31642,63998,36425,36554,36974,25417,25662,30528,31364,37679,38015,40810,25776,28591,29158,29864,29914,31428,31762,32386,31922,32408,35738,36106,38013,39184,39244,21049,23519,25830,26413,32046,20717,21443,22649,24920,24921,25082,26028,31449,35730,35734,20489,20513,21109,21809,23100,24288,24432,24884,25950,26124,26166,26274,27085,28356,28466,29462,30241,31379,33081,33369,33750,33980,20661,22512,23488,23528,24425,25505,30758,32181,33756,34081,37319,37365,20874,26613,31574,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36012,20932,22971,24765,34389,20508,63999,21076,23610,24957,25114,25299,25842,26021,28364,30240,33034,36448,38495,38587,20191,21315,21912,22825,24029,25797,27849,28154,29588,31359,33307,34214,36068,36368,36983,37351,38369,38433,38854,20984,21746,21894,24505,25764,28552,32180,36639,36685,37941,20681,23574,27838,28155,29979,30651,31805,31844,35449,35522,22558,22974,24086,25463,29266,30090,30571,35548,36028,36626,24307,26228,28152,32893,33729,35531,38737,39894,64e3,21059,26367,28053,28399,32224,35558,36910,36958,39636,21021,21119,21736,24980,25220,25307,26786,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26898,26970,27189,28818,28966,30813,30977,30990,31186,31245,32918,33400,33493,33609,34121,35970,36229,37218,37259,37294,20419,22225,29165,30679,34560,35320,23544,24534,26449,37032,21474,22618,23541,24740,24961,25696,32317,32880,34085,37507,25774,20652,23828,26368,22684,25277,25512,26894,27e3,27166,28267,30394,31179,33467,33833,35535,36264,36861,37138,37195,37276,37648,37656,37786,38619,39478,39949,19985,30044,31069,31482,31569,31689,32302,33988,36441,36468,36600,36880,26149,26943,29763,20986,26414,40668,20805,24544,27798,34802,34909,34935,24756,33205,33795,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36101,21462,21561,22068,23094,23601,28810,32736,32858,33030,33261,36259,37257,39519,40434,20596,20164,21408,24827,28204,23652,20360,20516,21988,23769,24159,24677,26772,27835,28100,29118,30164,30196,30305,31258,31305,32199,32251,32622,33268,34473,36636,38601,39347,40786,21063,21189,39149,35242,19971,26578,28422,20405,23522,26517,27784,28024,29723,30759,37341,37756,34756,31204,31281,24555,20182,21668,21822,22702,22949,24816,25171,25302,26422,26965,33333,38464,39345,39389,20524,21331,21828,22396,64001,25176,64002,25826,26219,26589,28609,28655,29730,29752,35351,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37944,21585,22022,22374,24392,24986,27470,28760,28845,32187,35477,22890,33067,25506,30472,32829,36010,22612,25645,27067,23445,24081,28271,64003,34153,20812,21488,22826,24608,24907,27526,27760,27888,31518,32974,33492,36294,37040,39089,64004,25799,28580,25745,25860,20814,21520,22303,35342,24927,26742,64005,30171,31570,32113,36890,22534,27084,33151,35114,36864,38969,20600,22871,22956,25237,36879,39722,24925,29305,38358,22369,23110,24052,25226,25773,25850,26487,27874,27966,29228,29750,30772,32631,33453,36315,38935,21028,22338,26495,29256,29923,36009,36774,37393,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38442,20843,21485,25420,20329,21764,24726,25943,27803,28031,29260,29437,31255,35207,35997,24429,28558,28921,33192,24846,20415,20559,25153,29255,31687,32232,32745,36941,38829,39449,36022,22378,24179,26544,33805,35413,21536,23318,24163,24290,24330,25987,32954,34109,38281,38491,20296,21253,21261,21263,21638,21754,22275,24067,24598,25243,25265,25429,64006,27873,28006,30129,30770,32990,33071,33502,33889,33970,34957,35090,36875,37610,39165,39825,24133,26292,26333,28689,29190,64007,20469,21117,24426,24915,26451,27161,28418,29922,31080,34920,35961,39111,39108,39491,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21697,31263,26963,35575,35914,39080,39342,24444,25259,30130,30382,34987,36991,38466,21305,24380,24517,27852,29644,30050,30091,31558,33534,39325,20047,36924,19979,20309,21414,22799,24264,26160,27827,29781,33655,34662,36032,36944,38686,39957,22737,23416,34384,35604,40372,23506,24680,24717,26097,27735,28450,28579,28698,32597,32752,38289,38290,38480,38867,21106,36676,20989,21547,21688,21859,21898,27323,28085,32216,33382,37532,38519,40569,21512,21704,30418,34532,38308,38356,38492,20130,20233,23022,23270,24055,24658,25239,26477,26689,27782,28207,32568,32923,33322,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,64008,64009,38917,20133,20565,21683,22419,22874,23401,23475,25032,26999,28023,28707,34809,35299,35442,35559,36994,39405,39608,21182,26680,20502,24184,26447,33607,34892,20139,21521,22190,29670,37141,38911,39177,39255,39321,22099,22687,34395,35377,25010,27382,29563,36562,27463,38570,39511,22869,29184,36203,38761,20436,23796,24358,25080,26203,27883,28843,29572,29625,29694,30505,30541,32067,32098,32291,33335,34898,64010,36066,37449,39023,23377,31348,34880,38913,23244,20448,21332,22846,23805,25406,28025,29433,33029,33031,33698,37583,38960,20136,20804,21009,22411,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24418,27842,28366,28677,28752,28847,29074,29673,29801,33610,34722,34913,36872,37026,37795,39336,20846,24407,24800,24935,26291,34137,36426,37295,38795,20046,20114,21628,22741,22778,22909,23733,24359,25142,25160,26122,26215,27627,28009,28111,28246,28408,28564,28640,28649,28765,29392,29733,29786,29920,30355,31068,31946,32286,32993,33446,33899,33983,34382,34399,34676,35703,35946,37804,38912,39013,24785,25110,37239,23130,26127,28151,28222,29759,39746,24573,24794,31503,21700,24344,27742,27859,27946,28888,32005,34425,35340,40251,21270,21644,23301,27194,28779,30069,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31117,31166,33457,33775,35441,35649,36008,38772,64011,25844,25899,30906,30907,31339,20024,21914,22864,23462,24187,24739,25563,27489,26213,26707,28185,29029,29872,32008,36996,39529,39973,27963,28369,29502,35905,38346,20976,24140,24488,24653,24822,24880,24908,26179,26180,27045,27841,28255,28361,28514,29004,29852,30343,31681,31783,33618,34647,36945,38541,40643,21295,22238,24315,24458,24674,24724,25079,26214,26371,27292,28142,28590,28784,29546,32362,33214,33588,34516,35496,36036,21123,29554,23446,27243,37892,21742,22150,23389,25928,25989,26313,26783,28045,28102,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29243,32948,37237,39501,20399,20505,21402,21518,21564,21897,21957,24127,24460,26429,29030,29661,36869,21211,21235,22628,22734,28932,29071,29179,34224,35347,26248,34216,21927,26244,29002,33841,21321,21913,27585,24409,24509,25582,26249,28999,35569,36637,40638,20241,25658,28875,30054,34407,24676,35662,40440,20807,20982,21256,27958,33016,40657,26133,27427,28824,30165,21507,23673,32007,35350,27424,27453,27462,21560,24688,27965,32725,33288,20694,20958,21916,22123,22221,23020,23305,24076,24985,24984,25137,26206,26342,29081,29113,29114,29351,31143,31232,32690,35440,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],gb18030:[19970,19972,19973,19974,19983,19986,19991,19999,2e4,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,21403,21404,21406,21408,21409,21412,21415,21418,21419,21420,21421,21423,21424,21425,21426,21427,21428,21429,21431,21432,21433,21434,21436,21437,21438,21440,21443,21444,21445,21446,21447,21454,21455,21456,21458,21459,21461,21466,21468,21469,21470,21473,21474,21479,21492,21498,21502,21503,21504,21506,21509,21511,21515,21524,21528,21529,21530,21532,21538,21540,21541,21546,21552,21555,21558,21559,21562,21565,21567,21569,21570,21572,21573,21575,21577,21580,21581,21582,21583,21585,21594,21597,21598,21599,21600,21601,21603,21605,21607,21609,21610,21611,21612,21613,21614,21615,21616,21620,21625,21626,21630,21631,21633,21635,21637,21639,21640,21641,21642,21645,21649,21651,21655,21656,21660,21662,21663,21664,21665,21666,21669,21678,21680,21682,21685,21686,21687,21689,21690,21692,21694,21699,21701,21706,21707,21718,21720,21723,21728,21729,21730,21731,21732,21739,21740,21743,21744,21745,21748,21749,21750,21751,21752,21753,21755,21758,21760,21762,21763,21764,21765,21768,21770,21771,21772,21773,21774,21778,21779,21781,21782,21783,21784,21785,21786,21788,21789,21790,21791,21793,21797,21798,21800,21801,21803,21805,21810,21812,21813,21814,21816,21817,21818,21819,21821,21824,21826,21829,21831,21832,21835,21836,21837,21838,21839,21841,21842,21843,21844,21847,21848,21849,21850,21851,21853,21854,21855,21856,21858,21859,21864,21865,21867,21871,21872,21873,21874,21875,21876,21881,21882,21885,21887,21893,21894,21900,21901,21902,21904,21906,21907,21909,21910,21911,21914,21915,21918,21920,21921,21922,21923,21924,21925,21926,21928,21929,21930,21931,21932,21933,21934,21935,21936,21938,21940,21942,21944,21946,21948,21951,21952,21953,21954,21955,21958,21959,21960,21962,21963,21966,21967,21968,21973,21975,21976,21977,21978,21979,21982,21984,21986,21991,21993,21997,21998,22e3,22001,22004,22006,22008,22009,22010,22011,22012,22015,22018,22019,22020,22021,22022,22023,22026,22027,22029,22032,22033,22034,22035,22036,22037,22038,22039,22041,22042,22044,22045,22048,22049,22050,22053,22054,22056,22057,22058,22059,22062,22063,22064,22067,22069,22071,22072,22074,22076,22077,22078,22080,22081,22082,22083,22084,22085,22086,22087,22088,22089,22090,22091,22095,22096,22097,22098,22099,22101,22102,22106,22107,22109,22110,22111,22112,22113,22115,22117,22118,22119,22125,22126,22127,22128,22130,22131,22132,22133,22135,22136,22137,22138,22141,22142,22143,22144,22145,22146,22147,22148,22151,22152,22153,22154,22155,22156,22157,22160,22161,22162,22164,22165,22166,22167,22168,22169,22170,22171,22172,22173,22174,22175,22176,22177,22178,22180,22181,22182,22183,22184,22185,22186,22187,22188,22189,22190,22192,22193,22194,22195,22196,22197,22198,22200,22201,22202,22203,22205,22206,22207,22208,22209,22210,22211,22212,22213,22214,22215,22216,22217,22219,22220,22221,22222,22223,22224,22225,22226,22227,22229,22230,22232,22233,22236,22243,22245,22246,22247,22248,22249,22250,22252,22254,22255,22258,22259,22262,22263,22264,22267,22268,22272,22273,22274,22277,22279,22283,22284,22285,22286,22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22301,22302,22304,22305,22306,22308,22309,22310,22311,22315,22321,22322,22324,22325,22326,22327,22328,22332,22333,22335,22337,22339,22340,22341,22342,22344,22345,22347,22354,22355,22356,22357,22358,22360,22361,22370,22371,22373,22375,22380,22382,22384,22385,22386,22388,22389,22392,22393,22394,22397,22398,22399,22400,22401,22407,22408,22409,22410,22413,22414,22415,22416,22417,22420,22421,22422,22423,22424,22425,22426,22428,22429,22430,22431,22437,22440,22442,22444,22447,22448,22449,22451,22453,22454,22455,22457,22458,22459,22460,22461,22462,22463,22464,22465,22468,22469,22470,22471,22472,22473,22474,22476,22477,22480,22481,22483,22486,22487,22491,22492,22494,22497,22498,22499,22501,22502,22503,22504,22505,22506,22507,22508,22510,22512,22513,22514,22515,22517,22518,22519,22523,22524,22526,22527,22529,22531,22532,22533,22536,22537,22538,22540,22542,22543,22544,22546,22547,22548,22550,22551,22552,22554,22555,22556,22557,22559,22562,22563,22565,22566,22567,22568,22569,22571,22572,22573,22574,22575,22577,22578,22579,22580,22582,22583,22584,22585,22586,22587,22588,22589,22590,22591,22592,22593,22594,22595,22597,22598,22599,22600,22601,22602,22603,22606,22607,22608,22610,22611,22613,22614,22615,22617,22618,22619,22620,22621,22623,22624,22625,22626,22627,22628,22630,22631,22632,22633,22634,22637,22638,22639,22640,22641,22642,22643,22644,22645,22646,22647,22648,22649,22650,22651,22652,22653,22655,22658,22660,22662,22663,22664,22666,22667,22668,22669,22670,22671,22672,22673,22676,22677,22678,22679,22680,22683,22684,22685,22688,22689,22690,22691,22692,22693,22694,22695,22698,22699,22700,22701,22702,22703,22704,22705,22706,22707,22708,22709,22710,22711,22712,22713,22714,22715,22717,22718,22719,22720,22722,22723,22724,22726,22727,22728,22729,22730,22731,22732,22733,22734,22735,22736,22738,22739,22740,22742,22743,22744,22745,22746,22747,22748,22749,22750,22751,22752,22753,22754,22755,22757,22758,22759,22760,22761,22762,22765,22767,22769,22770,22772,22773,22775,22776,22778,22779,22780,22781,22782,22783,22784,22785,22787,22789,22790,22792,22793,22794,22795,22796,22798,22800,22801,22802,22803,22807,22808,22811,22813,22814,22816,22817,22818,22819,22822,22824,22828,22832,22834,22835,22837,22838,22843,22845,22846,22847,22848,22851,22853,22854,22858,22860,22861,22864,22866,22867,22873,22875,22876,22877,22878,22879,22881,22883,22884,22886,22887,22888,22889,22890,22891,22892,22893,22894,22895,22896,22897,22898,22901,22903,22906,22907,22908,22910,22911,22912,22917,22921,22923,22924,22926,22927,22928,22929,22932,22933,22936,22938,22939,22940,22941,22943,22944,22945,22946,22950,22951,22956,22957,22960,22961,22963,22964,22965,22966,22967,22968,22970,22972,22973,22975,22976,22977,22978,22979,22980,22981,22983,22984,22985,22988,22989,22990,22991,22997,22998,23001,23003,23006,23007,23008,23009,23010,23012,23014,23015,23017,23018,23019,23021,23022,23023,23024,23025,23026,23027,23028,23029,23030,23031,23032,23034,23036,23037,23038,23040,23042,23050,23051,23053,23054,23055,23056,23058,23060,23061,23062,23063,23065,23066,23067,23069,23070,23073,23074,23076,23078,23079,23080,23082,23083,23084,23085,23086,23087,23088,23091,23093,23095,23096,23097,23098,23099,23101,23102,23103,23105,23106,23107,23108,23109,23111,23112,23115,23116,23117,23118,23119,23120,23121,23122,23123,23124,23126,23127,23128,23129,23131,23132,23133,23134,23135,23136,23137,23139,23140,23141,23142,23144,23145,23147,23148,23149,23150,23151,23152,23153,23154,23155,23160,23161,23163,23164,23165,23166,23168,23169,23170,23171,23172,23173,23174,23175,23176,23177,23178,23179,23180,23181,23182,23183,23184,23185,23187,23188,23189,23190,23191,23192,23193,23196,23197,23198,23199,23200,23201,23202,23203,23204,23205,23206,23207,23208,23209,23211,23212,23213,23214,23215,23216,23217,23220,23222,23223,23225,23226,23227,23228,23229,23231,23232,23235,23236,23237,23238,23239,23240,23242,23243,23245,23246,23247,23248,23249,23251,23253,23255,23257,23258,23259,23261,23262,23263,23266,23268,23269,23271,23272,23274,23276,23277,23278,23279,23280,23282,23283,23284,23285,23286,23287,23288,23289,23290,23291,23292,23293,23294,23295,23296,23297,23298,23299,23300,23301,23302,23303,23304,23306,23307,23308,23309,23310,23311,23312,23313,23314,23315,23316,23317,23320,23321,23322,23323,23324,23325,23326,23327,23328,23329,23330,23331,23332,23333,23334,23335,23336,23337,23338,23339,23340,23341,23342,23343,23344,23345,23347,23349,23350,23352,23353,23354,23355,23356,23357,23358,23359,23361,23362,23363,23364,23365,23366,23367,23368,23369,23370,23371,23372,23373,23374,23375,23378,23382,23390,23392,23393,23399,23400,23403,23405,23406,23407,23410,23412,23414,23415,23416,23417,23419,23420,23422,23423,23426,23430,23434,23437,23438,23440,23441,23442,23444,23446,23455,23463,23464,23465,23468,23469,23470,23471,23473,23474,23479,23482,23483,23484,23488,23489,23491,23496,23497,23498,23499,23501,23502,23503,23505,23508,23509,23510,23511,23512,23513,23514,23515,23516,23520,23522,23523,23526,23527,23529,23530,23531,23532,23533,23535,23537,23538,23539,23540,23541,23542,23543,23549,23550,23552,23554,23555,23557,23559,23560,23563,23564,23565,23566,23568,23570,23571,23575,23577,23579,23582,23583,23584,23585,23587,23590,23592,23593,23594,23595,23597,23598,23599,23600,23602,23603,23605,23606,23607,23619,23620,23622,23623,23628,23629,23634,23635,23636,23638,23639,23640,23642,23643,23644,23645,23647,23650,23652,23655,23656,23657,23658,23659,23660,23661,23664,23666,23667,23668,23669,23670,23671,23672,23675,23676,23677,23678,23680,23683,23684,23685,23686,23687,23689,23690,23691,23694,23695,23698,23699,23701,23709,23710,23711,23712,23713,23716,23717,23718,23719,23720,23722,23726,23727,23728,23730,23732,23734,23737,23738,23739,23740,23742,23744,23746,23747,23749,23750,23751,23752,23753,23754,23756,23757,23758,23759,23760,23761,23763,23764,23765,23766,23767,23768,23770,23771,23772,23773,23774,23775,23776,23778,23779,23783,23785,23787,23788,23790,23791,23793,23794,23795,23796,23797,23798,23799,23800,23801,23802,23804,23805,23806,23807,23808,23809,23812,23813,23816,23817,23818,23819,23820,23821,23823,23824,23825,23826,23827,23829,23831,23832,23833,23834,23836,23837,23839,23840,23841,23842,23843,23845,23848,23850,23851,23852,23855,23856,23857,23858,23859,23861,23862,23863,23864,23865,23866,23867,23868,23871,23872,23873,23874,23875,23876,23877,23878,23880,23881,23885,23886,23887,23888,23889,23890,23891,23892,23893,23894,23895,23897,23898,23900,23902,23903,23904,23905,23906,23907,23908,23909,23910,23911,23912,23914,23917,23918,23920,23921,23922,23923,23925,23926,23927,23928,23929,23930,23931,23932,23933,23934,23935,23936,23937,23939,23940,23941,23942,23943,23944,23945,23946,23947,23948,23949,23950,23951,23952,23953,23954,23955,23956,23957,23958,23959,23960,23962,23963,23964,23966,23967,23968,23969,23970,23971,23972,23973,23974,23975,23976,23977,23978,23979,23980,23981,23982,23983,23984,23985,23986,23987,23988,23989,23990,23992,23993,23994,23995,23996,23997,23998,23999,24e3,24001,24002,24003,24004,24006,24007,24008,24009,24010,24011,24012,24014,24015,24016,24017,24018,24019,24020,24021,24022,24023,24024,24025,24026,24028,24031,24032,24035,24036,24042,24044,24045,24048,24053,24054,24056,24057,24058,24059,24060,24063,24064,24068,24071,24073,24074,24075,24077,24078,24082,24083,24087,24094,24095,24096,24097,24098,24099,24100,24101,24104,24105,24106,24107,24108,24111,24112,24114,24115,24116,24117,24118,24121,24122,24126,24127,24128,24129,24131,24134,24135,24136,24137,24138,24139,24141,24142,24143,24144,24145,24146,24147,24150,24151,24152,24153,24154,24156,24157,24159,24160,24163,24164,24165,24166,24167,24168,24169,24170,24171,24172,24173,24174,24175,24176,24177,24181,24183,24185,24190,24193,24194,24195,24197,24200,24201,24204,24205,24206,24210,24216,24219,24221,24225,24226,24227,24228,24232,24233,24234,24235,24236,24238,24239,24240,24241,24242,24244,24250,24251,24252,24253,24255,24256,24257,24258,24259,24260,24261,24262,24263,24264,24267,24268,24269,24270,24271,24272,24276,24277,24279,24280,24281,24282,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24297,24299,24300,24301,24302,24303,24304,24305,24306,24307,24309,24312,24313,24315,24316,24317,24325,24326,24327,24329,24332,24333,24334,24336,24338,24340,24342,24345,24346,24348,24349,24350,24353,24354,24355,24356,24360,24363,24364,24366,24368,24370,24371,24372,24373,24374,24375,24376,24379,24381,24382,24383,24385,24386,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24399,24401,24404,24409,24410,24411,24412,24414,24415,24416,24419,24421,24423,24424,24427,24430,24431,24434,24436,24437,24438,24440,24442,24445,24446,24447,24451,24454,24461,24462,24463,24465,24467,24468,24470,24474,24475,24477,24478,24479,24480,24482,24483,24484,24485,24486,24487,24489,24491,24492,24495,24496,24497,24498,24499,24500,24502,24504,24505,24506,24507,24510,24511,24512,24513,24514,24519,24520,24522,24523,24526,24531,24532,24533,24538,24539,24540,24542,24543,24546,24547,24549,24550,24552,24553,24556,24559,24560,24562,24563,24564,24566,24567,24569,24570,24572,24583,24584,24585,24587,24588,24592,24593,24595,24599,24600,24602,24606,24607,24610,24611,24612,24620,24621,24622,24624,24625,24626,24627,24628,24630,24631,24632,24633,24634,24637,24638,24640,24644,24645,24646,24647,24648,24649,24650,24652,24654,24655,24657,24659,24660,24662,24663,24664,24667,24668,24670,24671,24672,24673,24677,24678,24686,24689,24690,24692,24693,24695,24702,24704,24705,24706,24709,24710,24711,24712,24714,24715,24718,24719,24720,24721,24723,24725,24727,24728,24729,24732,24734,24737,24738,24740,24741,24743,24745,24746,24750,24752,24755,24757,24758,24759,24761,24762,24765,24766,24767,24768,24769,24770,24771,24772,24775,24776,24777,24780,24781,24782,24783,24784,24786,24787,24788,24790,24791,24793,24795,24798,24801,24802,24803,24804,24805,24810,24817,24818,24821,24823,24824,24827,24828,24829,24830,24831,24834,24835,24836,24837,24839,24842,24843,24844,24848,24849,24850,24851,24852,24854,24855,24856,24857,24859,24860,24861,24862,24865,24866,24869,24872,24873,24874,24876,24877,24878,24879,24880,24881,24882,24883,24884,24885,24886,24887,24888,24889,24890,24891,24892,24893,24894,24896,24897,24898,24899,24900,24901,24902,24903,24905,24907,24909,24911,24912,24914,24915,24916,24918,24919,24920,24921,24922,24923,24924,24926,24927,24928,24929,24931,24932,24933,24934,24937,24938,24939,24940,24941,24942,24943,24945,24946,24947,24948,24950,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24972,24973,24975,24976,24977,24978,24979,24981,24982,24983,24984,24985,24986,24987,24988,24990,24991,24992,24993,24994,24995,24996,24997,24998,25002,25003,25005,25006,25007,25008,25009,25010,25011,25012,25013,25014,25016,25017,25018,25019,25020,25021,25023,25024,25025,25027,25028,25029,25030,25031,25033,25036,25037,25038,25039,25040,25043,25045,25046,25047,25048,25049,25050,25051,25052,25053,25054,25055,25056,25057,25058,25059,25060,25061,25063,25064,25065,25066,25067,25068,25069,25070,25071,25072,25073,25074,25075,25076,25078,25079,25080,25081,25082,25083,25084,25085,25086,25088,25089,25090,25091,25092,25093,25095,25097,25107,25108,25113,25116,25117,25118,25120,25123,25126,25127,25128,25129,25131,25133,25135,25136,25137,25138,25141,25142,25144,25145,25146,25147,25148,25154,25156,25157,25158,25162,25167,25168,25173,25174,25175,25177,25178,25180,25181,25182,25183,25184,25185,25186,25188,25189,25192,25201,25202,25204,25205,25207,25208,25210,25211,25213,25217,25218,25219,25221,25222,25223,25224,25227,25228,25229,25230,25231,25232,25236,25241,25244,25245,25246,25251,25254,25255,25257,25258,25261,25262,25263,25264,25266,25267,25268,25270,25271,25272,25274,25278,25280,25281,25283,25291,25295,25297,25301,25309,25310,25312,25313,25316,25322,25323,25328,25330,25333,25336,25337,25338,25339,25344,25347,25348,25349,25350,25354,25355,25356,25357,25359,25360,25362,25363,25364,25365,25367,25368,25369,25372,25382,25383,25385,25388,25389,25390,25392,25393,25395,25396,25397,25398,25399,25400,25403,25404,25406,25407,25408,25409,25412,25415,25416,25418,25425,25426,25427,25428,25430,25431,25432,25433,25434,25435,25436,25437,25440,25444,25445,25446,25448,25450,25451,25452,25455,25456,25458,25459,25460,25461,25464,25465,25468,25469,25470,25471,25473,25475,25476,25477,25478,25483,25485,25489,25491,25492,25493,25495,25497,25498,25499,25500,25501,25502,25503,25505,25508,25510,25515,25519,25521,25522,25525,25526,25529,25531,25533,25535,25536,25537,25538,25539,25541,25543,25544,25546,25547,25548,25553,25555,25556,25557,25559,25560,25561,25562,25563,25564,25565,25567,25570,25572,25573,25574,25575,25576,25579,25580,25582,25583,25584,25585,25587,25589,25591,25593,25594,25595,25596,25598,25603,25604,25606,25607,25608,25609,25610,25613,25614,25617,25618,25621,25622,25623,25624,25625,25626,25629,25631,25634,25635,25636,25637,25639,25640,25641,25643,25646,25647,25648,25649,25650,25651,25653,25654,25655,25656,25657,25659,25660,25662,25664,25666,25667,25673,25675,25676,25677,25678,25679,25680,25681,25683,25685,25686,25687,25689,25690,25691,25692,25693,25695,25696,25697,25698,25699,25700,25701,25702,25704,25706,25707,25708,25710,25711,25712,25713,25714,25715,25716,25717,25718,25719,25723,25724,25725,25726,25727,25728,25729,25731,25734,25736,25737,25738,25739,25740,25741,25742,25743,25744,25747,25748,25751,25752,25754,25755,25756,25757,25759,25760,25761,25762,25763,25765,25766,25767,25768,25770,25771,25775,25777,25778,25779,25780,25782,25785,25787,25789,25790,25791,25793,25795,25796,25798,25799,25800,25801,25802,25803,25804,25807,25809,25811,25812,25813,25814,25817,25818,25819,25820,25821,25823,25824,25825,25827,25829,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25857,25858,25859,25860,25861,25862,25863,25864,25866,25867,25868,25869,25870,25871,25872,25873,25875,25876,25877,25878,25879,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25894,25895,25896,25897,25898,25900,25901,25904,25905,25906,25907,25911,25914,25916,25917,25920,25921,25922,25923,25924,25926,25927,25930,25931,25933,25934,25936,25938,25939,25940,25943,25944,25946,25948,25951,25952,25953,25956,25957,25959,25960,25961,25962,25965,25966,25967,25969,25971,25973,25974,25976,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25992,25993,25994,25997,25998,25999,26002,26004,26005,26006,26008,26010,26013,26014,26016,26018,26019,26022,26024,26026,26028,26030,26033,26034,26035,26036,26037,26038,26039,26040,26042,26043,26046,26047,26048,26050,26055,26056,26057,26058,26061,26064,26065,26067,26068,26069,26072,26073,26074,26075,26076,26077,26078,26079,26081,26083,26084,26090,26091,26098,26099,26100,26101,26104,26105,26107,26108,26109,26110,26111,26113,26116,26117,26119,26120,26121,26123,26125,26128,26129,26130,26134,26135,26136,26138,26139,26140,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26162,26163,26167,26168,26169,26170,26171,26173,26175,26176,26178,26180,26181,26182,26183,26184,26185,26186,26189,26190,26192,26193,26200,26201,26203,26204,26205,26206,26208,26210,26211,26213,26215,26217,26218,26219,26220,26221,26225,26226,26227,26229,26232,26233,26235,26236,26237,26239,26240,26241,26243,26245,26246,26248,26249,26250,26251,26253,26254,26255,26256,26258,26259,26260,26261,26264,26265,26266,26267,26268,26270,26271,26272,26273,26274,26275,26276,26277,26278,26281,26282,26283,26284,26285,26287,26288,26289,26290,26291,26293,26294,26295,26296,26298,26299,26300,26301,26303,26304,26305,26306,26307,26308,26309,26310,26311,26312,26313,26314,26315,26316,26317,26318,26319,26320,26321,26322,26323,26324,26325,26326,26327,26328,26330,26334,26335,26336,26337,26338,26339,26340,26341,26343,26344,26346,26347,26348,26349,26350,26351,26353,26357,26358,26360,26362,26363,26365,26369,26370,26371,26372,26373,26374,26375,26380,26382,26383,26385,26386,26387,26390,26392,26393,26394,26396,26398,26400,26401,26402,26403,26404,26405,26407,26409,26414,26416,26418,26419,26422,26423,26424,26425,26427,26428,26430,26431,26433,26436,26437,26439,26442,26443,26445,26450,26452,26453,26455,26456,26457,26458,26459,26461,26466,26467,26468,26470,26471,26475,26476,26478,26481,26484,26486,26488,26489,26490,26491,26493,26496,26498,26499,26501,26502,26504,26506,26508,26509,26510,26511,26513,26514,26515,26516,26518,26521,26523,26527,26528,26529,26532,26534,26537,26540,26542,26545,26546,26548,26553,26554,26555,26556,26557,26558,26559,26560,26562,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26581,26582,26583,26587,26591,26593,26595,26596,26598,26599,26600,26602,26603,26605,26606,26610,26613,26614,26615,26616,26617,26618,26619,26620,26622,26625,26626,26627,26628,26630,26637,26640,26642,26644,26645,26648,26649,26650,26651,26652,26654,26655,26656,26658,26659,26660,26661,26662,26663,26664,26667,26668,26669,26670,26671,26672,26673,26676,26677,26678,26682,26683,26687,26695,26699,26701,26703,26706,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26730,26732,26733,26734,26735,26736,26737,26738,26739,26741,26744,26745,26746,26747,26748,26749,26750,26751,26752,26754,26756,26759,26760,26761,26762,26763,26764,26765,26766,26768,26769,26770,26772,26773,26774,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26787,26788,26789,26793,26794,26795,26796,26798,26801,26802,26804,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26817,26819,26820,26821,26822,26823,26824,26826,26828,26830,26831,26832,26833,26835,26836,26838,26839,26841,26843,26844,26845,26846,26847,26849,26850,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26863,26866,26867,26868,26870,26871,26872,26875,26877,26878,26879,26880,26882,26883,26884,26886,26887,26888,26889,26890,26892,26895,26897,26899,26900,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26913,26914,26915,26917,26918,26919,26920,26921,26922,26923,26924,26926,26927,26929,26930,26931,26933,26934,26935,26936,26938,26939,26940,26942,26944,26945,26947,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26968,26969,26971,26972,26975,26977,26978,26980,26981,26983,26984,26985,26986,26988,26989,26991,26992,26994,26995,26996,26997,26998,27002,27003,27005,27006,27007,27009,27011,27013,27018,27019,27020,27022,27023,27024,27025,27026,27027,27030,27031,27033,27034,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27049,27050,27052,27054,27055,27056,27058,27059,27061,27062,27064,27065,27066,27068,27069,27070,27071,27072,27074,27075,27076,27077,27078,27079,27080,27081,27083,27085,27087,27089,27090,27091,27093,27094,27095,27096,27097,27098,27100,27101,27102,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27118,27119,27120,27121,27123,27124,27125,27126,27127,27128,27129,27130,27131,27132,27134,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27161,27162,27163,27164,27165,27166,27168,27170,27171,27172,27173,27174,27175,27177,27179,27180,27181,27182,27184,27186,27187,27188,27190,27191,27192,27193,27194,27195,27196,27199,27200,27201,27202,27203,27205,27206,27208,27209,27210,27211,27212,27213,27214,27215,27217,27218,27219,27220,27221,27222,27223,27226,27228,27229,27230,27231,27232,27234,27235,27236,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27250,27251,27252,27253,27254,27255,27256,27258,27259,27261,27262,27263,27265,27266,27267,27269,27270,27271,27272,27273,27274,27275,27276,27277,27279,27282,27283,27284,27285,27286,27288,27289,27290,27291,27292,27293,27294,27295,27297,27298,27299,27300,27301,27302,27303,27304,27306,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27321,27322,27323,27324,27325,27326,27327,27328,27329,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27381,27382,27383,27384,27385,27386,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27423,27429,27430,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27443,27444,27445,27446,27448,27451,27452,27453,27455,27456,27457,27458,27460,27461,27464,27466,27467,27469,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27482,27483,27484,27485,27486,27487,27488,27489,27496,27497,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27514,27517,27518,27519,27520,27525,27528,27532,27534,27535,27536,27537,27540,27541,27543,27544,27545,27548,27549,27550,27551,27552,27554,27555,27556,27557,27558,27559,27560,27561,27563,27564,27565,27566,27567,27568,27569,27570,27574,27576,27577,27578,27579,27580,27581,27582,27584,27587,27588,27590,27591,27592,27593,27594,27596,27598,27600,27601,27608,27610,27612,27613,27614,27615,27616,27618,27619,27620,27621,27622,27623,27624,27625,27628,27629,27630,27632,27633,27634,27636,27638,27639,27640,27642,27643,27644,27646,27647,27648,27649,27650,27651,27652,27656,27657,27658,27659,27660,27662,27666,27671,27676,27677,27678,27680,27683,27685,27691,27692,27693,27697,27699,27702,27703,27705,27706,27707,27708,27710,27711,27715,27716,27717,27720,27723,27724,27725,27726,27727,27729,27730,27731,27734,27736,27737,27738,27746,27747,27749,27750,27751,27755,27756,27757,27758,27759,27761,27763,27765,27767,27768,27770,27771,27772,27775,27776,27780,27783,27786,27787,27789,27790,27793,27794,27797,27798,27799,27800,27802,27804,27805,27806,27808,27810,27816,27820,27823,27824,27828,27829,27830,27831,27834,27840,27841,27842,27843,27846,27847,27848,27851,27853,27854,27855,27857,27858,27864,27865,27866,27868,27869,27871,27876,27878,27879,27881,27884,27885,27890,27892,27897,27903,27904,27906,27907,27909,27910,27912,27913,27914,27917,27919,27920,27921,27923,27924,27925,27926,27928,27932,27933,27935,27936,27937,27938,27939,27940,27942,27944,27945,27948,27949,27951,27952,27956,27958,27959,27960,27962,27967,27968,27970,27972,27977,27980,27984,27989,27990,27991,27992,27995,27997,27999,28001,28002,28004,28005,28007,28008,28011,28012,28013,28016,28017,28018,28019,28021,28022,28025,28026,28027,28029,28030,28031,28032,28033,28035,28036,28038,28039,28042,28043,28045,28047,28048,28050,28054,28055,28056,28057,28058,28060,28066,28069,28076,28077,28080,28081,28083,28084,28086,28087,28089,28090,28091,28092,28093,28094,28097,28098,28099,28104,28105,28106,28109,28110,28111,28112,28114,28115,28116,28117,28119,28122,28123,28124,28127,28130,28131,28133,28135,28136,28137,28138,28141,28143,28144,28146,28148,28149,28150,28152,28154,28157,28158,28159,28160,28161,28162,28163,28164,28166,28167,28168,28169,28171,28175,28178,28179,28181,28184,28185,28187,28188,28190,28191,28194,28198,28199,28200,28202,28204,28206,28208,28209,28211,28213,28214,28215,28217,28219,28220,28221,28222,28223,28224,28225,28226,28229,28230,28231,28232,28233,28234,28235,28236,28239,28240,28241,28242,28245,28247,28249,28250,28252,28253,28254,28256,28257,28258,28259,28260,28261,28262,28263,28264,28265,28266,28268,28269,28271,28272,28273,28274,28275,28276,28277,28278,28279,28280,28281,28282,28283,28284,28285,28288,28289,28290,28292,28295,28296,28298,28299,28300,28301,28302,28305,28306,28307,28308,28309,28310,28311,28313,28314,28315,28317,28318,28320,28321,28323,28324,28326,28328,28329,28331,28332,28333,28334,28336,28339,28341,28344,28345,28348,28350,28351,28352,28355,28356,28357,28358,28360,28361,28362,28364,28365,28366,28368,28370,28374,28376,28377,28379,28380,28381,28387,28391,28394,28395,28396,28397,28398,28399,28400,28401,28402,28403,28405,28406,28407,28408,28410,28411,28412,28413,28414,28415,28416,28417,28419,28420,28421,28423,28424,28426,28427,28428,28429,28430,28432,28433,28434,28438,28439,28440,28441,28442,28443,28444,28445,28446,28447,28449,28450,28451,28453,28454,28455,28456,28460,28462,28464,28466,28468,28469,28471,28472,28473,28474,28475,28476,28477,28479,28480,28481,28482,28483,28484,28485,28488,28489,28490,28492,28494,28495,28496,28497,28498,28499,28500,28501,28502,28503,28505,28506,28507,28509,28511,28512,28513,28515,28516,28517,28519,28520,28521,28522,28523,28524,28527,28528,28529,28531,28533,28534,28535,28537,28539,28541,28542,28543,28544,28545,28546,28547,28549,28550,28551,28554,28555,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28573,28574,28575,28576,28578,28579,28580,28581,28582,28584,28585,28586,28587,28588,28589,28590,28591,28592,28593,28594,28596,28597,28599,28600,28602,28603,28604,28605,28606,28607,28609,28611,28612,28613,28614,28615,28616,28618,28619,28620,28621,28622,28623,28624,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28639,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28683,28684,28685,28686,28687,28688,28690,28691,28692,28693,28694,28695,28696,28697,28700,28701,28702,28703,28704,28705,28706,28708,28709,28710,28711,28712,28713,28714,28715,28716,28717,28718,28719,28720,28721,28722,28723,28724,28726,28727,28728,28730,28731,28732,28733,28734,28735,28736,28737,28738,28739,28740,28741,28742,28743,28744,28745,28746,28747,28749,28750,28752,28753,28754,28755,28756,28757,28758,28759,28760,28761,28762,28763,28764,28765,28767,28768,28769,28770,28771,28772,28773,28774,28775,28776,28777,28778,28782,28785,28786,28787,28788,28791,28793,28794,28795,28797,28801,28802,28803,28804,28806,28807,28808,28811,28812,28813,28815,28816,28817,28819,28823,28824,28826,28827,28830,28831,28832,28833,28834,28835,28836,28837,28838,28839,28840,28841,28842,28848,28850,28852,28853,28854,28858,28862,28863,28868,28869,28870,28871,28873,28875,28876,28877,28878,28879,28880,28881,28882,28883,28884,28885,28886,28887,28890,28892,28893,28894,28896,28897,28898,28899,28901,28906,28910,28912,28913,28914,28915,28916,28917,28918,28920,28922,28923,28924,28926,28927,28928,28929,28930,28931,28932,28933,28934,28935,28936,28939,28940,28941,28942,28943,28945,28946,28948,28951,28955,28956,28957,28958,28959,28960,28961,28962,28963,28964,28965,28967,28968,28969,28970,28971,28972,28973,28974,28978,28979,28980,28981,28983,28984,28985,28986,28987,28988,28989,28990,28991,28992,28993,28994,28995,28996,28998,28999,29e3,29001,29003,29005,29007,29008,29009,29010,29011,29012,29013,29014,29015,29016,29017,29018,29019,29021,29023,29024,29025,29026,29027,29029,29033,29034,29035,29036,29037,29039,29040,29041,29044,29045,29046,29047,29049,29051,29052,29054,29055,29056,29057,29058,29059,29061,29062,29063,29064,29065,29067,29068,29069,29070,29072,29073,29074,29075,29077,29078,29079,29082,29083,29084,29085,29086,29089,29090,29091,29092,29093,29094,29095,29097,29098,29099,29101,29102,29103,29104,29105,29106,29108,29110,29111,29112,29114,29115,29116,29117,29118,29119,29120,29121,29122,29124,29125,29126,29127,29128,29129,29130,29131,29132,29133,29135,29136,29137,29138,29139,29142,29143,29144,29145,29146,29147,29148,29149,29150,29151,29153,29154,29155,29156,29158,29160,29161,29162,29163,29164,29165,29167,29168,29169,29170,29171,29172,29173,29174,29175,29176,29178,29179,29180,29181,29182,29183,29184,29185,29186,29187,29188,29189,29191,29192,29193,29194,29195,29196,29197,29198,29199,29200,29201,29202,29203,29204,29205,29206,29207,29208,29209,29210,29211,29212,29214,29215,29216,29217,29218,29219,29220,29221,29222,29223,29225,29227,29229,29230,29231,29234,29235,29236,29242,29244,29246,29248,29249,29250,29251,29252,29253,29254,29257,29258,29259,29262,29263,29264,29265,29267,29268,29269,29271,29272,29274,29276,29278,29280,29283,29284,29285,29288,29290,29291,29292,29293,29296,29297,29299,29300,29302,29303,29304,29307,29308,29309,29314,29315,29317,29318,29319,29320,29321,29324,29326,29328,29329,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29358,29361,29362,29363,29365,29370,29371,29372,29373,29374,29375,29376,29381,29382,29383,29385,29386,29387,29388,29391,29393,29395,29396,29397,29398,29400,29402,29403,58566,58567,58568,58569,58570,58571,58572,58573,58574,58575,58576,58577,58578,58579,58580,58581,58582,58583,58584,58585,58586,58587,58588,58589,58590,58591,58592,58593,58594,58595,58596,58597,58598,58599,58600,58601,58602,58603,58604,58605,58606,58607,58608,58609,58610,58611,58612,58613,58614,58615,58616,58617,58618,58619,58620,58621,58622,58623,58624,58625,58626,58627,58628,58629,58630,58631,58632,58633,58634,58635,58636,58637,58638,58639,58640,58641,58642,58643,58644,58645,58646,58647,58648,58649,58650,58651,58652,58653,58654,58655,58656,58657,58658,58659,58660,58661,12288,12289,12290,183,713,711,168,12291,12293,8212,65374,8214,8230,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12310,12311,12304,12305,177,215,247,8758,8743,8744,8721,8719,8746,8745,8712,8759,8730,8869,8741,8736,8978,8857,8747,8750,8801,8780,8776,8765,8733,8800,8814,8815,8804,8805,8734,8757,8756,9794,9792,176,8242,8243,8451,65284,164,65504,65505,8240,167,8470,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,8251,8594,8592,8593,8595,12307,58662,58663,58664,58665,58666,58667,58668,58669,58670,58671,58672,58673,58674,58675,58676,58677,58678,58679,58680,58681,58682,58683,58684,58685,58686,58687,58688,58689,58690,58691,58692,58693,58694,58695,58696,58697,58698,58699,58700,58701,58702,58703,58704,58705,58706,58707,58708,58709,58710,58711,58712,58713,58714,58715,58716,58717,58718,58719,58720,58721,58722,58723,58724,58725,58726,58727,58728,58729,58730,58731,58732,58733,58734,58735,58736,58737,58738,58739,58740,58741,58742,58743,58744,58745,58746,58747,58748,58749,58750,58751,58752,58753,58754,58755,58756,58757,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,59238,59239,59240,59241,59242,59243,9352,9353,9354,9355,9356,9357,9358,9359,9360,9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,9347,9348,9349,9350,9351,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,8364,59245,12832,12833,12834,12835,12836,12837,12838,12839,12840,12841,59246,59247,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,59248,59249,58758,58759,58760,58761,58762,58763,58764,58765,58766,58767,58768,58769,58770,58771,58772,58773,58774,58775,58776,58777,58778,58779,58780,58781,58782,58783,58784,58785,58786,58787,58788,58789,58790,58791,58792,58793,58794,58795,58796,58797,58798,58799,58800,58801,58802,58803,58804,58805,58806,58807,58808,58809,58810,58811,58812,58813,58814,58815,58816,58817,58818,58819,58820,58821,58822,58823,58824,58825,58826,58827,58828,58829,58830,58831,58832,58833,58834,58835,58836,58837,58838,58839,58840,58841,58842,58843,58844,58845,58846,58847,58848,58849,58850,58851,58852,12288,65281,65282,65283,65509,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,58854,58855,58856,58857,58858,58859,58860,58861,58862,58863,58864,58865,58866,58867,58868,58869,58870,58871,58872,58873,58874,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58886,58887,58888,58889,58890,58891,58892,58893,58894,58895,58896,58897,58898,58899,58900,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920,58921,58922,58923,58924,58925,58926,58927,58928,58929,58930,58931,58932,58933,58934,58935,58936,58937,58938,58939,58940,58941,58942,58943,58944,58945,58946,58947,58948,58949,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,59250,59251,59252,59253,59254,59255,59256,59257,59258,59259,59260,58950,58951,58952,58953,58954,58955,58956,58957,58958,58959,58960,58961,58962,58963,58964,58965,58966,58967,58968,58969,58970,58971,58972,58973,58974,58975,58976,58977,58978,58979,58980,58981,58982,58983,58984,58985,58986,58987,58988,58989,58990,58991,58992,58993,58994,58995,58996,58997,58998,58999,59e3,59001,59002,59003,59004,59005,59006,59007,59008,59009,59010,59011,59012,59013,59014,59015,59016,59017,59018,59019,59020,59021,59022,59023,59024,59025,59026,59027,59028,59029,59030,59031,59032,59033,59034,59035,59036,59037,59038,59039,59040,59041,59042,59043,59044,59045,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,59261,59262,59263,59264,59265,59266,59267,59268,59046,59047,59048,59049,59050,59051,59052,59053,59054,59055,59056,59057,59058,59059,59060,59061,59062,59063,59064,59065,59066,59067,59068,59069,59070,59071,59072,59073,59074,59075,59076,59077,59078,59079,59080,59081,59082,59083,59084,59085,59086,59087,59088,59089,59090,59091,59092,59093,59094,59095,59096,59097,59098,59099,59100,59101,59102,59103,59104,59105,59106,59107,59108,59109,59110,59111,59112,59113,59114,59115,59116,59117,59118,59119,59120,59121,59122,59123,59124,59125,59126,59127,59128,59129,59130,59131,59132,59133,59134,59135,59136,59137,59138,59139,59140,59141,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,59269,59270,59271,59272,59273,59274,59275,59276,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,59277,59278,59279,59280,59281,59282,59283,65077,65078,65081,65082,65087,65088,65085,65086,65089,65090,65091,65092,59284,59285,65083,65084,65079,65080,65073,59286,65075,65076,59287,59288,59289,59290,59291,59292,59293,59294,59295,59142,59143,59144,59145,59146,59147,59148,59149,59150,59151,59152,59153,59154,59155,59156,59157,59158,59159,59160,59161,59162,59163,59164,59165,59166,59167,59168,59169,59170,59171,59172,59173,59174,59175,59176,59177,59178,59179,59180,59181,59182,59183,59184,59185,59186,59187,59188,59189,59190,59191,59192,59193,59194,59195,59196,59197,59198,59199,59200,59201,59202,59203,59204,59205,59206,59207,59208,59209,59210,59211,59212,59213,59214,59215,59216,59217,59218,59219,59220,59221,59222,59223,59224,59225,59226,59227,59228,59229,59230,59231,59232,59233,59234,59235,59236,59237,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,59296,59297,59298,59299,59300,59301,59302,59303,59304,59305,59306,59307,59308,59309,59310,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,59311,59312,59313,59314,59315,59316,59317,59318,59319,59320,59321,59322,59323,714,715,729,8211,8213,8229,8245,8453,8457,8598,8599,8600,8601,8725,8735,8739,8786,8806,8807,8895,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584,9585,9586,9587,9601,9602,9603,9604,9605,9606,9607,9608,9609,9610,9611,9612,9613,9614,9615,9619,9620,9621,9660,9661,9698,9699,9700,9701,9737,8853,12306,12317,12318,59324,59325,59326,59327,59328,59329,59330,59331,59332,59333,59334,257,225,462,224,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,234,593,7743,324,328,505,609,59337,59338,59339,59340,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,59341,59342,59343,59344,59345,59346,59347,59348,59349,59350,59351,59352,59353,59354,59355,59356,59357,59358,59359,59360,59361,12321,12322,12323,12324,12325,12326,12327,12328,12329,12963,13198,13199,13212,13213,13214,13217,13252,13262,13265,13266,13269,65072,65506,65508,59362,8481,12849,59363,8208,59364,59365,59366,12540,12443,12444,12541,12542,12294,12445,12446,65097,65098,65099,65100,65101,65102,65103,65104,65105,65106,65108,65109,65110,65111,65113,65114,65115,65116,65117,65118,65119,65120,65121,65122,65123,65124,65125,65126,65128,65129,65130,65131,12350,12272,12273,12274,12275,12276,12277,12278,12279,12280,12281,12282,12283,12295,59380,59381,59382,59383,59384,59385,59386,59387,59388,59389,59390,59391,59392,9472,9473,9474,9475,9476,9477,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,9489,9490,9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506,9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,9521,9522,9523,9524,9525,9526,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,59393,59394,59395,59396,59397,59398,59399,59400,59401,59402,59403,59404,59405,59406,59407,29404,29405,29407,29410,29411,29412,29413,29414,29415,29418,29419,29429,29430,29433,29437,29438,29439,29440,29442,29444,29445,29446,29447,29448,29449,29451,29452,29453,29455,29456,29457,29458,29460,29464,29465,29466,29471,29472,29475,29476,29478,29479,29480,29485,29487,29488,29490,29491,29493,29494,29498,29499,29500,29501,29504,29505,29506,29507,29508,29509,29510,29511,29512,29513,29514,29515,29516,29518,29519,29521,29523,29524,29525,29526,29528,29529,29530,29531,29532,29533,29534,29535,29537,29538,29539,29540,29541,29542,29543,29544,29545,29546,29547,29550,29552,29553,57344,57345,57346,57347,57348,57349,57350,57351,57352,57353,57354,57355,57356,57357,57358,57359,57360,57361,57362,57363,57364,57365,57366,57367,57368,57369,57370,57371,57372,57373,57374,57375,57376,57377,57378,57379,57380,57381,57382,57383,57384,57385,57386,57387,57388,57389,57390,57391,57392,57393,57394,57395,57396,57397,57398,57399,57400,57401,57402,57403,57404,57405,57406,57407,57408,57409,57410,57411,57412,57413,57414,57415,57416,57417,57418,57419,57420,57421,57422,57423,57424,57425,57426,57427,57428,57429,57430,57431,57432,57433,57434,57435,57436,57437,29554,29555,29556,29557,29558,29559,29560,29561,29562,29563,29564,29565,29567,29568,29569,29570,29571,29573,29574,29576,29578,29580,29581,29583,29584,29586,29587,29588,29589,29591,29592,29593,29594,29596,29597,29598,29600,29601,29603,29604,29605,29606,29607,29608,29610,29612,29613,29617,29620,29621,29622,29624,29625,29628,29629,29630,29631,29633,29635,29636,29637,29638,29639,29643,29644,29646,29650,29651,29652,29653,29654,29655,29656,29658,29659,29660,29661,29663,29665,29666,29667,29668,29670,29672,29674,29675,29676,29678,29679,29680,29681,29683,29684,29685,29686,29687,57438,57439,57440,57441,57442,57443,57444,57445,57446,57447,57448,57449,57450,57451,57452,57453,57454,57455,57456,57457,57458,57459,57460,57461,57462,57463,57464,57465,57466,57467,57468,57469,57470,57471,57472,57473,57474,57475,57476,57477,57478,57479,57480,57481,57482,57483,57484,57485,57486,57487,57488,57489,57490,57491,57492,57493,57494,57495,57496,57497,57498,57499,57500,57501,57502,57503,57504,57505,57506,57507,57508,57509,57510,57511,57512,57513,57514,57515,57516,57517,57518,57519,57520,57521,57522,57523,57524,57525,57526,57527,57528,57529,57530,57531,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29700,29703,29704,29707,29708,29709,29710,29713,29714,29715,29716,29717,29718,29719,29720,29721,29724,29725,29726,29727,29728,29729,29731,29732,29735,29737,29739,29741,29743,29745,29746,29751,29752,29753,29754,29755,29757,29758,29759,29760,29762,29763,29764,29765,29766,29767,29768,29769,29770,29771,29772,29773,29774,29775,29776,29777,29778,29779,29780,29782,29784,29789,29792,29793,29794,29795,29796,29797,29798,29799,29800,29801,29802,29803,29804,29806,29807,29809,29810,29811,29812,29813,29816,29817,29818,57532,57533,57534,57535,57536,57537,57538,57539,57540,57541,57542,57543,57544,57545,57546,57547,57548,57549,57550,57551,57552,57553,57554,57555,57556,57557,57558,57559,57560,57561,57562,57563,57564,57565,57566,57567,57568,57569,57570,57571,57572,57573,57574,57575,57576,57577,57578,57579,57580,57581,57582,57583,57584,57585,57586,57587,57588,57589,57590,57591,57592,57593,57594,57595,57596,57597,57598,57599,57600,57601,57602,57603,57604,57605,57606,57607,57608,57609,57610,57611,57612,57613,57614,57615,57616,57617,57618,57619,57620,57621,57622,57623,57624,57625,29819,29820,29821,29823,29826,29828,29829,29830,29832,29833,29834,29836,29837,29839,29841,29842,29843,29844,29845,29846,29847,29848,29849,29850,29851,29853,29855,29856,29857,29858,29859,29860,29861,29862,29866,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29883,29884,29885,29886,29887,29888,29889,29890,29891,29892,29893,29894,29895,29896,29897,29898,29899,29900,29901,29902,29903,29904,29905,29907,29908,29909,29910,29911,29912,29913,29914,29915,29917,29919,29921,29925,29927,29928,29929,29930,29931,29932,29933,29936,29937,29938,57626,57627,57628,57629,57630,57631,57632,57633,57634,57635,57636,57637,57638,57639,57640,57641,57642,57643,57644,57645,57646,57647,57648,57649,57650,57651,57652,57653,57654,57655,57656,57657,57658,57659,57660,57661,57662,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57677,57678,57679,57680,57681,57682,57683,57684,57685,57686,57687,57688,57689,57690,57691,57692,57693,57694,57695,57696,57697,57698,57699,57700,57701,57702,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57717,57718,57719,29939,29941,29944,29945,29946,29947,29948,29949,29950,29952,29953,29954,29955,29957,29958,29959,29960,29961,29962,29963,29964,29966,29968,29970,29972,29973,29974,29975,29979,29981,29982,29984,29985,29986,29987,29988,29990,29991,29994,29998,30004,30006,30009,30012,30013,30015,30017,30018,30019,30020,30022,30023,30025,30026,30029,30032,30033,30034,30035,30037,30038,30039,30040,30045,30046,30047,30048,30049,30050,30051,30052,30055,30056,30057,30059,30060,30061,30062,30063,30064,30065,30067,30069,30070,30071,30074,30075,30076,30077,30078,30080,30081,30082,30084,30085,30087,57720,57721,57722,57723,57724,57725,57726,57727,57728,57729,57730,57731,57732,57733,57734,57735,57736,57737,57738,57739,57740,57741,57742,57743,57744,57745,57746,57747,57748,57749,57750,57751,57752,57753,57754,57755,57756,57757,57758,57759,57760,57761,57762,57763,57764,57765,57766,57767,57768,57769,57770,57771,57772,57773,57774,57775,57776,57777,57778,57779,57780,57781,57782,57783,57784,57785,57786,57787,57788,57789,57790,57791,57792,57793,57794,57795,57796,57797,57798,57799,57800,57801,57802,57803,57804,57805,57806,57807,57808,57809,57810,57811,57812,57813,30088,30089,30090,30092,30093,30094,30096,30099,30101,30104,30107,30108,30110,30114,30118,30119,30120,30121,30122,30125,30134,30135,30138,30139,30143,30144,30145,30150,30155,30156,30158,30159,30160,30161,30163,30167,30169,30170,30172,30173,30175,30176,30177,30181,30185,30188,30189,30190,30191,30194,30195,30197,30198,30199,30200,30202,30203,30205,30206,30210,30212,30214,30215,30216,30217,30219,30221,30222,30223,30225,30226,30227,30228,30230,30234,30236,30237,30238,30241,30243,30247,30248,30252,30254,30255,30257,30258,30262,30263,30265,30266,30267,30269,30273,30274,30276,57814,57815,57816,57817,57818,57819,57820,57821,57822,57823,57824,57825,57826,57827,57828,57829,57830,57831,57832,57833,57834,57835,57836,57837,57838,57839,57840,57841,57842,57843,57844,57845,57846,57847,57848,57849,57850,57851,57852,57853,57854,57855,57856,57857,57858,57859,57860,57861,57862,57863,57864,57865,57866,57867,57868,57869,57870,57871,57872,57873,57874,57875,57876,57877,57878,57879,57880,57881,57882,57883,57884,57885,57886,57887,57888,57889,57890,57891,57892,57893,57894,57895,57896,57897,57898,57899,57900,57901,57902,57903,57904,57905,57906,57907,30277,30278,30279,30280,30281,30282,30283,30286,30287,30288,30289,30290,30291,30293,30295,30296,30297,30298,30299,30301,30303,30304,30305,30306,30308,30309,30310,30311,30312,30313,30314,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30329,30330,30332,30335,30336,30337,30339,30341,30345,30346,30348,30349,30351,30352,30354,30356,30357,30359,30360,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30373,30374,30375,30376,30377,30378,30379,30380,30381,30383,30384,30387,30389,30390,30391,30392,30393,30394,30395,30396,30397,30398,30400,30401,30403,21834,38463,22467,25384,21710,21769,21696,30353,30284,34108,30702,33406,30861,29233,38552,38797,27688,23433,20474,25353,26263,23736,33018,26696,32942,26114,30414,20985,25942,29100,32753,34948,20658,22885,25034,28595,33453,25420,25170,21485,21543,31494,20843,30116,24052,25300,36299,38774,25226,32793,22365,38712,32610,29240,30333,26575,30334,25670,20336,36133,25308,31255,26001,29677,25644,25203,33324,39041,26495,29256,25198,25292,20276,29923,21322,21150,32458,37030,24110,26758,27036,33152,32465,26834,30917,34444,38225,20621,35876,33502,32990,21253,35090,21093,30404,30407,30409,30411,30412,30419,30421,30425,30426,30428,30429,30430,30432,30433,30434,30435,30436,30438,30439,30440,30441,30442,30443,30444,30445,30448,30451,30453,30454,30455,30458,30459,30461,30463,30464,30466,30467,30469,30470,30474,30476,30478,30479,30480,30481,30482,30483,30484,30485,30486,30487,30488,30491,30492,30493,30494,30497,30499,30500,30501,30503,30506,30507,30508,30510,30512,30513,30514,30515,30516,30521,30523,30525,30526,30527,30530,30532,30533,30534,30536,30537,30538,30539,30540,30541,30542,30543,30546,30547,30548,30549,30550,30551,30552,30553,30556,34180,38649,20445,22561,39281,23453,25265,25253,26292,35961,40077,29190,26479,30865,24754,21329,21271,36744,32972,36125,38049,20493,29384,22791,24811,28953,34987,22868,33519,26412,31528,23849,32503,29997,27893,36454,36856,36924,40763,27604,37145,31508,24444,30887,34006,34109,27605,27609,27606,24065,24199,30201,38381,25949,24330,24517,36767,22721,33218,36991,38491,38829,36793,32534,36140,25153,20415,21464,21342,36776,36777,36779,36941,26631,24426,33176,34920,40150,24971,21035,30250,24428,25996,28626,28392,23486,25672,20853,20912,26564,19993,31177,39292,28851,30557,30558,30559,30560,30564,30567,30569,30570,30573,30574,30575,30576,30577,30578,30579,30580,30581,30582,30583,30584,30586,30587,30588,30593,30594,30595,30598,30599,30600,30601,30602,30603,30607,30608,30611,30612,30613,30614,30615,30616,30617,30618,30619,30620,30621,30622,30625,30627,30628,30630,30632,30635,30637,30638,30639,30641,30642,30644,30646,30647,30648,30649,30650,30652,30654,30656,30657,30658,30659,30660,30661,30662,30663,30664,30665,30666,30667,30668,30670,30671,30672,30673,30674,30675,30676,30677,30678,30680,30681,30682,30685,30686,30687,30688,30689,30692,30149,24182,29627,33760,25773,25320,38069,27874,21338,21187,25615,38082,31636,20271,24091,33334,33046,33162,28196,27850,39539,25429,21340,21754,34917,22496,19981,24067,27493,31807,37096,24598,25830,29468,35009,26448,25165,36130,30572,36393,37319,24425,33756,34081,39184,21442,34453,27531,24813,24808,28799,33485,33329,20179,27815,34255,25805,31961,27133,26361,33609,21397,31574,20391,20876,27979,23618,36461,25554,21449,33580,33590,26597,30900,25661,23519,23700,24046,35815,25286,26612,35962,25600,25530,34633,39307,35863,32544,38130,20135,38416,39076,26124,29462,30694,30696,30698,30703,30704,30705,30706,30708,30709,30711,30713,30714,30715,30716,30723,30724,30725,30726,30727,30728,30730,30731,30734,30735,30736,30739,30741,30745,30747,30750,30752,30753,30754,30756,30760,30762,30763,30766,30767,30769,30770,30771,30773,30774,30781,30783,30785,30786,30787,30788,30790,30792,30793,30794,30795,30797,30799,30801,30803,30804,30808,30809,30810,30811,30812,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30831,30832,30833,30834,30835,30836,30837,30838,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30851,22330,23581,24120,38271,20607,32928,21378,25950,30021,21809,20513,36229,25220,38046,26397,22066,28526,24034,21557,28818,36710,25199,25764,25507,24443,28552,37108,33251,36784,23576,26216,24561,27785,38472,36225,34924,25745,31216,22478,27225,25104,21576,20056,31243,24809,28548,35802,25215,36894,39563,31204,21507,30196,25345,21273,27744,36831,24347,39536,32827,40831,20360,23610,36196,32709,26021,28861,20805,20914,34411,23815,23456,25277,37228,30068,36364,31264,24833,31609,20167,32504,30597,19985,33261,21021,20986,27249,21416,36487,38148,38607,28353,38500,26970,30852,30853,30854,30856,30858,30859,30863,30864,30866,30868,30869,30870,30873,30877,30878,30880,30882,30884,30886,30888,30889,30890,30891,30892,30893,30894,30895,30901,30902,30903,30904,30906,30907,30908,30909,30911,30912,30914,30915,30916,30918,30919,30920,30924,30925,30926,30927,30929,30930,30931,30934,30935,30936,30938,30939,30940,30941,30942,30943,30944,30945,30946,30947,30948,30949,30950,30951,30953,30954,30955,30957,30958,30959,30960,30961,30963,30965,30966,30968,30969,30971,30972,30973,30974,30975,30976,30978,30979,30980,30982,30983,30984,30985,30986,30987,30988,30784,20648,30679,25616,35302,22788,25571,24029,31359,26941,20256,33337,21912,20018,30126,31383,24162,24202,38383,21019,21561,28810,25462,38180,22402,26149,26943,37255,21767,28147,32431,34850,25139,32496,30133,33576,30913,38604,36766,24904,29943,35789,27492,21050,36176,27425,32874,33905,22257,21254,20174,19995,20945,31895,37259,31751,20419,36479,31713,31388,25703,23828,20652,33030,30209,31929,28140,32736,26449,23384,23544,30923,25774,25619,25514,25387,38169,25645,36798,31572,30249,25171,22823,21574,27513,20643,25140,24102,27526,20195,36151,34955,24453,36910,30989,30990,30991,30992,30993,30994,30996,30997,30998,30999,31e3,31001,31002,31003,31004,31005,31007,31008,31009,31010,31011,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023,31024,31025,31026,31027,31029,31030,31031,31032,31033,31037,31039,31042,31043,31044,31045,31047,31050,31051,31052,31053,31054,31055,31056,31057,31058,31060,31061,31064,31065,31073,31075,31076,31078,31081,31082,31083,31084,31086,31088,31089,31090,31091,31092,31093,31094,31097,31099,31100,31101,31102,31103,31106,31107,31110,31111,31112,31113,31115,31116,31117,31118,31120,31121,31122,24608,32829,25285,20025,21333,37112,25528,32966,26086,27694,20294,24814,28129,35806,24377,34507,24403,25377,20826,33633,26723,20992,25443,36424,20498,23707,31095,23548,21040,31291,24764,36947,30423,24503,24471,30340,36460,28783,30331,31561,30634,20979,37011,22564,20302,28404,36842,25932,31515,29380,28068,32735,23265,25269,24213,22320,33922,31532,24093,24351,36882,32532,39072,25474,28359,30872,28857,20856,38747,22443,30005,20291,30008,24215,24806,22880,28096,27583,30857,21500,38613,20939,20993,25481,21514,38035,35843,36300,29241,30879,34678,36845,35853,21472,31123,31124,31125,31126,31127,31128,31129,31131,31132,31133,31134,31135,31136,31137,31138,31139,31140,31141,31142,31144,31145,31146,31147,31148,31149,31150,31151,31152,31153,31154,31156,31157,31158,31159,31160,31164,31167,31170,31172,31173,31175,31176,31178,31180,31182,31183,31184,31187,31188,31190,31191,31193,31194,31195,31196,31197,31198,31200,31201,31202,31205,31208,31210,31212,31214,31217,31218,31219,31220,31221,31222,31223,31225,31226,31228,31230,31231,31233,31236,31237,31239,31240,31241,31242,31244,31247,31248,31249,31250,31251,31253,31254,31256,31257,31259,31260,19969,30447,21486,38025,39030,40718,38189,23450,35746,20002,19996,20908,33891,25026,21160,26635,20375,24683,20923,27934,20828,25238,26007,38497,35910,36887,30168,37117,30563,27602,29322,29420,35835,22581,30585,36172,26460,38208,32922,24230,28193,22930,31471,30701,38203,27573,26029,32526,22534,20817,38431,23545,22697,21544,36466,25958,39039,22244,38045,30462,36929,25479,21702,22810,22842,22427,36530,26421,36346,33333,21057,24816,22549,34558,23784,40517,20420,39069,35769,23077,24694,21380,25212,36943,37122,39295,24681,32780,20799,32819,23572,39285,27953,20108,31261,31263,31265,31266,31268,31269,31270,31271,31272,31273,31274,31275,31276,31277,31278,31279,31280,31281,31282,31284,31285,31286,31288,31290,31294,31296,31297,31298,31299,31300,31301,31303,31304,31305,31306,31307,31308,31309,31310,31311,31312,31314,31315,31316,31317,31318,31320,31321,31322,31323,31324,31325,31326,31327,31328,31329,31330,31331,31332,31333,31334,31335,31336,31337,31338,31339,31340,31341,31342,31343,31345,31346,31347,31349,31355,31356,31357,31358,31362,31365,31367,31369,31370,31371,31372,31374,31375,31376,31379,31380,31385,31386,31387,31390,31393,31394,36144,21457,32602,31567,20240,20047,38400,27861,29648,34281,24070,30058,32763,27146,30718,38034,32321,20961,28902,21453,36820,33539,36137,29359,39277,27867,22346,33459,26041,32938,25151,38450,22952,20223,35775,32442,25918,33778,38750,21857,39134,32933,21290,35837,21536,32954,24223,27832,36153,33452,37210,21545,27675,20998,32439,22367,28954,27774,31881,22859,20221,24575,24868,31914,20016,23553,26539,34562,23792,38155,39118,30127,28925,36898,20911,32541,35773,22857,20964,20315,21542,22827,25975,32932,23413,25206,25282,36752,24133,27679,31526,20239,20440,26381,31395,31396,31399,31401,31402,31403,31406,31407,31408,31409,31410,31412,31413,31414,31415,31416,31417,31418,31419,31420,31421,31422,31424,31425,31426,31427,31428,31429,31430,31431,31432,31433,31434,31436,31437,31438,31439,31440,31441,31442,31443,31444,31445,31447,31448,31450,31451,31452,31453,31457,31458,31460,31463,31464,31465,31466,31467,31468,31470,31472,31473,31474,31475,31476,31477,31478,31479,31480,31483,31484,31486,31488,31489,31490,31493,31495,31497,31500,31501,31502,31504,31506,31507,31510,31511,31512,31514,31516,31517,31519,31521,31522,31523,31527,31529,31533,28014,28074,31119,34993,24343,29995,25242,36741,20463,37340,26023,33071,33105,24220,33104,36212,21103,35206,36171,22797,20613,20184,38428,29238,33145,36127,23500,35747,38468,22919,32538,21648,22134,22030,35813,25913,27010,38041,30422,28297,24178,29976,26438,26577,31487,32925,36214,24863,31174,25954,36195,20872,21018,38050,32568,32923,32434,23703,28207,26464,31705,30347,39640,33167,32660,31957,25630,38224,31295,21578,21733,27468,25601,25096,40509,33011,30105,21106,38761,33883,26684,34532,38401,38548,38124,20010,21508,32473,26681,36319,32789,26356,24218,32697,31535,31536,31538,31540,31541,31542,31543,31545,31547,31549,31551,31552,31553,31554,31555,31556,31558,31560,31562,31565,31566,31571,31573,31575,31577,31580,31582,31583,31585,31587,31588,31589,31590,31591,31592,31593,31594,31595,31596,31597,31599,31600,31603,31604,31606,31608,31610,31612,31613,31615,31617,31618,31619,31620,31622,31623,31624,31625,31626,31627,31628,31630,31631,31633,31634,31635,31638,31640,31641,31642,31643,31646,31647,31648,31651,31652,31653,31662,31663,31664,31666,31667,31669,31670,31671,31673,31674,31675,31676,31677,31678,31679,31680,31682,31683,31684,22466,32831,26775,24037,25915,21151,24685,40858,20379,36524,20844,23467,24339,24041,27742,25329,36129,20849,38057,21246,27807,33503,29399,22434,26500,36141,22815,36764,33735,21653,31629,20272,27837,23396,22993,40723,21476,34506,39592,35895,32929,25925,39038,22266,38599,21038,29916,21072,23521,25346,35074,20054,25296,24618,26874,20851,23448,20896,35266,31649,39302,32592,24815,28748,36143,20809,24191,36891,29808,35268,22317,30789,24402,40863,38394,36712,39740,35809,30328,26690,26588,36330,36149,21053,36746,28378,26829,38149,37101,22269,26524,35065,36807,21704,31685,31688,31689,31690,31691,31693,31694,31695,31696,31698,31700,31701,31702,31703,31704,31707,31708,31710,31711,31712,31714,31715,31716,31719,31720,31721,31723,31724,31725,31727,31728,31730,31731,31732,31733,31734,31736,31737,31738,31739,31741,31743,31744,31745,31746,31747,31748,31749,31750,31752,31753,31754,31757,31758,31760,31761,31762,31763,31764,31765,31767,31768,31769,31770,31771,31772,31773,31774,31776,31777,31778,31779,31780,31781,31784,31785,31787,31788,31789,31790,31791,31792,31793,31794,31795,31796,31797,31798,31799,31801,31802,31803,31804,31805,31806,31810,39608,23401,28023,27686,20133,23475,39559,37219,25e3,37039,38889,21547,28085,23506,20989,21898,32597,32752,25788,25421,26097,25022,24717,28938,27735,27721,22831,26477,33322,22741,22158,35946,27627,37085,22909,32791,21495,28009,21621,21917,33655,33743,26680,31166,21644,20309,21512,30418,35977,38402,27827,28088,36203,35088,40548,36154,22079,40657,30165,24456,29408,24680,21756,20136,27178,34913,24658,36720,21700,28888,34425,40511,27946,23439,24344,32418,21897,20399,29492,21564,21402,20505,21518,21628,20046,24573,29786,22774,33899,32993,34676,29392,31946,28246,31811,31812,31813,31814,31815,31816,31817,31818,31819,31820,31822,31823,31824,31825,31826,31827,31828,31829,31830,31831,31832,31833,31834,31835,31836,31837,31838,31839,31840,31841,31842,31843,31844,31845,31846,31847,31848,31849,31850,31851,31852,31853,31854,31855,31856,31857,31858,31861,31862,31863,31864,31865,31866,31870,31871,31872,31873,31874,31875,31876,31877,31878,31879,31880,31882,31883,31884,31885,31886,31887,31888,31891,31892,31894,31897,31898,31899,31904,31905,31907,31910,31911,31912,31913,31915,31916,31917,31919,31920,31924,31925,31926,31927,31928,31930,31931,24359,34382,21804,25252,20114,27818,25143,33457,21719,21326,29502,28369,30011,21010,21270,35805,27088,24458,24576,28142,22351,27426,29615,26707,36824,32531,25442,24739,21796,30186,35938,28949,28067,23462,24187,33618,24908,40644,30970,34647,31783,30343,20976,24822,29004,26179,24140,24653,35854,28784,25381,36745,24509,24674,34516,22238,27585,24724,24935,21321,24800,26214,36159,31229,20250,28905,27719,35763,35826,32472,33636,26127,23130,39746,27985,28151,35905,27963,20249,28779,33719,25110,24785,38669,36135,31096,20987,22334,22522,26426,30072,31293,31215,31637,31935,31936,31938,31939,31940,31942,31945,31947,31950,31951,31952,31953,31954,31955,31956,31960,31962,31963,31965,31966,31969,31970,31971,31972,31973,31974,31975,31977,31978,31979,31980,31981,31982,31984,31985,31986,31987,31988,31989,31990,31991,31993,31994,31996,31997,31998,31999,32e3,32001,32002,32003,32004,32005,32006,32007,32008,32009,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32035,32036,32037,32038,32040,32041,32042,32044,32045,32046,32048,32049,32050,32051,32052,32053,32054,32908,39269,36857,28608,35749,40481,23020,32489,32521,21513,26497,26840,36753,31821,38598,21450,24613,30142,27762,21363,23241,32423,25380,20960,33034,24049,34015,25216,20864,23395,20238,31085,21058,24760,27982,23492,23490,35745,35760,26082,24524,38469,22931,32487,32426,22025,26551,22841,20339,23478,21152,33626,39050,36158,30002,38078,20551,31292,20215,26550,39550,23233,27516,30417,22362,23574,31546,38388,29006,20860,32937,33392,22904,32516,33575,26816,26604,30897,30839,25315,25441,31616,20461,21098,20943,33616,27099,37492,36341,36145,35265,38190,31661,20214,32055,32056,32057,32058,32059,32060,32061,32062,32063,32064,32065,32066,32067,32068,32069,32070,32071,32072,32073,32074,32075,32076,32077,32078,32079,32080,32081,32082,32083,32084,32085,32086,32087,32088,32089,32090,32091,32092,32093,32094,32095,32096,32097,32098,32099,32100,32101,32102,32103,32104,32105,32106,32107,32108,32109,32111,32112,32113,32114,32115,32116,32117,32118,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32131,32132,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,20581,33328,21073,39279,28176,28293,28071,24314,20725,23004,23558,27974,27743,30086,33931,26728,22870,35762,21280,37233,38477,34121,26898,30977,28966,33014,20132,37066,27975,39556,23047,22204,25605,38128,30699,20389,33050,29409,35282,39290,32564,32478,21119,25945,37237,36735,36739,21483,31382,25581,25509,30342,31224,34903,38454,25130,21163,33410,26708,26480,25463,30571,31469,27905,32467,35299,22992,25106,34249,33445,30028,20511,20171,30117,35819,23626,24062,31563,26020,37329,20170,27941,35167,32039,38182,20165,35880,36827,38771,26187,31105,36817,28908,28024,32153,32154,32155,32156,32157,32158,32159,32160,32161,32162,32163,32164,32165,32167,32168,32169,32170,32171,32172,32173,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,23613,21170,33606,20834,33550,30555,26230,40120,20140,24778,31934,31923,32463,20117,35686,26223,39048,38745,22659,25964,38236,24452,30153,38742,31455,31454,20928,28847,31384,25578,31350,32416,29590,38893,20037,28792,20061,37202,21417,25937,26087,33276,33285,21646,23601,30106,38816,25304,29401,30141,23621,39545,33738,23616,21632,30697,20030,27822,32858,25298,25454,24040,20855,36317,36382,38191,20465,21477,24807,28844,21095,25424,40515,23071,20518,30519,21367,32482,25733,25899,25225,25496,20500,29237,35273,20915,35776,32477,22343,33740,38055,20891,21531,23803,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32261,32262,32263,32264,32265,32266,32267,32268,32269,32270,32271,32272,32273,32274,32275,32276,32277,32278,32279,32280,32281,32282,32283,32284,32285,32286,32287,32288,32289,32290,32291,32292,32293,32294,32295,32296,32297,32298,32299,32300,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32316,32317,32318,32319,32320,32322,32323,32324,32325,32326,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,20426,31459,27994,37089,39567,21888,21654,21345,21679,24320,25577,26999,20975,24936,21002,22570,21208,22350,30733,30475,24247,24951,31968,25179,25239,20130,28821,32771,25335,28900,38752,22391,33499,26607,26869,30933,39063,31185,22771,21683,21487,28212,20811,21051,23458,35838,32943,21827,22438,24691,22353,21549,31354,24656,23380,25511,25248,21475,25187,23495,26543,21741,31391,33510,37239,24211,35044,22840,22446,25358,36328,33007,22359,31607,20393,24555,23485,27454,21281,31568,29378,26694,30719,30518,26103,20917,20111,30420,23743,31397,33909,22862,39745,20608,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32361,32362,32363,32364,32365,32366,32367,32368,32369,32370,32371,32372,32373,32374,32375,32376,32377,32378,32379,32380,32381,32382,32383,32384,32385,32387,32388,32389,32390,32391,32392,32393,32394,32395,32396,32397,32398,32399,32400,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32412,32413,32414,32430,32436,32443,32444,32470,32484,32492,32505,32522,32528,32542,32567,32569,32571,32572,32573,32574,32575,32576,32577,32579,32582,32583,32584,32585,32586,32587,32588,32589,32590,32591,32594,32595,39304,24871,28291,22372,26118,25414,22256,25324,25193,24275,38420,22403,25289,21895,34593,33098,36771,21862,33713,26469,36182,34013,23146,26639,25318,31726,38417,20848,28572,35888,25597,35272,25042,32518,28866,28389,29701,27028,29436,24266,37070,26391,28010,25438,21171,29282,32769,20332,23013,37226,28889,28061,21202,20048,38647,38253,34174,30922,32047,20769,22418,25794,32907,31867,27882,26865,26974,20919,21400,26792,29313,40654,31729,29432,31163,28435,29702,26446,37324,40100,31036,33673,33620,21519,26647,20029,21385,21169,30782,21382,21033,20616,20363,20432,32598,32601,32603,32604,32605,32606,32608,32611,32612,32613,32614,32615,32619,32620,32621,32623,32624,32627,32629,32630,32631,32632,32634,32635,32636,32637,32639,32640,32642,32643,32644,32645,32646,32647,32648,32649,32651,32653,32655,32656,32657,32658,32659,32661,32662,32663,32664,32665,32667,32668,32672,32674,32675,32677,32678,32680,32681,32682,32683,32684,32685,32686,32689,32691,32692,32693,32694,32695,32698,32699,32702,32704,32706,32707,32708,32710,32711,32712,32713,32715,32717,32719,32720,32721,32722,32723,32726,32727,32729,32730,32731,32732,32733,32734,32738,32739,30178,31435,31890,27813,38582,21147,29827,21737,20457,32852,33714,36830,38256,24265,24604,28063,24088,25947,33080,38142,24651,28860,32451,31918,20937,26753,31921,33391,20004,36742,37327,26238,20142,35845,25769,32842,20698,30103,29134,23525,36797,28518,20102,25730,38243,24278,26009,21015,35010,28872,21155,29454,29747,26519,30967,38678,20020,37051,40158,28107,20955,36161,21533,25294,29618,33777,38646,40836,38083,20278,32666,20940,28789,38517,23725,39046,21478,20196,28316,29705,27060,30827,39311,30041,21016,30244,27969,26611,20845,40857,32843,21657,31548,31423,32740,32743,32744,32746,32747,32748,32749,32751,32754,32756,32757,32758,32759,32760,32761,32762,32765,32766,32767,32770,32775,32776,32777,32778,32782,32783,32785,32787,32794,32795,32797,32798,32799,32801,32803,32804,32811,32812,32813,32814,32815,32816,32818,32820,32825,32826,32828,32830,32832,32833,32836,32837,32839,32840,32841,32846,32847,32848,32849,32851,32853,32854,32855,32857,32859,32860,32861,32862,32863,32864,32865,32866,32867,32868,32869,32870,32871,32872,32875,32876,32877,32878,32879,32880,32882,32883,32884,32885,32886,32887,32888,32889,32890,32891,32892,32893,38534,22404,25314,38471,27004,23044,25602,31699,28431,38475,33446,21346,39045,24208,28809,25523,21348,34383,40065,40595,30860,38706,36335,36162,40575,28510,31108,24405,38470,25134,39540,21525,38109,20387,26053,23653,23649,32533,34385,27695,24459,29575,28388,32511,23782,25371,23402,28390,21365,20081,25504,30053,25249,36718,20262,20177,27814,32438,35770,33821,34746,32599,36923,38179,31657,39585,35064,33853,27931,39558,32476,22920,40635,29595,30721,34434,39532,39554,22043,21527,22475,20080,40614,21334,36808,33033,30610,39314,34542,28385,34067,26364,24930,28459,32894,32897,32898,32901,32904,32906,32909,32910,32911,32912,32913,32914,32916,32917,32919,32921,32926,32931,32934,32935,32936,32940,32944,32947,32949,32950,32952,32953,32955,32965,32967,32968,32969,32970,32971,32975,32976,32977,32978,32979,32980,32981,32984,32991,32992,32994,32995,32998,33006,33013,33015,33017,33019,33022,33023,33024,33025,33027,33028,33029,33031,33032,33035,33036,33045,33047,33049,33051,33052,33053,33055,33056,33057,33058,33059,33060,33061,33062,33063,33064,33065,33066,33067,33069,33070,33072,33075,33076,33077,33079,33081,33082,33083,33084,33085,33087,35881,33426,33579,30450,27667,24537,33725,29483,33541,38170,27611,30683,38086,21359,33538,20882,24125,35980,36152,20040,29611,26522,26757,37238,38665,29028,27809,30473,23186,38209,27599,32654,26151,23504,22969,23194,38376,38391,20204,33804,33945,27308,30431,38192,29467,26790,23391,30511,37274,38753,31964,36855,35868,24357,31859,31192,35269,27852,34588,23494,24130,26825,30496,32501,20885,20813,21193,23081,32517,38754,33495,25551,30596,34256,31186,28218,24217,22937,34065,28781,27665,25279,30399,25935,24751,38397,26126,34719,40483,38125,21517,21629,35884,25720,33088,33089,33090,33091,33092,33093,33095,33097,33101,33102,33103,33106,33110,33111,33112,33115,33116,33117,33118,33119,33121,33122,33123,33124,33126,33128,33130,33131,33132,33135,33138,33139,33141,33142,33143,33144,33153,33155,33156,33157,33158,33159,33161,33163,33164,33165,33166,33168,33170,33171,33172,33173,33174,33175,33177,33178,33182,33183,33184,33185,33186,33188,33189,33191,33193,33195,33196,33197,33198,33199,33200,33201,33202,33204,33205,33206,33207,33208,33209,33212,33213,33214,33215,33220,33221,33223,33224,33225,33227,33229,33230,33231,33232,33233,33234,33235,25721,34321,27169,33180,30952,25705,39764,25273,26411,33707,22696,40664,27819,28448,23518,38476,35851,29279,26576,25287,29281,20137,22982,27597,22675,26286,24149,21215,24917,26408,30446,30566,29287,31302,25343,21738,21584,38048,37027,23068,32435,27670,20035,22902,32784,22856,21335,30007,38590,22218,25376,33041,24700,38393,28118,21602,39297,20869,23273,33021,22958,38675,20522,27877,23612,25311,20320,21311,33147,36870,28346,34091,25288,24180,30910,25781,25467,24565,23064,37247,40479,23615,25423,32834,23421,21870,38218,38221,28037,24744,26592,29406,20957,23425,33236,33237,33238,33239,33240,33241,33242,33243,33244,33245,33246,33247,33248,33249,33250,33252,33253,33254,33256,33257,33259,33262,33263,33264,33265,33266,33269,33270,33271,33272,33273,33274,33277,33279,33283,33287,33288,33289,33290,33291,33294,33295,33297,33299,33301,33302,33303,33304,33305,33306,33309,33312,33316,33317,33318,33319,33321,33326,33330,33338,33340,33341,33343,33344,33345,33346,33347,33349,33350,33352,33354,33356,33357,33358,33360,33361,33362,33363,33364,33365,33366,33367,33369,33371,33372,33373,33374,33376,33377,33378,33379,33380,33381,33382,33383,33385,25319,27870,29275,25197,38062,32445,33043,27987,20892,24324,22900,21162,24594,22899,26262,34384,30111,25386,25062,31983,35834,21734,27431,40485,27572,34261,21589,20598,27812,21866,36276,29228,24085,24597,29750,25293,25490,29260,24472,28227,27966,25856,28504,30424,30928,30460,30036,21028,21467,20051,24222,26049,32810,32982,25243,21638,21032,28846,34957,36305,27873,21624,32986,22521,35060,36180,38506,37197,20329,27803,21943,30406,30768,25256,28921,28558,24429,34028,26842,30844,31735,33192,26379,40527,25447,30896,22383,30738,38713,25209,25259,21128,29749,27607,33386,33387,33388,33389,33393,33397,33398,33399,33400,33403,33404,33408,33409,33411,33413,33414,33415,33417,33420,33424,33427,33428,33429,33430,33434,33435,33438,33440,33442,33443,33447,33458,33461,33462,33466,33467,33468,33471,33472,33474,33475,33477,33478,33481,33488,33494,33497,33498,33501,33506,33511,33512,33513,33514,33516,33517,33518,33520,33522,33523,33525,33526,33528,33530,33532,33533,33534,33535,33536,33546,33547,33549,33552,33554,33555,33558,33560,33561,33565,33566,33567,33568,33569,33570,33571,33572,33573,33574,33577,33578,33582,33584,33586,33591,33595,33597,21860,33086,30130,30382,21305,30174,20731,23617,35692,31687,20559,29255,39575,39128,28418,29922,31080,25735,30629,25340,39057,36139,21697,32856,20050,22378,33529,33805,24179,20973,29942,35780,23631,22369,27900,39047,23110,30772,39748,36843,31893,21078,25169,38138,20166,33670,33889,33769,33970,22484,26420,22275,26222,28006,35889,26333,28689,26399,27450,26646,25114,22971,19971,20932,28422,26578,27791,20854,26827,22855,27495,30054,23822,33040,40784,26071,31048,31041,39569,36215,23682,20062,20225,21551,22865,30732,22120,27668,36804,24323,27773,27875,35755,25488,33598,33599,33601,33602,33604,33605,33608,33610,33611,33612,33613,33614,33619,33621,33622,33623,33624,33625,33629,33634,33648,33649,33650,33651,33652,33653,33654,33657,33658,33662,33663,33664,33665,33666,33667,33668,33671,33672,33674,33675,33676,33677,33679,33680,33681,33684,33685,33686,33687,33689,33690,33693,33695,33697,33698,33699,33700,33701,33702,33703,33708,33709,33710,33711,33717,33723,33726,33727,33730,33731,33732,33734,33736,33737,33739,33741,33742,33744,33745,33746,33747,33749,33751,33753,33754,33755,33758,33762,33763,33764,33766,33767,33768,33771,33772,33773,24688,27965,29301,25190,38030,38085,21315,36801,31614,20191,35878,20094,40660,38065,38067,21069,28508,36963,27973,35892,22545,23884,27424,27465,26538,21595,33108,32652,22681,34103,24378,25250,27207,38201,25970,24708,26725,30631,20052,20392,24039,38808,25772,32728,23789,20431,31373,20999,33540,19988,24623,31363,38054,20405,20146,31206,29748,21220,33465,25810,31165,23517,27777,38738,36731,27682,20542,21375,28165,25806,26228,27696,24773,39031,35831,24198,29756,31351,31179,19992,37041,29699,27714,22234,37195,27845,36235,21306,34502,26354,36527,23624,39537,28192,33774,33775,33779,33780,33781,33782,33783,33786,33787,33788,33790,33791,33792,33794,33797,33799,33800,33801,33802,33808,33810,33811,33812,33813,33814,33815,33817,33818,33819,33822,33823,33824,33825,33826,33827,33833,33834,33835,33836,33837,33838,33839,33840,33842,33843,33844,33845,33846,33847,33849,33850,33851,33854,33855,33856,33857,33858,33859,33860,33861,33863,33864,33865,33866,33867,33868,33869,33870,33871,33872,33874,33875,33876,33877,33878,33880,33885,33886,33887,33888,33890,33892,33893,33894,33895,33896,33898,33902,33903,33904,33906,33908,33911,33913,33915,33916,21462,23094,40843,36259,21435,22280,39079,26435,37275,27849,20840,30154,25331,29356,21048,21149,32570,28820,30264,21364,40522,27063,30830,38592,35033,32676,28982,29123,20873,26579,29924,22756,25880,22199,35753,39286,25200,32469,24825,28909,22764,20161,20154,24525,38887,20219,35748,20995,22922,32427,25172,20173,26085,25102,33592,33993,33635,34701,29076,28342,23481,32466,20887,25545,26580,32905,33593,34837,20754,23418,22914,36785,20083,27741,20837,35109,36719,38446,34122,29790,38160,38384,28070,33509,24369,25746,27922,33832,33134,40131,22622,36187,19977,21441,33917,33918,33919,33920,33921,33923,33924,33925,33926,33930,33933,33935,33936,33937,33938,33939,33940,33941,33942,33944,33946,33947,33949,33950,33951,33952,33954,33955,33956,33957,33958,33959,33960,33961,33962,33963,33964,33965,33966,33968,33969,33971,33973,33974,33975,33979,33980,33982,33984,33986,33987,33989,33990,33991,33992,33995,33996,33998,33999,34002,34004,34005,34007,34008,34009,34010,34011,34012,34014,34017,34018,34020,34023,34024,34025,34026,34027,34029,34030,34031,34033,34034,34035,34036,34037,34038,34039,34040,34041,34042,34043,34045,34046,34048,34049,34050,20254,25955,26705,21971,20007,25620,39578,25195,23234,29791,33394,28073,26862,20711,33678,30722,26432,21049,27801,32433,20667,21861,29022,31579,26194,29642,33515,26441,23665,21024,29053,34923,38378,38485,25797,36193,33203,21892,27733,25159,32558,22674,20260,21830,36175,26188,19978,23578,35059,26786,25422,31245,28903,33421,21242,38902,23569,21736,37045,32461,22882,36170,34503,33292,33293,36198,25668,23556,24913,28041,31038,35774,30775,30003,21627,20280,36523,28145,23072,32453,31070,27784,23457,23158,29978,32958,24910,28183,22768,29983,29989,29298,21319,32499,34051,34052,34053,34054,34055,34056,34057,34058,34059,34061,34062,34063,34064,34066,34068,34069,34070,34072,34073,34075,34076,34077,34078,34080,34082,34083,34084,34085,34086,34087,34088,34089,34090,34093,34094,34095,34096,34097,34098,34099,34100,34101,34102,34110,34111,34112,34113,34114,34116,34117,34118,34119,34123,34124,34125,34126,34127,34128,34129,34130,34131,34132,34133,34135,34136,34138,34139,34140,34141,34143,34144,34145,34146,34147,34149,34150,34151,34153,34154,34155,34156,34157,34158,34159,34160,34161,34163,34165,34166,34167,34168,34172,34173,34175,34176,34177,30465,30427,21097,32988,22307,24072,22833,29422,26045,28287,35799,23608,34417,21313,30707,25342,26102,20160,39135,34432,23454,35782,21490,30690,20351,23630,39542,22987,24335,31034,22763,19990,26623,20107,25325,35475,36893,21183,26159,21980,22124,36866,20181,20365,37322,39280,27663,24066,24643,23460,35270,35797,25910,25163,39318,23432,23551,25480,21806,21463,30246,20861,34092,26530,26803,27530,25234,36755,21460,33298,28113,30095,20070,36174,23408,29087,34223,26257,26329,32626,34560,40653,40736,23646,26415,36848,26641,26463,25101,31446,22661,24246,25968,28465,34178,34179,34182,34184,34185,34186,34187,34188,34189,34190,34192,34193,34194,34195,34196,34197,34198,34199,34200,34201,34202,34205,34206,34207,34208,34209,34210,34211,34213,34214,34215,34217,34219,34220,34221,34225,34226,34227,34228,34229,34230,34232,34234,34235,34236,34237,34238,34239,34240,34242,34243,34244,34245,34246,34247,34248,34250,34251,34252,34253,34254,34257,34258,34260,34262,34263,34264,34265,34266,34267,34269,34270,34271,34272,34273,34274,34275,34277,34278,34279,34280,34282,34283,34284,34285,34286,34287,34288,34289,34290,34291,34292,34293,34294,34295,34296,24661,21047,32781,25684,34928,29993,24069,26643,25332,38684,21452,29245,35841,27700,30561,31246,21550,30636,39034,33308,35828,30805,26388,28865,26031,25749,22070,24605,31169,21496,19997,27515,32902,23546,21987,22235,20282,20284,39282,24051,26494,32824,24578,39042,36865,23435,35772,35829,25628,33368,25822,22013,33487,37221,20439,32032,36895,31903,20723,22609,28335,23487,35785,32899,37240,33948,31639,34429,38539,38543,32485,39635,30862,23681,31319,36930,38567,31071,23385,25439,31499,34001,26797,21766,32553,29712,32034,38145,25152,22604,20182,23427,22905,22612,34297,34298,34300,34301,34302,34304,34305,34306,34307,34308,34310,34311,34312,34313,34314,34315,34316,34317,34318,34319,34320,34322,34323,34324,34325,34327,34328,34329,34330,34331,34332,34333,34334,34335,34336,34337,34338,34339,34340,34341,34342,34344,34346,34347,34348,34349,34350,34351,34352,34353,34354,34355,34356,34357,34358,34359,34361,34362,34363,34365,34366,34367,34368,34369,34370,34371,34372,34373,34374,34375,34376,34377,34378,34379,34380,34386,34387,34389,34390,34391,34392,34393,34395,34396,34397,34399,34400,34401,34403,34404,34405,34406,34407,34408,34409,34410,29549,25374,36427,36367,32974,33492,25260,21488,27888,37214,22826,24577,27760,22349,25674,36138,30251,28393,22363,27264,30192,28525,35885,35848,22374,27631,34962,30899,25506,21497,28845,27748,22616,25642,22530,26848,33179,21776,31958,20504,36538,28108,36255,28907,25487,28059,28372,32486,33796,26691,36867,28120,38518,35752,22871,29305,34276,33150,30140,35466,26799,21076,36386,38161,25552,39064,36420,21884,20307,26367,22159,24789,28053,21059,23625,22825,28155,22635,3e4,29980,24684,33300,33094,25361,26465,36834,30522,36339,36148,38081,24086,21381,21548,28867,34413,34415,34416,34418,34419,34420,34421,34422,34423,34424,34435,34436,34437,34438,34439,34440,34441,34446,34447,34448,34449,34450,34452,34454,34455,34456,34457,34458,34459,34462,34463,34464,34465,34466,34469,34470,34475,34477,34478,34482,34483,34487,34488,34489,34491,34492,34493,34494,34495,34497,34498,34499,34501,34504,34508,34509,34514,34515,34517,34518,34519,34522,34524,34525,34528,34529,34530,34531,34533,34534,34535,34536,34538,34539,34540,34543,34549,34550,34551,34554,34555,34556,34557,34559,34561,34564,34565,34566,34571,34572,34574,34575,34576,34577,34580,34582,27712,24311,20572,20141,24237,25402,33351,36890,26704,37230,30643,21516,38108,24420,31461,26742,25413,31570,32479,30171,20599,25237,22836,36879,20984,31171,31361,22270,24466,36884,28034,23648,22303,21520,20820,28237,22242,25512,39059,33151,34581,35114,36864,21534,23663,33216,25302,25176,33073,40501,38464,39534,39548,26925,22949,25299,21822,25366,21703,34521,27964,23043,29926,34972,27498,22806,35916,24367,28286,29609,39037,20024,28919,23436,30871,25405,26202,30358,24779,23451,23113,19975,33109,27754,29579,20129,26505,32593,24448,26106,26395,24536,22916,23041,34585,34587,34589,34591,34592,34596,34598,34599,34600,34602,34603,34604,34605,34607,34608,34610,34611,34613,34614,34616,34617,34618,34620,34621,34624,34625,34626,34627,34628,34629,34630,34634,34635,34637,34639,34640,34641,34642,34644,34645,34646,34648,34650,34651,34652,34653,34654,34655,34657,34658,34662,34663,34664,34665,34666,34667,34668,34669,34671,34673,34674,34675,34677,34679,34680,34681,34682,34687,34688,34689,34692,34694,34695,34697,34698,34700,34702,34703,34704,34705,34706,34708,34709,34710,34712,34713,34714,34715,34716,34717,34718,34720,34721,34722,34723,34724,24013,24494,21361,38886,36829,26693,22260,21807,24799,20026,28493,32500,33479,33806,22996,20255,20266,23614,32428,26410,34074,21619,30031,32963,21890,39759,20301,28205,35859,23561,24944,21355,30239,28201,34442,25991,38395,32441,21563,31283,32010,38382,21985,32705,29934,25373,34583,28065,31389,25105,26017,21351,25569,27779,24043,21596,38056,20044,27745,35820,23627,26080,33436,26791,21566,21556,27595,27494,20116,25410,21320,33310,20237,20398,22366,25098,38654,26212,29289,21247,21153,24735,35823,26132,29081,26512,35199,30802,30717,26224,22075,21560,38177,29306,34725,34726,34727,34729,34730,34734,34736,34737,34738,34740,34742,34743,34744,34745,34747,34748,34750,34751,34753,34754,34755,34756,34757,34759,34760,34761,34764,34765,34766,34767,34768,34772,34773,34774,34775,34776,34777,34778,34780,34781,34782,34783,34785,34786,34787,34788,34790,34791,34792,34793,34795,34796,34797,34799,34800,34801,34802,34803,34804,34805,34806,34807,34808,34810,34811,34812,34813,34815,34816,34817,34818,34820,34821,34822,34823,34824,34825,34827,34828,34829,34830,34831,34832,34833,34834,34836,34839,34840,34841,34842,34844,34845,34846,34847,34848,34851,31232,24687,24076,24713,33181,22805,24796,29060,28911,28330,27728,29312,27268,34989,24109,20064,23219,21916,38115,27927,31995,38553,25103,32454,30606,34430,21283,38686,36758,26247,23777,20384,29421,19979,21414,22799,21523,25472,38184,20808,20185,40092,32420,21688,36132,34900,33335,38386,28046,24358,23244,26174,38505,29616,29486,21439,33146,39301,32673,23466,38519,38480,32447,30456,21410,38262,39321,31665,35140,28248,20065,32724,31077,35814,24819,21709,20139,39033,24055,27233,20687,21521,35937,33831,30813,38660,21066,21742,22179,38144,28040,23477,28102,26195,34852,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34867,34868,34869,34870,34871,34872,34874,34875,34877,34878,34879,34881,34882,34883,34886,34887,34888,34889,34890,34891,34894,34895,34896,34897,34898,34899,34901,34902,34904,34906,34907,34908,34909,34910,34911,34912,34918,34919,34922,34925,34927,34929,34931,34932,34933,34934,34936,34937,34938,34939,34940,34944,34947,34950,34951,34953,34954,34956,34958,34959,34960,34961,34963,34964,34965,34967,34968,34969,34970,34971,34973,34974,34975,34976,34977,34979,34981,34982,34983,34984,34985,34986,23567,23389,26657,32918,21880,31505,25928,26964,20123,27463,34638,38795,21327,25375,25658,37034,26012,32961,35856,20889,26800,21368,34809,25032,27844,27899,35874,23633,34218,33455,38156,27427,36763,26032,24571,24515,20449,34885,26143,33125,29481,24826,20852,21009,22411,24418,37026,34892,37266,24184,26447,24615,22995,20804,20982,33016,21256,27769,38596,29066,20241,20462,32670,26429,21957,38152,31168,34966,32483,22687,25100,38656,34394,22040,39035,24464,35768,33988,37207,21465,26093,24207,30044,24676,32110,23167,32490,32493,36713,21927,23459,24748,26059,29572,34988,34990,34991,34992,34994,34995,34996,34997,34998,35e3,35001,35002,35003,35005,35006,35007,35008,35011,35012,35015,35016,35018,35019,35020,35021,35023,35024,35025,35027,35030,35031,35034,35035,35036,35037,35038,35040,35041,35046,35047,35049,35050,35051,35052,35053,35054,35055,35058,35061,35062,35063,35066,35067,35069,35071,35072,35073,35075,35076,35077,35078,35079,35080,35081,35083,35084,35085,35086,35087,35089,35092,35093,35094,35095,35096,35100,35101,35102,35103,35104,35106,35107,35108,35110,35111,35112,35113,35116,35117,35118,35119,35121,35122,35123,35125,35127,36873,30307,30505,32474,38772,34203,23398,31348,38634,34880,21195,29071,24490,26092,35810,23547,39535,24033,27529,27739,35757,35759,36874,36805,21387,25276,40486,40493,21568,20011,33469,29273,34460,23830,34905,28079,38597,21713,20122,35766,28937,21693,38409,28895,28153,30416,20005,30740,34578,23721,24310,35328,39068,38414,28814,27839,22852,25513,30524,34893,28436,33395,22576,29141,21388,30746,38593,21761,24422,28976,23476,35866,39564,27523,22830,40495,31207,26472,25196,20335,30113,32650,27915,38451,27687,20208,30162,20859,26679,28478,36992,33136,22934,29814,35128,35129,35130,35131,35132,35133,35134,35135,35136,35138,35139,35141,35142,35143,35144,35145,35146,35147,35148,35149,35150,35151,35152,35153,35154,35155,35156,35157,35158,35159,35160,35161,35162,35163,35164,35165,35168,35169,35170,35171,35172,35173,35175,35176,35177,35178,35179,35180,35181,35182,35183,35184,35185,35186,35187,35188,35189,35190,35191,35192,35193,35194,35196,35197,35198,35200,35202,35204,35205,35207,35208,35209,35210,35211,35212,35213,35214,35215,35216,35217,35218,35219,35220,35221,35222,35223,35224,35225,35226,35227,35228,35229,35230,35231,35232,35233,25671,23591,36965,31377,35875,23002,21676,33280,33647,35201,32768,26928,22094,32822,29239,37326,20918,20063,39029,25494,19994,21494,26355,33099,22812,28082,19968,22777,21307,25558,38129,20381,20234,34915,39056,22839,36951,31227,20202,33008,30097,27778,23452,23016,24413,26885,34433,20506,24050,20057,30691,20197,33402,25233,26131,37009,23673,20159,24441,33222,36920,32900,30123,20134,35028,24847,27589,24518,20041,30410,28322,35811,35758,35850,35793,24322,32764,32716,32462,33589,33643,22240,27575,38899,38452,23035,21535,38134,28139,23493,39278,23609,24341,38544,35234,35235,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245,35246,35247,35248,35249,35250,35251,35252,35253,35254,35255,35256,35257,35258,35259,35260,35261,35262,35263,35264,35267,35277,35283,35284,35285,35287,35288,35289,35291,35293,35295,35296,35297,35298,35300,35303,35304,35305,35306,35308,35309,35310,35312,35313,35314,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35329,35330,35331,35332,35333,35334,35336,35337,35338,35339,35340,35341,35342,35343,35344,35345,35346,35347,35348,35349,35350,35351,35352,35353,35354,35355,35356,35357,21360,33521,27185,23156,40560,24212,32552,33721,33828,33829,33639,34631,36814,36194,30408,24433,39062,30828,26144,21727,25317,20323,33219,30152,24248,38605,36362,34553,21647,27891,28044,27704,24703,21191,29992,24189,20248,24736,24551,23588,30001,37038,38080,29369,27833,28216,37193,26377,21451,21491,20305,37321,35825,21448,24188,36802,28132,20110,30402,27014,34398,24858,33286,20313,20446,36926,40060,24841,28189,28180,38533,20104,23089,38632,19982,23679,31161,23431,35821,32701,29577,22495,33419,37057,21505,36935,21947,23786,24481,24840,27442,29425,32946,35465,35358,35359,35360,35361,35362,35363,35364,35365,35366,35367,35368,35369,35370,35371,35372,35373,35374,35375,35376,35377,35378,35379,35380,35381,35382,35383,35384,35385,35386,35387,35388,35389,35391,35392,35393,35394,35395,35396,35397,35398,35399,35401,35402,35403,35404,35405,35406,35407,35408,35409,35410,35411,35412,35413,35414,35415,35416,35417,35418,35419,35420,35421,35422,35423,35424,35425,35426,35427,35428,35429,35430,35431,35432,35433,35434,35435,35436,35437,35438,35439,35440,35441,35442,35443,35444,35445,35446,35447,35448,35450,35451,35452,35453,35454,35455,35456,28020,23507,35029,39044,35947,39533,40499,28170,20900,20803,22435,34945,21407,25588,36757,22253,21592,22278,29503,28304,32536,36828,33489,24895,24616,38498,26352,32422,36234,36291,38053,23731,31908,26376,24742,38405,32792,20113,37095,21248,38504,20801,36816,34164,37213,26197,38901,23381,21277,30776,26434,26685,21705,28798,23472,36733,20877,22312,21681,25874,26242,36190,36163,33039,33900,36973,31967,20991,34299,26531,26089,28577,34468,36481,22122,36896,30338,28790,29157,36131,25321,21017,27901,36156,24590,22686,24974,26366,36192,25166,21939,28195,26413,36711,35457,35458,35459,35460,35461,35462,35463,35464,35467,35468,35469,35470,35471,35472,35473,35474,35476,35477,35478,35479,35480,35481,35482,35483,35484,35485,35486,35487,35488,35489,35490,35491,35492,35493,35494,35495,35496,35497,35498,35499,35500,35501,35502,35503,35504,35505,35506,35507,35508,35509,35510,35511,35512,35513,35514,35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538,35539,35540,35541,35542,35543,35544,35545,35546,35547,35548,35549,35550,35551,35552,35553,35554,35555,38113,38392,30504,26629,27048,21643,20045,28856,35784,25688,25995,23429,31364,20538,23528,30651,27617,35449,31896,27838,30415,26025,36759,23853,23637,34360,26632,21344,25112,31449,28251,32509,27167,31456,24432,28467,24352,25484,28072,26454,19976,24080,36134,20183,32960,30260,38556,25307,26157,25214,27836,36213,29031,32617,20806,32903,21484,36974,25240,21746,34544,36761,32773,38167,34071,36825,27993,29645,26015,30495,29956,30759,33275,36126,38024,20390,26517,30137,35786,38663,25391,38215,38453,33976,25379,30529,24449,29424,20105,24596,25972,25327,27491,25919,35556,35557,35558,35559,35560,35561,35562,35563,35564,35565,35566,35567,35568,35569,35570,35571,35572,35573,35574,35575,35576,35577,35578,35579,35580,35581,35582,35583,35584,35585,35586,35587,35588,35589,35590,35592,35593,35594,35595,35596,35597,35598,35599,35600,35601,35602,35603,35604,35605,35606,35607,35608,35609,35610,35611,35612,35613,35614,35615,35616,35617,35618,35619,35620,35621,35623,35624,35625,35626,35627,35628,35629,35630,35631,35632,35633,35634,35635,35636,35637,35638,35639,35640,35641,35642,35643,35644,35645,35646,35647,35648,35649,35650,35651,35652,35653,24103,30151,37073,35777,33437,26525,25903,21553,34584,30693,32930,33026,27713,20043,32455,32844,30452,26893,27542,25191,20540,20356,22336,25351,27490,36286,21482,26088,32440,24535,25370,25527,33267,33268,32622,24092,23769,21046,26234,31209,31258,36136,28825,30164,28382,27835,31378,20013,30405,24544,38047,34935,32456,31181,32959,37325,20210,20247,33311,21608,24030,27954,35788,31909,36724,32920,24090,21650,30385,23449,26172,39588,29664,26666,34523,26417,29482,35832,35803,36880,31481,28891,29038,25284,30633,22065,20027,33879,26609,21161,34496,36142,38136,31569,35654,35655,35656,35657,35658,35659,35660,35661,35662,35663,35664,35665,35666,35667,35668,35669,35670,35671,35672,35673,35674,35675,35676,35677,35678,35679,35680,35681,35682,35683,35684,35685,35687,35688,35689,35690,35691,35693,35694,35695,35696,35697,35698,35699,35700,35701,35702,35703,35704,35705,35706,35707,35708,35709,35710,35711,35712,35713,35714,35715,35716,35717,35718,35719,35720,35721,35722,35723,35724,35725,35726,35727,35728,35729,35730,35731,35732,35733,35734,35735,35736,35737,35738,35739,35740,35741,35742,35743,35756,35761,35771,35783,35792,35818,35849,35870,20303,27880,31069,39547,25235,29226,25341,19987,30742,36716,25776,36186,31686,26729,24196,35013,22918,25758,22766,29366,26894,38181,36861,36184,22368,32512,35846,20934,25417,25305,21331,26700,29730,33537,37196,21828,30528,28796,27978,20857,21672,36164,23039,28363,28100,23388,32043,20180,31869,28371,23376,33258,28173,23383,39683,26837,36394,23447,32508,24635,32437,37049,36208,22863,25549,31199,36275,21330,26063,31062,35781,38459,32452,38075,32386,22068,37257,26368,32618,23562,36981,26152,24038,20304,26590,20570,20316,22352,24231,59408,59409,59410,59411,59412,35896,35897,35898,35899,35900,35901,35902,35903,35904,35906,35907,35908,35909,35912,35914,35915,35917,35918,35919,35920,35921,35922,35923,35924,35926,35927,35928,35929,35931,35932,35933,35934,35935,35936,35939,35940,35941,35942,35943,35944,35945,35948,35949,35950,35951,35952,35953,35954,35956,35957,35958,35959,35963,35964,35965,35966,35967,35968,35969,35971,35972,35974,35975,35976,35979,35981,35982,35983,35984,35985,35986,35987,35989,35990,35991,35993,35994,35995,35996,35997,35998,35999,36e3,36001,36002,36003,36004,36005,36006,36007,36008,36009,36010,36011,36012,36013,20109,19980,20800,19984,24319,21317,19989,20120,19998,39730,23404,22121,20008,31162,20031,21269,20039,22829,29243,21358,27664,22239,32996,39319,27603,30590,40727,20022,20127,40720,20060,20073,20115,33416,23387,21868,22031,20164,21389,21405,21411,21413,21422,38757,36189,21274,21493,21286,21294,21310,36188,21350,21347,20994,21e3,21006,21037,21043,21055,21056,21068,21086,21089,21084,33967,21117,21122,21121,21136,21139,20866,32596,20155,20163,20169,20162,20200,20193,20203,20190,20251,20211,20258,20324,20213,20261,20263,20233,20267,20318,20327,25912,20314,20317,36014,36015,36016,36017,36018,36019,36020,36021,36022,36023,36024,36025,36026,36027,36028,36029,36030,36031,36032,36033,36034,36035,36036,36037,36038,36039,36040,36041,36042,36043,36044,36045,36046,36047,36048,36049,36050,36051,36052,36053,36054,36055,36056,36057,36058,36059,36060,36061,36062,36063,36064,36065,36066,36067,36068,36069,36070,36071,36072,36073,36074,36075,36076,36077,36078,36079,36080,36081,36082,36083,36084,36085,36086,36087,36088,36089,36090,36091,36092,36093,36094,36095,36096,36097,36098,36099,36100,36101,36102,36103,36104,36105,36106,36107,36108,36109,20319,20311,20274,20285,20342,20340,20369,20361,20355,20367,20350,20347,20394,20348,20396,20372,20454,20456,20458,20421,20442,20451,20444,20433,20447,20472,20521,20556,20467,20524,20495,20526,20525,20478,20508,20492,20517,20520,20606,20547,20565,20552,20558,20588,20603,20645,20647,20649,20666,20694,20742,20717,20716,20710,20718,20743,20747,20189,27709,20312,20325,20430,40864,27718,31860,20846,24061,40649,39320,20865,22804,21241,21261,35335,21264,20971,22809,20821,20128,20822,20147,34926,34980,20149,33044,35026,31104,23348,34819,32696,20907,20913,20925,20924,36110,36111,36112,36113,36114,36115,36116,36117,36118,36119,36120,36121,36122,36123,36124,36128,36177,36178,36183,36191,36197,36200,36201,36202,36204,36206,36207,36209,36210,36216,36217,36218,36219,36220,36221,36222,36223,36224,36226,36227,36230,36231,36232,36233,36236,36237,36238,36239,36240,36242,36243,36245,36246,36247,36248,36249,36250,36251,36252,36253,36254,36256,36257,36258,36260,36261,36262,36263,36264,36265,36266,36267,36268,36269,36270,36271,36272,36274,36278,36279,36281,36283,36285,36288,36289,36290,36293,36295,36296,36297,36298,36301,36304,36306,36307,36308,20935,20886,20898,20901,35744,35750,35751,35754,35764,35765,35767,35778,35779,35787,35791,35790,35794,35795,35796,35798,35800,35801,35804,35807,35808,35812,35816,35817,35822,35824,35827,35830,35833,35836,35839,35840,35842,35844,35847,35852,35855,35857,35858,35860,35861,35862,35865,35867,35864,35869,35871,35872,35873,35877,35879,35882,35883,35886,35887,35890,35891,35893,35894,21353,21370,38429,38434,38433,38449,38442,38461,38460,38466,38473,38484,38495,38503,38508,38514,38516,38536,38541,38551,38576,37015,37019,37021,37017,37036,37025,37044,37043,37046,37050,36309,36312,36313,36316,36320,36321,36322,36325,36326,36327,36329,36333,36334,36336,36337,36338,36340,36342,36348,36350,36351,36352,36353,36354,36355,36356,36358,36359,36360,36363,36365,36366,36368,36369,36370,36371,36373,36374,36375,36376,36377,36378,36379,36380,36384,36385,36388,36389,36390,36391,36392,36395,36397,36400,36402,36403,36404,36406,36407,36408,36411,36412,36414,36415,36419,36421,36422,36428,36429,36430,36431,36432,36435,36436,36437,36438,36439,36440,36442,36443,36444,36445,36446,36447,36448,36449,36450,36451,36452,36453,36455,36456,36458,36459,36462,36465,37048,37040,37071,37061,37054,37072,37060,37063,37075,37094,37090,37084,37079,37083,37099,37103,37118,37124,37154,37150,37155,37169,37167,37177,37187,37190,21005,22850,21154,21164,21165,21182,21759,21200,21206,21232,21471,29166,30669,24308,20981,20988,39727,21430,24321,30042,24047,22348,22441,22433,22654,22716,22725,22737,22313,22316,22314,22323,22329,22318,22319,22364,22331,22338,22377,22405,22379,22406,22396,22395,22376,22381,22390,22387,22445,22436,22412,22450,22479,22439,22452,22419,22432,22485,22488,22490,22489,22482,22456,22516,22511,22520,22500,22493,36467,36469,36471,36472,36473,36474,36475,36477,36478,36480,36482,36483,36484,36486,36488,36489,36490,36491,36492,36493,36494,36497,36498,36499,36501,36502,36503,36504,36505,36506,36507,36509,36511,36512,36513,36514,36515,36516,36517,36518,36519,36520,36521,36522,36525,36526,36528,36529,36531,36532,36533,36534,36535,36536,36537,36539,36540,36541,36542,36543,36544,36545,36546,36547,36548,36549,36550,36551,36552,36553,36554,36555,36556,36557,36559,36560,36561,36562,36563,36564,36565,36566,36567,36568,36569,36570,36571,36572,36573,36574,36575,36576,36577,36578,36579,36580,22539,22541,22525,22509,22528,22558,22553,22596,22560,22629,22636,22657,22665,22682,22656,39336,40729,25087,33401,33405,33407,33423,33418,33448,33412,33422,33425,33431,33433,33451,33464,33470,33456,33480,33482,33507,33432,33463,33454,33483,33484,33473,33449,33460,33441,33450,33439,33476,33486,33444,33505,33545,33527,33508,33551,33543,33500,33524,33490,33496,33548,33531,33491,33553,33562,33542,33556,33557,33504,33493,33564,33617,33627,33628,33544,33682,33596,33588,33585,33691,33630,33583,33615,33607,33603,33631,33600,33559,33632,33581,33594,33587,33638,33637,36581,36582,36583,36584,36585,36586,36587,36588,36589,36590,36591,36592,36593,36594,36595,36596,36597,36598,36599,36600,36601,36602,36603,36604,36605,36606,36607,36608,36609,36610,36611,36612,36613,36614,36615,36616,36617,36618,36619,36620,36621,36622,36623,36624,36625,36626,36627,36628,36629,36630,36631,36632,36633,36634,36635,36636,36637,36638,36639,36640,36641,36642,36643,36644,36645,36646,36647,36648,36649,36650,36651,36652,36653,36654,36655,36656,36657,36658,36659,36660,36661,36662,36663,36664,36665,36666,36667,36668,36669,36670,36671,36672,36673,36674,36675,36676,33640,33563,33641,33644,33642,33645,33646,33712,33656,33715,33716,33696,33706,33683,33692,33669,33660,33718,33705,33661,33720,33659,33688,33694,33704,33722,33724,33729,33793,33765,33752,22535,33816,33803,33757,33789,33750,33820,33848,33809,33798,33748,33759,33807,33795,33784,33785,33770,33733,33728,33830,33776,33761,33884,33873,33882,33881,33907,33927,33928,33914,33929,33912,33852,33862,33897,33910,33932,33934,33841,33901,33985,33997,34e3,34022,33981,34003,33994,33983,33978,34016,33953,33977,33972,33943,34021,34019,34060,29965,34104,34032,34105,34079,34106,36677,36678,36679,36680,36681,36682,36683,36684,36685,36686,36687,36688,36689,36690,36691,36692,36693,36694,36695,36696,36697,36698,36699,36700,36701,36702,36703,36704,36705,36706,36707,36708,36709,36714,36736,36748,36754,36765,36768,36769,36770,36772,36773,36774,36775,36778,36780,36781,36782,36783,36786,36787,36788,36789,36791,36792,36794,36795,36796,36799,36800,36803,36806,36809,36810,36811,36812,36813,36815,36818,36822,36823,36826,36832,36833,36835,36839,36844,36847,36849,36850,36852,36853,36854,36858,36859,36860,36862,36863,36871,36872,36876,36878,36883,36885,36888,34134,34107,34047,34044,34137,34120,34152,34148,34142,34170,30626,34115,34162,34171,34212,34216,34183,34191,34169,34222,34204,34181,34233,34231,34224,34259,34241,34268,34303,34343,34309,34345,34326,34364,24318,24328,22844,22849,32823,22869,22874,22872,21263,23586,23589,23596,23604,25164,25194,25247,25275,25290,25306,25303,25326,25378,25334,25401,25419,25411,25517,25590,25457,25466,25486,25524,25453,25516,25482,25449,25518,25532,25586,25592,25568,25599,25540,25566,25550,25682,25542,25534,25669,25665,25611,25627,25632,25612,25638,25633,25694,25732,25709,25750,36889,36892,36899,36900,36901,36903,36904,36905,36906,36907,36908,36912,36913,36914,36915,36916,36919,36921,36922,36925,36927,36928,36931,36933,36934,36936,36937,36938,36939,36940,36942,36948,36949,36950,36953,36954,36956,36957,36958,36959,36960,36961,36964,36966,36967,36969,36970,36971,36972,36975,36976,36977,36978,36979,36982,36983,36984,36985,36986,36987,36988,36990,36993,36996,36997,36998,36999,37001,37002,37004,37005,37006,37007,37008,37010,37012,37014,37016,37018,37020,37022,37023,37024,37028,37029,37031,37032,37033,37035,37037,37042,37047,37052,37053,37055,37056,25722,25783,25784,25753,25786,25792,25808,25815,25828,25826,25865,25893,25902,24331,24530,29977,24337,21343,21489,21501,21481,21480,21499,21522,21526,21510,21579,21586,21587,21588,21590,21571,21537,21591,21593,21539,21554,21634,21652,21623,21617,21604,21658,21659,21636,21622,21606,21661,21712,21677,21698,21684,21714,21671,21670,21715,21716,21618,21667,21717,21691,21695,21708,21721,21722,21724,21673,21674,21668,21725,21711,21726,21787,21735,21792,21757,21780,21747,21794,21795,21775,21777,21799,21802,21863,21903,21941,21833,21869,21825,21845,21823,21840,21820,37058,37059,37062,37064,37065,37067,37068,37069,37074,37076,37077,37078,37080,37081,37082,37086,37087,37088,37091,37092,37093,37097,37098,37100,37102,37104,37105,37106,37107,37109,37110,37111,37113,37114,37115,37116,37119,37120,37121,37123,37125,37126,37127,37128,37129,37130,37131,37132,37133,37134,37135,37136,37137,37138,37139,37140,37141,37142,37143,37144,37146,37147,37148,37149,37151,37152,37153,37156,37157,37158,37159,37160,37161,37162,37163,37164,37165,37166,37168,37170,37171,37172,37173,37174,37175,37176,37178,37179,37180,37181,37182,37183,37184,37185,37186,37188,21815,21846,21877,21878,21879,21811,21808,21852,21899,21970,21891,21937,21945,21896,21889,21919,21886,21974,21905,21883,21983,21949,21950,21908,21913,21994,22007,21961,22047,21969,21995,21996,21972,21990,21981,21956,21999,21989,22002,22003,21964,21965,21992,22005,21988,36756,22046,22024,22028,22017,22052,22051,22014,22016,22055,22061,22104,22073,22103,22060,22093,22114,22105,22108,22092,22100,22150,22116,22129,22123,22139,22140,22149,22163,22191,22228,22231,22237,22241,22261,22251,22265,22271,22276,22282,22281,22300,24079,24089,24084,24081,24113,24123,24124,37189,37191,37192,37201,37203,37204,37205,37206,37208,37209,37211,37212,37215,37216,37222,37223,37224,37227,37229,37235,37242,37243,37244,37248,37249,37250,37251,37252,37254,37256,37258,37262,37263,37267,37268,37269,37270,37271,37272,37273,37276,37277,37278,37279,37280,37281,37284,37285,37286,37287,37288,37289,37291,37292,37296,37297,37298,37299,37302,37303,37304,37305,37307,37308,37309,37310,37311,37312,37313,37314,37315,37316,37317,37318,37320,37323,37328,37330,37331,37332,37333,37334,37335,37336,37337,37338,37339,37341,37342,37343,37344,37345,37346,37347,37348,37349,24119,24132,24148,24155,24158,24161,23692,23674,23693,23696,23702,23688,23704,23705,23697,23706,23708,23733,23714,23741,23724,23723,23729,23715,23745,23735,23748,23762,23780,23755,23781,23810,23811,23847,23846,23854,23844,23838,23814,23835,23896,23870,23860,23869,23916,23899,23919,23901,23915,23883,23882,23913,23924,23938,23961,23965,35955,23991,24005,24435,24439,24450,24455,24457,24460,24469,24473,24476,24488,24493,24501,24508,34914,24417,29357,29360,29364,29367,29368,29379,29377,29390,29389,29394,29416,29423,29417,29426,29428,29431,29441,29427,29443,29434,37350,37351,37352,37353,37354,37355,37356,37357,37358,37359,37360,37361,37362,37363,37364,37365,37366,37367,37368,37369,37370,37371,37372,37373,37374,37375,37376,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37387,37388,37389,37390,37391,37392,37393,37394,37395,37396,37397,37398,37399,37400,37401,37402,37403,37404,37405,37406,37407,37408,37409,37410,37411,37412,37413,37414,37415,37416,37417,37418,37419,37420,37421,37422,37423,37424,37425,37426,37427,37428,37429,37430,37431,37432,37433,37434,37435,37436,37437,37438,37439,37440,37441,37442,37443,37444,37445,29435,29463,29459,29473,29450,29470,29469,29461,29474,29497,29477,29484,29496,29489,29520,29517,29527,29536,29548,29551,29566,33307,22821,39143,22820,22786,39267,39271,39272,39273,39274,39275,39276,39284,39287,39293,39296,39300,39303,39306,39309,39312,39313,39315,39316,39317,24192,24209,24203,24214,24229,24224,24249,24245,24254,24243,36179,24274,24273,24283,24296,24298,33210,24516,24521,24534,24527,24579,24558,24580,24545,24548,24574,24581,24582,24554,24557,24568,24601,24629,24614,24603,24591,24589,24617,24619,24586,24639,24609,24696,24697,24699,24698,24642,37446,37447,37448,37449,37450,37451,37452,37453,37454,37455,37456,37457,37458,37459,37460,37461,37462,37463,37464,37465,37466,37467,37468,37469,37470,37471,37472,37473,37474,37475,37476,37477,37478,37479,37480,37481,37482,37483,37484,37485,37486,37487,37488,37489,37490,37491,37493,37494,37495,37496,37497,37498,37499,37500,37501,37502,37503,37504,37505,37506,37507,37508,37509,37510,37511,37512,37513,37514,37515,37516,37517,37519,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,24682,24701,24726,24730,24749,24733,24707,24722,24716,24731,24812,24763,24753,24797,24792,24774,24794,24756,24864,24870,24853,24867,24820,24832,24846,24875,24906,24949,25004,24980,24999,25015,25044,25077,24541,38579,38377,38379,38385,38387,38389,38390,38396,38398,38403,38404,38406,38408,38410,38411,38412,38413,38415,38418,38421,38422,38423,38425,38426,20012,29247,25109,27701,27732,27740,27722,27811,27781,27792,27796,27788,27752,27753,27764,27766,27782,27817,27856,27860,27821,27895,27896,27889,27863,27826,27872,27862,27898,27883,27886,27825,27859,27887,27902,37544,37545,37546,37547,37548,37549,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37611,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37622,37623,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,27961,27943,27916,27971,27976,27911,27908,27929,27918,27947,27981,27950,27957,27930,27983,27986,27988,27955,28049,28015,28062,28064,27998,28051,28052,27996,28e3,28028,28003,28186,28103,28101,28126,28174,28095,28128,28177,28134,28125,28121,28182,28075,28172,28078,28203,28270,28238,28267,28338,28255,28294,28243,28244,28210,28197,28228,28383,28337,28312,28384,28461,28386,28325,28327,28349,28347,28343,28375,28340,28367,28303,28354,28319,28514,28486,28487,28452,28437,28409,28463,28470,28491,28532,28458,28425,28457,28553,28557,28556,28536,28530,28540,28538,28625,37642,37643,37644,37645,37646,37647,37648,37649,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37670,37671,37672,37673,37674,37675,37676,37677,37678,37679,37680,37681,37682,37683,37684,37685,37686,37687,37688,37689,37690,37691,37692,37693,37695,37696,37697,37698,37699,37700,37701,37702,37703,37704,37705,37706,37707,37708,37709,37710,37711,37712,37713,37714,37715,37716,37717,37718,37719,37720,37721,37722,37723,37724,37725,37726,37727,37728,37729,37730,37731,37732,37733,37734,37735,37736,37737,37739,28617,28583,28601,28598,28610,28641,28654,28638,28640,28655,28698,28707,28699,28729,28725,28751,28766,23424,23428,23445,23443,23461,23480,29999,39582,25652,23524,23534,35120,23536,36423,35591,36790,36819,36821,36837,36846,36836,36841,36838,36851,36840,36869,36868,36875,36902,36881,36877,36886,36897,36917,36918,36909,36911,36932,36945,36946,36944,36968,36952,36962,36955,26297,36980,36989,36994,37e3,36995,37003,24400,24407,24406,24408,23611,21675,23632,23641,23409,23651,23654,32700,24362,24361,24365,33396,24380,39739,23662,22913,22915,22925,22953,22954,22947,37740,37741,37742,37743,37744,37745,37746,37747,37748,37749,37750,37751,37752,37753,37754,37755,37756,37757,37758,37759,37760,37761,37762,37763,37764,37765,37766,37767,37768,37769,37770,37771,37772,37773,37774,37776,37777,37778,37779,37780,37781,37782,37783,37784,37785,37786,37787,37788,37789,37790,37791,37792,37793,37794,37795,37796,37797,37798,37799,37800,37801,37802,37803,37804,37805,37806,37807,37808,37809,37810,37811,37812,37813,37814,37815,37816,37817,37818,37819,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37835,37836,37837,22935,22986,22955,22942,22948,22994,22962,22959,22999,22974,23045,23046,23005,23048,23011,23e3,23033,23052,23049,23090,23092,23057,23075,23059,23104,23143,23114,23125,23100,23138,23157,33004,23210,23195,23159,23162,23230,23275,23218,23250,23252,23224,23264,23267,23281,23254,23270,23256,23260,23305,23319,23318,23346,23351,23360,23573,23580,23386,23397,23411,23377,23379,23394,39541,39543,39544,39546,39551,39549,39552,39553,39557,39560,39562,39568,39570,39571,39574,39576,39579,39580,39581,39583,39584,39586,39587,39589,39591,32415,32417,32419,32421,32424,32425,37838,37839,37840,37841,37842,37843,37844,37845,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37857,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37876,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,37898,37899,37900,37901,37902,37903,37904,37905,37906,37907,37908,37909,37910,37911,37912,37913,37914,37915,37916,37917,37918,37919,37920,37921,37922,37923,37924,37925,37926,37927,37928,37929,37930,37931,37932,37933,37934,32429,32432,32446,32448,32449,32450,32457,32459,32460,32464,32468,32471,32475,32480,32481,32488,32491,32494,32495,32497,32498,32525,32502,32506,32507,32510,32513,32514,32515,32519,32520,32523,32524,32527,32529,32530,32535,32537,32540,32539,32543,32545,32546,32547,32548,32549,32550,32551,32554,32555,32556,32557,32559,32560,32561,32562,32563,32565,24186,30079,24027,30014,37013,29582,29585,29614,29602,29599,29647,29634,29649,29623,29619,29632,29641,29640,29669,29657,39036,29706,29673,29671,29662,29626,29682,29711,29738,29787,29734,29733,29736,29744,29742,29740,37935,37936,37937,37938,37939,37940,37941,37942,37943,37944,37945,37946,37947,37948,37949,37951,37952,37953,37954,37955,37956,37957,37958,37959,37960,37961,37962,37963,37964,37965,37966,37967,37968,37969,37970,37971,37972,37973,37974,37975,37976,37977,37978,37979,37980,37981,37982,37983,37984,37985,37986,37987,37988,37989,37990,37991,37992,37993,37994,37996,37997,37998,37999,38e3,38001,38002,38003,38004,38005,38006,38007,38008,38009,38010,38011,38012,38013,38014,38015,38016,38017,38018,38019,38020,38033,38038,38040,38087,38095,38099,38100,38106,38118,38139,38172,38176,29723,29722,29761,29788,29783,29781,29785,29815,29805,29822,29852,29838,29824,29825,29831,29835,29854,29864,29865,29840,29863,29906,29882,38890,38891,38892,26444,26451,26462,26440,26473,26533,26503,26474,26483,26520,26535,26485,26536,26526,26541,26507,26487,26492,26608,26633,26584,26634,26601,26544,26636,26585,26549,26586,26547,26589,26624,26563,26552,26594,26638,26561,26621,26674,26675,26720,26721,26702,26722,26692,26724,26755,26653,26709,26726,26689,26727,26688,26686,26698,26697,26665,26805,26767,26740,26743,26771,26731,26818,26990,26876,26911,26912,26873,38183,38195,38205,38211,38216,38219,38229,38234,38240,38254,38260,38261,38263,38264,38265,38266,38267,38268,38269,38270,38272,38273,38274,38275,38276,38277,38278,38279,38280,38281,38282,38283,38284,38285,38286,38287,38288,38289,38290,38291,38292,38293,38294,38295,38296,38297,38298,38299,38300,38301,38302,38303,38304,38305,38306,38307,38308,38309,38310,38311,38312,38313,38314,38315,38316,38317,38318,38319,38320,38321,38322,38323,38324,38325,38326,38327,38328,38329,38330,38331,38332,38333,38334,38335,38336,38337,38338,38339,38340,38341,38342,38343,38344,38345,38346,38347,26916,26864,26891,26881,26967,26851,26896,26993,26937,26976,26946,26973,27012,26987,27008,27032,27e3,26932,27084,27015,27016,27086,27017,26982,26979,27001,27035,27047,27067,27051,27053,27092,27057,27073,27082,27103,27029,27104,27021,27135,27183,27117,27159,27160,27237,27122,27204,27198,27296,27216,27227,27189,27278,27257,27197,27176,27224,27260,27281,27280,27305,27287,27307,29495,29522,27521,27522,27527,27524,27538,27539,27533,27546,27547,27553,27562,36715,36717,36721,36722,36723,36725,36726,36728,36727,36729,36730,36732,36734,36737,36738,36740,36743,36747,38348,38349,38350,38351,38352,38353,38354,38355,38356,38357,38358,38359,38360,38361,38362,38363,38364,38365,38366,38367,38368,38369,38370,38371,38372,38373,38374,38375,38380,38399,38407,38419,38424,38427,38430,38432,38435,38436,38437,38438,38439,38440,38441,38443,38444,38445,38447,38448,38455,38456,38457,38458,38462,38465,38467,38474,38478,38479,38481,38482,38483,38486,38487,38488,38489,38490,38492,38493,38494,38496,38499,38501,38502,38507,38509,38510,38511,38512,38513,38515,38520,38521,38522,38523,38524,38525,38526,38527,38528,38529,38530,38531,38532,38535,38537,38538,36749,36750,36751,36760,36762,36558,25099,25111,25115,25119,25122,25121,25125,25124,25132,33255,29935,29940,29951,29967,29969,29971,25908,26094,26095,26096,26122,26137,26482,26115,26133,26112,28805,26359,26141,26164,26161,26166,26165,32774,26207,26196,26177,26191,26198,26209,26199,26231,26244,26252,26279,26269,26302,26331,26332,26342,26345,36146,36147,36150,36155,36157,36160,36165,36166,36168,36169,36167,36173,36181,36185,35271,35274,35275,35276,35278,35279,35280,35281,29294,29343,29277,29286,29295,29310,29311,29316,29323,29325,29327,29330,25352,25394,25520,38540,38542,38545,38546,38547,38549,38550,38554,38555,38557,38558,38559,38560,38561,38562,38563,38564,38565,38566,38568,38569,38570,38571,38572,38573,38574,38575,38577,38578,38580,38581,38583,38584,38586,38587,38591,38594,38595,38600,38602,38603,38608,38609,38611,38612,38614,38615,38616,38617,38618,38619,38620,38621,38622,38623,38625,38626,38627,38628,38629,38630,38631,38635,38636,38637,38638,38640,38641,38642,38644,38645,38648,38650,38651,38652,38653,38655,38658,38659,38661,38666,38667,38668,38672,38673,38674,38676,38677,38679,38680,38681,38682,38683,38685,38687,38688,25663,25816,32772,27626,27635,27645,27637,27641,27653,27655,27654,27661,27669,27672,27673,27674,27681,27689,27684,27690,27698,25909,25941,25963,29261,29266,29270,29232,34402,21014,32927,32924,32915,32956,26378,32957,32945,32939,32941,32948,32951,32999,33e3,33001,33002,32987,32962,32964,32985,32973,32983,26384,32989,33003,33009,33012,33005,33037,33038,33010,33020,26389,33042,35930,33078,33054,33068,33048,33074,33096,33100,33107,33140,33113,33114,33137,33120,33129,33148,33149,33133,33127,22605,23221,33160,33154,33169,28373,33187,33194,33228,26406,33226,33211,38689,38690,38691,38692,38693,38694,38695,38696,38697,38699,38700,38702,38703,38705,38707,38708,38709,38710,38711,38714,38715,38716,38717,38719,38720,38721,38722,38723,38724,38725,38726,38727,38728,38729,38730,38731,38732,38733,38734,38735,38736,38737,38740,38741,38743,38744,38746,38748,38749,38751,38755,38756,38758,38759,38760,38762,38763,38764,38765,38766,38767,38768,38769,38770,38773,38775,38776,38777,38778,38779,38781,38782,38783,38784,38785,38786,38787,38788,38790,38791,38792,38793,38794,38796,38798,38799,38800,38803,38805,38806,38807,38809,38810,38811,38812,38813,33217,33190,27428,27447,27449,27459,27462,27481,39121,39122,39123,39125,39129,39130,27571,24384,27586,35315,26e3,40785,26003,26044,26054,26052,26051,26060,26062,26066,26070,28800,28828,28822,28829,28859,28864,28855,28843,28849,28904,28874,28944,28947,28950,28975,28977,29043,29020,29032,28997,29042,29002,29048,29050,29080,29107,29109,29096,29088,29152,29140,29159,29177,29213,29224,28780,28952,29030,29113,25150,25149,25155,25160,25161,31035,31040,31046,31049,31067,31068,31059,31066,31074,31063,31072,31087,31079,31098,31109,31114,31130,31143,31155,24529,24528,38814,38815,38817,38818,38820,38821,38822,38823,38824,38825,38826,38828,38830,38832,38833,38835,38837,38838,38839,38840,38841,38842,38843,38844,38845,38846,38847,38848,38849,38850,38851,38852,38853,38854,38855,38856,38857,38858,38859,38860,38861,38862,38863,38864,38865,38866,38867,38868,38869,38870,38871,38872,38873,38874,38875,38876,38877,38878,38879,38880,38881,38882,38883,38884,38885,38888,38894,38895,38896,38897,38898,38900,38903,38904,38905,38906,38907,38908,38909,38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920,38921,38922,38923,38924,38925,38926,24636,24669,24666,24679,24641,24665,24675,24747,24838,24845,24925,25001,24989,25035,25041,25094,32896,32895,27795,27894,28156,30710,30712,30720,30729,30743,30744,30737,26027,30765,30748,30749,30777,30778,30779,30751,30780,30757,30764,30755,30761,30798,30829,30806,30807,30758,30800,30791,30796,30826,30875,30867,30874,30855,30876,30881,30883,30898,30905,30885,30932,30937,30921,30956,30962,30981,30964,30995,31012,31006,31028,40859,40697,40699,40700,30449,30468,30477,30457,30471,30472,30490,30498,30489,30509,30502,30517,30520,30544,30545,30535,30531,30554,30568,38927,38928,38929,38930,38931,38932,38933,38934,38935,38936,38937,38938,38939,38940,38941,38942,38943,38944,38945,38946,38947,38948,38949,38950,38951,38952,38953,38954,38955,38956,38957,38958,38959,38960,38961,38962,38963,38964,38965,38966,38967,38968,38969,38970,38971,38972,38973,38974,38975,38976,38977,38978,38979,38980,38981,38982,38983,38984,38985,38986,38987,38988,38989,38990,38991,38992,38993,38994,38995,38996,38997,38998,38999,39e3,39001,39002,39003,39004,39005,39006,39007,39008,39009,39010,39011,39012,39013,39014,39015,39016,39017,39018,39019,39020,39021,39022,30562,30565,30591,30605,30589,30592,30604,30609,30623,30624,30640,30645,30653,30010,30016,30030,30027,30024,30043,30066,30073,30083,32600,32609,32607,35400,32616,32628,32625,32633,32641,32638,30413,30437,34866,38021,38022,38023,38027,38026,38028,38029,38031,38032,38036,38039,38037,38042,38043,38044,38051,38052,38059,38058,38061,38060,38063,38064,38066,38068,38070,38071,38072,38073,38074,38076,38077,38079,38084,38088,38089,38090,38091,38092,38093,38094,38096,38097,38098,38101,38102,38103,38105,38104,38107,38110,38111,38112,38114,38116,38117,38119,38120,38122,39023,39024,39025,39026,39027,39028,39051,39054,39058,39061,39065,39075,39080,39081,39082,39083,39084,39085,39086,39087,39088,39089,39090,39091,39092,39093,39094,39095,39096,39097,39098,39099,39100,39101,39102,39103,39104,39105,39106,39107,39108,39109,39110,39111,39112,39113,39114,39115,39116,39117,39119,39120,39124,39126,39127,39131,39132,39133,39136,39137,39138,39139,39140,39141,39142,39145,39146,39147,39148,39149,39150,39151,39152,39153,39154,39155,39156,39157,39158,39159,39160,39161,39162,39163,39164,39165,39166,39167,39168,39169,39170,39171,39172,39173,39174,39175,38121,38123,38126,38127,38131,38132,38133,38135,38137,38140,38141,38143,38147,38146,38150,38151,38153,38154,38157,38158,38159,38162,38163,38164,38165,38166,38168,38171,38173,38174,38175,38178,38186,38187,38185,38188,38193,38194,38196,38198,38199,38200,38204,38206,38207,38210,38197,38212,38213,38214,38217,38220,38222,38223,38226,38227,38228,38230,38231,38232,38233,38235,38238,38239,38237,38241,38242,38244,38245,38246,38247,38248,38249,38250,38251,38252,38255,38257,38258,38259,38202,30695,30700,38601,31189,31213,31203,31211,31238,23879,31235,31234,31262,31252,39176,39177,39178,39179,39180,39182,39183,39185,39186,39187,39188,39189,39190,39191,39192,39193,39194,39195,39196,39197,39198,39199,39200,39201,39202,39203,39204,39205,39206,39207,39208,39209,39210,39211,39212,39213,39215,39216,39217,39218,39219,39220,39221,39222,39223,39224,39225,39226,39227,39228,39229,39230,39231,39232,39233,39234,39235,39236,39237,39238,39239,39240,39241,39242,39243,39244,39245,39246,39247,39248,39249,39250,39251,39254,39255,39256,39257,39258,39259,39260,39261,39262,39263,39264,39265,39266,39268,39270,39283,39288,39289,39291,39294,39298,39299,39305,31289,31287,31313,40655,39333,31344,30344,30350,30355,30361,30372,29918,29920,29996,40480,40482,40488,40489,40490,40491,40492,40498,40497,40502,40504,40503,40505,40506,40510,40513,40514,40516,40518,40519,40520,40521,40523,40524,40526,40529,40533,40535,40538,40539,40540,40542,40547,40550,40551,40552,40553,40554,40555,40556,40561,40557,40563,30098,30100,30102,30112,30109,30124,30115,30131,30132,30136,30148,30129,30128,30147,30146,30166,30157,30179,30184,30182,30180,30187,30183,30211,30193,30204,30207,30224,30208,30213,30220,30231,30218,30245,30232,30229,30233,39308,39310,39322,39323,39324,39325,39326,39327,39328,39329,39330,39331,39332,39334,39335,39337,39338,39339,39340,39341,39342,39343,39344,39345,39346,39347,39348,39349,39350,39351,39352,39353,39354,39355,39356,39357,39358,39359,39360,39361,39362,39363,39364,39365,39366,39367,39368,39369,39370,39371,39372,39373,39374,39375,39376,39377,39378,39379,39380,39381,39382,39383,39384,39385,39386,39387,39388,39389,39390,39391,39392,39393,39394,39395,39396,39397,39398,39399,39400,39401,39402,39403,39404,39405,39406,39407,39408,39409,39410,39411,39412,39413,39414,39415,39416,39417,30235,30268,30242,30240,30272,30253,30256,30271,30261,30275,30270,30259,30285,30302,30292,30300,30294,30315,30319,32714,31462,31352,31353,31360,31366,31368,31381,31398,31392,31404,31400,31405,31411,34916,34921,34930,34941,34943,34946,34978,35014,34999,35004,35017,35042,35022,35043,35045,35057,35098,35068,35048,35070,35056,35105,35097,35091,35099,35082,35124,35115,35126,35137,35174,35195,30091,32997,30386,30388,30684,32786,32788,32790,32796,32800,32802,32805,32806,32807,32809,32808,32817,32779,32821,32835,32838,32845,32850,32873,32881,35203,39032,39040,39043,39418,39419,39420,39421,39422,39423,39424,39425,39426,39427,39428,39429,39430,39431,39432,39433,39434,39435,39436,39437,39438,39439,39440,39441,39442,39443,39444,39445,39446,39447,39448,39449,39450,39451,39452,39453,39454,39455,39456,39457,39458,39459,39460,39461,39462,39463,39464,39465,39466,39467,39468,39469,39470,39471,39472,39473,39474,39475,39476,39477,39478,39479,39480,39481,39482,39483,39484,39485,39486,39487,39488,39489,39490,39491,39492,39493,39494,39495,39496,39497,39498,39499,39500,39501,39502,39503,39504,39505,39506,39507,39508,39509,39510,39511,39512,39513,39049,39052,39053,39055,39060,39066,39067,39070,39071,39073,39074,39077,39078,34381,34388,34412,34414,34431,34426,34428,34427,34472,34445,34443,34476,34461,34471,34467,34474,34451,34473,34486,34500,34485,34510,34480,34490,34481,34479,34505,34511,34484,34537,34545,34546,34541,34547,34512,34579,34526,34548,34527,34520,34513,34563,34567,34552,34568,34570,34573,34569,34595,34619,34590,34597,34606,34586,34622,34632,34612,34609,34601,34615,34623,34690,34594,34685,34686,34683,34656,34672,34636,34670,34699,34643,34659,34684,34660,34649,34661,34707,34735,34728,34770,39514,39515,39516,39517,39518,39519,39520,39521,39522,39523,39524,39525,39526,39527,39528,39529,39530,39531,39538,39555,39561,39565,39566,39572,39573,39577,39590,39593,39594,39595,39596,39597,39598,39599,39602,39603,39604,39605,39609,39611,39613,39614,39615,39619,39620,39622,39623,39624,39625,39626,39629,39630,39631,39632,39634,39636,39637,39638,39639,39641,39642,39643,39644,39645,39646,39648,39650,39651,39652,39653,39655,39656,39657,39658,39660,39662,39664,39665,39666,39667,39668,39669,39670,39671,39672,39674,39676,39677,39678,39679,39680,39681,39682,39684,39685,39686,34758,34696,34693,34733,34711,34691,34731,34789,34732,34741,34739,34763,34771,34749,34769,34752,34762,34779,34794,34784,34798,34838,34835,34814,34826,34843,34849,34873,34876,32566,32578,32580,32581,33296,31482,31485,31496,31491,31492,31509,31498,31531,31503,31559,31544,31530,31513,31534,31537,31520,31525,31524,31539,31550,31518,31576,31578,31557,31605,31564,31581,31584,31598,31611,31586,31602,31601,31632,31654,31655,31672,31660,31645,31656,31621,31658,31644,31650,31659,31668,31697,31681,31692,31709,31706,31717,31718,31722,31756,31742,31740,31759,31766,31755,39687,39689,39690,39691,39692,39693,39694,39696,39697,39698,39700,39701,39702,39703,39704,39705,39706,39707,39708,39709,39710,39712,39713,39714,39716,39717,39718,39719,39720,39721,39722,39723,39724,39725,39726,39728,39729,39731,39732,39733,39734,39735,39736,39737,39738,39741,39742,39743,39744,39750,39754,39755,39756,39758,39760,39762,39763,39765,39766,39767,39768,39769,39770,39771,39772,39773,39774,39775,39776,39777,39778,39779,39780,39781,39782,39783,39784,39785,39786,39787,39788,39789,39790,39791,39792,39793,39794,39795,39796,39797,39798,39799,39800,39801,39802,39803,31775,31786,31782,31800,31809,31808,33278,33281,33282,33284,33260,34884,33313,33314,33315,33325,33327,33320,33323,33336,33339,33331,33332,33342,33348,33353,33355,33359,33370,33375,33384,34942,34949,34952,35032,35039,35166,32669,32671,32679,32687,32688,32690,31868,25929,31889,31901,31900,31902,31906,31922,31932,31933,31937,31943,31948,31949,31944,31941,31959,31976,33390,26280,32703,32718,32725,32741,32737,32742,32745,32750,32755,31992,32119,32166,32174,32327,32411,40632,40628,36211,36228,36244,36241,36273,36199,36205,35911,35913,37194,37200,37198,37199,37220,39804,39805,39806,39807,39808,39809,39810,39811,39812,39813,39814,39815,39816,39817,39818,39819,39820,39821,39822,39823,39824,39825,39826,39827,39828,39829,39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39840,39841,39842,39843,39844,39845,39846,39847,39848,39849,39850,39851,39852,39853,39854,39855,39856,39857,39858,39859,39860,39861,39862,39863,39864,39865,39866,39867,39868,39869,39870,39871,39872,39873,39874,39875,39876,39877,39878,39879,39880,39881,39882,39883,39884,39885,39886,39887,39888,39889,39890,39891,39892,39893,39894,39895,39896,39897,39898,39899,37218,37217,37232,37225,37231,37245,37246,37234,37236,37241,37260,37253,37264,37261,37265,37282,37283,37290,37293,37294,37295,37301,37300,37306,35925,40574,36280,36331,36357,36441,36457,36277,36287,36284,36282,36292,36310,36311,36314,36318,36302,36303,36315,36294,36332,36343,36344,36323,36345,36347,36324,36361,36349,36372,36381,36383,36396,36398,36387,36399,36410,36416,36409,36405,36413,36401,36425,36417,36418,36433,36434,36426,36464,36470,36476,36463,36468,36485,36495,36500,36496,36508,36510,35960,35970,35978,35973,35992,35988,26011,35286,35294,35290,35292,39900,39901,39902,39903,39904,39905,39906,39907,39908,39909,39910,39911,39912,39913,39914,39915,39916,39917,39918,39919,39920,39921,39922,39923,39924,39925,39926,39927,39928,39929,39930,39931,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39969,39970,39971,39972,39973,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39987,39988,39989,39990,39991,39992,39993,39994,39995,35301,35307,35311,35390,35622,38739,38633,38643,38639,38662,38657,38664,38671,38670,38698,38701,38704,38718,40832,40835,40837,40838,40839,40840,40841,40842,40844,40702,40715,40717,38585,38588,38589,38606,38610,30655,38624,37518,37550,37576,37694,37738,37834,37775,37950,37995,40063,40066,40069,40070,40071,40072,31267,40075,40078,40080,40081,40082,40084,40085,40090,40091,40094,40095,40096,40097,40098,40099,40101,40102,40103,40104,40105,40107,40109,40110,40112,40113,40114,40115,40116,40117,40118,40119,40122,40123,40124,40125,40132,40133,40134,40135,40138,40139,39996,39997,39998,39999,4e4,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40018,40019,40020,40021,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40035,40036,40037,40038,40039,40040,40041,40042,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40061,40062,40064,40067,40068,40073,40074,40076,40079,40083,40086,40087,40088,40089,40093,40106,40108,40111,40121,40126,40127,40128,40129,40130,40136,40137,40145,40146,40154,40155,40160,40161,40140,40141,40142,40143,40144,40147,40148,40149,40151,40152,40153,40156,40157,40159,40162,38780,38789,38801,38802,38804,38831,38827,38819,38834,38836,39601,39600,39607,40536,39606,39610,39612,39617,39616,39621,39618,39627,39628,39633,39749,39747,39751,39753,39752,39757,39761,39144,39181,39214,39253,39252,39647,39649,39654,39663,39659,39675,39661,39673,39688,39695,39699,39711,39715,40637,40638,32315,40578,40583,40584,40587,40594,37846,40605,40607,40667,40668,40669,40672,40671,40674,40681,40679,40677,40682,40687,40738,40748,40751,40761,40759,40765,40766,40772,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40183,40184,40185,40186,40187,40188,40189,40190,40191,40192,40193,40194,40195,40196,40197,40198,40199,40200,40201,40202,40203,40204,40205,40206,40207,40208,40209,40210,40211,40212,40213,40214,40215,40216,40217,40218,40219,40220,40221,40222,40223,40224,40225,40226,40227,40228,40229,40230,40231,40232,40233,40234,40235,40236,40237,40238,40239,40240,40241,40242,40243,40244,40245,40246,40247,40248,40249,40250,40251,40252,40253,40254,40255,40256,40257,40258,57908,57909,57910,57911,57912,57913,57914,57915,57916,57917,57918,57919,57920,57921,57922,57923,57924,57925,57926,57927,57928,57929,57930,57931,57932,57933,57934,57935,57936,57937,57938,57939,57940,57941,57942,57943,57944,57945,57946,57947,57948,57949,57950,57951,57952,57953,57954,57955,57956,57957,57958,57959,57960,57961,57962,57963,57964,57965,57966,57967,57968,57969,57970,57971,57972,57973,57974,57975,57976,57977,57978,57979,57980,57981,57982,57983,57984,57985,57986,57987,57988,57989,57990,57991,57992,57993,57994,57995,57996,57997,57998,57999,58e3,58001,40259,40260,40261,40262,40263,40264,40265,40266,40267,40268,40269,40270,40271,40272,40273,40274,40275,40276,40277,40278,40279,40280,40281,40282,40283,40284,40285,40286,40287,40288,40289,40290,40291,40292,40293,40294,40295,40296,40297,40298,40299,40300,40301,40302,40303,40304,40305,40306,40307,40308,40309,40310,40311,40312,40313,40314,40315,40316,40317,40318,40319,40320,40321,40322,40323,40324,40325,40326,40327,40328,40329,40330,40331,40332,40333,40334,40335,40336,40337,40338,40339,40340,40341,40342,40343,40344,40345,40346,40347,40348,40349,40350,40351,40352,40353,40354,58002,58003,58004,58005,58006,58007,58008,58009,58010,58011,58012,58013,58014,58015,58016,58017,58018,58019,58020,58021,58022,58023,58024,58025,58026,58027,58028,58029,58030,58031,58032,58033,58034,58035,58036,58037,58038,58039,58040,58041,58042,58043,58044,58045,58046,58047,58048,58049,58050,58051,58052,58053,58054,58055,58056,58057,58058,58059,58060,58061,58062,58063,58064,58065,58066,58067,58068,58069,58070,58071,58072,58073,58074,58075,58076,58077,58078,58079,58080,58081,58082,58083,58084,58085,58086,58087,58088,58089,58090,58091,58092,58093,58094,58095,40355,40356,40357,40358,40359,40360,40361,40362,40363,40364,40365,40366,40367,40368,40369,40370,40371,40372,40373,40374,40375,40376,40377,40378,40379,40380,40381,40382,40383,40384,40385,40386,40387,40388,40389,40390,40391,40392,40393,40394,40395,40396,40397,40398,40399,40400,40401,40402,40403,40404,40405,40406,40407,40408,40409,40410,40411,40412,40413,40414,40415,40416,40417,40418,40419,40420,40421,40422,40423,40424,40425,40426,40427,40428,40429,40430,40431,40432,40433,40434,40435,40436,40437,40438,40439,40440,40441,40442,40443,40444,40445,40446,40447,40448,40449,40450,58096,58097,58098,58099,58100,58101,58102,58103,58104,58105,58106,58107,58108,58109,58110,58111,58112,58113,58114,58115,58116,58117,58118,58119,58120,58121,58122,58123,58124,58125,58126,58127,58128,58129,58130,58131,58132,58133,58134,58135,58136,58137,58138,58139,58140,58141,58142,58143,58144,58145,58146,58147,58148,58149,58150,58151,58152,58153,58154,58155,58156,58157,58158,58159,58160,58161,58162,58163,58164,58165,58166,58167,58168,58169,58170,58171,58172,58173,58174,58175,58176,58177,58178,58179,58180,58181,58182,58183,58184,58185,58186,58187,58188,58189,40451,40452,40453,40454,40455,40456,40457,40458,40459,40460,40461,40462,40463,40464,40465,40466,40467,40468,40469,40470,40471,40472,40473,40474,40475,40476,40477,40478,40484,40487,40494,40496,40500,40507,40508,40512,40525,40528,40530,40531,40532,40534,40537,40541,40543,40544,40545,40546,40549,40558,40559,40562,40564,40565,40566,40567,40568,40569,40570,40571,40572,40573,40576,40577,40579,40580,40581,40582,40585,40586,40588,40589,40590,40591,40592,40593,40596,40597,40598,40599,40600,40601,40602,40603,40604,40606,40608,40609,40610,40611,40612,40613,40615,40616,40617,40618,58190,58191,58192,58193,58194,58195,58196,58197,58198,58199,58200,58201,58202,58203,58204,58205,58206,58207,58208,58209,58210,58211,58212,58213,58214,58215,58216,58217,58218,58219,58220,58221,58222,58223,58224,58225,58226,58227,58228,58229,58230,58231,58232,58233,58234,58235,58236,58237,58238,58239,58240,58241,58242,58243,58244,58245,58246,58247,58248,58249,58250,58251,58252,58253,58254,58255,58256,58257,58258,58259,58260,58261,58262,58263,58264,58265,58266,58267,58268,58269,58270,58271,58272,58273,58274,58275,58276,58277,58278,58279,58280,58281,58282,58283,40619,40620,40621,40622,40623,40624,40625,40626,40627,40629,40630,40631,40633,40634,40636,40639,40640,40641,40642,40643,40645,40646,40647,40648,40650,40651,40652,40656,40658,40659,40661,40662,40663,40665,40666,40670,40673,40675,40676,40678,40680,40683,40684,40685,40686,40688,40689,40690,40691,40692,40693,40694,40695,40696,40698,40701,40703,40704,40705,40706,40707,40708,40709,40710,40711,40712,40713,40714,40716,40719,40721,40722,40724,40725,40726,40728,40730,40731,40732,40733,40734,40735,40737,40739,40740,40741,40742,40743,40744,40745,40746,40747,40749,40750,40752,40753,58284,58285,58286,58287,58288,58289,58290,58291,58292,58293,58294,58295,58296,58297,58298,58299,58300,58301,58302,58303,58304,58305,58306,58307,58308,58309,58310,58311,58312,58313,58314,58315,58316,58317,58318,58319,58320,58321,58322,58323,58324,58325,58326,58327,58328,58329,58330,58331,58332,58333,58334,58335,58336,58337,58338,58339,58340,58341,58342,58343,58344,58345,58346,58347,58348,58349,58350,58351,58352,58353,58354,58355,58356,58357,58358,58359,58360,58361,58362,58363,58364,58365,58366,58367,58368,58369,58370,58371,58372,58373,58374,58375,58376,58377,40754,40755,40756,40757,40758,40760,40762,40764,40767,40768,40769,40770,40771,40773,40774,40775,40776,40777,40778,40779,40780,40781,40782,40783,40786,40787,40788,40789,40790,40791,40792,40793,40794,40795,40796,40797,40798,40799,40800,40801,40802,40803,40804,40805,40806,40807,40808,40809,40810,40811,40812,40813,40814,40815,40816,40817,40818,40819,40820,40821,40822,40823,40824,40825,40826,40827,40828,40829,40830,40833,40834,40845,40846,40847,40848,40849,40850,40851,40852,40853,40854,40855,40856,40860,40861,40862,40865,40866,40867,40868,40869,63788,63865,63893,63975,63985,58378,58379,58380,58381,58382,58383,58384,58385,58386,58387,58388,58389,58390,58391,58392,58393,58394,58395,58396,58397,58398,58399,58400,58401,58402,58403,58404,58405,58406,58407,58408,58409,58410,58411,58412,58413,58414,58415,58416,58417,58418,58419,58420,58421,58422,58423,58424,58425,58426,58427,58428,58429,58430,58431,58432,58433,58434,58435,58436,58437,58438,58439,58440,58441,58442,58443,58444,58445,58446,58447,58448,58449,58450,58451,58452,58453,58454,58455,58456,58457,58458,58459,58460,58461,58462,58463,58464,58465,58466,58467,58468,58469,58470,58471,64012,64013,64014,64015,64017,64019,64020,64024,64031,64032,64033,64035,64036,64039,64040,64041,11905,59414,59415,59416,11908,13427,13383,11912,11915,59422,13726,13850,13838,11916,11927,14702,14616,59430,14799,14815,14963,14800,59435,59436,15182,15470,15584,11943,59441,59442,11946,16470,16735,11950,17207,11955,11958,11959,59451,17329,17324,11963,17373,17622,18017,17996,59459,18211,18217,18300,18317,11978,18759,18810,18813,18818,18819,18821,18822,18847,18843,18871,18870,59476,59477,19619,19615,19616,19617,19575,19618,19731,19732,19733,19734,19735,19736,19737,19886,59492,58472,58473,58474,58475,58476,58477,58478,58479,58480,58481,58482,58483,58484,58485,58486,58487,58488,58489,58490,58491,58492,58493,58494,58495,58496,58497,58498,58499,58500,58501,58502,58503,58504,58505,58506,58507,58508,58509,58510,58511,58512,58513,58514,58515,58516,58517,58518,58519,58520,58521,58522,58523,58524,58525,58526,58527,58528,58529,58530,58531,58532,58533,58534,58535,58536,58537,58538,58539,58540,58541,58542,58543,58544,58545,58546,58547,58548,58549,58550,58551,58552,58553,58554,58555,58556,58557,58558,58559,58560,58561,58562,58563,58564,58565],"gb18030-ranges":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,18318],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189e3,65536]],jis0208:[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,9327,9328,9329,9330,9331,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,13129,13076,13090,13133,13080,13095,13059,13110,13137,13143,13069,13094,13091,13099,13130,13115,13212,13213,13214,13198,13199,13252,13217,null,null,null,null,null,null,null,null,13179,12317,12319,8470,13261,8481,12964,12965,12966,12967,12968,12849,12850,12857,13182,13181,13180,8786,8801,8747,8750,8721,8730,8869,8736,8735,8895,8757,8745,8746,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20124,21782,23043,38463,21696,24859,25384,23030,36898,33909,33564,31312,24746,25569,28197,26093,33894,33446,39925,26771,22311,26017,25201,23451,22992,34427,39156,32098,32190,39822,25110,31903,34999,23433,24245,25353,26263,26696,38343,38797,26447,20197,20234,20301,20381,20553,22258,22839,22996,23041,23561,24799,24847,24944,26131,26885,28858,30031,30064,31227,32173,32239,32963,33806,34915,35586,36949,36986,21307,20117,20133,22495,32946,37057,30959,19968,22769,28322,36920,31282,33576,33419,39983,20801,21360,21693,21729,22240,23035,24341,39154,28139,32996,34093,38498,38512,38560,38907,21515,21491,23431,28879,32701,36802,38632,21359,40284,31418,19985,30867,33276,28198,22040,21764,27421,34074,39995,23013,21417,28006,29916,38287,22082,20113,36939,38642,33615,39180,21473,21942,23344,24433,26144,26355,26628,27704,27891,27945,29787,30408,31310,38964,33521,34907,35424,37613,28082,30123,30410,39365,24742,35585,36234,38322,27022,21421,20870,22290,22576,22852,23476,24310,24616,25513,25588,27839,28436,28814,28948,29017,29141,29503,32257,33398,33489,34199,36960,37467,40219,22633,26044,27738,29989,20985,22830,22885,24448,24540,25276,26106,27178,27431,27572,29579,32705,35158,40236,40206,40644,23713,27798,33659,20740,23627,25014,33222,26742,29281,20057,20474,21368,24681,28201,31311,38899,19979,21270,20206,20309,20285,20385,20339,21152,21487,22025,22799,23233,23478,23521,31185,26247,26524,26550,27468,27827,28779,29634,31117,31166,31292,31623,33457,33499,33540,33655,33775,33747,34662,35506,22057,36008,36838,36942,38686,34442,20420,23784,25105,29273,30011,33253,33469,34558,36032,38597,39187,39381,20171,20250,35299,22238,22602,22730,24315,24555,24618,24724,24674,25040,25106,25296,25913,39745,26214,26800,28023,28784,30028,30342,32117,33445,34809,38283,38542,35997,20977,21182,22806,21683,23475,23830,24936,27010,28079,30861,33995,34903,35442,37799,39608,28012,39336,34521,22435,26623,34510,37390,21123,22151,21508,24275,25313,25785,26684,26680,27579,29554,30906,31339,35226,35282,36203,36611,37101,38307,38548,38761,23398,23731,27005,38989,38990,25499,31520,27179,27263,26806,39949,28511,21106,21917,24688,25324,27963,28167,28369,33883,35088,36676,19988,39993,21494,26907,27194,38788,26666,20828,31427,33970,37340,37772,22107,40232,26658,33541,33841,31909,21e3,33477,29926,20094,20355,20896,23506,21002,21208,21223,24059,21914,22570,23014,23436,23448,23515,24178,24185,24739,24863,24931,25022,25563,25954,26577,26707,26874,27454,27475,27735,28450,28567,28485,29872,29976,30435,30475,31487,31649,31777,32233,32566,32752,32925,33382,33694,35251,35532,36011,36996,37969,38291,38289,38306,38501,38867,39208,33304,20024,21547,23736,24012,29609,30284,30524,23721,32747,36107,38593,38929,38996,39e3,20225,20238,21361,21916,22120,22522,22855,23305,23492,23696,24076,24190,24524,25582,26426,26071,26082,26399,26827,26820,27231,24112,27589,27671,27773,30079,31048,23395,31232,32e3,24509,35215,35352,36020,36215,36556,36637,39138,39438,39740,20096,20605,20736,22931,23452,25135,25216,25836,27450,29344,30097,31047,32681,34811,35516,35696,25516,33738,38816,21513,21507,21931,26708,27224,35440,30759,26485,40653,21364,23458,33050,34384,36870,19992,20037,20167,20241,21450,21560,23470,24339,24613,25937,26429,27714,27762,27875,28792,29699,31350,31406,31496,32026,31998,32102,26087,29275,21435,23621,24040,25298,25312,25369,28192,34394,35377,36317,37624,28417,31142,39770,20136,20139,20140,20379,20384,20689,20807,31478,20849,20982,21332,21281,21375,21483,21932,22659,23777,24375,24394,24623,24656,24685,25375,25945,27211,27841,29378,29421,30703,33016,33029,33288,34126,37111,37857,38911,39255,39514,20208,20957,23597,26241,26989,23616,26354,26997,29577,26704,31873,20677,21220,22343,24062,37670,26020,27427,27453,29748,31105,31165,31563,32202,33465,33740,34943,35167,35641,36817,37329,21535,37504,20061,20534,21477,21306,29399,29590,30697,33510,36527,39366,39368,39378,20855,24858,34398,21936,31354,20598,23507,36935,38533,20018,27355,37351,23633,23624,25496,31391,27795,38772,36705,31402,29066,38536,31874,26647,32368,26705,37740,21234,21531,34219,35347,32676,36557,37089,21350,34952,31041,20418,20670,21009,20804,21843,22317,29674,22411,22865,24418,24452,24693,24950,24935,25001,25522,25658,25964,26223,26690,28179,30054,31293,31995,32076,32153,32331,32619,33550,33610,34509,35336,35427,35686,36605,38938,40335,33464,36814,39912,21127,25119,25731,28608,38553,26689,20625,27424,27770,28500,31348,32080,34880,35363,26376,20214,20537,20518,20581,20860,21048,21091,21927,22287,22533,23244,24314,25010,25080,25331,25458,26908,27177,29309,29356,29486,30740,30831,32121,30476,32937,35211,35609,36066,36562,36963,37749,38522,38997,39443,40568,20803,21407,21427,24187,24358,28187,28304,29572,29694,32067,33335,35328,35578,38480,20046,20491,21476,21628,22266,22993,23396,24049,24235,24359,25144,25925,26543,28246,29392,31946,34996,32929,32993,33776,34382,35463,36328,37431,38599,39015,40723,20116,20114,20237,21320,21577,21566,23087,24460,24481,24735,26791,27278,29786,30849,35486,35492,35703,37264,20062,39881,20132,20348,20399,20505,20502,20809,20844,21151,21177,21246,21402,21475,21521,21518,21897,22353,22434,22909,23380,23389,23439,24037,24039,24055,24184,24195,24218,24247,24344,24658,24908,25239,25304,25511,25915,26114,26179,26356,26477,26657,26775,27083,27743,27946,28009,28207,28317,30002,30343,30828,31295,31968,32005,32024,32094,32177,32789,32771,32943,32945,33108,33167,33322,33618,34892,34913,35611,36002,36092,37066,37237,37489,30783,37628,38308,38477,38917,39321,39640,40251,21083,21163,21495,21512,22741,25335,28640,35946,36703,40633,20811,21051,21578,22269,31296,37239,40288,40658,29508,28425,33136,29969,24573,24794,39592,29403,36796,27492,38915,20170,22256,22372,22718,23130,24680,25031,26127,26118,26681,26801,28151,30165,32058,33390,39746,20123,20304,21449,21766,23919,24038,24046,26619,27801,29811,30722,35408,37782,35039,22352,24231,25387,20661,20652,20877,26368,21705,22622,22971,23472,24425,25165,25505,26685,27507,28168,28797,37319,29312,30741,30758,31085,25998,32048,33756,35009,36617,38555,21092,22312,26448,32618,36001,20916,22338,38442,22586,27018,32948,21682,23822,22524,30869,40442,20316,21066,21643,25662,26152,26388,26613,31364,31574,32034,37679,26716,39853,31545,21273,20874,21047,23519,25334,25774,25830,26413,27578,34217,38609,30352,39894,25420,37638,39851,30399,26194,19977,20632,21442,23665,24808,25746,25955,26719,29158,29642,29987,31639,32386,34453,35715,36059,37240,39184,26028,26283,27531,20181,20180,20282,20351,21050,21496,21490,21987,22235,22763,22987,22985,23039,23376,23629,24066,24107,24535,24605,25351,25903,23388,26031,26045,26088,26525,27490,27515,27663,29509,31049,31169,31992,32025,32043,32930,33026,33267,35222,35422,35433,35430,35468,35566,36039,36060,38604,39164,27503,20107,20284,20365,20816,23383,23546,24904,25345,26178,27425,28363,27835,29246,29885,30164,30913,31034,32780,32819,33258,33940,36766,27728,40575,24335,35672,40235,31482,36600,23437,38635,19971,21489,22519,22833,23241,23460,24713,28287,28422,30142,36074,23455,34048,31712,20594,26612,33437,23649,34122,32286,33294,20889,23556,25448,36198,26012,29038,31038,32023,32773,35613,36554,36974,34503,37034,20511,21242,23610,26451,28796,29237,37196,37320,37675,33509,23490,24369,24825,20027,21462,23432,25163,26417,27530,29417,29664,31278,33131,36259,37202,39318,20754,21463,21610,23551,25480,27193,32172,38656,22234,21454,21608,23447,23601,24030,20462,24833,25342,27954,31168,31179,32066,32333,32722,33261,33311,33936,34886,35186,35728,36468,36655,36913,37195,37228,38598,37276,20160,20303,20805,21313,24467,25102,26580,27713,28171,29539,32294,37325,37507,21460,22809,23487,28113,31069,32302,31899,22654,29087,20986,34899,36848,20426,23803,26149,30636,31459,33308,39423,20934,24490,26092,26991,27529,28147,28310,28516,30462,32020,24033,36981,37255,38918,20966,21021,25152,26257,26329,28186,24246,32210,32626,26360,34223,34295,35576,21161,21465,22899,24207,24464,24661,37604,38500,20663,20767,21213,21280,21319,21484,21736,21830,21809,22039,22888,22974,23100,23477,23558,23567,23569,23578,24196,24202,24288,24432,25215,25220,25307,25484,25463,26119,26124,26157,26230,26494,26786,27167,27189,27836,28040,28169,28248,28988,28966,29031,30151,30465,30813,30977,31077,31216,31456,31505,31911,32057,32918,33750,33931,34121,34909,35059,35359,35388,35412,35443,35937,36062,37284,37478,37758,37912,38556,38808,19978,19976,19998,20055,20887,21104,22478,22580,22732,23330,24120,24773,25854,26465,26454,27972,29366,30067,31331,33976,35698,37304,37664,22065,22516,39166,25325,26893,27542,29165,32340,32887,33394,35302,39135,34645,36785,23611,20280,20449,20405,21767,23072,23517,23529,24515,24910,25391,26032,26187,26862,27035,28024,28145,30003,30137,30495,31070,31206,32051,33251,33455,34218,35242,35386,36523,36763,36914,37341,38663,20154,20161,20995,22645,22764,23563,29978,23613,33102,35338,36805,38499,38765,31525,35535,38920,37218,22259,21416,36887,21561,22402,24101,25512,27700,28810,30561,31883,32736,34928,36930,37204,37648,37656,38543,29790,39620,23815,23913,25968,26530,36264,38619,25454,26441,26905,33733,38935,38592,35070,28548,25722,23544,19990,28716,30045,26159,20932,21046,21218,22995,24449,24615,25104,25919,25972,26143,26228,26866,26646,27491,28165,29298,29983,30427,31934,32854,22768,35069,35199,35488,35475,35531,36893,37266,38738,38745,25993,31246,33030,38587,24109,24796,25114,26021,26132,26512,30707,31309,31821,32318,33034,36012,36196,36321,36447,30889,20999,25305,25509,25666,25240,35373,31363,31680,35500,38634,32118,33292,34633,20185,20808,21315,21344,23459,23554,23574,24029,25126,25159,25776,26643,26676,27849,27973,27927,26579,28508,29006,29053,26059,31359,31661,32218,32330,32680,33146,33307,33337,34214,35438,36046,36341,36984,36983,37549,37521,38275,39854,21069,21892,28472,28982,20840,31109,32341,33203,31950,22092,22609,23720,25514,26366,26365,26970,29401,30095,30094,30990,31062,31199,31895,32032,32068,34311,35380,38459,36961,40736,20711,21109,21452,21474,20489,21930,22766,22863,29245,23435,23652,21277,24803,24819,25436,25475,25407,25531,25805,26089,26361,24035,27085,27133,28437,29157,20105,30185,30456,31379,31967,32207,32156,32865,33609,33624,33900,33980,34299,35013,36208,36865,36973,37783,38684,39442,20687,22679,24974,33235,34101,36104,36896,20419,20596,21063,21363,24687,25417,26463,28204,36275,36895,20439,23646,36042,26063,32154,21330,34966,20854,25539,23384,23403,23562,25613,26449,36956,20182,22810,22826,27760,35409,21822,22549,22949,24816,25171,26561,33333,26965,38464,39364,39464,20307,22534,23550,32784,23729,24111,24453,24608,24907,25140,26367,27888,28382,32974,33151,33492,34955,36024,36864,36910,38538,40667,39899,20195,21488,22823,31532,37261,38988,40441,28381,28711,21331,21828,23429,25176,25246,25299,27810,28655,29730,35351,37944,28609,35582,33592,20967,34552,21482,21481,20294,36948,36784,22890,33073,24061,31466,36799,26842,35895,29432,40008,27197,35504,20025,21336,22022,22374,25285,25506,26086,27470,28129,28251,28845,30701,31471,31658,32187,32829,32966,34507,35477,37723,22243,22727,24382,26029,26262,27264,27573,30007,35527,20516,30693,22320,24347,24677,26234,27744,30196,31258,32622,33268,34584,36933,39347,31689,30044,31481,31569,33988,36880,31209,31378,33590,23265,30528,20013,20210,23449,24544,25277,26172,26609,27880,34411,34935,35387,37198,37619,39376,27159,28710,29482,33511,33879,36015,19969,20806,20939,21899,23541,24086,24115,24193,24340,24373,24427,24500,25074,25361,26274,26397,28526,29266,30010,30522,32884,33081,33144,34678,35519,35548,36229,36339,37530,38263,38914,40165,21189,25431,30452,26389,27784,29645,36035,37806,38515,27941,22684,26894,27084,36861,37786,30171,36890,22618,26626,25524,27131,20291,28460,26584,36795,34086,32180,37716,26943,28528,22378,22775,23340,32044,29226,21514,37347,40372,20141,20302,20572,20597,21059,35998,21576,22564,23450,24093,24213,24237,24311,24351,24716,25269,25402,25552,26799,27712,30855,31118,31243,32224,33351,35330,35558,36420,36883,37048,37165,37336,40718,27877,25688,25826,25973,28404,30340,31515,36969,37841,28346,21746,24505,25764,36685,36845,37444,20856,22635,22825,23637,24215,28155,32399,29980,36028,36578,39003,28857,20253,27583,28593,3e4,38651,20814,21520,22581,22615,22956,23648,24466,26007,26460,28193,30331,33759,36077,36884,37117,37709,30757,30778,21162,24230,22303,22900,24594,20498,20826,20908,20941,20992,21776,22612,22616,22871,23445,23798,23947,24764,25237,25645,26481,26691,26812,26847,30423,28120,28271,28059,28783,29128,24403,30168,31095,31561,31572,31570,31958,32113,21040,33891,34153,34276,35342,35588,35910,36367,36867,36879,37913,38518,38957,39472,38360,20685,21205,21516,22530,23566,24999,25758,27934,30643,31461,33012,33796,36947,37509,23776,40199,21311,24471,24499,28060,29305,30563,31167,31716,27602,29420,35501,26627,27233,20984,31361,26932,23626,40182,33515,23493,37193,28702,22136,23663,24775,25958,27788,35930,36929,38931,21585,26311,37389,22856,37027,20869,20045,20970,34201,35598,28760,25466,37707,26978,39348,32260,30071,21335,26976,36575,38627,27741,20108,23612,24336,36841,21250,36049,32905,34425,24319,26085,20083,20837,22914,23615,38894,20219,22922,24525,35469,28641,31152,31074,23527,33905,29483,29105,24180,24565,25467,25754,29123,31896,20035,24316,20043,22492,22178,24745,28611,32013,33021,33075,33215,36786,35223,34468,24052,25226,25773,35207,26487,27874,27966,29750,30772,23110,32629,33453,39340,20467,24259,25309,25490,25943,26479,30403,29260,32972,32954,36649,37197,20493,22521,23186,26757,26995,29028,29437,36023,22770,36064,38506,36889,34687,31204,30695,33833,20271,21093,21338,25293,26575,27850,30333,31636,31893,33334,34180,36843,26333,28448,29190,32283,33707,39361,40614,20989,31665,30834,31672,32903,31560,27368,24161,32908,30033,30048,20843,37474,28300,30330,37271,39658,20240,32624,25244,31567,38309,40169,22138,22617,34532,38588,20276,21028,21322,21453,21467,24070,25644,26001,26495,27710,27726,29256,29359,29677,30036,32321,33324,34281,36009,31684,37318,29033,38930,39151,25405,26217,30058,30436,30928,34115,34542,21290,21329,21542,22915,24199,24444,24754,25161,25209,25259,26e3,27604,27852,30130,30382,30865,31192,32203,32631,32933,34987,35513,36027,36991,38750,39131,27147,31800,20633,23614,24494,26503,27608,29749,30473,32654,40763,26570,31255,21305,30091,39661,24422,33181,33777,32920,24380,24517,30050,31558,36924,26727,23019,23195,32016,30334,35628,20469,24426,27161,27703,28418,29922,31080,34920,35413,35961,24287,25551,30149,31186,33495,37672,37618,33948,34541,39981,21697,24428,25996,27996,28693,36007,36051,38971,25935,29942,19981,20184,22496,22827,23142,23500,20904,24067,24220,24598,25206,25975,26023,26222,28014,29238,31526,33104,33178,33433,35676,36e3,36070,36212,38428,38468,20398,25771,27494,33310,33889,34154,37096,23553,26963,39080,33914,34135,20239,21103,24489,24133,26381,31119,33145,35079,35206,28149,24343,25173,27832,20175,29289,39826,20998,21563,22132,22707,24996,25198,28954,22894,31881,31966,32027,38640,25991,32862,19993,20341,20853,22592,24163,24179,24330,26564,20006,34109,38281,38491,31859,38913,20731,22721,30294,30887,21029,30629,34065,31622,20559,22793,29255,31687,32232,36794,36820,36941,20415,21193,23081,24321,38829,20445,33303,37610,22275,25429,27497,29995,35036,36628,31298,21215,22675,24917,25098,26286,27597,31807,33769,20515,20472,21253,21574,22577,22857,23453,23792,23791,23849,24214,25265,25447,25918,26041,26379,27861,27873,28921,30770,32299,32990,33459,33804,34028,34562,35090,35370,35914,37030,37586,39165,40179,40300,20047,20129,20621,21078,22346,22952,24125,24536,24537,25151,26292,26395,26576,26834,20882,32033,32938,33192,35584,35980,36031,37502,38450,21536,38956,21271,20693,21340,22696,25778,26420,29287,30566,31302,37350,21187,27809,27526,22528,24140,22868,26412,32763,20961,30406,25705,30952,39764,40635,22475,22969,26151,26522,27598,21737,27097,24149,33180,26517,39850,26622,40018,26717,20134,20451,21448,25273,26411,27819,36804,20397,32365,40639,19975,24930,28288,28459,34067,21619,26410,39749,24051,31637,23724,23494,34588,28234,34001,31252,33032,22937,31885,27665,30496,21209,22818,28961,29279,30683,38695,40289,26891,23167,23064,20901,21517,21629,26126,30431,36855,37528,40180,23018,29277,28357,20813,26825,32191,32236,38754,40634,25720,27169,33538,22916,23391,27611,29467,30450,32178,32791,33945,20786,26408,40665,30446,26466,21247,39173,23588,25147,31870,36016,21839,24758,32011,38272,21249,20063,20918,22812,29242,32822,37326,24357,30690,21380,24441,32004,34220,35379,36493,38742,26611,34222,37971,24841,24840,27833,30290,35565,36664,21807,20305,20778,21191,21451,23461,24189,24736,24962,25558,26377,26586,28263,28044,29494,29495,30001,31056,35029,35480,36938,37009,37109,38596,34701,22805,20104,20313,19982,35465,36671,38928,20653,24188,22934,23481,24248,25562,25594,25793,26332,26954,27096,27915,28342,29076,29992,31407,32650,32768,33865,33993,35201,35617,36362,36965,38525,39178,24958,25233,27442,27779,28020,32716,32764,28096,32645,34746,35064,26469,33713,38972,38647,27931,32097,33853,37226,20081,21365,23888,27396,28651,34253,34349,35239,21033,21519,23653,26446,26792,29702,29827,30178,35023,35041,37324,38626,38520,24459,29575,31435,33870,25504,30053,21129,27969,28316,29705,30041,30827,31890,38534,31452,40845,20406,24942,26053,34396,20102,20142,20698,20001,20940,23534,26009,26753,28092,29471,30274,30637,31260,31975,33391,35538,36988,37327,38517,38936,21147,32209,20523,21400,26519,28107,29136,29747,33256,36650,38563,40023,40607,29792,22593,28057,32047,39006,20196,20278,20363,20919,21169,23994,24604,29618,31036,33491,37428,38583,38646,38666,40599,40802,26278,27508,21015,21155,28872,35010,24265,24651,24976,28451,29001,31806,32244,32879,34030,36899,37676,21570,39791,27347,28809,36034,36335,38706,21172,23105,24266,24324,26391,27004,27028,28010,28431,29282,29436,31725,32769,32894,34635,37070,20845,40595,31108,32907,37682,35542,20525,21644,35441,27498,36036,33031,24785,26528,40434,20121,20120,39952,35435,34241,34152,26880,28286,30871,33109,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24332,19984,19989,20010,20017,20022,20028,20031,20034,20054,20056,20098,20101,35947,20106,33298,24333,20110,20126,20127,20128,20130,20144,20147,20150,20174,20173,20164,20166,20162,20183,20190,20205,20191,20215,20233,20314,20272,20315,20317,20311,20295,20342,20360,20367,20376,20347,20329,20336,20369,20335,20358,20374,20760,20436,20447,20430,20440,20443,20433,20442,20432,20452,20453,20506,20520,20500,20522,20517,20485,20252,20470,20513,20521,20524,20478,20463,20497,20486,20547,20551,26371,20565,20560,20552,20570,20566,20588,20600,20608,20634,20613,20660,20658,20681,20682,20659,20674,20694,20702,20709,20717,20707,20718,20729,20725,20745,20737,20738,20758,20757,20756,20762,20769,20794,20791,20796,20795,20799,20800,20818,20812,20820,20834,31480,20841,20842,20846,20864,20866,22232,20876,20873,20879,20881,20883,20885,20886,20900,20902,20898,20905,20906,20907,20915,20913,20914,20912,20917,20925,20933,20937,20955,20960,34389,20969,20973,20976,20981,20990,20996,21003,21012,21006,21031,21034,21038,21043,21049,21071,21060,21067,21068,21086,21076,21098,21108,21097,21107,21119,21117,21133,21140,21138,21105,21128,21137,36776,36775,21164,21165,21180,21173,21185,21197,21207,21214,21219,21222,39149,21216,21235,21237,21240,21241,21254,21256,30008,21261,21264,21263,21269,21274,21283,21295,21297,21299,21304,21312,21318,21317,19991,21321,21325,20950,21342,21353,21358,22808,21371,21367,21378,21398,21408,21414,21413,21422,21424,21430,21443,31762,38617,21471,26364,29166,21486,21480,21485,21498,21505,21565,21568,21548,21549,21564,21550,21558,21545,21533,21582,21647,21621,21646,21599,21617,21623,21616,21650,21627,21632,21622,21636,21648,21638,21703,21666,21688,21669,21676,21700,21704,21672,21675,21698,21668,21694,21692,21720,21733,21734,21775,21780,21757,21742,21741,21754,21730,21817,21824,21859,21836,21806,21852,21829,21846,21847,21816,21811,21853,21913,21888,21679,21898,21919,21883,21886,21912,21918,21934,21884,21891,21929,21895,21928,21978,21957,21983,21956,21980,21988,21972,22036,22007,22038,22014,22013,22043,22009,22094,22096,29151,22068,22070,22066,22072,22123,22116,22063,22124,22122,22150,22144,22154,22176,22164,22159,22181,22190,22198,22196,22210,22204,22209,22211,22208,22216,22222,22225,22227,22231,22254,22265,22272,22271,22276,22281,22280,22283,22285,22291,22296,22294,21959,22300,22310,22327,22328,22350,22331,22336,22351,22377,22464,22408,22369,22399,22409,22419,22432,22451,22436,22442,22448,22467,22470,22484,22482,22483,22538,22486,22499,22539,22553,22557,22642,22561,22626,22603,22640,27584,22610,22589,22649,22661,22713,22687,22699,22714,22750,22715,22712,22702,22725,22739,22737,22743,22745,22744,22757,22748,22756,22751,22767,22778,22777,22779,22780,22781,22786,22794,22800,22811,26790,22821,22828,22829,22834,22840,22846,31442,22869,22864,22862,22874,22872,22882,22880,22887,22892,22889,22904,22913,22941,20318,20395,22947,22962,22982,23016,23004,22925,23001,23002,23077,23071,23057,23068,23049,23066,23104,23148,23113,23093,23094,23138,23146,23194,23228,23230,23243,23234,23229,23267,23255,23270,23273,23254,23290,23291,23308,23307,23318,23346,23248,23338,23350,23358,23363,23365,23360,23377,23381,23386,23387,23397,23401,23408,23411,23413,23416,25992,23418,23424,23427,23462,23480,23491,23495,23497,23508,23504,23524,23526,23522,23518,23525,23531,23536,23542,23539,23557,23559,23560,23565,23571,23584,23586,23592,23608,23609,23617,23622,23630,23635,23632,23631,23409,23660,23662,20066,23670,23673,23692,23697,23700,22939,23723,23739,23734,23740,23735,23749,23742,23751,23769,23785,23805,23802,23789,23948,23786,23819,23829,23831,23900,23839,23835,23825,23828,23842,23834,23833,23832,23884,23890,23886,23883,23916,23923,23926,23943,23940,23938,23970,23965,23980,23982,23997,23952,23991,23996,24009,24013,24019,24018,24022,24027,24043,24050,24053,24075,24090,24089,24081,24091,24118,24119,24132,24131,24128,24142,24151,24148,24159,24162,24164,24135,24181,24182,24186,40636,24191,24224,24257,24258,24264,24272,24271,24278,24291,24285,24282,24283,24290,24289,24296,24297,24300,24305,24307,24304,24308,24312,24318,24323,24329,24413,24412,24331,24337,24342,24361,24365,24376,24385,24392,24396,24398,24367,24401,24406,24407,24409,24417,24429,24435,24439,24451,24450,24447,24458,24456,24465,24455,24478,24473,24472,24480,24488,24493,24508,24534,24571,24548,24568,24561,24541,24755,24575,24609,24672,24601,24592,24617,24590,24625,24603,24597,24619,24614,24591,24634,24666,24641,24682,24695,24671,24650,24646,24653,24675,24643,24676,24642,24684,24683,24665,24705,24717,24807,24707,24730,24708,24731,24726,24727,24722,24743,24715,24801,24760,24800,24787,24756,24560,24765,24774,24757,24792,24909,24853,24838,24822,24823,24832,24820,24826,24835,24865,24827,24817,24845,24846,24903,24894,24872,24871,24906,24895,24892,24876,24884,24893,24898,24900,24947,24951,24920,24921,24922,24939,24948,24943,24933,24945,24927,24925,24915,24949,24985,24982,24967,25004,24980,24986,24970,24977,25003,25006,25036,25034,25033,25079,25032,25027,25030,25018,25035,32633,25037,25062,25059,25078,25082,25076,25087,25085,25084,25086,25088,25096,25097,25101,25100,25108,25115,25118,25121,25130,25134,25136,25138,25139,25153,25166,25182,25187,25179,25184,25192,25212,25218,25225,25214,25234,25235,25238,25300,25219,25236,25303,25297,25275,25295,25343,25286,25812,25288,25308,25292,25290,25282,25287,25243,25289,25356,25326,25329,25383,25346,25352,25327,25333,25424,25406,25421,25628,25423,25494,25486,25472,25515,25462,25507,25487,25481,25503,25525,25451,25449,25534,25577,25536,25542,25571,25545,25554,25590,25540,25622,25652,25606,25619,25638,25654,25885,25623,25640,25615,25703,25711,25718,25678,25898,25749,25747,25765,25769,25736,25788,25818,25810,25797,25799,25787,25816,25794,25841,25831,33289,25824,25825,25260,25827,25839,25900,25846,25844,25842,25850,25856,25853,25880,25884,25861,25892,25891,25899,25908,25909,25911,25910,25912,30027,25928,25942,25941,25933,25944,25950,25949,25970,25976,25986,25987,35722,26011,26015,26027,26039,26051,26054,26049,26052,26060,26066,26075,26073,26080,26081,26097,26482,26122,26115,26107,26483,26165,26166,26164,26140,26191,26180,26185,26177,26206,26205,26212,26215,26216,26207,26210,26224,26243,26248,26254,26249,26244,26264,26269,26305,26297,26313,26302,26300,26308,26296,26326,26330,26336,26175,26342,26345,26352,26357,26359,26383,26390,26398,26406,26407,38712,26414,26431,26422,26433,26424,26423,26438,26462,26464,26457,26467,26468,26505,26480,26537,26492,26474,26508,26507,26534,26529,26501,26551,26607,26548,26604,26547,26601,26552,26596,26590,26589,26594,26606,26553,26574,26566,26599,27292,26654,26694,26665,26688,26701,26674,26702,26803,26667,26713,26723,26743,26751,26783,26767,26797,26772,26781,26779,26755,27310,26809,26740,26805,26784,26810,26895,26765,26750,26881,26826,26888,26840,26914,26918,26849,26892,26829,26836,26855,26837,26934,26898,26884,26839,26851,26917,26873,26848,26863,26920,26922,26906,26915,26913,26822,27001,26999,26972,27e3,26987,26964,27006,26990,26937,26996,26941,26969,26928,26977,26974,26973,27009,26986,27058,27054,27088,27071,27073,27091,27070,27086,23528,27082,27101,27067,27075,27047,27182,27025,27040,27036,27029,27060,27102,27112,27138,27163,27135,27402,27129,27122,27111,27141,27057,27166,27117,27156,27115,27146,27154,27329,27171,27155,27204,27148,27250,27190,27256,27207,27234,27225,27238,27208,27192,27170,27280,27277,27296,27268,27298,27299,27287,34327,27323,27331,27330,27320,27315,27308,27358,27345,27359,27306,27354,27370,27387,27397,34326,27386,27410,27414,39729,27423,27448,27447,30428,27449,39150,27463,27459,27465,27472,27481,27476,27483,27487,27489,27512,27513,27519,27520,27524,27523,27533,27544,27541,27550,27556,27562,27563,27567,27570,27569,27571,27575,27580,27590,27595,27603,27615,27628,27627,27635,27631,40638,27656,27667,27668,27675,27684,27683,27742,27733,27746,27754,27778,27789,27802,27777,27803,27774,27752,27763,27794,27792,27844,27889,27859,27837,27863,27845,27869,27822,27825,27838,27834,27867,27887,27865,27882,27935,34893,27958,27947,27965,27960,27929,27957,27955,27922,27916,28003,28051,28004,27994,28025,27993,28046,28053,28644,28037,28153,28181,28170,28085,28103,28134,28088,28102,28140,28126,28108,28136,28114,28101,28154,28121,28132,28117,28138,28142,28205,28270,28206,28185,28274,28255,28222,28195,28267,28203,28278,28237,28191,28227,28218,28238,28196,28415,28189,28216,28290,28330,28312,28361,28343,28371,28349,28335,28356,28338,28372,28373,28303,28325,28354,28319,28481,28433,28748,28396,28408,28414,28479,28402,28465,28399,28466,28364,28478,28435,28407,28550,28538,28536,28545,28544,28527,28507,28659,28525,28546,28540,28504,28558,28561,28610,28518,28595,28579,28577,28580,28601,28614,28586,28639,28629,28652,28628,28632,28657,28654,28635,28681,28683,28666,28689,28673,28687,28670,28699,28698,28532,28701,28696,28703,28720,28734,28722,28753,28771,28825,28818,28847,28913,28844,28856,28851,28846,28895,28875,28893,28889,28937,28925,28956,28953,29029,29013,29064,29030,29026,29004,29014,29036,29071,29179,29060,29077,29096,29100,29143,29113,29118,29138,29129,29140,29134,29152,29164,29159,29173,29180,29177,29183,29197,29200,29211,29224,29229,29228,29232,29234,29243,29244,29247,29248,29254,29259,29272,29300,29310,29314,29313,29319,29330,29334,29346,29351,29369,29362,29379,29382,29380,29390,29394,29410,29408,29409,29433,29431,20495,29463,29450,29468,29462,29469,29492,29487,29481,29477,29502,29518,29519,40664,29527,29546,29544,29552,29560,29557,29563,29562,29640,29619,29646,29627,29632,29669,29678,29662,29858,29701,29807,29733,29688,29746,29754,29781,29759,29791,29785,29761,29788,29801,29808,29795,29802,29814,29822,29835,29854,29863,29898,29903,29908,29681,29920,29923,29927,29929,29934,29938,29936,29937,29944,29943,29956,29955,29957,29964,29966,29965,29973,29971,29982,29990,29996,30012,30020,30029,30026,30025,30043,30022,30042,30057,30052,30055,30059,30061,30072,30070,30086,30087,30068,30090,30089,30082,30100,30106,30109,30117,30115,30146,30131,30147,30133,30141,30136,30140,30129,30157,30154,30162,30169,30179,30174,30206,30207,30204,30209,30192,30202,30194,30195,30219,30221,30217,30239,30247,30240,30241,30242,30244,30260,30256,30267,30279,30280,30278,30300,30296,30305,30306,30312,30313,30314,30311,30316,30320,30322,30326,30328,30332,30336,30339,30344,30347,30350,30358,30355,30361,30362,30384,30388,30392,30393,30394,30402,30413,30422,30418,30430,30433,30437,30439,30442,34351,30459,30472,30471,30468,30505,30500,30494,30501,30502,30491,30519,30520,30535,30554,30568,30571,30555,30565,30591,30590,30585,30606,30603,30609,30624,30622,30640,30646,30649,30655,30652,30653,30651,30663,30669,30679,30682,30684,30691,30702,30716,30732,30738,31014,30752,31018,30789,30862,30836,30854,30844,30874,30860,30883,30901,30890,30895,30929,30918,30923,30932,30910,30908,30917,30922,30956,30951,30938,30973,30964,30983,30994,30993,31001,31020,31019,31040,31072,31063,31071,31066,31061,31059,31098,31103,31114,31133,31143,40779,31146,31150,31155,31161,31162,31177,31189,31207,31212,31201,31203,31240,31245,31256,31257,31264,31263,31104,31281,31291,31294,31287,31299,31319,31305,31329,31330,31337,40861,31344,31353,31357,31368,31383,31381,31384,31382,31401,31432,31408,31414,31429,31428,31423,36995,31431,31434,31437,31439,31445,31443,31449,31450,31453,31457,31458,31462,31469,31472,31490,31503,31498,31494,31539,31512,31513,31518,31541,31528,31542,31568,31610,31492,31565,31499,31564,31557,31605,31589,31604,31591,31600,31601,31596,31598,31645,31640,31647,31629,31644,31642,31627,31634,31631,31581,31641,31691,31681,31692,31695,31668,31686,31709,31721,31761,31764,31718,31717,31840,31744,31751,31763,31731,31735,31767,31757,31734,31779,31783,31786,31775,31799,31787,31805,31820,31811,31828,31823,31808,31824,31832,31839,31844,31830,31845,31852,31861,31875,31888,31908,31917,31906,31915,31905,31912,31923,31922,31921,31918,31929,31933,31936,31941,31938,31960,31954,31964,31970,39739,31983,31986,31988,31990,31994,32006,32002,32028,32021,32010,32069,32075,32046,32050,32063,32053,32070,32115,32086,32078,32114,32104,32110,32079,32099,32147,32137,32091,32143,32125,32155,32186,32174,32163,32181,32199,32189,32171,32317,32162,32175,32220,32184,32159,32176,32216,32221,32228,32222,32251,32242,32225,32261,32266,32291,32289,32274,32305,32287,32265,32267,32290,32326,32358,32315,32309,32313,32323,32311,32306,32314,32359,32349,32342,32350,32345,32346,32377,32362,32361,32380,32379,32387,32213,32381,36782,32383,32392,32393,32396,32402,32400,32403,32404,32406,32398,32411,32412,32568,32570,32581,32588,32589,32590,32592,32593,32597,32596,32600,32607,32608,32616,32617,32615,32632,32642,32646,32643,32648,32647,32652,32660,32670,32669,32666,32675,32687,32690,32697,32686,32694,32696,35697,32709,32710,32714,32725,32724,32737,32742,32745,32755,32761,39132,32774,32772,32779,32786,32792,32793,32796,32801,32808,32831,32827,32842,32838,32850,32856,32858,32863,32866,32872,32883,32882,32880,32886,32889,32893,32895,32900,32902,32901,32923,32915,32922,32941,20880,32940,32987,32997,32985,32989,32964,32986,32982,33033,33007,33009,33051,33065,33059,33071,33099,38539,33094,33086,33107,33105,33020,33137,33134,33125,33126,33140,33155,33160,33162,33152,33154,33184,33173,33188,33187,33119,33171,33193,33200,33205,33214,33208,33213,33216,33218,33210,33225,33229,33233,33241,33240,33224,33242,33247,33248,33255,33274,33275,33278,33281,33282,33285,33287,33290,33293,33296,33302,33321,33323,33336,33331,33344,33369,33368,33373,33370,33375,33380,33378,33384,33386,33387,33326,33393,33399,33400,33406,33421,33426,33451,33439,33467,33452,33505,33507,33503,33490,33524,33523,33530,33683,33539,33531,33529,33502,33542,33500,33545,33497,33589,33588,33558,33586,33585,33600,33593,33616,33605,33583,33579,33559,33560,33669,33690,33706,33695,33698,33686,33571,33678,33671,33674,33660,33717,33651,33653,33696,33673,33704,33780,33811,33771,33742,33789,33795,33752,33803,33729,33783,33799,33760,33778,33805,33826,33824,33725,33848,34054,33787,33901,33834,33852,34138,33924,33911,33899,33965,33902,33922,33897,33862,33836,33903,33913,33845,33994,33890,33977,33983,33951,34009,33997,33979,34010,34e3,33985,33990,34006,33953,34081,34047,34036,34071,34072,34092,34079,34069,34068,34044,34112,34147,34136,34120,34113,34306,34123,34133,34176,34212,34184,34193,34186,34216,34157,34196,34203,34282,34183,34204,34167,34174,34192,34249,34234,34255,34233,34256,34261,34269,34277,34268,34297,34314,34323,34315,34302,34298,34310,34338,34330,34352,34367,34381,20053,34388,34399,34407,34417,34451,34467,34473,34474,34443,34444,34486,34479,34500,34502,34480,34505,34851,34475,34516,34526,34537,34540,34527,34523,34543,34578,34566,34568,34560,34563,34555,34577,34569,34573,34553,34570,34612,34623,34615,34619,34597,34601,34586,34656,34655,34680,34636,34638,34676,34647,34664,34670,34649,34643,34659,34666,34821,34722,34719,34690,34735,34763,34749,34752,34768,38614,34731,34756,34739,34759,34758,34747,34799,34802,34784,34831,34829,34814,34806,34807,34830,34770,34833,34838,34837,34850,34849,34865,34870,34873,34855,34875,34884,34882,34898,34905,34910,34914,34923,34945,34942,34974,34933,34941,34997,34930,34946,34967,34962,34990,34969,34978,34957,34980,34992,35007,34993,35011,35012,35028,35032,35033,35037,35065,35074,35068,35060,35048,35058,35076,35084,35082,35091,35139,35102,35109,35114,35115,35137,35140,35131,35126,35128,35148,35101,35168,35166,35174,35172,35181,35178,35183,35188,35191,35198,35203,35208,35210,35219,35224,35233,35241,35238,35244,35247,35250,35258,35261,35263,35264,35290,35292,35293,35303,35316,35320,35331,35350,35344,35340,35355,35357,35365,35382,35393,35419,35410,35398,35400,35452,35437,35436,35426,35461,35458,35460,35496,35489,35473,35493,35494,35482,35491,35524,35533,35522,35546,35563,35571,35559,35556,35569,35604,35552,35554,35575,35550,35547,35596,35591,35610,35553,35606,35600,35607,35616,35635,38827,35622,35627,35646,35624,35649,35660,35663,35662,35657,35670,35675,35674,35691,35679,35692,35695,35700,35709,35712,35724,35726,35730,35731,35734,35737,35738,35898,35905,35903,35912,35916,35918,35920,35925,35938,35948,35960,35962,35970,35977,35973,35978,35981,35982,35988,35964,35992,25117,36013,36010,36029,36018,36019,36014,36022,36040,36033,36068,36067,36058,36093,36090,36091,36100,36101,36106,36103,36111,36109,36112,40782,36115,36045,36116,36118,36199,36205,36209,36211,36225,36249,36290,36286,36282,36303,36314,36310,36300,36315,36299,36330,36331,36319,36323,36348,36360,36361,36351,36381,36382,36368,36383,36418,36405,36400,36404,36426,36423,36425,36428,36432,36424,36441,36452,36448,36394,36451,36437,36470,36466,36476,36481,36487,36485,36484,36491,36490,36499,36497,36500,36505,36522,36513,36524,36528,36550,36529,36542,36549,36552,36555,36571,36579,36604,36603,36587,36606,36618,36613,36629,36626,36633,36627,36636,36639,36635,36620,36646,36659,36667,36665,36677,36674,36670,36684,36681,36678,36686,36695,36700,36706,36707,36708,36764,36767,36771,36781,36783,36791,36826,36837,36834,36842,36847,36999,36852,36869,36857,36858,36881,36885,36897,36877,36894,36886,36875,36903,36918,36917,36921,36856,36943,36944,36945,36946,36878,36937,36926,36950,36952,36958,36968,36975,36982,38568,36978,36994,36989,36993,36992,37002,37001,37007,37032,37039,37041,37045,37090,37092,25160,37083,37122,37138,37145,37170,37168,37194,37206,37208,37219,37221,37225,37235,37234,37259,37257,37250,37282,37291,37295,37290,37301,37300,37306,37312,37313,37321,37323,37328,37334,37343,37345,37339,37372,37365,37366,37406,37375,37396,37420,37397,37393,37470,37463,37445,37449,37476,37448,37525,37439,37451,37456,37532,37526,37523,37531,37466,37583,37561,37559,37609,37647,37626,37700,37678,37657,37666,37658,37667,37690,37685,37691,37724,37728,37756,37742,37718,37808,37804,37805,37780,37817,37846,37847,37864,37861,37848,37827,37853,37840,37832,37860,37914,37908,37907,37891,37895,37904,37942,37931,37941,37921,37946,37953,37970,37956,37979,37984,37986,37982,37994,37417,38e3,38005,38007,38013,37978,38012,38014,38017,38015,38274,38279,38282,38292,38294,38296,38297,38304,38312,38311,38317,38332,38331,38329,38334,38346,28662,38339,38349,38348,38357,38356,38358,38364,38369,38373,38370,38433,38440,38446,38447,38466,38476,38479,38475,38519,38492,38494,38493,38495,38502,38514,38508,38541,38552,38549,38551,38570,38567,38577,38578,38576,38580,38582,38584,38585,38606,38603,38601,38605,35149,38620,38669,38613,38649,38660,38662,38664,38675,38670,38673,38671,38678,38681,38692,38698,38704,38713,38717,38718,38724,38726,38728,38722,38729,38748,38752,38756,38758,38760,21202,38763,38769,38777,38789,38780,38785,38778,38790,38795,38799,38800,38812,38824,38822,38819,38835,38836,38851,38854,38856,38859,38876,38893,40783,38898,31455,38902,38901,38927,38924,38968,38948,38945,38967,38973,38982,38991,38987,39019,39023,39024,39025,39028,39027,39082,39087,39089,39094,39108,39107,39110,39145,39147,39171,39177,39186,39188,39192,39201,39197,39198,39204,39200,39212,39214,39229,39230,39234,39241,39237,39248,39243,39249,39250,39244,39253,39319,39320,39333,39341,39342,39356,39391,39387,39389,39384,39377,39405,39406,39409,39410,39419,39416,39425,39439,39429,39394,39449,39467,39479,39493,39490,39488,39491,39486,39509,39501,39515,39511,39519,39522,39525,39524,39529,39531,39530,39597,39600,39612,39616,39631,39633,39635,39636,39646,39647,39650,39651,39654,39663,39659,39662,39668,39665,39671,39675,39686,39704,39706,39711,39714,39715,39717,39719,39720,39721,39722,39726,39727,39730,39748,39747,39759,39757,39758,39761,39768,39796,39827,39811,39825,39830,39831,39839,39840,39848,39860,39872,39882,39865,39878,39887,39889,39890,39907,39906,39908,39892,39905,39994,39922,39921,39920,39957,39956,39945,39955,39948,39942,39944,39954,39946,39940,39982,39963,39973,39972,39969,39984,40007,39986,40006,39998,40026,40032,40039,40054,40056,40167,40172,40176,40201,40200,40171,40195,40198,40234,40230,40367,40227,40223,40260,40213,40210,40257,40255,40254,40262,40264,40285,40286,40292,40273,40272,40281,40306,40329,40327,40363,40303,40314,40346,40356,40361,40370,40388,40385,40379,40376,40378,40390,40399,40386,40409,40403,40440,40422,40429,40431,40445,40474,40475,40478,40565,40569,40573,40577,40584,40587,40588,40594,40597,40593,40605,40613,40617,40632,40618,40621,38753,40652,40654,40655,40656,40660,40668,40670,40669,40672,40677,40680,40687,40692,40694,40695,40697,40699,40700,40701,40711,40712,30391,40725,40737,40748,40766,40778,40786,40788,40803,40799,40800,40801,40806,40807,40812,40810,40823,40818,40822,40853,40860,40864,22575,27079,36953,29796,20956,29081,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,65506,65508,65287,65282,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,65506,65508,65287,65282,12849,8470,8481,8757,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],jis0212:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19970,19972,19973,19980,19986,19999,20003,20004,20008,20011,20014,20015,20016,20021,20032,20033,20036,20039,20049,20058,20060,20067,20072,20073,20084,20085,20089,20095,20109,20118,20119,20125,20143,20153,20163,20176,20186,20187,20192,20193,20194,20200,20207,20209,20211,20213,20221,20222,20223,20224,20226,20227,20232,20235,20236,20242,20245,20246,20247,20249,20270,20273,20320,20275,20277,20279,20281,20283,20286,20288,20290,20296,20297,20299,20300,20306,20308,20310,20312,20319,20323,20330,20332,20334,20337,20343,20344,20345,20346,20349,20350,20353,20354,20356,20357,20361,20362,20364,20366,20368,20370,20371,20372,20375,20377,20378,20382,20383,20402,20407,20409,20411,20412,20413,20414,20416,20417,20421,20422,20424,20425,20427,20428,20429,20431,20434,20444,20448,20450,20464,20466,20476,20477,20479,20480,20481,20484,20487,20490,20492,20494,20496,20499,20503,20504,20507,20508,20509,20510,20514,20519,20526,20528,20530,20531,20533,20544,20545,20546,20549,20550,20554,20556,20558,20561,20562,20563,20567,20569,20575,20576,20578,20579,20582,20583,20586,20589,20592,20593,20539,20609,20611,20612,20614,20618,20622,20623,20624,20626,20627,20628,20630,20635,20636,20638,20639,20640,20641,20642,20650,20655,20656,20665,20666,20669,20672,20675,20676,20679,20684,20686,20688,20691,20692,20696,20700,20701,20703,20706,20708,20710,20712,20713,20719,20721,20726,20730,20734,20739,20742,20743,20744,20747,20748,20749,20750,20722,20752,20759,20761,20763,20764,20765,20766,20771,20775,20776,20780,20781,20783,20785,20787,20788,20789,20792,20793,20802,20810,20815,20819,20821,20823,20824,20831,20836,20838,20862,20867,20868,20875,20878,20888,20893,20897,20899,20909,20920,20922,20924,20926,20927,20930,20936,20943,20945,20946,20947,20949,20952,20958,20962,20965,20974,20978,20979,20980,20983,20993,20994,20997,21010,21011,21013,21014,21016,21026,21032,21041,21042,21045,21052,21061,21065,21077,21079,21080,21082,21084,21087,21088,21089,21094,21102,21111,21112,21113,21120,21122,21125,21130,21132,21139,21141,21142,21143,21144,21146,21148,21156,21157,21158,21159,21167,21168,21174,21175,21176,21178,21179,21181,21184,21188,21190,21192,21196,21199,21201,21204,21206,21211,21212,21217,21221,21224,21225,21226,21228,21232,21233,21236,21238,21239,21248,21251,21258,21259,21260,21265,21267,21272,21275,21276,21278,21279,21285,21287,21288,21289,21291,21292,21293,21296,21298,21301,21308,21309,21310,21314,21324,21323,21337,21339,21345,21347,21349,21356,21357,21362,21369,21374,21379,21383,21384,21390,21395,21396,21401,21405,21409,21412,21418,21419,21423,21426,21428,21429,21431,21432,21434,21437,21440,21445,21455,21458,21459,21461,21466,21469,21470,21472,21478,21479,21493,21506,21523,21530,21537,21543,21544,21546,21551,21553,21556,21557,21571,21572,21575,21581,21583,21598,21602,21604,21606,21607,21609,21611,21613,21614,21620,21631,21633,21635,21637,21640,21641,21645,21649,21653,21654,21660,21663,21665,21670,21671,21673,21674,21677,21678,21681,21687,21689,21690,21691,21695,21702,21706,21709,21710,21728,21738,21740,21743,21750,21756,21758,21759,21760,21761,21765,21768,21769,21772,21773,21774,21781,21802,21803,21810,21813,21814,21819,21820,21821,21825,21831,21833,21834,21837,21840,21841,21848,21850,21851,21854,21856,21857,21860,21862,21887,21889,21890,21894,21896,21902,21903,21905,21906,21907,21908,21911,21923,21924,21933,21938,21951,21953,21955,21958,21961,21963,21964,21966,21969,21970,21971,21975,21976,21979,21982,21986,21993,22006,22015,22021,22024,22026,22029,22030,22031,22032,22033,22034,22041,22060,22064,22067,22069,22071,22073,22075,22076,22077,22079,22080,22081,22083,22084,22086,22089,22091,22093,22095,22100,22110,22112,22113,22114,22115,22118,22121,22125,22127,22129,22130,22133,22148,22149,22152,22155,22156,22165,22169,22170,22173,22174,22175,22182,22183,22184,22185,22187,22188,22189,22193,22195,22199,22206,22213,22217,22218,22219,22223,22224,22220,22221,22233,22236,22237,22239,22241,22244,22245,22246,22247,22248,22257,22251,22253,22262,22263,22273,22274,22279,22282,22284,22289,22293,22298,22299,22301,22304,22306,22307,22308,22309,22313,22314,22316,22318,22319,22323,22324,22333,22334,22335,22341,22342,22348,22349,22354,22370,22373,22375,22376,22379,22381,22382,22383,22384,22385,22387,22388,22389,22391,22393,22394,22395,22396,22398,22401,22403,22412,22420,22423,22425,22426,22428,22429,22430,22431,22433,22421,22439,22440,22441,22444,22456,22461,22471,22472,22476,22479,22485,22493,22494,22500,22502,22503,22505,22509,22512,22517,22518,22520,22525,22526,22527,22531,22532,22536,22537,22497,22540,22541,22555,22558,22559,22560,22566,22567,22573,22578,22585,22591,22601,22604,22605,22607,22608,22613,22623,22625,22628,22631,22632,22648,22652,22655,22656,22657,22663,22664,22665,22666,22668,22669,22671,22672,22676,22678,22685,22688,22689,22690,22694,22697,22705,22706,22724,22716,22722,22728,22733,22734,22736,22738,22740,22742,22746,22749,22753,22754,22761,22771,22789,22790,22795,22796,22802,22803,22804,34369,22813,22817,22819,22820,22824,22831,22832,22835,22837,22838,22847,22851,22854,22866,22867,22873,22875,22877,22878,22879,22881,22883,22891,22893,22895,22898,22901,22902,22905,22907,22908,22923,22924,22926,22930,22933,22935,22943,22948,22951,22957,22958,22959,22960,22963,22967,22970,22972,22977,22979,22980,22984,22986,22989,22994,23005,23006,23007,23011,23012,23015,23022,23023,23025,23026,23028,23031,23040,23044,23052,23053,23054,23058,23059,23070,23075,23076,23079,23080,23082,23085,23088,23108,23109,23111,23112,23116,23120,23125,23134,23139,23141,23143,23149,23159,23162,23163,23166,23179,23184,23187,23190,23193,23196,23198,23199,23200,23202,23207,23212,23217,23218,23219,23221,23224,23226,23227,23231,23236,23238,23240,23247,23258,23260,23264,23269,23274,23278,23285,23286,23293,23296,23297,23304,23319,23348,23321,23323,23325,23329,23333,23341,23352,23361,23371,23372,23378,23382,23390,23400,23406,23407,23420,23421,23422,23423,23425,23428,23430,23434,23438,23440,23441,23443,23444,23446,23464,23465,23468,23469,23471,23473,23474,23479,23482,23484,23488,23489,23501,23503,23510,23511,23512,23513,23514,23520,23535,23537,23540,23549,23564,23575,23582,23583,23587,23590,23593,23595,23596,23598,23600,23602,23605,23606,23641,23642,23644,23650,23651,23655,23656,23657,23661,23664,23668,23669,23674,23675,23676,23677,23687,23688,23690,23695,23698,23709,23711,23712,23714,23715,23718,23722,23730,23732,23733,23738,23753,23755,23762,23773,23767,23790,23793,23794,23796,23809,23814,23821,23826,23851,23843,23844,23846,23847,23857,23860,23865,23869,23871,23874,23875,23878,23880,23893,23889,23897,23882,23903,23904,23905,23906,23908,23914,23917,23920,23929,23930,23934,23935,23937,23939,23944,23946,23954,23955,23956,23957,23961,23963,23967,23968,23975,23979,23984,23988,23992,23993,24003,24007,24011,24016,24014,24024,24025,24032,24036,24041,24056,24057,24064,24071,24077,24082,24084,24085,24088,24095,24096,24110,24104,24114,24117,24126,24139,24144,24137,24145,24150,24152,24155,24156,24158,24168,24170,24171,24172,24173,24174,24176,24192,24203,24206,24226,24228,24229,24232,24234,24236,24241,24243,24253,24254,24255,24262,24268,24267,24270,24273,24274,24276,24277,24284,24286,24293,24299,24322,24326,24327,24328,24334,24345,24348,24349,24353,24354,24355,24356,24360,24363,24364,24366,24368,24372,24374,24379,24381,24383,24384,24388,24389,24391,24397,24400,24404,24408,24411,24416,24419,24420,24423,24431,24434,24436,24437,24440,24442,24445,24446,24457,24461,24463,24470,24476,24477,24482,24487,24491,24484,24492,24495,24496,24497,24504,24516,24519,24520,24521,24523,24528,24529,24530,24531,24532,24542,24545,24546,24552,24553,24554,24556,24557,24558,24559,24562,24563,24566,24570,24572,24583,24586,24589,24595,24596,24599,24600,24602,24607,24612,24621,24627,24629,24640,24647,24648,24649,24652,24657,24660,24662,24663,24669,24673,24679,24689,24702,24703,24706,24710,24712,24714,24718,24721,24723,24725,24728,24733,24734,24738,24740,24741,24744,24752,24753,24759,24763,24766,24770,24772,24776,24777,24778,24779,24782,24783,24788,24789,24793,24795,24797,24798,24802,24805,24818,24821,24824,24828,24829,24834,24839,24842,24844,24848,24849,24850,24851,24852,24854,24855,24857,24860,24862,24866,24874,24875,24880,24881,24885,24886,24887,24889,24897,24901,24902,24905,24926,24928,24940,24946,24952,24955,24956,24959,24960,24961,24963,24964,24971,24973,24978,24979,24983,24984,24988,24989,24991,24992,24997,25e3,25002,25005,25016,25017,25020,25024,25025,25026,25038,25039,25045,25052,25053,25054,25055,25057,25058,25063,25065,25061,25068,25069,25071,25089,25091,25092,25095,25107,25109,25116,25120,25122,25123,25127,25129,25131,25145,25149,25154,25155,25156,25158,25164,25168,25169,25170,25172,25174,25178,25180,25188,25197,25199,25203,25210,25213,25229,25230,25231,25232,25254,25256,25267,25270,25271,25274,25278,25279,25284,25294,25301,25302,25306,25322,25330,25332,25340,25341,25347,25348,25354,25355,25357,25360,25363,25366,25368,25385,25386,25389,25397,25398,25401,25404,25409,25410,25411,25412,25414,25418,25419,25422,25426,25427,25428,25432,25435,25445,25446,25452,25453,25457,25460,25461,25464,25468,25469,25471,25474,25476,25479,25482,25488,25492,25493,25497,25498,25502,25508,25510,25517,25518,25519,25533,25537,25541,25544,25550,25553,25555,25556,25557,25564,25568,25573,25578,25580,25586,25587,25589,25592,25593,25609,25610,25616,25618,25620,25624,25630,25632,25634,25636,25637,25641,25642,25647,25648,25653,25661,25663,25675,25679,25681,25682,25683,25684,25690,25691,25692,25693,25695,25696,25697,25699,25709,25715,25716,25723,25725,25733,25735,25743,25744,25745,25752,25753,25755,25757,25759,25761,25763,25766,25768,25772,25779,25789,25790,25791,25796,25801,25802,25803,25804,25806,25808,25809,25813,25815,25828,25829,25833,25834,25837,25840,25845,25847,25851,25855,25857,25860,25864,25865,25866,25871,25875,25876,25878,25881,25883,25886,25887,25890,25894,25897,25902,25905,25914,25916,25917,25923,25927,25929,25936,25938,25940,25951,25952,25959,25963,25978,25981,25985,25989,25994,26002,26005,26008,26013,26016,26019,26022,26030,26034,26035,26036,26047,26050,26056,26057,26062,26064,26068,26070,26072,26079,26096,26098,26100,26101,26105,26110,26111,26112,26116,26120,26121,26125,26129,26130,26133,26134,26141,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26161,26163,26169,26167,26176,26181,26182,26186,26188,26193,26190,26199,26200,26201,26203,26204,26208,26209,26363,26218,26219,26220,26238,26227,26229,26239,26231,26232,26233,26235,26240,26236,26251,26252,26253,26256,26258,26265,26266,26267,26268,26271,26272,26276,26285,26289,26290,26293,26299,26303,26304,26306,26307,26312,26316,26318,26319,26324,26331,26335,26344,26347,26348,26350,26362,26373,26375,26382,26387,26393,26396,26400,26402,26419,26430,26437,26439,26440,26444,26452,26453,26461,26470,26476,26478,26484,26486,26491,26497,26500,26510,26511,26513,26515,26518,26520,26521,26523,26544,26545,26546,26549,26555,26556,26557,26617,26560,26562,26563,26565,26568,26569,26578,26583,26585,26588,26593,26598,26608,26610,26614,26615,26706,26644,26649,26653,26655,26664,26663,26668,26669,26671,26672,26673,26675,26683,26687,26692,26693,26698,26700,26709,26711,26712,26715,26731,26734,26735,26736,26737,26738,26741,26745,26746,26747,26748,26754,26756,26758,26760,26774,26776,26778,26780,26785,26787,26789,26793,26794,26798,26802,26811,26821,26824,26828,26831,26832,26833,26835,26838,26841,26844,26845,26853,26856,26858,26859,26860,26861,26864,26865,26869,26870,26875,26876,26877,26886,26889,26890,26896,26897,26899,26902,26903,26929,26931,26933,26936,26939,26946,26949,26953,26958,26967,26971,26979,26980,26981,26982,26984,26985,26988,26992,26993,26994,27002,27003,27007,27008,27021,27026,27030,27032,27041,27045,27046,27048,27051,27053,27055,27063,27064,27066,27068,27077,27080,27089,27094,27095,27106,27109,27118,27119,27121,27123,27125,27134,27136,27137,27139,27151,27153,27157,27162,27165,27168,27172,27176,27184,27186,27188,27191,27195,27198,27199,27205,27206,27209,27210,27214,27216,27217,27218,27221,27222,27227,27236,27239,27242,27249,27251,27262,27265,27267,27270,27271,27273,27275,27281,27291,27293,27294,27295,27301,27307,27311,27312,27313,27316,27325,27326,27327,27334,27337,27336,27340,27344,27348,27349,27350,27356,27357,27364,27367,27372,27376,27377,27378,27388,27389,27394,27395,27398,27399,27401,27407,27408,27409,27415,27419,27422,27428,27432,27435,27436,27439,27445,27446,27451,27455,27462,27466,27469,27474,27478,27480,27485,27488,27495,27499,27502,27504,27509,27517,27518,27522,27525,27543,27547,27551,27552,27554,27555,27560,27561,27564,27565,27566,27568,27576,27577,27581,27582,27587,27588,27593,27596,27606,27610,27617,27619,27622,27623,27630,27633,27639,27641,27647,27650,27652,27653,27657,27661,27662,27664,27666,27673,27679,27686,27687,27688,27692,27694,27699,27701,27702,27706,27707,27711,27722,27723,27725,27727,27730,27732,27737,27739,27740,27755,27757,27759,27764,27766,27768,27769,27771,27781,27782,27783,27785,27796,27797,27799,27800,27804,27807,27824,27826,27828,27842,27846,27853,27855,27856,27857,27858,27860,27862,27866,27868,27872,27879,27881,27883,27884,27886,27890,27892,27908,27911,27914,27918,27919,27921,27923,27930,27942,27943,27944,27751,27950,27951,27953,27961,27964,27967,27991,27998,27999,28001,28005,28007,28015,28016,28028,28034,28039,28049,28050,28052,28054,28055,28056,28074,28076,28084,28087,28089,28093,28095,28100,28104,28106,28110,28111,28118,28123,28125,28127,28128,28130,28133,28137,28143,28144,28148,28150,28156,28160,28164,28190,28194,28199,28210,28214,28217,28219,28220,28228,28229,28232,28233,28235,28239,28241,28242,28243,28244,28247,28252,28253,28254,28258,28259,28264,28275,28283,28285,28301,28307,28313,28320,28327,28333,28334,28337,28339,28347,28351,28352,28353,28355,28359,28360,28362,28365,28366,28367,28395,28397,28398,28409,28411,28413,28420,28424,28426,28428,28429,28438,28440,28442,28443,28454,28457,28458,28463,28464,28467,28470,28475,28476,28461,28495,28497,28498,28499,28503,28505,28506,28509,28510,28513,28514,28520,28524,28541,28542,28547,28551,28552,28555,28556,28557,28560,28562,28563,28564,28566,28570,28575,28576,28581,28582,28583,28584,28590,28591,28592,28597,28598,28604,28613,28615,28616,28618,28634,28638,28648,28649,28656,28661,28665,28668,28669,28672,28677,28678,28679,28685,28695,28704,28707,28719,28724,28727,28729,28732,28739,28740,28744,28745,28746,28747,28756,28757,28765,28766,28750,28772,28773,28780,28782,28789,28790,28798,28801,28805,28806,28820,28821,28822,28823,28824,28827,28836,28843,28848,28849,28852,28855,28874,28881,28883,28884,28885,28886,28888,28892,28900,28922,28931,28932,28933,28934,28935,28939,28940,28943,28958,28960,28971,28973,28975,28976,28977,28984,28993,28997,28998,28999,29002,29003,29008,29010,29015,29018,29020,29022,29024,29032,29049,29056,29061,29063,29068,29074,29082,29083,29088,29090,29103,29104,29106,29107,29114,29119,29120,29121,29124,29131,29132,29139,29142,29145,29146,29148,29176,29182,29184,29191,29192,29193,29203,29207,29210,29213,29215,29220,29227,29231,29236,29240,29241,29249,29250,29251,29253,29262,29263,29264,29267,29269,29270,29274,29276,29278,29280,29283,29288,29291,29294,29295,29297,29303,29304,29307,29308,29311,29316,29321,29325,29326,29331,29339,29352,29357,29358,29361,29364,29374,29377,29383,29385,29388,29397,29398,29400,29407,29413,29427,29428,29434,29435,29438,29442,29444,29445,29447,29451,29453,29458,29459,29464,29465,29470,29474,29476,29479,29480,29484,29489,29490,29493,29498,29499,29501,29507,29517,29520,29522,29526,29528,29533,29534,29535,29536,29542,29543,29545,29547,29548,29550,29551,29553,29559,29561,29564,29568,29569,29571,29573,29574,29582,29584,29587,29589,29591,29592,29596,29598,29599,29600,29602,29605,29606,29610,29611,29613,29621,29623,29625,29628,29629,29631,29637,29638,29641,29643,29644,29647,29650,29651,29654,29657,29661,29665,29667,29670,29671,29673,29684,29685,29687,29689,29690,29691,29693,29695,29696,29697,29700,29703,29706,29713,29722,29723,29732,29734,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29753,29760,29763,29764,29766,29767,29771,29773,29777,29778,29783,29789,29794,29798,29799,29800,29803,29805,29806,29809,29810,29824,29825,29829,29830,29831,29833,29839,29840,29841,29842,29848,29849,29850,29852,29855,29856,29857,29859,29862,29864,29865,29866,29867,29870,29871,29873,29874,29877,29881,29883,29887,29896,29897,29900,29904,29907,29912,29914,29915,29918,29919,29924,29928,29930,29931,29935,29940,29946,29947,29948,29951,29958,29970,29974,29975,29984,29985,29988,29991,29993,29994,29999,30006,30009,30013,30014,30015,30016,30019,30023,30024,30030,30032,30034,30039,30046,30047,30049,30063,30065,30073,30074,30075,30076,30077,30078,30081,30085,30096,30098,30099,30101,30105,30108,30114,30116,30132,30138,30143,30144,30145,30148,30150,30156,30158,30159,30167,30172,30175,30176,30177,30180,30183,30188,30190,30191,30193,30201,30208,30210,30211,30212,30215,30216,30218,30220,30223,30226,30227,30229,30230,30233,30235,30236,30237,30238,30243,30245,30246,30249,30253,30258,30259,30261,30264,30265,30266,30268,30282,30272,30273,30275,30276,30277,30281,30283,30293,30297,30303,30308,30309,30317,30318,30319,30321,30324,30337,30341,30348,30349,30357,30363,30364,30365,30367,30368,30370,30371,30372,30373,30374,30375,30376,30378,30381,30397,30401,30405,30409,30411,30412,30414,30420,30425,30432,30438,30440,30444,30448,30449,30454,30457,30460,30464,30470,30474,30478,30482,30484,30485,30487,30489,30490,30492,30498,30504,30509,30510,30511,30516,30517,30518,30521,30525,30526,30530,30533,30534,30538,30541,30542,30543,30546,30550,30551,30556,30558,30559,30560,30562,30564,30567,30570,30572,30576,30578,30579,30580,30586,30589,30592,30596,30604,30605,30612,30613,30614,30618,30623,30626,30631,30634,30638,30639,30641,30645,30654,30659,30665,30673,30674,30677,30681,30686,30687,30688,30692,30694,30698,30700,30704,30705,30708,30712,30715,30725,30726,30729,30733,30734,30737,30749,30753,30754,30755,30765,30766,30768,30773,30775,30787,30788,30791,30792,30796,30798,30802,30812,30814,30816,30817,30819,30820,30824,30826,30830,30842,30846,30858,30863,30868,30872,30881,30877,30878,30879,30884,30888,30892,30893,30896,30897,30898,30899,30907,30909,30911,30919,30920,30921,30924,30926,30930,30931,30933,30934,30948,30939,30943,30944,30945,30950,30954,30962,30963,30976,30966,30967,30970,30971,30975,30982,30988,30992,31002,31004,31006,31007,31008,31013,31015,31017,31021,31025,31028,31029,31035,31037,31039,31044,31045,31046,31050,31051,31055,31057,31060,31064,31067,31068,31079,31081,31083,31090,31097,31099,31100,31102,31115,31116,31121,31123,31124,31125,31126,31128,31131,31132,31137,31144,31145,31147,31151,31153,31156,31160,31163,31170,31172,31175,31176,31178,31183,31188,31190,31194,31197,31198,31200,31202,31205,31210,31211,31213,31217,31224,31228,31234,31235,31239,31241,31242,31244,31249,31253,31259,31262,31265,31271,31275,31277,31279,31280,31284,31285,31288,31289,31290,31300,31301,31303,31304,31308,31317,31318,31321,31324,31325,31327,31328,31333,31335,31338,31341,31349,31352,31358,31360,31362,31365,31366,31370,31371,31376,31377,31380,31390,31392,31395,31404,31411,31413,31417,31419,31420,31430,31433,31436,31438,31441,31451,31464,31465,31467,31468,31473,31476,31483,31485,31486,31495,31508,31519,31523,31527,31529,31530,31531,31533,31534,31535,31536,31537,31540,31549,31551,31552,31553,31559,31566,31573,31584,31588,31590,31593,31594,31597,31599,31602,31603,31607,31620,31625,31630,31632,31633,31638,31643,31646,31648,31653,31660,31663,31664,31666,31669,31670,31674,31675,31676,31677,31682,31685,31688,31690,31700,31702,31703,31705,31706,31707,31720,31722,31730,31732,31733,31736,31737,31738,31740,31742,31745,31746,31747,31748,31750,31753,31755,31756,31758,31759,31769,31771,31776,31781,31782,31784,31788,31793,31795,31796,31798,31801,31802,31814,31818,31829,31825,31826,31827,31833,31834,31835,31836,31837,31838,31841,31843,31847,31849,31853,31854,31856,31858,31865,31868,31869,31878,31879,31887,31892,31902,31904,31910,31920,31926,31927,31930,31931,31932,31935,31940,31943,31944,31945,31949,31951,31955,31956,31957,31959,31961,31962,31965,31974,31977,31979,31989,32003,32007,32008,32009,32015,32017,32018,32019,32022,32029,32030,32035,32038,32042,32045,32049,32060,32061,32062,32064,32065,32071,32072,32077,32081,32083,32087,32089,32090,32092,32093,32101,32103,32106,32112,32120,32122,32123,32127,32129,32130,32131,32133,32134,32136,32139,32140,32141,32145,32150,32151,32157,32158,32166,32167,32170,32179,32182,32183,32185,32194,32195,32196,32197,32198,32204,32205,32206,32215,32217,32256,32226,32229,32230,32234,32235,32237,32241,32245,32246,32249,32250,32264,32272,32273,32277,32279,32284,32285,32288,32295,32296,32300,32301,32303,32307,32310,32319,32324,32325,32327,32334,32336,32338,32344,32351,32353,32354,32357,32363,32366,32367,32371,32376,32382,32385,32390,32391,32394,32397,32401,32405,32408,32410,32413,32414,32572,32571,32573,32574,32575,32579,32580,32583,32591,32594,32595,32603,32604,32605,32609,32611,32612,32613,32614,32621,32625,32637,32638,32639,32640,32651,32653,32655,32656,32657,32662,32663,32668,32673,32674,32678,32682,32685,32692,32700,32703,32704,32707,32712,32718,32719,32731,32735,32739,32741,32744,32748,32750,32751,32754,32762,32765,32766,32767,32775,32776,32778,32781,32782,32783,32785,32787,32788,32790,32797,32798,32799,32800,32804,32806,32812,32814,32816,32820,32821,32823,32825,32826,32828,32830,32832,32836,32864,32868,32870,32877,32881,32885,32897,32904,32910,32924,32926,32934,32935,32939,32952,32953,32968,32973,32975,32978,32980,32981,32983,32984,32992,33005,33006,33008,33010,33011,33014,33017,33018,33022,33027,33035,33046,33047,33048,33052,33054,33056,33060,33063,33068,33072,33077,33082,33084,33093,33095,33098,33100,33106,33111,33120,33121,33127,33128,33129,33133,33135,33143,33153,33168,33156,33157,33158,33163,33166,33174,33176,33179,33182,33186,33198,33202,33204,33211,33227,33219,33221,33226,33230,33231,33237,33239,33243,33245,33246,33249,33252,33259,33260,33264,33265,33266,33269,33270,33272,33273,33277,33279,33280,33283,33295,33299,33300,33305,33306,33309,33313,33314,33320,33330,33332,33338,33347,33348,33349,33350,33355,33358,33359,33361,33366,33372,33376,33379,33383,33389,33396,33403,33405,33407,33408,33409,33411,33412,33415,33417,33418,33422,33425,33428,33430,33432,33434,33435,33440,33441,33443,33444,33447,33448,33449,33450,33454,33456,33458,33460,33463,33466,33468,33470,33471,33478,33488,33493,33498,33504,33506,33508,33512,33514,33517,33519,33526,33527,33533,33534,33536,33537,33543,33544,33546,33547,33620,33563,33565,33566,33567,33569,33570,33580,33581,33582,33584,33587,33591,33594,33596,33597,33602,33603,33604,33607,33613,33614,33617,33621,33622,33623,33648,33656,33661,33663,33664,33666,33668,33670,33677,33682,33684,33685,33688,33689,33691,33692,33693,33702,33703,33705,33708,33726,33727,33728,33735,33737,33743,33744,33745,33748,33757,33619,33768,33770,33782,33784,33785,33788,33793,33798,33802,33807,33809,33813,33817,33709,33839,33849,33861,33863,33864,33866,33869,33871,33873,33874,33878,33880,33881,33882,33884,33888,33892,33893,33895,33898,33904,33907,33908,33910,33912,33916,33917,33921,33925,33938,33939,33941,33950,33958,33960,33961,33962,33967,33969,33972,33978,33981,33982,33984,33986,33991,33992,33996,33999,34003,34012,34023,34026,34031,34032,34033,34034,34039,34098,34042,34043,34045,34050,34051,34055,34060,34062,34064,34076,34078,34082,34083,34084,34085,34087,34090,34091,34095,34099,34100,34102,34111,34118,34127,34128,34129,34130,34131,34134,34137,34140,34141,34142,34143,34144,34145,34146,34148,34155,34159,34169,34170,34171,34173,34175,34177,34181,34182,34185,34187,34188,34191,34195,34200,34205,34207,34208,34210,34213,34215,34228,34230,34231,34232,34236,34237,34238,34239,34242,34247,34250,34251,34254,34221,34264,34266,34271,34272,34278,34280,34285,34291,34294,34300,34303,34304,34308,34309,34317,34318,34320,34321,34322,34328,34329,34331,34334,34337,34343,34345,34358,34360,34362,34364,34365,34368,34370,34374,34386,34387,34390,34391,34392,34393,34397,34400,34401,34402,34403,34404,34409,34412,34415,34421,34422,34423,34426,34445,34449,34454,34456,34458,34460,34465,34470,34471,34472,34477,34481,34483,34484,34485,34487,34488,34489,34495,34496,34497,34499,34501,34513,34514,34517,34519,34522,34524,34528,34531,34533,34535,34440,34554,34556,34557,34564,34565,34567,34571,34574,34575,34576,34579,34580,34585,34590,34591,34593,34595,34600,34606,34607,34609,34610,34617,34618,34620,34621,34622,34624,34627,34629,34637,34648,34653,34657,34660,34661,34671,34673,34674,34683,34691,34692,34693,34694,34695,34696,34697,34699,34700,34704,34707,34709,34711,34712,34713,34718,34720,34723,34727,34732,34733,34734,34737,34741,34750,34751,34753,34760,34761,34762,34766,34773,34774,34777,34778,34780,34783,34786,34787,34788,34794,34795,34797,34801,34803,34808,34810,34815,34817,34819,34822,34825,34826,34827,34832,34841,34834,34835,34836,34840,34842,34843,34844,34846,34847,34856,34861,34862,34864,34866,34869,34874,34876,34881,34883,34885,34888,34889,34890,34891,34894,34897,34901,34902,34904,34906,34908,34911,34912,34916,34921,34929,34937,34939,34944,34968,34970,34971,34972,34975,34976,34984,34986,35002,35005,35006,35008,35018,35019,35020,35021,35022,35025,35026,35027,35035,35038,35047,35055,35056,35057,35061,35063,35073,35078,35085,35086,35087,35093,35094,35096,35097,35098,35100,35104,35110,35111,35112,35120,35121,35122,35125,35129,35130,35134,35136,35138,35141,35142,35145,35151,35154,35159,35162,35163,35164,35169,35170,35171,35179,35182,35184,35187,35189,35194,35195,35196,35197,35209,35213,35216,35220,35221,35227,35228,35231,35232,35237,35248,35252,35253,35254,35255,35260,35284,35285,35286,35287,35288,35301,35305,35307,35309,35313,35315,35318,35321,35325,35327,35332,35333,35335,35343,35345,35346,35348,35349,35358,35360,35362,35364,35366,35371,35372,35375,35381,35383,35389,35390,35392,35395,35397,35399,35401,35405,35406,35411,35414,35415,35416,35420,35421,35425,35429,35431,35445,35446,35447,35449,35450,35451,35454,35455,35456,35459,35462,35467,35471,35472,35474,35478,35479,35481,35487,35495,35497,35502,35503,35507,35510,35511,35515,35518,35523,35526,35528,35529,35530,35537,35539,35540,35541,35543,35549,35551,35564,35568,35572,35573,35574,35580,35583,35589,35590,35595,35601,35612,35614,35615,35594,35629,35632,35639,35644,35650,35651,35652,35653,35654,35656,35666,35667,35668,35673,35661,35678,35683,35693,35702,35704,35705,35708,35710,35713,35716,35717,35723,35725,35727,35732,35733,35740,35742,35743,35896,35897,35901,35902,35909,35911,35913,35915,35919,35921,35923,35924,35927,35928,35931,35933,35929,35939,35940,35942,35944,35945,35949,35955,35957,35958,35963,35966,35974,35975,35979,35984,35986,35987,35993,35995,35996,36004,36025,36026,36037,36038,36041,36043,36047,36054,36053,36057,36061,36065,36072,36076,36079,36080,36082,36085,36087,36088,36094,36095,36097,36099,36105,36114,36119,36123,36197,36201,36204,36206,36223,36226,36228,36232,36237,36240,36241,36245,36254,36255,36256,36262,36267,36268,36271,36274,36277,36279,36281,36283,36288,36293,36294,36295,36296,36298,36302,36305,36308,36309,36311,36313,36324,36325,36327,36332,36336,36284,36337,36338,36340,36349,36353,36356,36357,36358,36363,36369,36372,36374,36384,36385,36386,36387,36390,36391,36401,36403,36406,36407,36408,36409,36413,36416,36417,36427,36429,36430,36431,36436,36443,36444,36445,36446,36449,36450,36457,36460,36461,36463,36464,36465,36473,36474,36475,36482,36483,36489,36496,36498,36501,36506,36507,36509,36510,36514,36519,36521,36525,36526,36531,36533,36538,36539,36544,36545,36547,36548,36551,36559,36561,36564,36572,36584,36590,36592,36593,36599,36601,36602,36589,36608,36610,36615,36616,36623,36624,36630,36631,36632,36638,36640,36641,36643,36645,36647,36648,36652,36653,36654,36660,36661,36662,36663,36666,36672,36673,36675,36679,36687,36689,36690,36691,36692,36693,36696,36701,36702,36709,36765,36768,36769,36772,36773,36774,36789,36790,36792,36798,36800,36801,36806,36810,36811,36813,36816,36818,36819,36821,36832,36835,36836,36840,36846,36849,36853,36854,36859,36862,36866,36868,36872,36876,36888,36891,36904,36905,36911,36906,36908,36909,36915,36916,36919,36927,36931,36932,36940,36955,36957,36962,36966,36967,36972,36976,36980,36985,36997,37e3,37003,37004,37006,37008,37013,37015,37016,37017,37019,37024,37025,37026,37029,37040,37042,37043,37044,37046,37053,37068,37054,37059,37060,37061,37063,37064,37077,37079,37080,37081,37084,37085,37087,37093,37074,37110,37099,37103,37104,37108,37118,37119,37120,37124,37125,37126,37128,37133,37136,37140,37142,37143,37144,37146,37148,37150,37152,37157,37154,37155,37159,37161,37166,37167,37169,37172,37174,37175,37177,37178,37180,37181,37187,37191,37192,37199,37203,37207,37209,37210,37211,37217,37220,37223,37229,37236,37241,37242,37243,37249,37251,37253,37254,37258,37262,37265,37267,37268,37269,37272,37278,37281,37286,37288,37292,37293,37294,37296,37297,37298,37299,37302,37307,37308,37309,37311,37314,37315,37317,37331,37332,37335,37337,37338,37342,37348,37349,37353,37354,37356,37357,37358,37359,37360,37361,37367,37369,37371,37373,37376,37377,37380,37381,37382,37383,37385,37386,37388,37392,37394,37395,37398,37400,37404,37405,37411,37412,37413,37414,37416,37422,37423,37424,37427,37429,37430,37432,37433,37434,37436,37438,37440,37442,37443,37446,37447,37450,37453,37454,37455,37457,37464,37465,37468,37469,37472,37473,37477,37479,37480,37481,37486,37487,37488,37493,37494,37495,37496,37497,37499,37500,37501,37503,37512,37513,37514,37517,37518,37522,37527,37529,37535,37536,37540,37541,37543,37544,37547,37551,37554,37558,37560,37562,37563,37564,37565,37567,37568,37569,37570,37571,37573,37574,37575,37576,37579,37580,37581,37582,37584,37587,37589,37591,37592,37593,37596,37597,37599,37600,37601,37603,37605,37607,37608,37612,37614,37616,37625,37627,37631,37632,37634,37640,37645,37649,37652,37653,37660,37661,37662,37663,37665,37668,37669,37671,37673,37674,37683,37684,37686,37687,37703,37704,37705,37712,37713,37714,37717,37719,37720,37722,37726,37732,37733,37735,37737,37738,37741,37743,37744,37745,37747,37748,37750,37754,37757,37759,37760,37761,37762,37768,37770,37771,37773,37775,37778,37781,37784,37787,37790,37793,37795,37796,37798,37800,37803,37812,37813,37814,37818,37801,37825,37828,37829,37830,37831,37833,37834,37835,37836,37837,37843,37849,37852,37854,37855,37858,37862,37863,37881,37879,37880,37882,37883,37885,37889,37890,37892,37896,37897,37901,37902,37903,37909,37910,37911,37919,37934,37935,37937,37938,37939,37940,37947,37951,37949,37955,37957,37960,37962,37964,37973,37977,37980,37983,37985,37987,37992,37995,37997,37998,37999,38001,38002,38020,38019,38264,38265,38270,38276,38280,38284,38285,38286,38301,38302,38303,38305,38310,38313,38315,38316,38324,38326,38330,38333,38335,38342,38344,38345,38347,38352,38353,38354,38355,38361,38362,38365,38366,38367,38368,38372,38374,38429,38430,38434,38436,38437,38438,38444,38449,38451,38455,38456,38457,38458,38460,38461,38465,38482,38484,38486,38487,38488,38497,38510,38516,38523,38524,38526,38527,38529,38530,38531,38532,38537,38545,38550,38554,38557,38559,38564,38565,38566,38569,38574,38575,38579,38586,38602,38610,23986,38616,38618,38621,38622,38623,38633,38639,38641,38650,38658,38659,38661,38665,38682,38683,38685,38689,38690,38691,38696,38705,38707,38721,38723,38730,38734,38735,38741,38743,38744,38746,38747,38755,38759,38762,38766,38771,38774,38775,38776,38779,38781,38783,38784,38793,38805,38806,38807,38809,38810,38814,38815,38818,38828,38830,38833,38834,38837,38838,38840,38841,38842,38844,38846,38847,38849,38852,38853,38855,38857,38858,38860,38861,38862,38864,38865,38868,38871,38872,38873,38877,38878,38880,38875,38881,38884,38895,38897,38900,38903,38904,38906,38919,38922,38937,38925,38926,38932,38934,38940,38942,38944,38947,38950,38955,38958,38959,38960,38962,38963,38965,38949,38974,38980,38983,38986,38993,38994,38995,38998,38999,39001,39002,39010,39011,39013,39014,39018,39020,39083,39085,39086,39088,39092,39095,39096,39098,39099,39103,39106,39109,39112,39116,39137,39139,39141,39142,39143,39146,39155,39158,39170,39175,39176,39185,39189,39190,39191,39194,39195,39196,39199,39202,39206,39207,39211,39217,39218,39219,39220,39221,39225,39226,39227,39228,39232,39233,39238,39239,39240,39245,39246,39252,39256,39257,39259,39260,39262,39263,39264,39323,39325,39327,39334,39344,39345,39346,39349,39353,39354,39357,39359,39363,39369,39379,39380,39385,39386,39388,39390,39399,39402,39403,39404,39408,39412,39413,39417,39421,39422,39426,39427,39428,39435,39436,39440,39441,39446,39454,39456,39458,39459,39460,39463,39469,39470,39475,39477,39478,39480,39495,39489,39492,39498,39499,39500,39502,39505,39508,39510,39517,39594,39596,39598,39599,39602,39604,39605,39606,39609,39611,39614,39615,39617,39619,39622,39624,39630,39632,39634,39637,39638,39639,39643,39644,39648,39652,39653,39655,39657,39660,39666,39667,39669,39673,39674,39677,39679,39680,39681,39682,39683,39684,39685,39688,39689,39691,39692,39693,39694,39696,39698,39702,39705,39707,39708,39712,39718,39723,39725,39731,39732,39733,39735,39737,39738,39741,39752,39755,39756,39765,39766,39767,39771,39774,39777,39779,39781,39782,39784,39786,39787,39788,39789,39790,39795,39797,39799,39800,39801,39807,39808,39812,39813,39814,39815,39817,39818,39819,39821,39823,39824,39828,39834,39837,39838,39846,39847,39849,39852,39856,39857,39858,39863,39864,39867,39868,39870,39871,39873,39879,39880,39886,39888,39895,39896,39901,39903,39909,39911,39914,39915,39919,39923,39927,39928,39929,39930,39933,39935,39936,39938,39947,39951,39953,39958,39960,39961,39962,39964,39966,39970,39971,39974,39975,39976,39977,39978,39985,39989,39990,39991,39997,40001,40003,40004,40005,40009,40010,40014,40015,40016,40019,40020,40022,40024,40027,40029,40030,40031,40035,40041,40042,40028,40043,40040,40046,40048,40050,40053,40055,40059,40166,40178,40183,40185,40203,40194,40209,40215,40216,40220,40221,40222,40239,40240,40242,40243,40244,40250,40252,40261,40253,40258,40259,40263,40266,40275,40276,40287,40291,40290,40293,40297,40298,40299,40304,40310,40311,40315,40316,40318,40323,40324,40326,40330,40333,40334,40338,40339,40341,40342,40343,40344,40353,40362,40364,40366,40369,40373,40377,40380,40383,40387,40391,40393,40394,40404,40405,40406,40407,40410,40414,40415,40416,40421,40423,40425,40427,40430,40432,40435,40436,40446,40458,40450,40455,40462,40464,40465,40466,40469,40470,40473,40476,40477,40570,40571,40572,40576,40578,40579,40580,40581,40583,40590,40591,40598,40600,40603,40606,40612,40616,40620,40622,40623,40624,40627,40628,40629,40646,40648,40651,40661,40671,40676,40679,40684,40685,40686,40688,40689,40690,40693,40696,40703,40706,40707,40713,40719,40720,40721,40722,40724,40726,40727,40729,40730,40731,40735,40738,40742,40746,40747,40751,40753,40754,40756,40759,40761,40762,40764,40765,40767,40769,40771,40772,40773,40774,40775,40787,40789,40790,40791,40792,40794,40797,40798,40808,40809,40813,40814,40815,40816,40817,40819,40821,40826,40829,40847,40848,40849,40850,40852,40854,40855,40862,40865,40866,40867,40869,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]}}(this||{})},831:function(e,t,n){!function(t){"use strict";function i(e,t,n){return t<=e&&e<=n}e.exports&&!t["encoding-indexes"]&&(t["encoding-indexes"]=n(2082)["encoding-indexes"]);var o=Math.floor;function s(e){if(void 0===e)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function r(e){return 0<=e&&e<=127}var l=r,a=-1;function d(e){this.tokens=[].slice.call(e),this.tokens.reverse()}d.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():a},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var u=-1;function c(e,t){if(e)throw TypeError("Decoder error");return t||65533}function h(e){throw TypeError("The code point "+e+" could not be encoded.")}function g(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(m,e)?m[e]:null}var p=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],m={};p.forEach((function(e){e.encodings.forEach((function(e){e.labels.forEach((function(t){m[t]=e}))}))}));var f,_,v={},b={};function w(e,t){return t&&t[e]||null}function C(e,t){var n=t.indexOf(e);return-1===n?null:n}function y(e){if(!("encoding-indexes"in t))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return t["encoding-indexes"][e]}var S="utf-8";function x(e,t){if(!(this instanceof x))throw TypeError("Called as a function. Did you forget 'new'?");e=void 0!==e?String(e):S,t=s(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var n=g(e);if(null===n||"replacement"===n.name)throw RangeError("Unknown encoding: "+e);if(!b[n.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var i=this;return i._encoding=n,Boolean(t.fatal)&&(i._error_mode="fatal"),Boolean(t.ignoreBOM)&&(i._ignoreBOM=!0),Object.defineProperty||(this.encoding=i._encoding.name.toLowerCase(),this.fatal="fatal"===i._error_mode,this.ignoreBOM=i._ignoreBOM),i}function k(e,n){if(!(this instanceof k))throw TypeError("Called as a function. Did you forget 'new'?");n=s(n),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(n.fatal)?"fatal":"replacement";var i=this;if(Boolean(n.NONSTANDARD_allowLegacyEncoding)){var o=g(e=void 0!==e?String(e):S);if(null===o||"replacement"===o.name)throw RangeError("Unknown encoding: "+e);if(!v[o.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");i._encoding=o}else i._encoding=g("utf-8"),void 0!==e&&"console"in t&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=i._encoding.name.toLowerCase()),i}function L(e){var t=e.fatal,n=0,o=0,s=0,r=128,l=191;this.handler=function(e,d){if(d===a&&0!==s)return s=0,c(t);if(d===a)return u;if(0===s){if(i(d,0,127))return d;if(i(d,194,223))s=1,n=31&d;else if(i(d,224,239))224===d&&(r=160),237===d&&(l=159),s=2,n=15&d;else{if(!i(d,240,244))return c(t);240===d&&(r=144),244===d&&(l=143),s=3,n=7&d}return null}if(!i(d,r,l))return n=s=o=0,r=128,l=191,e.prepend(d),c(t);if(r=128,l=191,n=n<<6|63&d,(o+=1)!==s)return null;var h=n;return n=s=o=0,h}}function D(e){e.fatal,this.handler=function(e,t){if(t===a)return u;if(l(t))return t;var n,o;i(t,128,2047)?(n=1,o=192):i(t,2048,65535)?(n=2,o=224):i(t,65536,1114111)&&(n=3,o=240);for(var s=[(t>>6*n)+o];n>0;){var r=t>>6*(n-1);s.push(128|63&r),n-=1}return s}}function N(e,t){var n=t.fatal;this.handler=function(t,i){if(i===a)return u;if(r(i))return i;var o=e[i-128];return null===o?c(n):o}}function E(e,t){t.fatal,this.handler=function(t,n){if(n===a)return u;if(l(n))return n;var i=C(n,e);return null===i&&h(n),i+128}}function I(e){var t=e.fatal,n=0,o=0,s=0;this.handler=function(e,l){if(l===a&&0===n&&0===o&&0===s)return u;var d;if(l!==a||0===n&&0===o&&0===s||(n=0,o=0,s=0,c(t)),0!==s){d=null,i(l,48,57)&&(d=function(e){if(e>39419&&e<189e3||e>1237575)return null;if(7457===e)return 59335;var t,n=0,i=0,o=y("gb18030-ranges");for(t=0;t>8,i=255&e;return t?[n,i]:[i,n]}function U(e,t){var n=t.fatal,o=null,s=null;this.handler=function(t,r){if(r===a&&(null!==o||null!==s))return c(n);if(r===a&&null===o&&null===s)return u;if(null===o)return o=r,null;var l;if(l=e?(o<<8)+r:(r<<8)+o,o=null,null!==s){var d=s;return s=null,i(l,56320,57343)?65536+1024*(d-55296)+(l-56320):(t.prepend(z(l,e)),c(n))}return i(l,55296,56319)?(s=l,null):i(l,56320,57343)?c(n):l}}function K(e,t){t.fatal,this.handler=function(t,n){if(n===a)return u;if(i(n,0,65535))return z(n,e);var o=z(55296+(n-65536>>10),e),s=z(56320+(n-65536&1023),e);return o.concat(s)}}function j(e){e.fatal,this.handler=function(e,t){return t===a?u:r(t)?t:63360+t-128}}function q(e){e.fatal,this.handler=function(e,t){return t===a?u:l(t)?t:i(t,63360,63487)?t-63360+128:h(t)}}Object.defineProperty&&(Object.defineProperty(x.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(x.prototype,"fatal",{get:function(){return"fatal"===this._error_mode}}),Object.defineProperty(x.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}})),x.prototype.decode=function(e,t){var n;n="object"==typeof e&&e instanceof ArrayBuffer?new Uint8Array(e):"object"==typeof e&&"buffer"in e&&e.buffer instanceof ArrayBuffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(0),t=s(t),this._do_not_flush||(this._decoder=b[this._encoding.name]({fatal:"fatal"===this._error_mode}),this._BOMseen=!1),this._do_not_flush=Boolean(t.stream);for(var i,o=new d(n),r=[];;){var l=o.read();if(l===a)break;if((i=this._decoder.handler(o,l))===u)break;null!==i&&(Array.isArray(i)?r.push.apply(r,i):r.push(i))}if(!this._do_not_flush){do{if((i=this._decoder.handler(o,o.read()))===u)break;null!==i&&(Array.isArray(i)?r.push.apply(r,i):r.push(i))}while(!o.endOfStream());this._decoder=null}return function(e){var t,n;return t=["UTF-8","UTF-16LE","UTF-16BE"],n=this._encoding.name,-1===t.indexOf(n)||this._ignoreBOM||this._BOMseen||(e.length>0&&65279===e[0]?(this._BOMseen=!0,e.shift()):e.length>0&&(this._BOMseen=!0)),function(e){for(var t="",n=0;n>10),56320+(1023&i)))}return t}(e)}.call(this,r)},Object.defineProperty&&Object.defineProperty(k.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),k.prototype.encode=function(e,t){e=void 0===e?"":String(e),t=s(t),this._do_not_flush||(this._encoder=v[this._encoding.name]({fatal:"fatal"===this._fatal})),this._do_not_flush=Boolean(t.stream);for(var n,i=new d(function(e){for(var t=String(e),n=t.length,i=0,o=[];i57343)o.push(s);else if(56320<=s&&s<=57343)o.push(65533);else if(55296<=s&&s<=56319)if(i===n-1)o.push(65533);else{var r=t.charCodeAt(i+1);if(56320<=r&&r<=57343){var l=1023&s,a=1023&r;o.push(65536+(l<<10)+a),i+=1}else o.push(65533)}i+=1}return o}(e)),o=[];;){var r=i.read();if(r===a)break;if((n=this._encoder.handler(i,r))===u)break;Array.isArray(n)?o.push.apply(o,n):o.push(n)}if(!this._do_not_flush){for(;(n=this._encoder.handler(i,i.read()))!==u;)Array.isArray(n)?o.push.apply(o,n):o.push(n);this._encoder=null}return new Uint8Array(o)},v["UTF-8"]=function(e){return new D(e)},b["UTF-8"]=function(e){return new L(e)},"encoding-indexes"in t&&p.forEach((function(e){"Legacy single-byte encodings"===e.heading&&e.encodings.forEach((function(e){var t=e.name,n=y(t.toLowerCase());b[t]=function(e){return new N(n,e)},v[t]=function(e){return new E(n,e)}}))})),b.GBK=function(e){return new I(e)},v.GBK=function(e){return new M(e,!0)},v.gb18030=function(e){return new M(e)},b.gb18030=function(e){return new I(e)},v.Big5=function(e){return new A(e)},b.Big5=function(e){return new T(e)},v["EUC-JP"]=function(e){return new P(e)},b["EUC-JP"]=function(e){return new R(e)},v["ISO-2022-JP"]=function(e){return new F(e)},b["ISO-2022-JP"]=function(e){return new O(e)},v.Shift_JIS=function(e){return new W(e)},b.Shift_JIS=function(e){return new B(e)},v["EUC-KR"]=function(e){return new H(e)},b["EUC-KR"]=function(e){return new V(e)},v["UTF-16BE"]=function(e){return new K(!0,e)},b["UTF-16BE"]=function(e){return new U(!0,e)},v["UTF-16LE"]=function(e){return new K(!1,e)},b["UTF-16LE"]=function(e){return new U(!1,e)},v["x-user-defined"]=function(e){return new q(e)},b["x-user-defined"]=function(e){return new j(e)},t.TextEncoder||(t.TextEncoder=k),t.TextDecoder||(t.TextDecoder=x),e.exports&&(e.exports={TextEncoder:t.TextEncoder,TextDecoder:t.TextDecoder,EncodingIndexes:t["encoding-indexes"]})}(this||{})},6426:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],i=0;i{"use strict";n.a(e,(async(e,t)=>{try{var i=n(2300),o=n(7965),s=n(4596),r=n.n(s),l=n(6557),a=e([i]);i=(a.then?(await a)():a)[0],n(9336),self.MonacoEnvironment={getWorkerUrl:function(e,t){return"./json.worker.bundle.js"}};var d=l.editor.create(document.getElementById("container"),{value:'{\n\t"version": "v0.0.1",\n\t"config": {\n\t\t"ipfs_concurrency": "4",\n\t\t"ipfs_timeout": "10000",\n\t\t"min_signal": "100",\n\t\t"period": "300",\n\t\t"grace_period": "0",\n\t\t"supported_data_source_kinds": "ethereum,ethereum/contract,file/ipfs,substreams,file/arweave",\n\t\t"network_subgraph_deloyment_id": "QmSWxvd8SaQK6qZKJ7xtfxCCGoRzGnoi2WNzmJYYJW9BXY",\n\t\t"epoch_block_oracle_subgraph_deloyment_id": "QmQEGDTb3xeykCXLdWx7pPX3qeeGMUvHmGWP4SpMkv5QJf",\n\t\t"subgraph_availability_manager_contract": "CONTRACT_ADDRESS",\n\t\t"oracle_index": "ORACLE_INDEX"\n\t}\n}\n',language:"json",minimap:{enabled:!1},theme:"vs-light"});document.getElementById("compile-button").onclick=function(){var e,t=d.getValue();try{var n="calldata"===document.getElementById("output-type").value,o=i.wE(t,n);document.getElementById("compiled").value=(e="",o.forEach((function(t){e+=("0"+(255&t).toString(16)).slice(-2)})),e)}catch(e){r().alert({text:e,time:2,type:"error"})}},document.getElementById("copy-to-clipboard").onclick=function(){var e=document.getElementById("compiled").value;r().alert({text:"Copied ".concat(e.length," characters to the clipboard."),time:1,type:"success"}),o(e)},document.getElementById("clear-all").onclick=function(){d.setValue(""),document.getElementById("form").reset()},document.getElementById("verify-compiled").oninput=function(){var e;e=document.getElementById("compiled").value===document.getElementById("verify-compiled").value?"✓ matches":"✗ does not match",document.getElementById("verify-result").innerText=e},t()}catch(e){t(e)}}))},2300:(e,t,n)=>{"use strict";n.a(e,(async(e,i)=>{try{n.d(t,{wE:()=>s.wE});var o=n(2650),s=n(5408),r=e([o]);o=(r.then?(await r)():r)[0],(0,s.lI)(o),i()}catch(e){i(e)}}))},5408:(e,t,n)=>{"use strict";n.d(t,{Qn:()=>w,lI:()=>r,wE:()=>v,yc:()=>b}),e=n.hmd(e);var i=n(3764).TextDecoder,o=n(3764).TextEncoder;let s;function r(e){s=e}let l=new(void 0===i?(0,e.require)("util").TextDecoder:i)("utf-8",{ignoreBOM:!0,fatal:!0});l.decode();let a=null;function d(){return null!==a&&0!==a.byteLength||(a=new Uint8Array(s.memory.buffer)),a}function u(e,t){return e>>>=0,l.decode(d().subarray(e,e+t))}const c=new Array(128).fill(void 0);c.push(void 0,null,!0,!1);let h=c.length,g=0,p=new(void 0===o?(0,e.require)("util").TextEncoder:o)("utf-8");const m="function"==typeof p.encodeInto?function(e,t){return p.encodeInto(e,t)}:function(e,t){const n=p.encode(e);return t.set(n),{read:e.length,written:n.length}};let f=null;function _(){return null!==f&&0!==f.byteLength||(f=new Int32Array(s.memory.buffer)),f}function v(e,t){try{const u=s.__wbindgen_add_to_stack_pointer(-16),f=function(e,t,n){if(void 0===n){const n=p.encode(e),i=t(n.length,1)>>>0;return d().subarray(i,i+n.length).set(n),g=n.length,i}let i=e.length,o=t(i,1)>>>0;const s=d();let r=0;for(;r127)break;s[o+r]=t}if(r!==i){0!==r&&(e=e.slice(r)),o=n(o,i,i=r+3*e.length,1)>>>0;const t=d().subarray(o+r,o+i);r+=m(e,t).written,o=n(o,i,r,1)>>>0}return g=r,o}(e,s.__wbindgen_malloc,s.__wbindgen_realloc),v=g;s.compile(u,f,v,t);var n=_()[u/4+0],i=_()[u/4+1],o=_()[u/4+2];if(_()[u/4+3])throw function(e){const t=function(e){return c[e]}(e);return function(e){e<132||(c[e]=h,h=e)}(e),t}(o);var r=(l=n,a=i,l>>>=0,d().subarray(l/1,l/1+a)).slice();return s.__wbindgen_free(n,1*i,1),r}finally{s.__wbindgen_add_to_stack_pointer(16)}var l,a}function b(e,t){return function(e){h===c.length&&c.push(c.length+1);const t=h;return h=c[t],c[t]=e,t}(u(e,t))}function w(e,t){throw new Error(u(e,t))}},8968:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII="},7584:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="},6060:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="},6499:(e,t,n)=>{"use strict";e.exports=n.p+"762fced46d6cddbda272.ttf"},2650:(e,t,n)=>{"use strict";var i=n(5408);e.exports=n.v(t,e.id,"cc4d90699ab261d33526",{"./index_bg.js":{__wbindgen_string_new:i.yc,__wbindgen_throw:i.Qn}})}},l={};function a(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={id:e,loaded:!1,exports:{}};return r[e].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=r,a.amdO={},e="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",t="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",n="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=e=>{e&&e.d<1&&(e.d=1,e.forEach((e=>e.r--)),e.forEach((e=>e.r--?e.r++:e())))},a.a=(o,s,r)=>{var l;r&&((l=[]).d=-1);var a,d,u,c=new Set,h=o.exports,g=new Promise(((e,t)=>{u=t,d=e}));g[t]=h,g[e]=e=>(l&&e(l),c.forEach(e),g.catch((e=>{}))),o.exports=g,s((o=>{var s;a=(o=>o.map((o=>{if(null!==o&&"object"==typeof o){if(o[e])return o;if(o.then){var s=[];s.d=0,o.then((e=>{r[t]=e,i(s)}),(e=>{r[n]=e,i(s)}));var r={};return r[e]=e=>e(s),r}}var l={};return l[e]=e=>{},l[t]=o,l})))(o);var r=()=>a.map((e=>{if(e[n])throw e[n];return e[t]})),d=new Promise((t=>{(s=()=>t(r)).r=0;var n=e=>e!==l&&!c.has(e)&&(c.add(e),e&&!e.d&&(s.r++,e.push(s)));a.map((t=>t[e](n)))}));return s.r?d:r()}),(e=>(e?u(g[n]=e):d(h),i(l)))),l&&l.d<0&&(l.d=0)},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((t,n)=>(a.f[n](e,t),t)),[])),a.u=e=>e+".bundle.js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},s="json-encoder-web:",a.l=(e,t,n,i)=>{if(o[e])o[e].push(t);else{var r,l;if(void 0!==n)for(var d=document.getElementsByTagName("script"),u=0;u{r.onerror=r.onload=null,clearTimeout(g);var i=o[e];if(delete o[e],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach((e=>e(n))),t)return t(n)},g=setTimeout(h.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=h.bind(null,r.onerror),r.onload=h.bind(null,r.onload),l&&document.head.appendChild(r)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.v=(e,t,n,i)=>{var o=fetch(a.p+""+n+".module.wasm"),s=()=>o.then((e=>e.arrayBuffer())).then((e=>WebAssembly.instantiate(e,i))).then((t=>Object.assign(e,t.instance.exports)));return o.then((t=>"function"==typeof WebAssembly.instantiateStreaming?WebAssembly.instantiateStreaming(t,i).then((t=>Object.assign(e,t.instance.exports)),(e=>{if("application/wasm"!==t.headers.get("Content-Type"))return console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e),s();throw e})):s()))},(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var i=n.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=n[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b=document.baseURI||self.location.href;var e={524:0};a.f.j=(t,n)=>{var i=a.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{var o=new Promise(((n,o)=>i=e[t]=[n,o]));n.push(i[2]=o);var s=a.p+a.u(t),r=new Error;a.l(s,(n=>{if(a.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var o=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;r.message="Loading chunk "+t+" failed.\n("+o+": "+s+")",r.name="ChunkLoadError",r.type=o,r.request=s,i[1](r)}}),"chunk-"+t,t)}};var t=(t,n)=>{var i,o,[s,r,l]=n,d=0;if(s.some((t=>0!==e[t]))){for(i in r)a.o(r,i)&&(a.m[i]=r[i]);l&&l(a)}for(t&&t(n);d{var e,t,n,i,o,s,r={7965:(e,t,n)=>{"use strict";var i=n(6426),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,s,r,l,a,d,u=!1;t||(t={}),n=t.debug||!1;try{if(r=i(),l=document.createRange(),a=document.getSelection(),(d=document.createElement("span")).textContent=e,d.ariaHidden="true",d.style.all="unset",d.style.position="fixed",d.style.top=0,d.style.clip="rect(0, 0, 0, 0)",d.style.whiteSpace="pre",d.style.webkitUserSelect="text",d.style.MozUserSelect="text",d.style.msUserSelect="text",d.style.userSelect="text",d.addEventListener("copy",(function(i){if(i.stopPropagation(),t.format)if(i.preventDefault(),void 0===i.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var s=o[t.format]||o.default;window.clipboardData.setData(s,e)}else i.clipboardData.clearData(),i.clipboardData.setData(t.format,e);t.onCopy&&(i.preventDefault(),t.onCopy(i.clipboardData))})),document.body.appendChild(d),l.selectNodeContents(d),a.addRange(l),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(i){n&&console.error("unable to copy using execCommand: ",i),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(i){n&&console.error("unable to copy using clipboardData: ",i),n&&console.error("falling back to prompt"),s=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(s,e)}}finally{a&&("function"==typeof a.removeRange?a.removeRange(l):a.removeAllRanges()),d&&document.body.removeChild(d),r()}return u}},4566:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-action-bar {\n\twhite-space: nowrap;\n\theight: 100%;\n}\n\n.monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\theight: 100%;\n\twidth: 100%;\n\talign-items: center;\n}\n\n.monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-action-bar .action-item {\n\tdisplay: block;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item .icon,\n.monaco-action-bar .action-item .codicon {\n\tdisplay: block;\n}\n\n.monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 16px;\n\theight: 16px;\n}\n\n.monaco-action-bar .action-label {\n\tdisplay: flex;\n\tfont-size: 11px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n}\n\n.monaco-action-bar .action-item.disabled .action-label,\n.monaco-action-bar .action-item.disabled .action-label::before,\n.monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid #bbb;\n\tpadding-top: 1px;\n\tmargin-left: .8em;\n\tmargin-right: .8em;\n}\n\n.monaco-action-bar .action-item .action-label.separator {\n\twidth: 1px;\n\theight: 16px;\n\tmargin: 5px 4px !important;\n\tcursor: default;\n\tmin-width: 1px;\n\tpadding: 0;\n\tbackground-color: #bbb;\n}\n\n.secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item {\n\tdisplay: flex;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator {\n\tdisplay: flex;\n\talign-items: center;\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator > div {\n\twidth: 1px;\n}\n",""]);const l=r},5038:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-aria-container {\n\tposition: absolute; /* try to hide from window but not from screen readers */\n\tleft:-999em;\n}",""]);const l=r},8880:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-text-button {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\twidth: 100%;\n\tpadding: 4px;\n\tborder-radius: 2px;\n\ttext-align: center;\n\tcursor: pointer;\n\tjustify-content: center;\n\talign-items: center;\n\tborder: 1px solid var(--vscode-button-border, transparent);\n\tline-height: 18px;\n}\n\n.monaco-text-button:focus {\n\toutline-offset: 2px !important;\n}\n\n.monaco-text-button:hover {\n\ttext-decoration: none !important;\n}\n\n.monaco-button.disabled:focus,\n.monaco-button.disabled {\n\topacity: 0.4 !important;\n\tcursor: default;\n}\n\n.monaco-text-button .codicon {\n\tmargin: 0 0.2em;\n\tcolor: inherit !important;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label {\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tpadding: 0 4px;\n\toverflow: hidden;\n\theight: 28px;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label {\n\tflex-basis: 100%;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {\n\tflex-grow: 1;\n\twidth: 0;\n\toverflow: hidden;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label,\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tfont-weight: normal;\n\tfont-style: inherit;\n\tpadding: 4px 0;\n}\n\n.monaco-button-dropdown {\n\tdisplay: flex;\n\tcursor: pointer;\n}\n\n.monaco-button-dropdown.disabled {\n\tcursor: default;\n}\n\n.monaco-button-dropdown > .monaco-button:focus {\n\toutline-offset: -1px !important;\n}\n\n.monaco-button-dropdown.disabled > .monaco-button.disabled,\n.monaco-button-dropdown.disabled > .monaco-button.disabled:focus,\n.monaco-button-dropdown.disabled > .monaco-button-dropdown-separator {\n\topacity: 0.4 !important;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-text-button {\n\tborder-right-width: 0 !important;\n}\n\n.monaco-button-dropdown .monaco-button-dropdown-separator {\n\tpadding: 4px 0;\n\tcursor: default;\n}\n\n.monaco-button-dropdown .monaco-button-dropdown-separator > div {\n\theight: 100%;\n\twidth: 1px;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-dropdown-button {\n\tborder: 1px solid var(--vscode-button-border, transparent);\n\tborder-left-width: 0 !important;\n\tborder-radius: 0 2px 2px 0;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-text-button {\n\tborder-radius: 2px 0 0 2px;\n}\n\n.monaco-description-button {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tmargin: 4px 5px; /* allows button focus outline to be visible */\n}\n\n.monaco-description-button .monaco-button-description {\n\tfont-style: italic;\n\tfont-size: 11px;\n\tpadding: 4px 20px;\n}\n\n.monaco-description-button .monaco-button-label,\n.monaco-description-button .monaco-button-description {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.monaco-description-button .monaco-button-label > .codicon,\n.monaco-description-button .monaco-button-description > .codicon {\n\tmargin: 0 0.2em;\n\tcolor: inherit !important;\n}\n\n/* default color styles - based on CSS variables */\n\n.monaco-button.default-colors,\n.monaco-button-dropdown.default-colors > .monaco-button{\n\tcolor: var(--vscode-button-foreground);\n\tbackground-color: var(--vscode-button-background);\n}\n\n.monaco-button.default-colors:hover,\n.monaco-button-dropdown.default-colors > .monaco-button:hover {\n\tbackground-color: var(--vscode-button-hoverBackground);\n}\n\n.monaco-button.default-colors.secondary,\n.monaco-button-dropdown.default-colors > .monaco-button.secondary {\n\tcolor: var(--vscode-button-secondaryForeground);\n\tbackground-color: var(--vscode-button-secondaryBackground);\n}\n\n.monaco-button.default-colors.secondary:hover,\n.monaco-button-dropdown.default-colors > .monaco-button.secondary:hover {\n\tbackground-color: var(--vscode-button-secondaryHoverBackground);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator {\n\tbackground-color: var(--vscode-button-background);\n\tborder-top: 1px solid var(--vscode-button-border);\n\tborder-bottom: 1px solid var(--vscode-button-border);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button.secondary + .monaco-button-dropdown-separator {\n\tbackground-color: var(--vscode-button-secondaryBackground);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator > div {\n\tbackground-color: var(--vscode-button-separator);\n}\n",""]);const l=r},714:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.codicon-wrench-subaction {\n\topacity: 0.5;\n}\n\n@keyframes codicon-spin {\n\t100% {\n\t\ttransform:rotate(360deg);\n\t}\n}\n\n.codicon-sync.codicon-modifier-spin,\n.codicon-loading.codicon-modifier-spin,\n.codicon-gear.codicon-modifier-spin,\n.codicon-notebook-state-executing.codicon-modifier-spin {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.5s steps(30) infinite;\n}\n\n.codicon-modifier-disabled {\n\topacity: 0.4;\n}\n\n/* custom speed & easing for loading icon */\n.codicon-loading,\n.codicon-tree-item-loading::before {\n\tanimation-duration: 1s !important;\n\tanimation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;\n}\n",""]);const l=r},2171:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s),l=n(4417),a=n.n(l),d=new URL(n(6499),n.b),u=r()(o()),c=a()(d);u.push([e.id,`/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n@font-face {\n\tfont-family: "codicon";\n\tfont-display: block;\n\tsrc: url(${c}) format("truetype");\n}\n\n.codicon[class*='codicon-'] {\n\tfont: normal normal normal 16px/1 codicon;\n\tdisplay: inline-block;\n\ttext-decoration: none;\n\ttext-rendering: auto;\n\ttext-align: center;\n\ttext-transform: none;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */\n`,""]);const h=u},8970:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.context-view {\n\tposition: absolute;\n}\n\n.context-view.fixed {\n\tall: initial;\n\tfont-family: inherit;\n\tfont-size: 13px;\n\tposition: fixed;\n\tcolor: inherit;\n}\n",""]);const l=r},1684:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-count-badge {\n\tpadding: 3px 6px;\n\tborder-radius: 11px;\n\tfont-size: 11px;\n\tmin-width: 18px;\n\tmin-height: 18px;\n\tline-height: 11px;\n\tfont-weight: normal;\n\ttext-align: center;\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n}\n\n.monaco-count-badge.long {\n\tpadding: 2px 3px;\n\tborder-radius: 2px;\n\tmin-height: auto;\n\tline-height: normal;\n}\n",""]);const l=r},9862:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-dropdown {\n\theight: 100%;\n\tpadding: 0;\n}\n\n.monaco-dropdown > .dropdown-label {\n\tcursor: pointer;\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-dropdown > .dropdown-label > .action-label.disabled {\n\tcursor: default;\n}\n\n.monaco-dropdown-with-primary {\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tborder-radius: 5px;\n}\n\n.monaco-dropdown-with-primary > .action-container > .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {\n\tfont-size: 12px;\n\tpadding-left: 0px;\n\tpadding-right: 0px;\n\tline-height: 16px;\n\tmargin-left: -3px;\n}\n\n.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {\n\tdisplay: block;\n\tbackground-size: 16px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n}\n",""]);const l=r},8474:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/* ---------- Find input ---------- */\n\n.monaco-findInput {\n\tposition: relative;\n}\n\n.monaco-findInput .monaco-inputbox {\n\tfont-size: 13px;\n\twidth: 100%;\n}\n\n.monaco-findInput > .controls {\n\tposition: absolute;\n\ttop: 3px;\n\tright: 2px;\n}\n\n.vs .monaco-findInput.disabled {\n\tbackground-color: #E1E1E1;\n}\n\n/* Theming */\n.vs-dark .monaco-findInput.disabled {\n\tbackground-color: #333;\n}\n\n/* Highlighting */\n.monaco-findInput.highlight-0 .controls,\n.hc-light .monaco-findInput.highlight-0 .controls {\n\tanimation: monaco-findInput-highlight-0 100ms linear 0s;\n}\n\n.monaco-findInput.highlight-1 .controls,\n.hc-light .monaco-findInput.highlight-1 .controls {\n\tanimation: monaco-findInput-highlight-1 100ms linear 0s;\n}\n\n.hc-black .monaco-findInput.highlight-0 .controls,\n.vs-dark .monaco-findInput.highlight-0 .controls {\n\tanimation: monaco-findInput-highlight-dark-0 100ms linear 0s;\n}\n\n.hc-black .monaco-findInput.highlight-1 .controls,\n.vs-dark .monaco-findInput.highlight-1 .controls {\n\tanimation: monaco-findInput-highlight-dark-1 100ms linear 0s;\n}\n\n@keyframes monaco-findInput-highlight-0 {\n\t0% { background: rgba(253, 255, 0, 0.8); }\n\t100% { background: transparent; }\n}\n@keyframes monaco-findInput-highlight-1 {\n\t0% { background: rgba(253, 255, 0, 0.8); }\n\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\n\t99% { background: transparent; }\n}\n\n@keyframes monaco-findInput-highlight-dark-0 {\n\t0% { background: rgba(255, 255, 255, 0.44); }\n\t100% { background: transparent; }\n}\n@keyframes monaco-findInput-highlight-dark-1 {\n\t0% { background: rgba(255, 255, 255, 0.44); }\n\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\n\t99% { background: transparent; }\n}\n",""]);const l=r},8694:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-hover {\n\tcursor: default;\n\tposition: absolute;\n\toverflow: hidden;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tbox-sizing: border-box;\n\tanimation: fadein 100ms linear;\n\tline-height: 1.5em;\n\twhite-space: var(--vscode-hover-whiteSpace, normal);\n}\n\n.monaco-hover.hidden {\n\tdisplay: none;\n}\n\n.monaco-hover a:hover:not(.disabled) {\n\tcursor: pointer;\n}\n\n.monaco-hover .hover-contents:not(.html-hover-contents) {\n\tpadding: 4px 8px;\n}\n\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {\n\tmax-width: var(--vscode-hover-maxWidth, 500px);\n\tword-wrap: break-word;\n}\n\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {\n\tmin-width: 100%;\n}\n\n.monaco-hover p,\n.monaco-hover .code,\n.monaco-hover ul,\n.monaco-hover h1,\n.monaco-hover h2,\n.monaco-hover h3,\n.monaco-hover h4,\n.monaco-hover h5,\n.monaco-hover h6 {\n\tmargin: 8px 0;\n}\n\n.monaco-hover h1,\n.monaco-hover h2,\n.monaco-hover h3,\n.monaco-hover h4,\n.monaco-hover h5,\n.monaco-hover h6 {\n\tline-height: 1.1;\n}\n\n.monaco-hover code {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-hover hr {\n\tbox-sizing: border-box;\n\tborder-left: 0px;\n\tborder-right: 0px;\n\tmargin-top: 4px;\n\tmargin-bottom: -4px;\n\tmargin-left: -8px;\n\tmargin-right: -8px;\n\theight: 1px;\n}\n\n.monaco-hover p:first-child,\n.monaco-hover .code:first-child,\n.monaco-hover ul:first-child {\n\tmargin-top: 0;\n}\n\n.monaco-hover p:last-child,\n.monaco-hover .code:last-child,\n.monaco-hover ul:last-child {\n\tmargin-bottom: 0;\n}\n\n/* MarkupContent Layout */\n.monaco-hover ul {\n\tpadding-left: 20px;\n}\n.monaco-hover ol {\n\tpadding-left: 20px;\n}\n\n.monaco-hover li > p {\n\tmargin-bottom: 0;\n}\n\n.monaco-hover li > ul {\n\tmargin-top: 0;\n}\n\n.monaco-hover code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-hover .monaco-tokenized-source {\n\twhite-space: var(--vscode-hover-sourceWhiteSpace, pre-wrap);\n}\n\n.monaco-hover .hover-row.status-bar {\n\tfont-size: 12px;\n\tline-height: 22px;\n}\n\n.monaco-hover .hover-row.status-bar .info {\n\tfont-style: italic;\n\tpadding: 0px 8px;\n}\n\n.monaco-hover .hover-row.status-bar .actions {\n\tdisplay: flex;\n\tpadding: 0px 8px;\n}\n\n.monaco-hover .hover-row.status-bar .actions .action-container {\n\tmargin-right: 16px;\n\tcursor: pointer;\n}\n\n.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {\n\tpadding-right: 4px;\n}\n\n.monaco-hover .markdown-hover .hover-contents .codicon {\n\tcolor: inherit;\n\tfont-size: inherit;\n\tvertical-align: middle;\n}\n\n.monaco-hover .hover-contents a.code-link:hover,\n.monaco-hover .hover-contents a.code-link {\n\tcolor: inherit;\n}\n\n.monaco-hover .hover-contents a.code-link:before {\n\tcontent: '(';\n}\n\n.monaco-hover .hover-contents a.code-link:after {\n\tcontent: ')';\n}\n\n.monaco-hover .hover-contents a.code-link > span {\n\ttext-decoration: underline;\n\t/** Hack to force underline to show **/\n\tborder-bottom: 1px solid transparent;\n\ttext-underline-position: under;\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-hover .hover-contents a.code-link > span:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n/** Spans in markdown hovers need a margin-bottom to avoid looking cramped: https://github.com/microsoft/vscode/issues/101496 **/\n.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span {\n\tmargin-bottom: 4px;\n\tdisplay: inline-block;\n}\n\n.monaco-hover-content .action-container a {\n\t-webkit-user-select: none;\n\tuser-select: none;\n}\n\n.monaco-hover-content .action-container.disabled {\n\tpointer-events: none;\n\topacity: 0.4;\n\tcursor: default;\n}\n",""]);const l=r},8134:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* ---------- Icon label ---------- */\n\n.monaco-icon-label {\n\tdisplay: flex; /* required for icons support :before rule */\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-icon-label::before {\n\n\t/* svg icons rendered as background image */\n\tbackground-size: 16px;\n\tbackground-position: left center;\n\tbackground-repeat: no-repeat;\n\tpadding-right: 6px;\n\twidth: 16px;\n\theight: 22px;\n\tline-height: inherit !important;\n\tdisplay: inline-block;\n\n\t/* fonts icons */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tvertical-align: top;\n\n\tflex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */\n}\n\n.monaco-icon-label-container.disabled {\n\tcolor: var(--vscode-disabledForeground);\n}\n.monaco-icon-label > .monaco-icon-label-container {\n\tmin-width: 0;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tflex: 1;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {\n\tcolor: inherit;\n\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {\n\tmargin: 0 2px;\n\topacity: 0.5;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-suffix-container > .label-suffix {\n\topacity: .7;\n\twhite-space: pre;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\topacity: .7;\n\tmargin-left: 0.5em;\n\tfont-size: 0.9em;\n\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\n}\n\n.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{\n\twhite-space: nowrap\n}\n\n.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\topacity: .95;\n}\n\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\tfont-style: italic;\n}\n\n.monaco-icon-label.deprecated {\n\ttext-decoration: line-through;\n\topacity: 0.66;\n}\n\n/* make sure apply italic font style to decorations as well */\n.monaco-icon-label.italic::after {\n\tfont-style: italic;\n}\n\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\ttext-decoration: line-through;\n}\n\n.monaco-icon-label::after {\n\topacity: 0.75;\n\tfont-size: 90%;\n\tfont-weight: 600;\n\tmargin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */\n\ttext-align: center;\n}\n\n/* make sure selection color wins when a label is being selected */\n.monaco-list:focus .selected .monaco-icon-label, /* list */\n.monaco-list:focus .selected .monaco-icon-label::after\n{\n\tcolor: inherit !important;\n}\n\n.monaco-list-row.focused.selected .label-description,\n.monaco-list-row.selected .label-description {\n\topacity: .8;\n}\n",""]);const l=r},1366:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-inputbox {\n\tposition: relative;\n\tdisplay: block;\n\tpadding: 0;\n\tbox-sizing:\tborder-box;\n\tborder-radius: 2px;\n\n\t/* Customizable */\n\tfont-size: inherit;\n}\n\n.monaco-inputbox > .ibwrapper > .input,\n.monaco-inputbox > .ibwrapper > .mirror {\n\n\t/* Customizable */\n\tpadding: 4px 6px;\n}\n\n.monaco-inputbox > .ibwrapper {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-inputbox > .ibwrapper > .input {\n\tdisplay: inline-block;\n\tbox-sizing:\tborder-box;\n\twidth: 100%;\n\theight: 100%;\n\tline-height: inherit;\n\tborder: none;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tresize: none;\n\tcolor: inherit;\n}\n\n.monaco-inputbox > .ibwrapper > input {\n\ttext-overflow: ellipsis;\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input {\n\tdisplay: block;\n\tscrollbar-width: none; /* Firefox: hide scrollbars */\n\toutline: none;\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {\n\tdisplay: none; /* Chrome + Safari: hide scrollbar */\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input.empty {\n\twhite-space: nowrap;\n}\n\n.monaco-inputbox > .ibwrapper > .mirror {\n\tposition: absolute;\n\tdisplay: inline-block;\n\twidth: 100%;\n\ttop: 0;\n\tleft: 0;\n\tbox-sizing: border-box;\n\twhite-space: pre-wrap;\n\tvisibility: hidden;\n\tword-wrap: break-word;\n}\n\n/* Context view */\n\n.monaco-inputbox-container {\n\ttext-align: right;\n}\n\n.monaco-inputbox-container .monaco-inputbox-message {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\ttext-align: left;\n\twidth: 100%;\n\tbox-sizing:\tborder-box;\n\tpadding: 0.4em;\n\tfont-size: 12px;\n\tline-height: 17px;\n\tmargin-top: -1px;\n\tword-wrap: break-word;\n}\n\n/* Action bar support */\n.monaco-inputbox .monaco-action-bar {\n\tposition: absolute;\n\tright: 2px;\n\ttop: 4px;\n}\n\n.monaco-inputbox .monaco-action-bar .action-item {\n\tmargin-left: 2px;\n}\n\n.monaco-inputbox .monaco-action-bar .action-item .codicon {\n\tbackground-repeat: no-repeat;\n\twidth: 16px;\n\theight: 16px;\n}\n",""]);const l=r},5422:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-keybinding {\n\tdisplay: flex;\n\talign-items: center;\n\tline-height: 10px;\n}\n\n.monaco-keybinding > .monaco-keybinding-key {\n\tdisplay: inline-block;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n\tvertical-align: middle;\n\tfont-size: 11px;\n\tpadding: 3px 5px;\n\tmargin: 0 2px;\n}\n\n.monaco-keybinding > .monaco-keybinding-key:first-child {\n\tmargin-left: 0;\n}\n\n.monaco-keybinding > .monaco-keybinding-key:last-child {\n\tmargin-right: 0;\n}\n\n.monaco-keybinding > .monaco-keybinding-key-separator {\n\tdisplay: inline-block;\n}\n\n.monaco-keybinding > .monaco-keybinding-key-chord-separator {\n\twidth: 6px;\n}\n",""]);const l=r},7340:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-list {\n\tposition: relative;\n\theight: 100%;\n\twidth: 100%;\n\twhite-space: nowrap;\n}\n\n.monaco-list.mouse-support {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.monaco-list > .monaco-scrollable-element {\n\theight: 100%;\n}\n\n.monaco-list-rows {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-list.horizontal-scrolling .monaco-list-rows {\n\twidth: auto;\n\tmin-width: 100%;\n}\n\n.monaco-list-row {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\twidth: 100%;\n}\n\n.monaco-list.mouse-support .monaco-list-row {\n\tcursor: pointer;\n\ttouch-action: none;\n}\n\n/* Make sure the scrollbar renders above overlays (sticky scroll) */\n.monaco-list .monaco-scrollable-element > .scrollbar.vertical,\n.monaco-pane-view > .monaco-split-view2.vertical > .monaco-scrollable-element > .scrollbar.vertical {\n\tz-index: 14;\n}\n\n/* for OS X ballistic scrolling */\n.monaco-list-row.scrolling {\n\tdisplay: none !important;\n}\n\n/* Focus */\n.monaco-list.element-focused,\n.monaco-list.selection-single,\n.monaco-list.selection-multiple {\n\toutline: 0 !important;\n}\n\n/* Dnd */\n.monaco-drag-image {\n\tdisplay: inline-block;\n\tpadding: 1px 7px;\n\tborder-radius: 10px;\n\tfont-size: 12px;\n\tposition: absolute;\n\tz-index: 1000;\n}\n\n/* Filter */\n\n.monaco-list-type-filter-message {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tpadding: 40px 1em 1em 1em;\n\ttext-align: center;\n\twhite-space: normal;\n\topacity: 0.7;\n\tpointer-events: none;\n}\n\n.monaco-list-type-filter-message:empty {\n\tdisplay: none;\n}\n",""]);const l=r},266:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-mouse-cursor-text {\n\tcursor: text;\n}\n",""]);const l=r},4978:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-progress-container {\n\twidth: 100%;\n\theight: 2px;\n\toverflow: hidden; /* keep progress bit in bounds */\n}\n\n.monaco-progress-container .progress-bit {\n\twidth: 2%;\n\theight: 2px;\n\tposition: absolute;\n\tleft: 0;\n\tdisplay: none;\n}\n\n.monaco-progress-container.active .progress-bit {\n\tdisplay: inherit;\n}\n\n.monaco-progress-container.discrete .progress-bit {\n\tleft: 0;\n\ttransition: width 100ms linear;\n}\n\n.monaco-progress-container.discrete.done .progress-bit {\n\twidth: 100%;\n}\n\n.monaco-progress-container.infinite .progress-bit {\n\tanimation-name: progress;\n\tanimation-duration: 4s;\n\tanimation-iteration-count: infinite;\n\ttransform: translate3d(0px, 0px, 0px);\n\tanimation-timing-function: linear;\n}\n\n.monaco-progress-container.infinite.infinite-long-running .progress-bit {\n\t/*\n\t\tThe more smooth `linear` timing function can cause\n\t\thigher GPU consumption as indicated in\n\t\thttps://github.com/microsoft/vscode/issues/97900 &\n\t\thttps://github.com/microsoft/vscode/issues/138396\n\t*/\n\tanimation-timing-function: steps(100);\n}\n\n/**\n * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of\n * that container. Since translateX is relative to the progress bit size, we have to multiple it with\n * its relative size to the parent container:\n * parent width: 5000%\n * bit width: 100%\n * translateX should be as follow:\n * 50%: 5000% * 50% - 50% (set to center) = 2450%\n * 100%: 5000% * 100% - 100% (do not overflow) = 4900%\n */\n@keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } }\n",""]);const l=r},4166:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n:root {\n\t--vscode-sash-size: 4px;\n\t--vscode-sash-hover-size: 4px;\n}\n\n.monaco-sash {\n\tposition: absolute;\n\tz-index: 35;\n\ttouch-action: none;\n}\n\n.monaco-sash.disabled {\n\tpointer-events: none;\n}\n\n.monaco-sash.mac.vertical {\n\tcursor: col-resize;\n}\n\n.monaco-sash.vertical.minimum {\n\tcursor: e-resize;\n}\n\n.monaco-sash.vertical.maximum {\n\tcursor: w-resize;\n}\n\n.monaco-sash.mac.horizontal {\n\tcursor: row-resize;\n}\n\n.monaco-sash.horizontal.minimum {\n\tcursor: s-resize;\n}\n\n.monaco-sash.horizontal.maximum {\n\tcursor: n-resize;\n}\n\n.monaco-sash.disabled {\n\tcursor: default !important;\n\tpointer-events: none !important;\n}\n\n.monaco-sash.vertical {\n\tcursor: ew-resize;\n\ttop: 0;\n\twidth: var(--vscode-sash-size);\n\theight: 100%;\n}\n\n.monaco-sash.horizontal {\n\tcursor: ns-resize;\n\tleft: 0;\n\twidth: 100%;\n\theight: var(--vscode-sash-size);\n}\n\n.monaco-sash:not(.disabled) > .orthogonal-drag-handle {\n\tcontent: \" \";\n\theight: calc(var(--vscode-sash-size) * 2);\n\twidth: calc(var(--vscode-sash-size) * 2);\n\tz-index: 100;\n\tdisplay: block;\n\tcursor: all-scroll;\n\tposition: absolute;\n}\n\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\n\t> .orthogonal-drag-handle.start,\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\n\t> .orthogonal-drag-handle.end {\n\tcursor: nwse-resize;\n}\n\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\n\t> .orthogonal-drag-handle.end,\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\n\t> .orthogonal-drag-handle.start {\n\tcursor: nesw-resize;\n}\n\n.monaco-sash.vertical > .orthogonal-drag-handle.start {\n\tleft: calc(var(--vscode-sash-size) * -0.5);\n\ttop: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.vertical > .orthogonal-drag-handle.end {\n\tleft: calc(var(--vscode-sash-size) * -0.5);\n\tbottom: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.horizontal > .orthogonal-drag-handle.start {\n\ttop: calc(var(--vscode-sash-size) * -0.5);\n\tleft: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.horizontal > .orthogonal-drag-handle.end {\n\ttop: calc(var(--vscode-sash-size) * -0.5);\n\tright: calc(var(--vscode-sash-size) * -1);\n}\n\n.monaco-sash:before {\n\tcontent: '';\n\tpointer-events: none;\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-sash:before {\n\ttransition: background-color 0.1s ease-out;\n}\n\n.monaco-sash.hover:before,\n.monaco-sash.active:before {\n\tbackground: var(--vscode-sash-hoverBorder);\n}\n\n.monaco-sash.vertical:before {\n\twidth: var(--vscode-sash-hover-size);\n\tleft: calc(50% - (var(--vscode-sash-hover-size) / 2));\n}\n\n.monaco-sash.horizontal:before {\n\theight: var(--vscode-sash-hover-size);\n\ttop: calc(50% - (var(--vscode-sash-hover-size) / 2));\n}\n\n.pointer-events-disabled {\n\tpointer-events: none !important;\n}\n\n/** Debug **/\n\n.monaco-sash.debug {\n\tbackground: cyan;\n}\n\n.monaco-sash.debug.disabled {\n\tbackground: rgba(0, 255, 255, 0.2);\n}\n\n.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {\n\tbackground: red;\n}\n",""]);const l=r},140:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Arrows */\n.monaco-scrollable-element > .scrollbar > .scra {\n\tcursor: pointer;\n\tfont-size: 11px !important;\n}\n\n.monaco-scrollable-element > .visible {\n\topacity: 1;\n\n\t/* Background rule added for IE9 - to allow clicks on dom node */\n\tbackground:rgba(0,0,0,0);\n\n\ttransition: opacity 100ms linear;\n\t/* In front of peek view */\n\tz-index: 11;\n}\n.monaco-scrollable-element > .invisible {\n\topacity: 0;\n\tpointer-events: none;\n}\n.monaco-scrollable-element > .invisible.fade {\n\ttransition: opacity 800ms linear;\n}\n\n/* Scrollable Content Inset Shadow */\n.monaco-scrollable-element > .shadow {\n\tposition: absolute;\n\tdisplay: none;\n}\n.monaco-scrollable-element > .shadow.top {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 3px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.left {\n\tdisplay: block;\n\ttop: 3px;\n\tleft: 0;\n\theight: 100%;\n\twidth: 3px;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.top-left-corner {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 0;\n\theight: 3px;\n\twidth: 3px;\n}\n.monaco-scrollable-element > .shadow.top.left {\n\tbox-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;\n}\n\n.monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: var(--vscode-scrollbarSlider-background);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: var(--vscode-scrollbarSlider-hoverBackground);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: var(--vscode-scrollbarSlider-activeBackground);\n}\n",""]);const l=r},5070:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-select-box {\n\twidth: 100%;\n\tcursor: pointer;\n\tborder-radius: 2px;\n}\n\n.monaco-select-box-dropdown-container {\n\tfont-size: 13px;\n\tfont-weight: normal;\n\ttext-transform: none;\n}\n\n/** Actions */\n\n.monaco-action-bar .action-item.select-container {\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item .monaco-select-box {\n\tcursor: pointer;\n\tmin-width: 100px;\n\tmin-height: 18px;\n\tpadding: 2px 23px 2px 8px;\n}\n\n.mac .monaco-action-bar .action-item .monaco-select-box {\n\tfont-size: 11px;\n\tborder-radius: 5px;\n}\n",""]);const l=r},7619:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Use custom CSS vars to expose padding into parent select for padding calculation */\n.monaco-select-box-dropdown-padding {\n\t--dropdown-padding-top: 1px;\n\t--dropdown-padding-bottom: 1px;\n}\n\n.hc-black .monaco-select-box-dropdown-padding,\n.hc-light .monaco-select-box-dropdown-padding {\n\t--dropdown-padding-top: 3px;\n\t--dropdown-padding-bottom: 4px;\n}\n\n.monaco-select-box-dropdown-container {\n\tdisplay: none;\n\tbox-sizing:\tborder-box;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown * {\n\tmargin: 0;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown a:focus {\n\toutline: 1px solid -webkit-focus-ring-color;\n\toutline-offset: -1px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown code {\n\tline-height: 15px; /** For some reason, this is needed, otherwise will take up 20px height */\n\tfont-family: var(--monaco-monospace-font);\n}\n\n\n.monaco-select-box-dropdown-container.visible {\n\tdisplay: flex;\n\tflex-direction: column;\n\ttext-align: left;\n\twidth: 1px;\n\toverflow: hidden;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container {\n\tflex: 0 0 auto;\n\talign-self: flex-start;\n\tpadding-top: var(--dropdown-padding-top);\n\tpadding-bottom: var(--dropdown-padding-bottom);\n\tpadding-left: 1px;\n\tpadding-right: 1px;\n\twidth: 100%;\n\toverflow: hidden;\n\tbox-sizing:\tborder-box;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane {\n\tpadding: 5px;\n}\n\n.hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container {\n\tpadding-top: var(--dropdown-padding-top);\n\tpadding-bottom: var(--dropdown-padding-bottom);\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row {\n\tcursor: pointer;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-left: 3.5px;\n\twhite-space: nowrap;\n\tfloat: left;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-detail {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-left: 3.5px;\n\twhite-space: nowrap;\n\tfloat: left;\n\topacity: 0.7;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-decorator-right {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-right: 10px;\n\twhite-space: nowrap;\n\tfloat: right;\n}\n\n\n/* Accepted CSS hiding technique for accessibility reader text */\n/* https://webaim.org/techniques/css/invisiblecontent/ */\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .visually-hidden {\n\t\tposition: absolute;\n\t\tleft: -10000px;\n\t\ttop: auto;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\toverflow: hidden;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control {\n\tflex: 1 1 auto;\n\talign-self: flex-start;\n\topacity: 0;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div {\n\toverflow: hidden;\n\tmax-height: 0px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control {\n\tpadding-left: 4px;\n\tpadding-right: 8px;\n\twhite-space: nowrap;\n}\n",""]);const l=r},3474:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-split-view2 {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-split-view2 > .sash-container {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tpointer-events: none;\n}\n\n.monaco-split-view2 > .sash-container > .monaco-sash {\n\tpointer-events: initial;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element {\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {\n\twidth: 100%;\n\theight: 100%;\n\twhite-space: nowrap;\n\tposition: relative;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\twhite-space: initial;\n\tposition: absolute;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {\n\tdisplay: none;\n}\n\n.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\twidth: 100%;\n}\n\n.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\theight: 100%;\n}\n\n.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\tcontent: ' ';\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tz-index: 5;\n\tpointer-events: none;\n\tbackground-color: var(--separator-border);\n}\n\n.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\theight: 100%;\n\twidth: 1px;\n}\n\n.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\theight: 1px;\n\twidth: 100%;\n}\n",""]);const l=r},4234:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-table {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\theight: 100%;\n\twidth: 100%;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.monaco-table > .monaco-split-view2 {\n\tborder-bottom: 1px solid transparent;\n}\n\n.monaco-table > .monaco-list {\n\tflex: 1;\n}\n\n.monaco-table-tr {\n\tdisplay: flex;\n\theight: 100%;\n}\n\n.monaco-table-th {\n\twidth: 100%;\n\theight: 100%;\n\tfont-weight: bold;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-table-th,\n.monaco-table-td {\n\tbox-sizing: border-box;\n\tflex-shrink: 0;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\tcontent: "";\n\tposition: absolute;\n\tleft: calc(var(--vscode-sash-size) / 2);\n\twidth: 0;\n\tborder-left: 1px solid transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\ttransition: border-color 0.2s ease-out;\n}\n',""]);const l=r},2516:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-custom-toggle {\n\tmargin-left: 2px;\n\tfloat: left;\n\tcursor: pointer;\n\toverflow: hidden;\n\twidth: 20px;\n\theight: 20px;\n\tborder-radius: 3px;\n\tborder: 1px solid transparent;\n\tpadding: 1px;\n\tbox-sizing:\tborder-box;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.monaco-custom-toggle:hover {\n\tbackground-color: var(--vscode-inputOption-hoverBackground);\n}\n\n.hc-black .monaco-custom-toggle:hover,\n.hc-light .monaco-custom-toggle:hover {\n\tborder: 1px dashed var(--vscode-focusBorder);\n}\n\n.hc-black .monaco-custom-toggle,\n.hc-light .monaco-custom-toggle {\n\tbackground: none;\n}\n\n.hc-black .monaco-custom-toggle:hover,\n.hc-light .monaco-custom-toggle:hover {\n\tbackground: none;\n}\n\n.monaco-custom-toggle.monaco-checkbox {\n\theight: 18px;\n\twidth: 18px;\n\tborder: 1px solid transparent;\n\tborder-radius: 3px;\n\tmargin-right: 9px;\n\tmargin-left: 0px;\n\tpadding: 0px;\n\topacity: 1;\n\tbackground-size: 16px !important;\n}\n\n.monaco-action-bar .checkbox-action-item {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-action-bar .checkbox-action-item > .monaco-custom-toggle.monaco-checkbox {\n\tmargin-right: 4px;\n}\n\n.monaco-action-bar .checkbox-action-item > .checkbox-label {\n\tfont-size: 12px;\n}\n\n/* hide check when unchecked */\n.monaco-custom-toggle.monaco-checkbox:not(.checked)::before {\n\tvisibility: hidden;\n}\n",""]);const l=r},7982:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-toolbar {\n\theight: 100%;\n}\n\n.monaco-toolbar .toolbar-toggle-more {\n\tdisplay: inline-block;\n\tpadding: 0;\n}\n",""]);const l=r},1963:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-tl-row {\n\tdisplay: flex;\n\theight: 100%;\n\talign-items: center;\n\tposition: relative;\n}\n\n.monaco-tl-row.disabled {\n\tcursor: default;\n}\n.monaco-tl-indent {\n\theight: 100%;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 16px;\n\tpointer-events: none;\n}\n\n.hide-arrows .monaco-tl-indent {\n\tleft: 12px;\n}\n\n.monaco-tl-indent > .indent-guide {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\theight: 100%;\n\tborder-left: 1px solid transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-tl-indent > .indent-guide {\n\ttransition: border-color 0.1s linear;\n}\n\n.monaco-tl-twistie,\n.monaco-tl-contents {\n\theight: 100%;\n}\n\n.monaco-tl-twistie {\n\tfont-size: 10px;\n\ttext-align: right;\n\tpadding-right: 6px;\n\tflex-shrink: 0;\n\twidth: 16px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\ttransform: translateX(3px);\n}\n\n.monaco-tl-contents {\n\tflex: 1;\n\toverflow: hidden;\n}\n\n.monaco-tl-twistie::before {\n\tborder-radius: 20px;\n}\n\n.monaco-tl-twistie.collapsed::before {\n\ttransform: rotate(-90deg);\n}\n\n.monaco-tl-twistie.codicon-tree-item-loading::before {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.25s steps(30) infinite;\n}\n\n.monaco-tree-type-filter {\n\tposition: absolute;\n\ttop: 0;\n\tdisplay: flex;\n\tpadding: 3px;\n\tmax-width: 200px;\n\tz-index: 100;\n\tmargin: 0 6px;\n\tborder: 1px solid var(--vscode-widget-border);\n\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter {\n\ttransition: top 0.3s;\n}\n\n.monaco-tree-type-filter.disabled {\n\ttop: -40px !important;\n}\n\n.monaco-tree-type-filter-grab {\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: grab;\n\tmargin-right: 2px;\n}\n\n.monaco-tree-type-filter-grab.grabbing {\n\tcursor: grabbing;\n}\n\n.monaco-tree-type-filter-input {\n\tflex: 1;\n}\n\n.monaco-tree-type-filter-input .monaco-inputbox {\n\theight: 23px;\n}\n\n.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .input,\n.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding: 2px 4px;\n}\n\n.monaco-tree-type-filter-input .monaco-findInput > .controls {\n\ttop: 2px;\n}\n\n.monaco-tree-type-filter-actionbar {\n\tmargin-left: 4px;\n}\n\n.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label {\n\tpadding: 2px;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 0;\n\tz-index: 13; /* Settings editor uses z-index: 12 */\n\n\t/* TODO@benibenj temporary solution, all lists should provide their background */\n\tbackground-color: var(--vscode-sideBar-background);\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{\n\tposition: absolute;\n\twidth: 100%;\n\topacity: 1 !important; /* Settings editor uses opacity < 1 */\n\toverflow: hidden;\n\n\t/* TODO@benibenj temporary solution, all lists should provide their background */\n\tbackground-color: var(--vscode-sideBar-background);\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{\n\tbackground-color: var(--vscode-list-hoverBackground) !important;\n\tcursor: pointer;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow {\n\tdisplay: none;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{\n\tposition: absolute;\n\tbottom: -3px;\n\tleft: 0px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{\n\toutline: none;\n}\n',""]);const l=r},6307:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inputarea {\n\tmin-width: 0;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\toutline: none !important;\n\tresize: none;\n\tborder: none;\n\toverflow: hidden;\n\tcolor: transparent;\n\tbackground-color: transparent;\n\tz-index: -10;\n}\n/*.monaco-editor .inputarea {\n\tposition: fixed !important;\n\twidth: 800px !important;\n\theight: 500px !important;\n\ttop: initial !important;\n\tleft: initial !important;\n\tbottom: 0 !important;\n\tright: 0 !important;\n\tcolor: black !important;\n\tbackground: white !important;\n\tline-height: 15px !important;\n\tfont-size: 14px !important;\n\tz-index: 10 !important;\n}*/\n.monaco-editor .inputarea.ime-input {\n\tz-index: 10;\n\tcaret-color: var(--vscode-editorCursor-foreground);\n\tcolor: var(--vscode-editor-foreground);\n}\n",""]);const l=r},3377:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-workbench .workbench-hover {\n\tposition: relative;\n\tfont-size: 13px;\n\tline-height: 19px;\n\t/* Must be higher than sash's z-index and terminal canvases */\n\tz-index: 40;\n\toverflow: hidden;\n\tmax-width: 700px;\n\tbackground: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-radius: 3px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbox-shadow: 0 2px 8px var(--vscode-widget-shadow);\n}\n\n.monaco-workbench .workbench-hover hr {\n\tborder-bottom: none;\n}\n\n.monaco-workbench .workbench-hover:not(.skip-fade-in) {\n\tanimation: fadein 100ms linear;\n}\n\n.monaco-workbench .workbench-hover.compact {\n\tfont-size: 12px;\n}\n\n.monaco-workbench .workbench-hover.compact .hover-contents {\n\tpadding: 2px 8px;\n}\n\n.monaco-workbench .workbench-hover-container.locked .workbench-hover {\n\toutline: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,\n.monaco-workbench .workbench-hover-lock:focus {\n\toutline: 1px solid var(--vscode-focusBorder);\n}\n.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover {\n\tbackground: var(--vscode-toolbar-hoverBackground);\n}\n\n.monaco-workbench .workbench-hover-pointer {\n\tposition: absolute;\n\t/* Must be higher than workbench hover z-index */\n\tz-index: 41;\n\tpointer-events: none;\n}\n\n.monaco-workbench .workbench-hover-pointer:after {\n\tcontent: '';\n\tposition: absolute;\n\twidth: 5px;\n\theight: 5px;\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder-right: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-workbench .locked .workbench-hover-pointer:after {\n\twidth: 4px;\n\theight: 4px;\n\tborder-right-width: 2px;\n\tborder-bottom-width: 2px;\n}\n\n.monaco-workbench .workbench-hover-pointer.left { left: -3px; }\n.monaco-workbench .workbench-hover-pointer.right { right: 3px; }\n.monaco-workbench .workbench-hover-pointer.top { top: -3px; }\n.monaco-workbench .workbench-hover-pointer.bottom { bottom: 3px; }\n\n.monaco-workbench .workbench-hover-pointer.left:after {\n\ttransform: rotate(135deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.right:after {\n\ttransform: rotate(315deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.top:after {\n\ttransform: rotate(225deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.bottom:after {\n\ttransform: rotate(45deg);\n}\n\n.monaco-workbench .workbench-hover a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-workbench .workbench-hover a:focus {\n\toutline: 1px solid;\n\toutline-offset: -1px;\n\ttext-decoration: underline;\n\toutline-color: var(--vscode-focusBorder);\n}\n\n.monaco-workbench .workbench-hover a:hover,\n.monaco-workbench .workbench-hover a:active {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-workbench .workbench-hover code {\n\tbackground: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-workbench .workbench-hover .hover-row .actions {\n\tbackground: var(--vscode-editorHoverWidget-statusBarBackground);\n}\n\n.monaco-workbench .workbench-hover.right-aligned {\n\t/* The context view service wraps strangely when it's right up against the edge without this */\n\tleft: 1px;\n}\n\n.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions {\n\tflex-direction: row-reverse;\n}\n\n.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container {\n\tmargin-right: 0;\n\tmargin-left: 16px;\n}\n",""]);const l=r},2035:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .blockDecorations-container {\n\tposition: absolute;\n\ttop: 0;\n\tpointer-events: none;\n}\n\n.monaco-editor .blockDecorations-block {\n\tposition: absolute;\n\tbox-sizing: border-box;\n}\n",""]);const l=r},8405:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .view-overlays .current-line {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbox-sizing: border-box;\n\theight: 100%;\n}\n\n.monaco-editor .margin-view-overlays .current-line {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbox-sizing: border-box;\n\theight: 100%;\n}\n\n.monaco-editor\n\t.margin-view-overlays\n\t.current-line.current-line-margin.current-line-margin-both {\n\tborder-right: 0;\n}\n",""]);const l=r},3093:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcdr = core decorations rendering (div)\n*/\n.monaco-editor .lines-content .cdr {\n\tposition: absolute;\n\theight: 100%;\n}\n",""]);const l=r},8081:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .glyph-margin {\n\tposition: absolute;\n\ttop: 0;\n}\n\n/*\n\tKeeping name short for faster parsing.\n\tcgmr = core glyph margin rendering (div)\n*/\n.monaco-editor .glyph-margin-widgets .cgmr {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/*\n\tEnsure spinning icons are pixel-perfectly centered and avoid wobble.\n\tThis is only applied to icons that spin to avoid unnecessary\n\tGPU layers and blurry subpixel AA.\n*/\n.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin::before {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n",""]);const l=r},3777:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .lines-content .core-guide {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\theight: 100%;\n}\n",""]);const l=r},6953:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .margin-view-overlays .line-numbers {\n\tbottom: 0;\n\tfont-variant-numeric: tabular-nums;\n\tposition: absolute;\n\ttext-align: right;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tbox-sizing: border-box;\n\tcursor: default;\n}\n\n.monaco-editor .relative-current-line-number {\n\ttext-align: left;\n\tdisplay: inline-block;\n\twidth: 100%;\n}\n\n.monaco-editor .margin-view-overlays .line-numbers.lh-odd {\n\tmargin-top: 1px;\n}\n\n.monaco-editor .line-numbers {\n\tcolor: var(--vscode-editorLineNumber-foreground);\n}\n\n.monaco-editor .line-numbers.active-line-number {\n\tcolor: var(--vscode-editorLineNumber-activeForeground);\n}\n",""]);const l=r},5876:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Uncomment to see lines flashing when they're painted */\n/*.monaco-editor .view-lines > .view-line {\n\tbackground-color: none;\n\tanimation-name: flash-background;\n\tanimation-duration: 800ms;\n}\n@keyframes flash-background {\n\t0% { background-color: lightgreen; }\n\t100% { background-color: none }\n}*/\n\n.mtkcontrol {\n\tcolor: rgb(255, 255, 255) !important;\n\tbackground: rgb(150, 0, 0) !important;\n}\n\n.mtkoverflow {\n\tbackground-color: var(--vscode-button-background, var(--vscode-editor-background));\n\tcolor: var(--vscode-button-foreground, var(--vscode-editor-foreground));\n\tborder-width: 1px;\n\tborder-style: solid;\n\tborder-color: var(--vscode-contrastBorder);\n\tborder-radius: 2px;\n\tpadding: 4px;\n\tcursor: pointer;\n}\n.mtkoverflow:hover {\n\tbackground-color: var(--vscode-button-hoverBackground);\n}\n\n.monaco-editor.no-user-select .lines-content,\n.monaco-editor.no-user-select .view-line,\n.monaco-editor.no-user-select .view-lines {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n/* Use user-select: text for lookup feature on macOS */\n/* https://github.com/microsoft/vscode/issues/85632 */\n.monaco-editor.mac .lines-content:hover,\n.monaco-editor.mac .view-line:hover,\n.monaco-editor.mac .view-lines:hover {\n\tuser-select: text;\n\t-webkit-user-select: text;\n\t-ms-user-select: text;\n}\n\n.monaco-editor.enable-user-select {\n\tuser-select: initial;\n\t-webkit-user-select: initial;\n}\n\n.monaco-editor .view-lines {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .view-line {\n\tposition: absolute;\n\twidth: 100%;\n}\n\n/* There are view-lines in view-zones. We have to make sure this rule does not apply to them, as they don't set a line height */\n.monaco-editor .lines-content > .view-lines > .view-line > span {\n\ttop: 0;\n\tbottom: 0;\n\tposition: absolute;\n}\n\n.monaco-editor .mtkw {\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n\n.monaco-editor .mtkz {\n\tdisplay: inline-block;\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n\n/* TODO@tokenization bootstrap fix */\n/*.monaco-editor .view-line > span > span {\n\tfloat: none;\n\tmin-height: inherit;\n\tmargin-left: inherit;\n}*/\n",""]);const l=r},7375:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .lines-decorations {\n\tposition: absolute;\n\ttop: 0;\n\tbackground: white;\n}\n\n/*\n\tKeeping name short for faster parsing.\n\tcldr = core lines decorations rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cldr {\n\tposition: absolute;\n\theight: 100%;\n}",""]);const l=r},8731:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .margin {\n\tbackground-color: var(--vscode-editorGutter-background);\n}\n",""]);const l=r},3313:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcmdr = core margin decorations rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cmdr {\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}",""]);const l=r},6493:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* START cover the case that slider is visible on mouseover */\n.monaco-editor .minimap.slider-mouseover .minimap-slider {\n\topacity: 0;\n\ttransition: opacity 100ms linear;\n}\n.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {\n\topacity: 1;\n}\n.monaco-editor .minimap.slider-mouseover .minimap-slider.active {\n\topacity: 1;\n}\n/* END cover the case that slider is visible on mouseover */\n.monaco-editor .minimap-slider .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-background);\n}\n.monaco-editor .minimap-slider:hover .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-hoverBackground);\n}\n.monaco-editor .minimap-slider.active .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-activeBackground);\n}\n.monaco-editor .minimap-shadow-visible {\n\tbox-shadow: var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset;\n}\n.monaco-editor .minimap-shadow-hidden {\n\tposition: absolute;\n\twidth: 0;\n}\n.monaco-editor .minimap-shadow-visible {\n\tposition: absolute;\n\tleft: -6px;\n\twidth: 6px;\n}\n.monaco-editor.no-minimap-shadow .minimap-shadow-visible {\n\tposition: absolute;\n\tleft: -1px;\n\twidth: 1px;\n}\n\n/* 0.5s fade in/out for the minimap */\n.minimap.autohide {\n\topacity: 0;\n\ttransition: opacity 0.5s;\n}\n.minimap.autohide:hover {\n\topacity: 1;\n}\n\n.monaco-editor .minimap {\n\tz-index: 5;\n}\n",""]);const l=r},213:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .overlayWidgets {\n\tposition: absolute;\n\ttop: 0;\n\tleft:0;\n}",""]);const l=r},1637:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .view-ruler {\n\tposition: absolute;\n\ttop: 0;\n\tbox-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset;\n}\n",""]);const l=r},9133:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .scroll-decoration {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\theight: 6px;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n",""]);const l=r},8829:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcslr = core selections layer rendering (div)\n*/\n.monaco-editor .lines-content .cslr {\n\tposition: absolute;\n}\n\n.monaco-editor .focused .selected-text {\n\tbackground-color: var(--vscode-editor-selectionBackground);\n}\n\n.monaco-editor .selected-text {\n\tbackground-color: var(--vscode-editor-inactiveSelectionBackground);\n}\n\n.monaco-editor\t\t\t.top-left-radius\t\t{ border-top-left-radius: 3px; }\n.monaco-editor\t\t\t.bottom-left-radius\t\t{ border-bottom-left-radius: 3px; }\n.monaco-editor\t\t\t.top-right-radius\t\t{ border-top-right-radius: 3px; }\n.monaco-editor\t\t\t.bottom-right-radius\t{ border-bottom-right-radius: 3px; }\n\n.monaco-editor.hc-black .top-left-radius\t\t{ border-top-left-radius: 0; }\n.monaco-editor.hc-black .bottom-left-radius\t\t{ border-bottom-left-radius: 0; }\n.monaco-editor.hc-black .top-right-radius\t\t{ border-top-right-radius: 0; }\n.monaco-editor.hc-black .bottom-right-radius\t{ border-bottom-right-radius: 0; }\n\n.monaco-editor.hc-light .top-left-radius\t\t{ border-top-left-radius: 0; }\n.monaco-editor.hc-light .bottom-left-radius\t\t{ border-bottom-left-radius: 0; }\n.monaco-editor.hc-light .top-right-radius\t\t{ border-top-right-radius: 0; }\n.monaco-editor.hc-light .bottom-right-radius\t{ border-bottom-right-radius: 0; }\n",""]);const l=r},2289:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .cursors-layer {\n\tposition: absolute;\n\ttop: 0;\n}\n\n.monaco-editor .cursors-layer > .cursor {\n\tposition: absolute;\n\toverflow: hidden;\n\tbox-sizing: border-box;\n}\n\n/* -- smooth-caret-animation -- */\n.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {\n\ttransition: all 80ms;\n}\n\n/* -- block-outline-style -- */\n.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {\n\tbackground: transparent !important;\n\tborder-style: solid;\n\tborder-width: 1px;\n}\n\n/* -- underline-style -- */\n.monaco-editor .cursors-layer.cursor-underline-style > .cursor {\n\tborder-bottom-width: 2px;\n\tborder-bottom-style: solid;\n\tbackground: transparent !important;\n}\n\n/* -- underline-thin-style -- */\n.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {\n\tborder-bottom-width: 1px;\n\tborder-bottom-style: solid;\n\tbackground: transparent !important;\n}\n\n@keyframes monaco-cursor-smooth {\n\t0%,\n\t20% {\n\t\topacity: 1;\n\t}\n\t60%,\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes monaco-cursor-phase {\n\t0%,\n\t20% {\n\t\topacity: 1;\n\t}\n\t90%,\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes monaco-cursor-expand {\n\t0%,\n\t20% {\n\t\ttransform: scaleY(1);\n\t}\n\t80%,\n\t100% {\n\t\ttransform: scaleY(0);\n\t}\n}\n\n.cursor-smooth {\n\tanimation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;\n}\n\n.cursor-phase {\n\tanimation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;\n}\n\n.cursor-expand > .cursor {\n\tanimation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;\n}\n",""]);const l=r},8189:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .mwh {\n\tposition: absolute;\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n",""]);const l=r},6049:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* -------------------- IE10 remove auto clear button -------------------- */\n\n::-ms-clear {\n\tdisplay: none;\n}\n\n/* All widgets */\n/* I am not a big fan of this rule */\n.monaco-editor .editor-widget input {\n\tcolor: inherit;\n}\n\n/* -------------------- Editor -------------------- */\n\n.monaco-editor {\n\tposition: relative;\n\toverflow: visible;\n\t-webkit-text-size-adjust: 100%;\n\tcolor: var(--vscode-editor-foreground);\n\tbackground-color: var(--vscode-editor-background);\n}\n.monaco-editor-background {\n\tbackground-color: var(--vscode-editor-background);\n}\n.monaco-editor .rangeHighlight {\n\tbackground-color: var(--vscode-editor-rangeHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-rangeHighlightBorder);\n}\n.monaco-editor.hc-black .rangeHighlight, .monaco-editor.hc-light .rangeHighlight {\n\tborder-style: dotted;\n}\n.monaco-editor .symbolHighlight {\n\tbackground-color: var(--vscode-editor-symbolHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-symbolHighlightBorder);\n}\n.monaco-editor.hc-black .symbolHighlight, .monaco-editor.hc-light .symbolHighlight {\n\tborder-style: dotted;\n}\n\n/* -------------------- Misc -------------------- */\n\n.monaco-editor .overflow-guard {\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.monaco-editor .view-overlays {\n\tposition: absolute;\n\ttop: 0;\n}\n\n.monaco-editor .view-overlays > div, .monaco-editor .margin-view-overlays > div {\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.monaco-editor .view-overlays > div > div, .monaco-editor .margin-view-overlays > div > div {\n\tbottom: 0;\n}\n\n/*\n.monaco-editor .auto-closed-character {\n\topacity: 0.3;\n}\n*/\n\n\n.monaco-editor .squiggly-error {\n\tborder-bottom: 4px double var(--vscode-editorError-border);\n}\n.monaco-editor .squiggly-error::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorError-background);\n}\n.monaco-editor .squiggly-warning {\n\tborder-bottom: 4px double var(--vscode-editorWarning-border);\n}\n.monaco-editor .squiggly-warning::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorWarning-background);\n}\n.monaco-editor .squiggly-info {\n\tborder-bottom: 4px double var(--vscode-editorInfo-border);\n}\n.monaco-editor .squiggly-info::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorInfo-background);\n}\n.monaco-editor .squiggly-hint {\n\tborder-bottom: 2px dotted var(--vscode-editorHint-border);\n}\n.monaco-editor.showUnused .squiggly-unnecessary {\n\tborder-bottom: 2px dashed var(--vscode-editorUnnecessaryCode-border);\n}\n.monaco-editor.showDeprecated .squiggly-inline-deprecated {\n\ttext-decoration: line-through;\n\ttext-decoration-color: var(--vscode-editor-foreground, inherit);\n}\n",""]);const l=r},2180:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-component.diff-review {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tz-index: 99;\n}\n\n.monaco-diff-editor .diff-review {\n\tposition: absolute;\n\n}\n\n.monaco-component.diff-review .diff-review-line-number {\n\ttext-align: right;\n\tdisplay: inline-block;\n\tcolor: var(--vscode-editorLineNumber-foreground);\n}\n\n.monaco-component.diff-review .diff-review-summary {\n\tpadding-left: 10px;\n}\n\n.monaco-component.diff-review .diff-review-shadow {\n\tposition: absolute;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;\n}\n\n.monaco-component.diff-review .diff-review-row {\n\twhite-space: pre;\n}\n\n.monaco-component.diff-review .diff-review-table {\n\tdisplay: table;\n\tmin-width: 100%;\n}\n\n.monaco-component.diff-review .diff-review-row {\n\tdisplay: table-row;\n\twidth: 100%;\n}\n\n.monaco-component.diff-review .diff-review-spacer {\n\tdisplay: inline-block;\n\twidth: 10px;\n\tvertical-align: middle;\n}\n\n.monaco-component.diff-review .diff-review-spacer > .codicon {\n\tfont-size: 9px !important;\n}\n\n.monaco-component.diff-review .diff-review-actions {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\ttop: 2px;\n\tz-index: 100;\n}\n\n.monaco-component.diff-review .diff-review-actions .action-label {\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 2px 0;\n}\n\n.monaco-component.diff-review .revertButton {\n\tcursor: pointer;\n}\n",""]);const l=r},1921:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .diff-hidden-lines-widget {\n\twidth: 100%;\n}\n\n.monaco-editor .diff-hidden-lines {\n\theight: 0px; /* The children each have a fixed height, the transform confuses the browser */\n\ttransform: translate(0px, -10px);\n\tfont-size: 13px;\n\tline-height: 14px;\n}\n\n.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,\n.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,\n.monaco-editor .diff-hidden-lines .top.dragging,\n.monaco-editor .diff-hidden-lines .bottom.dragging {\n\tbackground-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .diff-hidden-lines .top,\n.monaco-editor .diff-hidden-lines .bottom {\n\ttransition: background-color 0.1s ease-out;\n\theight: 4px;\n\tbackground-color: transparent;\n\tbackground-clip: padding-box;\n\tborder-bottom: 2px solid transparent;\n\tborder-top: 4px solid transparent;\n\t/*cursor: n-resize;*/\n}\n\n.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,\n.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),\n.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom) {\n\tcursor: n-resize !important;\n}\n\n.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,\n.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,\n.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom {\n\tcursor: s-resize !important;\n}\n\n.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,\n.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,\n.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom {\n\tcursor: ns-resize !important;\n}\n\n.monaco-editor .diff-hidden-lines .top {\n\ttransform: translate(0px, 4px);\n}\n\n.monaco-editor .diff-hidden-lines .bottom {\n\ttransform: translate(0px, -6px);\n}\n\n.monaco-editor .diff-unchanged-lines {\n\tbackground: var(--vscode-diffEditor-unchangedCodeBackground);\n}\n\n.monaco-editor .noModificationsOverlay {\n\tz-index: 1;\n\tbackground: var(--vscode-editor-background);\n\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n\n.monaco-editor .diff-hidden-lines .center {\n\tbackground: var(--vscode-diffEditor-unchangedRegionBackground);\n\tcolor: var(--vscode-diffEditor-unchangedRegionForeground);\n\toverflow: hidden;\n\tdisplay: block;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\n\theight: 24px;\n\tbox-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);\n}\n\n.monaco-editor .diff-hidden-lines .center span.codicon {\n\tvertical-align: middle;\n}\n\n.monaco-editor .diff-hidden-lines .center a:hover .codicon {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .diff-hidden-lines div.breadcrumb-item {\n\tcursor: pointer;\n}\n\n.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover {\n\tcolor: var(--vscode-editorLink-activeForeground);\n}\n\n.monaco-editor .movedOriginal {\n\tborder: 2px solid var(--vscode-diffEditor-move-border);\n}\n\n.monaco-editor .movedModified {\n\tborder: 2px solid var(--vscode-diffEditor-move-border);\n}\n\n.monaco-editor .movedOriginal.currentMove, .monaco-editor .movedModified.currentMove {\n\tborder: 2px solid var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines path.currentMove {\n\tstroke: var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines path {\n\tpointer-events: visiblestroke;\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow {\n\tfill: var(--vscode-diffEditor-move-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow.currentMove {\n\tfill: var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow-rectangle {\n\tfill: var(--vscode-editor-background);\n}\n\n.monaco-diff-editor .moved-blocks-lines {\n\tposition: absolute;\n\tpointer-events: none;\n}\n\n.monaco-diff-editor .moved-blocks-lines path {\n\tfill: none;\n\tstroke: var(--vscode-diffEditor-move-border);\n\tstroke-width: 2;\n}\n\n.monaco-editor .char-delete.diff-range-empty {\n\tmargin-left: -1px;\n\tborder-left: solid var(--vscode-diffEditor-removedTextBackground) 3px;\n}\n\n.monaco-editor .char-insert.diff-range-empty {\n\tborder-left: solid var(--vscode-diffEditor-insertedTextBackground) 3px;\n}\n\n.monaco-editor .fold-unchanged {\n\tcursor: pointer;\n}\n\n.monaco-diff-editor .diff-moved-code-block {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tmargin-top: -4px;\n}\n\n.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon {\n\twidth: 12px;\n\theight: 12px;\n\tfont-size: 12px;\n}\n\n/* ---------- DiffEditor ---------- */\n\n.monaco-diff-editor .diffOverview {\n\tz-index: 9;\n}\n\n.monaco-diff-editor .diffOverview .diffViewport {\n\tz-index: 10;\n}\n\n/* colors not externalized: using transparancy on background */\n.monaco-diff-editor.vs\t\t\t.diffOverview { background: rgba(0, 0, 0, 0.03); }\n.monaco-diff-editor.vs-dark\t\t.diffOverview { background: rgba(255, 255, 255, 0.01); }\n\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs\t\t.scrollbar { background: rgba(0,0,0,0); }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark\t.scrollbar { background: rgba(0,0,0,0); }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black\t.scrollbar { background: none; }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light\t.scrollbar { background: none; }\n\n.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {\n\tz-index: 10;\n}\n.modified-in-monaco-diff-editor\t\t\t\t.slider.active { background: rgba(171, 171, 171, .4); }\n.modified-in-monaco-diff-editor.hc-black\t.slider.active { background: none; }\n.modified-in-monaco-diff-editor.hc-light\t.slider.active { background: none; }\n\n/* ---------- Diff ---------- */\n\n.monaco-editor .insert-sign,\n.monaco-diff-editor .insert-sign,\n.monaco-editor .delete-sign,\n.monaco-diff-editor .delete-sign {\n\tfont-size: 11px !important;\n\topacity: 0.7 !important;\n\tdisplay: flex !important;\n\talign-items: center;\n}\n.monaco-editor.hc-black .insert-sign,\n.monaco-diff-editor.hc-black .insert-sign,\n.monaco-editor.hc-black .delete-sign,\n.monaco-diff-editor.hc-black .delete-sign,\n.monaco-editor.hc-light .insert-sign,\n.monaco-diff-editor.hc-light .insert-sign,\n.monaco-editor.hc-light .delete-sign,\n.monaco-diff-editor.hc-light .delete-sign {\n\topacity: 1;\n}\n\n.monaco-editor .inline-deleted-margin-view-zone {\n\ttext-align: right;\n}\n.monaco-editor .inline-added-margin-view-zone {\n\ttext-align: right;\n}\n\n.monaco-editor .arrow-revert-change {\n\tz-index: 10;\n\tposition: absolute;\n}\n\n.monaco-editor .arrow-revert-change:hover {\n\tcursor: pointer;\n}\n\n/* ---------- Inline Diff ---------- */\n\n.monaco-editor .view-zones .view-lines .view-line span {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .margin-view-zones .lightbulb-glyph:hover {\n\tcursor: pointer;\n}\n\n.monaco-editor .char-insert, .monaco-diff-editor .char-insert {\n\tbackground-color: var(--vscode-diffEditor-insertedTextBackground);\n}\n\n.monaco-editor .line-insert, .monaco-diff-editor .line-insert {\n\tbackground-color: var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground));\n}\n\n.monaco-editor .line-insert,\n.monaco-editor .char-insert {\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-diffEditor-insertedTextBorder);\n}\n.monaco-editor.hc-black .line-insert, .monaco-editor.hc-light .line-insert,\n.monaco-editor.hc-black .char-insert, .monaco-editor.hc-light .char-insert {\n\tborder-style: dashed;\n}\n\n.monaco-editor .line-delete,\n.monaco-editor .char-delete {\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-diffEditor-removedTextBorder);\n}\n.monaco-editor.hc-black .line-delete, .monaco-editor.hc-light .line-delete,\n.monaco-editor.hc-black .char-delete, .monaco-editor.hc-light .char-delete {\n\tborder-style: dashed;\n}\n\n.monaco-editor .inline-added-margin-view-zone,\n.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert {\n\tbackground-color: var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground));\n}\n\n.monaco-editor .char-delete, .monaco-diff-editor .char-delete {\n\tbackground-color: var(--vscode-diffEditor-removedTextBackground);\n}\n\n.monaco-editor .line-delete, .monaco-diff-editor .line-delete {\n\tbackground-color: var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground));\n}\n\n.monaco-editor .inline-deleted-margin-view-zone,\n.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete {\n\tbackground-color: var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground));\n}\n\n.monaco-diff-editor.side-by-side .editor.modified {\n\tbox-shadow: -6px 0 5px -5px var(--vscode-scrollbar-shadow);\n\tborder-left: 1px solid var(--vscode-diffEditor-border);\n}\n\n.monaco-diff-editor.side-by-side .editor.original {\n\tbox-shadow: 6px 0 5px -5px var(--vscode-scrollbar-shadow);\n\tborder-right: 1px solid var(--vscode-diffEditor-border);\n}\n\n.monaco-diff-editor .diffViewport {\n\tbackground: var(--vscode-scrollbarSlider-background);\n}\n\n.monaco-diff-editor .diffViewport:hover {\n\tbackground: var(--vscode-scrollbarSlider-hoverBackground);\n}\n\n.monaco-diff-editor .diffViewport:active {\n\tbackground: var(--vscode-scrollbarSlider-activeBackground);\n}\n\n.monaco-editor .diagonal-fill {\n\tbackground-image: linear-gradient(\n\t\t-45deg,\n\t\tvar(--vscode-diffEditor-diagonalFill) 12.5%,\n\t\t#0000 12.5%, #0000 50%,\n\t\tvar(--vscode-diffEditor-diagonalFill) 50%, var(--vscode-diffEditor-diagonalFill) 62.5%,\n\t\t#0000 62.5%, #0000 100%\n\t);\n\tbackground-size: 8px 8px;\n}\n\n.monaco-diff-editor .gutter {\n\tposition: relative;\n\toverflow: hidden;\n\tflex-shrink: 0;\n\tflex-grow: 0;\n\n\t.gutterItem {\n\t\topacity: 0;\n\t\ttransition: opacity 0.7s;\n\n\t\t&.showAlways {\n\t\t\topacity: 1;\n\t\t\ttransition: none;\n\t\t}\n\n\t\t&.noTransition {\n\t\t\ttransition: none;\n\t\t}\n\t}\n\n\t&:hover .gutterItem {\n\t\topacity: 1;\n\t\ttransition: opacity 0.1s ease-in-out;\n\t}\n\n\t.gutterItem {\n\t\t.background {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t\tleft: 50%;\n\t\t\twidth: 1px;\n\n\t\t\tborder-left: 2px var(--vscode-menu-border) solid;\n\t\t}\n\n\t\t.buttons {\n\t\t\tposition: absolute;\n\t\t\t/*height: 100%;*/\n\t\t\twidth: 100%;\n\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\n\t\t\t.monaco-toolbar {\n\t\t\t\theight: fit-content;\n\t\t\t\t.monaco-action-bar {\n\t\t\t\t\tline-height: 1;\n\n\t\t\t\t\t.actions-container {\n\t\t\t\t\t\twidth: fit-content;\n\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\tborder: 1px var(--vscode-menu-border) solid;\n\t\t\t\t\t\tbackground: var(--vscode-editor-background);\n\n\t\t\t\t\t\t.action-item {\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tbackground: var(--vscode-toolbar-hoverBackground);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.action-label {\n\t\t\t\t\t\t\t\tpadding: 0.5px 1px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n",""]);const l=r},6835:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .rendered-markdown kbd {\n\tbackground-color: var(--vscode-keybindingLabel-background);\n\tcolor: var(--vscode-keybindingLabel-foreground);\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n\tborder-color: var(--vscode-keybindingLabel-border);\n\tborder-bottom-color: var(--vscode-keybindingLabel-bottomBorder);\n\tbox-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);\n\tvertical-align: middle;\n\tpadding: 1px 3px;\n}\n\n.rendered-markdown li:has(input[type=checkbox]) {\n\tlist-style-type: none;\n}\n",""]);const l=r},6514:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-component.multiDiffEditor {\n\tbackground: var(--vscode-multiDiffEditor-background);\n\toverflow-y: hidden;\n\n\t.focused {\n\t\t--vscode-multiDiffEditor-border: var(--vscode-focusBorder);\n\t}\n\n\t.multiDiffEntry {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tflex: 1;\n\t\toverflow: hidden;\n\n\n\t\t.collapse-button {\n\t\t\tmargin: 0 5px;\n\t\t\tcursor: pointer;\n\n\t\t\ta {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\n\t\t.header {\n\t\t\tz-index: 1000;\n\t\t\tbackground: var(--vscode-editor-background);\n\n\t\t\t&:not(.collapsed) .header-content {\n\t\t\t\tborder-bottom: 1px solid var(--vscode-sideBarSectionHeader-border);\n\t\t\t}\n\n\t\t\t.header-content {\n\t\t\t\tmargin: 8px 8px 0px 8px;\n\t\t\t\tpadding: 4px 5px;\n\n\t\t\t\tborder-top: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-right: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-left: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-top-left-radius: 2px;\n\t\t\t\tborder-top-right-radius: 2px;\n\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\n\t\t\t\tcolor: var(--vscode-foreground);\n\t\t\t\tbackground: var(--vscode-multiDiffEditor-headerBackground);\n\n\t\t\t\t&.shadow {\n\t\t\t\t\tbox-shadow: var(--vscode-scrollbar-shadow) 0px 6px 6px -6px;\n\t\t\t\t}\n\n\t\t\t\t.file-path {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex: 1;\n\t\t\t\t\tmin-width: 0;\n\n\t\t\t\t\t.title {\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\tline-height: 22px;\n\n\t\t\t\t\t\t&.original {\n\t\t\t\t\t\t\tflex: 1;\n\t\t\t\t\t\t\tmin-width: 0;\n\t\t\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.status {\n\t\t\t\t\t\tfont-weight: 600;\n\t\t\t\t\t\topacity: 0.75;\n\t\t\t\t\t\tmargin: 0px 10px;\n\t\t\t\t\t\tline-height: 22px;\n\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t\tTODO@hediet: move colors from git extension to core!\n\t\t\t\t\t\t&.renamed {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-renamedResourceForeground);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.deleted {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-deletedResourceForeground);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.added {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-addedResourceForeground);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t*/\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.actions {\n\t\t\t\t\tpadding: 0 8px;\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t}\n\n\t\t.editorParent {\n\t\t\tflex: 1;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\n\t\t\tmargin-right: 8px;\n\t\t\tmargin-left: 8px;\n\n\t\t\tborder-right: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-left: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-bottom: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-radius: 2px;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.editorContainer {\n\t\t\tflex: 1;\n\t\t}\n\t}\n}\n",""]);const l=r},2755:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .selection-anchor {\n\tbackground-color: #007ACC;\n\twidth: 2px !important;\n}\n",""]);const l=r},7997:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .bracket-match {\n\tbox-sizing: border-box;\n\tbackground-color: var(--vscode-editorBracketMatch-background);\n\tborder: 1px solid var(--vscode-editorBracketMatch-border);\n}\n",""]);const l=r},4169:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .lightBulbWidget {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-editor .lightBulbWidget:hover{\n\tcursor: pointer;\n}\n\n.monaco-editor .lightBulbWidget.codicon-light-bulb,\n.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle {\n\tcolor: var(--vscode-editorLightBulb-foreground);\n}\n\n.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,\n.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix {\n\tcolor: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));\n}\n\n.monaco-editor .lightBulbWidget.codicon-sparkle-filled {\n\tcolor: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));\n}\n\n.monaco-editor .lightBulbWidget:before {\n\tposition: relative;\n\tz-index: 2;\n}\n\n.monaco-editor .lightBulbWidget:after {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcontent: '';\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\topacity: 0.3;\n\tbackground-color: var(--vscode-editor-background);\n\tz-index: 1;\n}\n",""]);const l=r},1727:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .codelens-decoration {\n\toverflow: hidden;\n\tdisplay: inline-block;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tcolor: var(--vscode-editorCodeLens-foreground);\n\tline-height: var(--vscode-editorCodeLens-lineHeight);\n\tfont-size: var(--vscode-editorCodeLens-fontSize);\n\tpadding-right: calc(var(--vscode-editorCodeLens-fontSize)*0.5);\n\tfont-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);\n\tfont-family: var(--vscode-editorCodeLens-fontFamily), var(--vscode-editorCodeLens-fontFamilyDefault);\n}\n\n.monaco-editor .codelens-decoration > span,\n.monaco-editor .codelens-decoration > a {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\twhite-space: nowrap;\n\tvertical-align: sub;\n}\n\n.monaco-editor .codelens-decoration > a {\n\ttext-decoration: none;\n}\n\n.monaco-editor .codelens-decoration > a:hover {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .codelens-decoration > a:hover .codicon {\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .codelens-decoration .codicon {\n\tvertical-align: middle;\n\tcolor: currentColor !important;\n\tcolor: var(--vscode-editorCodeLens-foreground);\n\tline-height: var(--vscode-editorCodeLens-lineHeight);\n\tfont-size: var(--vscode-editorCodeLens-fontSize);\n}\n\n.monaco-editor .codelens-decoration > a:hover .codicon::before {\n\tcursor: pointer;\n}\n\n@keyframes fadein {\n\t0% {\n\t\topacity: 0;\n\t\tvisibility: visible;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n.monaco-editor .codelens-decoration.fadein {\n\tanimation: fadein 0.1s linear;\n}\n",""]);const l=r},3345:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s),l=n(4417),a=n.n(l),d=new URL(n(8968),n.b),u=r()(o()),c=a()(d);u.push([e.id,`/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.colorpicker-widget {\n\theight: 190px;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/* Decoration */\n\n.colorpicker-color-decoration,\n.hc-light .colorpicker-color-decoration {\n\tborder: solid 0.1em #000;\n\tbox-sizing: border-box;\n\tmargin: 0.1em 0.2em 0 0.2em;\n\twidth: 0.8em;\n\theight: 0.8em;\n\tline-height: 0.8em;\n\tdisplay: inline-block;\n\tcursor: pointer;\n}\n\n.hc-black .colorpicker-color-decoration,\n.vs-dark .colorpicker-color-decoration {\n\tborder: solid 0.1em #eee;\n}\n\n/* Header */\n\n.colorpicker-header {\n\tdisplay: flex;\n\theight: 24px;\n\tposition: relative;\n\tbackground: url(${c});\n\tbackground-size: 9px 9px;\n\timage-rendering: pixelated;\n}\n\n.colorpicker-header .picked-color {\n\twidth: 240px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 24px;\n\tcursor: pointer;\n\tcolor: white;\n\tflex: 1;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.colorpicker-header .picked-color .picked-color-presentation {\n\twhite-space: nowrap;\n\tmargin-left: 5px;\n\tmargin-right: 5px;\n}\n\n.colorpicker-header .picked-color .codicon {\n\tcolor: inherit;\n\tfont-size: 14px;\n}\n\n.colorpicker-header .picked-color.light {\n\tcolor: black;\n}\n\n.colorpicker-header .original-color {\n\twidth: 74px;\n\tz-index: inherit;\n\tcursor: pointer;\n}\n\n.standalone-colorpicker {\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.colorpicker-header.standalone-colorpicker {\n\tborder-bottom: none;\n}\n\n.colorpicker-header .close-button {\n\tcursor: pointer;\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder-left: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.colorpicker-header .close-button-inner-div {\n\twidth: 100%;\n\theight: 100%;\n\ttext-align: center;\n}\n\n.colorpicker-header .close-button-inner-div:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground);\n}\n\n.colorpicker-header .close-icon {\n\tpadding: 3px;\n}\n\n/* Body */\n\n.colorpicker-body {\n\tdisplay: flex;\n\tpadding: 8px;\n\tposition: relative;\n}\n\n.colorpicker-body .saturation-wrap {\n\toverflow: hidden;\n\theight: 150px;\n\tposition: relative;\n\tmin-width: 220px;\n\tflex: 1;\n}\n\n.colorpicker-body .saturation-box {\n\theight: 150px;\n\tposition: absolute;\n}\n\n.colorpicker-body .saturation-selection {\n\twidth: 9px;\n\theight: 9px;\n\tmargin: -5px 0 0 -5px;\n\tborder: 1px solid rgb(255, 255, 255);\n\tborder-radius: 100%;\n\tbox-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);\n\tposition: absolute;\n}\n\n.colorpicker-body .strip {\n\twidth: 25px;\n\theight: 150px;\n}\n\n.colorpicker-body .standalone-strip {\n\twidth: 25px;\n\theight: 122px;\n}\n\n.colorpicker-body .hue-strip {\n\tposition: relative;\n\tmargin-left: 8px;\n\tcursor: grab;\n\tbackground: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n}\n\n.colorpicker-body .opacity-strip {\n\tposition: relative;\n\tmargin-left: 8px;\n\tcursor: grab;\n\tbackground: url(${c});\n\tbackground-size: 9px 9px;\n\timage-rendering: pixelated;\n}\n\n.colorpicker-body .strip.grabbing {\n\tcursor: grabbing;\n}\n\n.colorpicker-body .slider {\n\tposition: absolute;\n\ttop: 0;\n\tleft: -2px;\n\twidth: calc(100% + 4px);\n\theight: 4px;\n\tbox-sizing: border-box;\n\tborder: 1px solid rgba(255, 255, 255, 0.71);\n\tbox-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);\n}\n\n.colorpicker-body .strip .overlay {\n\theight: 150px;\n\tpointer-events: none;\n}\n\n.colorpicker-body .standalone-strip .standalone-overlay {\n\theight: 122px;\n\tpointer-events: none;\n}\n\n.standalone-colorpicker-body {\n\tdisplay: block;\n\tborder: 1px solid transparent;\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n\toverflow: hidden;\n}\n\n.colorpicker-body .insert-button {\n\tposition: absolute;\n\theight: 20px;\n\twidth: 58px;\n\tpadding: 0px;\n\tright: 8px;\n\tbottom: 8px;\n\tbackground: var(--vscode-button-background);\n\tcolor: var(--vscode-button-foreground);\n\tborder-radius: 2px;\n\tborder: none;\n\tcursor: pointer;\n}\n\n.colorpicker-body .insert-button:hover{\n\tbackground: var(--vscode-button-hoverBackground);\n}\n`,""]);const h=u},8357:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor.vs .dnd-target,\n.monaco-editor.hc-light .dnd-target {\n\tborder-right: 2px dotted black;\n\tcolor: white; /* opposite of black */\n}\n.monaco-editor.vs-dark .dnd-target {\n\tborder-right: 2px dotted #AEAFAD;\n\tcolor: #51504f; /* opposite of #AEAFAD */\n}\n.monaco-editor.hc-black .dnd-target {\n\tborder-right: 2px dotted #fff;\n\tcolor: #000; /* opposite of #fff */\n}\n\n.monaco-editor.mouse-default .view-lines,\n.monaco-editor.vs-dark.mac.mouse-default .view-lines,\n.monaco-editor.hc-black.mac.mouse-default .view-lines,\n.monaco-editor.hc-light.mac.mouse-default .view-lines {\n\tcursor: default;\n}\n.monaco-editor.mouse-copy .view-lines,\n.monaco-editor.vs-dark.mac.mouse-copy .view-lines,\n.monaco-editor.hc-black.mac.mouse-copy .view-lines,\n.monaco-editor.hc-light.mac.mouse-copy .view-lines {\n\tcursor: copy;\n}\n",""]);const l=r},9926:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.post-edit-widget {\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tborder: 1px solid var(--vscode-widget-border, transparent);\n\tborder-radius: 4px;\n\tbackground-color: var(--vscode-editorWidget-background);\n\toverflow: hidden;\n}\n\n.post-edit-widget .monaco-button {\n\tpadding: 2px;\n\tborder: none;\n\tborder-radius: 0;\n}\n\n.post-edit-widget .monaco-button:hover {\n\tbackground-color: var(--vscode-button-secondaryHoverBackground) !important;\n}\n\n.post-edit-widget .monaco-button .codicon {\n\tmargin: 0;\n}\n",""]);const l=r},5669:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .findOptionsWidget {\n\tbackground-color: var(--vscode-editorWidget-background);\n\tcolor: var(--vscode-editorWidget-foreground);\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tborder: 2px solid var(--vscode-contrastBorder);\n}\n",""]);const l=r},5395:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Find widget */\n.monaco-editor .find-widget {\n\tposition: absolute;\n\tz-index: 35;\n\theight: 33px;\n\toverflow: hidden;\n\tline-height: 19px;\n\ttransition: transform 200ms linear;\n\tpadding: 0 4px;\n\tbox-sizing: border-box;\n\ttransform: translateY(calc(-100% - 10px)); /* shadow (10px) */\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tcolor: var(--vscode-editorWidget-foreground);\n\tborder-left: 1px solid var(--vscode-widget-border);\n\tborder-right: 1px solid var(--vscode-widget-border);\n\tborder-bottom: 1px solid var(--vscode-widget-border);\n\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n\tbackground-color: var(--vscode-editorWidget-background);\n}\n\n.monaco-workbench.reduce-motion .monaco-editor .find-widget {\n\ttransition: transform 0ms linear;\n}\n\n.monaco-editor .find-widget textarea {\n\tmargin: 0px;\n}\n\n.monaco-editor .find-widget.hiddenEditor {\n\tdisplay: none;\n}\n\n/* Find widget when replace is toggled on */\n.monaco-editor .find-widget.replaceToggled > .replace-part {\n\tdisplay: flex;\n}\n\n.monaco-editor .find-widget.visible {\n\ttransform: translateY(0);\n}\n\n/* This outline-color rule is used to override the outline color for synthetic-focus find input. */\n.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {\n\toutline: 1px solid -webkit-focus-ring-color;\n\toutline-offset: -1px;\n\toutline-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .find-widget .monaco-inputbox .input {\n\tbackground-color: transparent;\n\tmin-height: 0;\n}\n\n.monaco-editor .find-widget .monaco-findInput .input {\n\tfont-size: 13px;\n}\n\n.monaco-editor .find-widget > .find-part,\n.monaco-editor .find-widget > .replace-part {\n\tmargin: 3px 25px 0 17px;\n\tfont-size: 12px;\n\tdisplay: flex;\n}\n\n.monaco-editor .find-widget > .find-part .monaco-inputbox,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox {\n\tmin-height: 25px;\n}\n\n\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding-right: 22px;\n}\n\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding-top: 2px;\n\tpadding-bottom: 2px;\n}\n\n.monaco-editor .find-widget > .find-part .find-actions {\n\theight: 25px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-editor .find-widget > .replace-part .replace-actions {\n\theight: 25px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-editor .find-widget .monaco-findInput {\n\tvertical-align: middle;\n\tdisplay: flex;\n\tflex:1;\n}\n\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {\n\t/* Make sure textarea inherits the width correctly */\n\twidth: 100%;\n}\n\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {\n\t/* Hide vertical scrollbar */\n\topacity: 0;\n}\n\n.monaco-editor .find-widget .matchesCount {\n\tdisplay: flex;\n\tflex: initial;\n\tmargin: 0 0 0 3px;\n\tpadding: 2px 0 0 2px;\n\theight: 25px;\n\tvertical-align: middle;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 23px;\n}\n\n.monaco-editor .find-widget .button {\n\twidth: 16px;\n\theight: 16px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n\tdisplay: flex;\n\tflex: initial;\n\tmargin-left: 3px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tcursor: pointer;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* find in selection button */\n.monaco-editor .find-widget .codicon-find-selection {\n\twidth: 22px;\n\theight: 22px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n}\n\n.monaco-editor .find-widget .button.left {\n\tmargin-left: 0;\n\tmargin-right: 3px;\n}\n\n.monaco-editor .find-widget .button.wide {\n\twidth: auto;\n\tpadding: 1px 6px;\n\ttop: -1px;\n}\n\n.monaco-editor .find-widget .button.toggle {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 3px;\n\twidth: 18px;\n\theight: 100%;\n\tborder-radius: 0;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .find-widget .button.toggle.disabled {\n\tdisplay: none;\n}\n\n.monaco-editor .find-widget .disabled {\n\tcolor: var(--vscode-disabledForeground);\n\tcursor: default;\n}\n\n.monaco-editor .find-widget > .replace-part {\n\tdisplay: none;\n}\n\n.monaco-editor .find-widget > .replace-part > .monaco-findInput {\n\tposition: relative;\n\tdisplay: flex;\n\tvertical-align: middle;\n\tflex: auto;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n}\n\n.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {\n\tposition: absolute;\n\ttop: 3px;\n\tright: 2px;\n}\n\n/* REDUCED */\n.monaco-editor .find-widget.reduced-find-widget .matchesCount {\n\tdisplay:none;\n}\n\n/* NARROW (SMALLER THAN REDUCED) */\n.monaco-editor .find-widget.narrow-find-widget {\n\tmax-width: 257px !important;\n}\n\n/* COLLAPSED (SMALLER THAN NARROW) */\n.monaco-editor .find-widget.collapsed-find-widget {\n\tmax-width: 170px !important;\n}\n\n.monaco-editor .find-widget.collapsed-find-widget .button.previous,\n.monaco-editor .find-widget.collapsed-find-widget .button.next,\n.monaco-editor .find-widget.collapsed-find-widget .button.replace,\n.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,\n.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {\n\tdisplay:none;\n}\n\n.monaco-editor .find-widget.no-results .matchesCount {\n\tcolor: var(--vscode-errorForeground);\n}\n\n.monaco-editor .findMatch {\n\tanimation-duration: 0;\n\tanimation-name: inherit !important;\n\tbackground-color: var(--vscode-editor-findMatchHighlightBackground);\n}\n\n.monaco-editor .currentFindMatch {\n\tbackground-color: var(--vscode-editor-findMatchBackground);\n\tborder: 2px solid var(--vscode-editor-findMatchBorder);\n\tpadding: 1px;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .findScope {\n\tbackground-color: var(--vscode-editor-findRangeHighlightBackground);\n}\n\n.monaco-editor .find-widget .monaco-sash {\n\tleft: 0 !important;\n\tbackground-color: var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border));\n}\n\n.monaco-editor.hc-black .find-widget .button:before {\n\tposition: relative;\n\ttop: 1px;\n\tleft: 2px;\n}\n\n/* Action bars */\n.monaco-editor .find-widget .button:not(.disabled):hover,\n.monaco-editor .find-widget .codicon-find-selection:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground) !important;\n}\n\n.monaco-editor.findMatch {\n\tbackground-color: var(--vscode-editor-findMatchHighlightBackground);\n}\n\n.monaco-editor.currentFindMatch {\n\tbackground-color: var(--vscode-editor-findMatchBackground);\n}\n\n.monaco-editor.findScope {\n\tbackground-color: var(--vscode-editor-findRangeHighlightBackground);\n}\n\n.monaco-editor.findMatch {\n\tbackground-color: var(--vscode-editorWidget-background);\n}\n\n/* Close button position. */\n.monaco-editor .find-widget > .button.codicon-widget-close {\n\tposition: absolute;\n\ttop: 5px;\n\tright: 4px;\n}\n",""]);const l=r},5405:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,\n.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,\n.monaco-editor .margin-view-overlays .codicon-folding-expanded,\n.monaco-editor .margin-view-overlays .codicon-folding-collapsed {\n\tcursor: pointer;\n\topacity: 0;\n\ttransition: opacity 0.5s;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 140%;\n\tmargin-left: 2px;\n}\n\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed {\n\ttransition: initial;\n}\n\n.monaco-editor .margin-view-overlays:hover .codicon,\n.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,\n.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,\n.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {\n\topacity: 1;\n}\n\n.monaco-editor .inline-folded:after {\n\tcolor: grey;\n\tmargin: 0.1em 0.2em 0 0.2em;\n\tcontent: "\\22EF"; /* ellipses unicode character */\n\tdisplay: inline;\n\tline-height: 1em;\n\tcursor: pointer;\n}\n\n.monaco-editor .folded-background {\n\tbackground-color: var(--vscode-editor-foldBackground);\n}\n\n.monaco-editor .cldr.codicon.codicon-folding-expanded,\n.monaco-editor .cldr.codicon.codicon-folding-collapsed,\n.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,\n.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed {\n\tcolor: var(--vscode-editorGutter-foldingControlForeground) !important;\n}\n\n',""]);const l=r},1788:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* marker zone */\n\n.monaco-editor .peekview-widget .head .peekview-title .severity-icon {\n\tdisplay: inline-block;\n\tvertical-align: text-top;\n\tmargin-right: 4px;\n}\n\n.monaco-editor .marker-widget {\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .marker-widget > .stale {\n\topacity: 0.6;\n\tfont-style: italic;\n}\n\n.monaco-editor .marker-widget .title {\n\tdisplay: inline-block;\n\tpadding-right: 5px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer {\n\tposition: absolute;\n\twhite-space: pre;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tpadding: 8px 12px 0 20px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message .details {\n\tpadding-left: 6px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message .source,\n.monaco-editor .marker-widget .descriptioncontainer .message span.code {\n\topacity: 0.6;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {\n\topacity: 0.6;\n\tcolor: inherit;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {\n\tcontent: '(';\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {\n\tcontent: ')';\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {\n\ttext-decoration: underline;\n\t/** Hack to force underline to show **/\n\tborder-bottom: 1px solid transparent;\n\ttext-underline-position: under;\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .filename {\n\tcursor: pointer;\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n",""]);const l=r},1503:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .goto-definition-link {\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n",""]);const l=r},6378:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* -- zone widget */\n.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {\n\tborder-top-width: 1px;\n\tborder-bottom-width: 1px;\n}\n\n.monaco-editor .reference-zone-widget .inline {\n\tdisplay: inline-block;\n\tvertical-align: top;\n}\n\n.monaco-editor .reference-zone-widget .messages {\n\theight: 100%;\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 3em 0;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree {\n\tline-height: 23px;\n\tbackground-color: var(--vscode-peekViewResult-background);\n\tcolor: var(--vscode-peekViewResult-lineForeground);\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference-file {\n\tdisplay: inline-flex;\n\twidth: 100%;\n\theight: 100%;\n\tcolor: var(--vscode-peekViewResult-fileForeground);\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {\n\tcolor: inherit !important;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {\n\tbackground-color: var(--vscode-peekViewResult-selectionBackground);\n\tcolor: var(--vscode-peekViewResult-selectionForeground) !important;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {\n\tmargin-right: 12px;\n\tmargin-left: auto;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {\n\tbackground-color: var(--vscode-peekViewResult-matchHighlightBackground);\n}\n\n.monaco-editor .reference-zone-widget .preview .reference-decoration {\n\tbackground-color: var(--vscode-peekViewEditor-matchHighlightBackground);\n\tborder: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,\n.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\n\tbackground-color: var(--vscode-peekViewEditor-background);\n}\n\n.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\n\tbackground-color: var(--vscode-peekViewEditorGutter-background);\n}\n\n/* High Contrast Theming */\n\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,\n.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file {\n\tfont-weight: bold;\n}\n\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,\n.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight {\n\tborder: 1px dotted var(--vscode-contrastActiveBorder, transparent);\n\tbox-sizing: border-box;\n}\n",""]);const l=r},245:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .hoverHighlight {\n\tbackground-color: var(--vscode-editor-hoverHighlightBackground);\n}\n\n.monaco-editor .monaco-hover {\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-radius: 3px;\n}\n\n.monaco-editor .monaco-hover a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .monaco-hover a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .monaco-hover .hover-row .actions {\n\tbackground-color: var(--vscode-editorHoverWidget-statusBarBackground);\n}\n\n.monaco-editor .monaco-hover code {\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n\n",""]);const l=r},6437:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n.monaco-editor.vs .valueSetReplacement {\n\toutline: solid 2px var(--vscode-editorBracketMatch-border);\n}\n",""]);const l=r},8169:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .suggest-preview-additional-widget {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .suggest-preview-additional-widget .content-spacer {\n\tcolor: transparent;\n\twhite-space: pre;\n}\n\n.monaco-editor .suggest-preview-additional-widget .button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .ghost-text-hidden {\n\topacity: 0;\n\tfont-size: 0;\n}\n\n.monaco-editor .ghost-text-decoration, .monaco-editor .suggest-preview-text .ghost-text {\n\tfont-style: italic;\n}\n\n.monaco-editor .inline-completion-text-to-replace {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .suggest-preview-text .ghost-text {\n\tcolor: var(--vscode-editorGhostText-foreground) !important;\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tborder: 1px solid var(--vscode-editorGhostText-border);\n}\n",""]);const l=r},5415:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inlineSuggestionsHints.withBorder {\n\tz-index: 39;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .inlineSuggestionsHints a {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineSuggestionsHints a:hover {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineSuggestionsHints .keybinding {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\topacity: 0.6;\n}\n\n.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key {\n\tfont-size: 8px;\n\tpadding: 2px 3px;\n}\n\n.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a {\n\tdisplay: flex;\n\tmin-width: 19px;\n\tjustify-content: center;\n}\n\n.monaco-editor .inlineSuggestionStatusBarItemLabel {\n\tmargin-right: 2px;\n}\n",""]);const l=r},1935:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inline-edit-remove {\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tfont-style: italic;\n\ttext-decoration: line-through;\n}\n\n.monaco-editor .inline-edit-remove.backgroundColoring {\n\tbackground-color: var(--vscode-diffEditor-removedLineBackground);\n}\n\n.monaco-editor .inline-edit-hidden {\n\topacity: 0;\n\tfont-size: 0;\n}\n\n.monaco-editor .inline-edit-decoration, .monaco-editor .suggest-preview-text .inline-edit {\n\tfont-style: italic;\n}\n\n.monaco-editor .inline-completion-text-to-replace {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .suggest-preview-text .inline-edit {\n\tcolor: var(--vscode-editorGhostText-foreground) !important;\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tborder: 1px solid var(--vscode-editorGhostText-border);\n}\n\n\n",""]);const l=r},5269:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inlineEditHints.withBorder {\n\tz-index: 39;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .inlineEditHints a {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineEditHints a:hover {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineEditHints .keybinding {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\topacity: 0.6;\n}\n\n.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key {\n\tfont-size: 8px;\n\tpadding: 2px 3px;\n}\n\n.monaco-editor .inlineEditStatusBarItemLabel {\n\tmargin-right: 2px;\n}\n",""]);const l=r},8129:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.inline-editor-progress-decoration {\n\tdisplay: inline-block;\n\twidth: 1em;\n\theight: 1em;\n}\n\n.inline-progress-widget {\n\tdisplay: flex !important;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.inline-progress-widget .icon {\n\tfont-size: 80% !important;\n}\n\n.inline-progress-widget:hover .icon {\n\tfont-size: 90% !important;\n\tanimation: none;\n}\n\n.inline-progress-widget:hover .icon::before {\n\tcontent: "\\ea76"; /* codicon-x */\n}\n',""]);const l=r},3293:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .linked-editing-decoration {\n\tbackground-color: var(--vscode-editor-linkedEditingBackground);\n\n\t/* Ensure decoration is visible even if range is empty */\n\tmin-width: 1px;\n}\n",""]);const l=r},1177:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .detected-link,\n.monaco-editor .detected-link-active {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .detected-link-active {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n",""]);const l=r},7201:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .monaco-editor-overlaymessage {\n\tpadding-bottom: 8px;\n\tz-index: 10000;\n}\n\n.monaco-editor .monaco-editor-overlaymessage.below {\n\tpadding-bottom: 0;\n\tpadding-top: 8px;\n\tz-index: 10000;\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n.monaco-editor .monaco-editor-overlaymessage.fadeIn {\n\tanimation: fadeIn 150ms ease-out;\n}\n\n@keyframes fadeOut {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; }\n}\n.monaco-editor .monaco-editor-overlaymessage.fadeOut {\n\tanimation: fadeOut 100ms ease-out;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message {\n\tpadding: 2px 4px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-inputValidation-infoBorder);\n\tborder-radius: 3px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message p {\n\tmargin-block: 0px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor.hc-black .monaco-editor-overlaymessage .message,\n.monaco-editor.hc-light .monaco-editor-overlaymessage .message {\n\tborder-width: 2px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor {\n\twidth: 0 !important;\n\theight: 0 !important;\n\tborder-color: transparent;\n\tborder-style: solid;\n\tz-index: 1000;\n\tborder-width: 8px;\n\tposition: absolute;\n\tleft: 2px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor.top {\n\tborder-bottom-color: var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor.below {\n\tborder-top-color: var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {\n\tdisplay: none;\n}\n\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {\n\tdisplay: inherit;\n\ttop: -8px;\n}\n",""]);const l=r},991:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .parameter-hints-widget {\n\t/* Must be higher than the sash\'s z-index and terminal canvases but lower than the suggest widget */\n\tz-index: 39;\n\tdisplay: flex;\n\tflex-direction: column;\n\tline-height: 1.5em;\n\tcursor: default;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.hc-black .monaco-editor .parameter-hints-widget,\n.hc-light .monaco-editor .parameter-hints-widget {\n\tborder-width: 2px;\n}\n\n.monaco-editor .parameter-hints-widget > .phwrapper {\n\tmax-width: 440px;\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.monaco-editor .parameter-hints-widget.multiple {\n\tmin-height: 3.3em;\n\tpadding: 0;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .body::before {\n\tcontent: "";\n\tdisplay: block;\n\theight: 100%;\n\tposition: absolute;\n\topacity: 0.5;\n\tborder-left: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .parameter-hints-widget p,\n.monaco-editor .parameter-hints-widget ul {\n\tmargin: 8px 0;\n}\n\n.monaco-editor .parameter-hints-widget .monaco-scrollable-element,\n.monaco-editor .parameter-hints-widget .body {\n\tdisplay: flex;\n\tflex: 1;\n\tflex-direction: column;\n\tmin-height: 100%;\n}\n\n.monaco-editor .parameter-hints-widget .signature {\n\tpadding: 4px 5px;\n\tposition: relative;\n}\n\n.monaco-editor .parameter-hints-widget .signature.has-docs::after {\n\tcontent: "";\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\tpadding-top: 4px;\n\topacity: 0.5;\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .parameter-hints-widget .docs {\n\tpadding: 0 10px 0 5px;\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .parameter-hints-widget .docs.empty {\n\tdisplay: none;\n}\n\n.monaco-editor .parameter-hints-widget .docs a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .parameter-hints-widget .docs a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n\tcursor: pointer;\n}\n\n.monaco-editor .parameter-hints-widget .docs .markdown-docs {\n\twhite-space: initial;\n}\n\n.monaco-editor .parameter-hints-widget .docs code {\n\tfont-family: var(--monaco-monospace-font);\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,\n.monaco-editor .parameter-hints-widget .docs .code {\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .parameter-hints-widget .controls {\n\tdisplay: none;\n\tflex-direction: column;\n\talign-items: center;\n\tmin-width: 22px;\n\tjustify-content: flex-end;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .controls {\n\tdisplay: flex;\n\tpadding: 0 2px;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .button {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tcursor: pointer;\n}\n\n.monaco-editor .parameter-hints-widget .button.previous {\n\tbottom: 24px;\n}\n\n.monaco-editor .parameter-hints-widget .overloads {\n\ttext-align: center;\n\theight: 12px;\n\tline-height: 12px;\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .parameter-hints-widget .signature .parameter.active {\n\tcolor: var(--vscode-editorHoverWidget-highlightForeground);\n\tfont-weight: bold;\n}\n\n.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {\n\tfont-weight: bold;\n\tmargin-right: 0.5em;\n}\n',""]);const l=r},9734:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .peekview-widget .head {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-wrap: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title {\n\tdisplay: flex;\n\talign-items: baseline;\n\tfont-size: 13px;\n\tmargin-left: 20px;\n\tmin-width: 0;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title.clickable {\n\tcursor: pointer;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {\n\tfont-size: 0.9em;\n\tmargin-left: 0.5em;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .meta {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .dirname {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .filename {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {\n\tcontent: '-';\n\tpadding: 0 0.3em;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions {\n\tflex: 1;\n\ttext-align: right;\n\tpadding-right: 2px;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {\n\theight: 100%;\n}\n\n.monaco-editor .peekview-widget > .body {\n\tborder-top: 1px solid;\n\tposition: relative;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .codicon {\n\tmargin-right: 4px;\n\talign-self: center;\n}\n\n.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: inherit !important;\n}\n",""]);const l=r},8033:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .rename-box {\n\tz-index: 100;\n\tcolor: inherit;\n\tborder-radius: 4px;\n}\n\n.monaco-editor .rename-box.preview {\n\tpadding: 4px 4px 0 4px;\n}\n\n.monaco-editor .rename-box .rename-input {\n\tpadding: 3px;\n\tborder-radius: 2px;\n\twidth: calc(100% - 8px); /* 4px padding on each side */\n}\n\n.monaco-editor .rename-box .rename-label {\n\tdisplay: none;\n\topacity: .8;\n}\n\n.monaco-editor .rename-box.preview .rename-label {\n\tdisplay: inherit;\n}\n",""]);const l=r},69:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .snippet-placeholder {\n\tmin-width: 2px;\n\toutline-style: solid;\n\toutline-width: 1px;\n\tbackground-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);\n\toutline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);\n}\n\n.monaco-editor .finish-snippet-placeholder {\n\toutline-style: solid;\n\toutline-width: 1px;\n\tbackground-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);\n\toutline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);\n}\n",""]);const l=r},7689:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .sticky-widget {\n\toverflow: hidden;\n}\n\n.monaco-editor .sticky-widget-line-numbers {\n\tfloat: left;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-widget-lines-scrollable {\n\tdisplay: inline-block;\n\tposition: absolute;\n\toverflow: hidden;\n\twidth: var(--vscode-editorStickyScroll-scrollableWidth);\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-widget-lines {\n\tposition: absolute;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-line-number, .monaco-editor .sticky-line-content {\n\tcolor: var(--vscode-editorLineNumber-foreground);\n\twhite-space: nowrap;\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-line-number .codicon-folding-expanded,\n.monaco-editor .sticky-line-number .codicon-folding-collapsed {\n\tfloat: right;\n\ttransition: var(--vscode-editorStickyScroll-foldingOpacityTransition);\n}\n\n.monaco-editor .sticky-line-content {\n\twidth: var(--vscode-editorStickyScroll-scrollableWidth);\n\tbackground-color: inherit;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .sticky-line-number-inner {\n\tdisplay: inline-block;\n\ttext-align: right;\n}\n\n.monaco-editor .sticky-widget {\n\tborder-bottom: 1px solid var(--vscode-editorStickyScroll-border);\n}\n\n.monaco-editor .sticky-line-content:hover {\n\tbackground-color: var(--vscode-editorStickyScrollHover-background);\n\tcursor: pointer;\n}\n\n.monaco-editor .sticky-widget {\n\twidth: 100%;\n\tbox-shadow: var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;\n\tz-index: 4;\n\tbackground-color: var(--vscode-editorStickyScroll-background);\n}\n\n.monaco-editor .sticky-widget.peek {\n\tbackground-color: var(--vscode-peekViewEditorStickyScroll-background);\n}\n",""]);const l=r},7160:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Suggest widget*/\n\n.monaco-editor .suggest-widget {\n\twidth: 430px;\n\tz-index: 40;\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder-radius: 3px;\n}\n\n.monaco-editor .suggest-widget.message {\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.monaco-editor .suggest-widget,\n.monaco-editor .suggest-details {\n\tflex: 0 1 auto;\n\twidth: 100%;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-color: var(--vscode-editorSuggestWidget-border);\n\tbackground-color: var(--vscode-editorSuggestWidget-background);\n}\n\n.monaco-editor.hc-black .suggest-widget,\n.monaco-editor.hc-black .suggest-details,\n.monaco-editor.hc-light .suggest-widget,\n.monaco-editor.hc-light .suggest-details {\n\tborder-width: 2px;\n}\n\n/* Styles for status bar part */\n\n\n.monaco-editor .suggest-widget .suggest-status-bar {\n\tbox-sizing: border-box;\n\tdisplay: none;\n\tflex-flow: row nowrap;\n\tjustify-content: space-between;\n\twidth: 100%;\n\tfont-size: 80%;\n\tpadding: 0 4px 0 4px;\n\tborder-top: 1px solid var(--vscode-editorSuggestWidget-border);\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {\n\tdisplay: flex;\n}\n\n.monaco-editor .suggest-widget .suggest-status-bar .left {\n\tpadding-right: 8px;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {\n\tcolor: var(--vscode-editorSuggestWidgetStatus-foreground);\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {\n\tcontent: ', ';\n\tmargin-right: 0.3em;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row > .contents > .main > .right > .readMore,\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover > .contents > .main > .right.can-expand-details > .details-label {\n\twidth: 100%;\n}\n\n/* Styles for Message element for when widget is loading or is empty */\n\n.monaco-editor .suggest-widget > .message {\n\tpadding-left: 22px;\n}\n\n/** Styles for the list element **/\n\n.monaco-editor .suggest-widget > .tree {\n\theight: 100%;\n\twidth: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/** Styles for each row in the list element **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row {\n\tdisplay: flex;\n\t-mox-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tpadding-right: 10px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 2px 2px;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttouch-action: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {\n\tcolor: var(--vscode-editorSuggestWidget-selectedForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: var(--vscode-editorSuggestWidget-selectedIconForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents {\n\tflex: 1;\n\theight: 100%;\n\toverflow: hidden;\n\tpadding-left: 2px;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main {\n\tdisplay: flex;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: pre;\n\tjustify-content: space-between;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {\n\tdisplay: flex;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused) > .contents > .main .monaco-icon-label {\n\tcolor: var(--vscode-editorSuggestWidget-foreground);\n}\n\n.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {\n\tfont-weight: bold;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-editorSuggestWidget-highlightForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-editorSuggestWidget-focusHighlightForeground);\n}\n\n/** ReadMore Icon styles **/\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore::before {\n\tcolor: inherit;\n\topacity: 1;\n\tfont-size: 14px;\n\tcursor: pointer;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close {\n\tposition: absolute;\n\ttop: 6px;\n\tright: 2px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close:hover,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore:hover {\n\topacity: 1;\n}\n\n/** signature, qualifier, type/details opacity **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\topacity: 0.7;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .signature-label {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0.6;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .qualifier-label {\n\tmargin-left: 12px;\n\topacity: 0.4;\n\tfont-size: 85%;\n\tline-height: initial;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\talign-self: center;\n}\n\n/** Type Info and icon next to the label in the focused completion item **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\tfont-size: 85%;\n\tmargin-left: 1.1em;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label > .monaco-tokenized-source {\n\tdisplay: inline;\n}\n\n/** Details: if using CompletionItem#details, show on focus **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused > .contents > .main > .right > .details-label {\n\tdisplay: inline;\n}\n\n/** Details: if using CompletionItemLabel#details, always show **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .right > .details-label,\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label) > .contents > .main > .right > .details-label {\n\tdisplay: inline;\n}\n\n/** Ellipsis on hover **/\n\n.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right.can-expand-details > .details-label {\n\twidth: calc(100% - 26px);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left {\n\tflex-shrink: 1;\n\tflex-grow: 1;\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .monaco-icon-label {\n\tflex-shrink: 0;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .left > .monaco-icon-label {\n\tmax-width: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .left > .monaco-icon-label {\n\tflex-shrink: 1;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {\n\toverflow: hidden;\n\tflex-shrink: 4;\n\tmax-width: 70%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\twidth: 18px;\n\theight: 18px;\n\tvisibility: hidden;\n}\n\n/** Do NOT display ReadMore when docs is side/below **/\n\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {\n\tdisplay: none !important;\n}\n\n/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .right > .readMore {\n\tdisplay: none;\n}\n\n/** Focused item can show ReadMore, but can't when docs is side/below **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right > .readMore {\n\tvisibility: visible;\n}\n\n/** Styles for each row in the list **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {\n\topacity: 0.66;\n\ttext-decoration: unset;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated > .monaco-icon-label-container > .monaco-icon-name-container {\n\ttext-decoration: line-through;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {\n\theight: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {\n\tdisplay: block;\n\theight: 16px;\n\twidth: 16px;\n\tmargin-left: 2px;\n\tbackground-repeat: no-repeat;\n\tbackground-size: 80%;\n\tbackground-position: center;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-right: 4px;\n}\n\n.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,\n.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {\n\tmargin: 0 0 0 0.3em;\n\tborder: 0.1em solid #000;\n\twidth: 0.7em;\n\theight: 0.7em;\n\tdisplay: inline-block;\n}\n\n/** Styles for the docs of the completion item in focus **/\n\n.monaco-editor .suggest-details-container {\n\tz-index: 41;\n}\n\n.monaco-editor .suggest-details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tcursor: default;\n\tcolor: var(--vscode-editorSuggestWidget-foreground);\n}\n\n.monaco-editor .suggest-details.focused {\n\tborder-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .suggest-details a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .suggest-details a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .suggest-details code {\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-editor .suggest-details.no-docs {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element {\n\tflex: 1;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body {\n\tbox-sizing: border-box;\n\theight: 100%;\n\twidth: 100%;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type {\n\tflex: 2;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0.7;\n\twhite-space: pre;\n\tmargin: 0 24px 0 0;\n\tpadding: 4px 0 12px 5px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type.auto-wrap {\n\twhite-space: normal;\n\tword-break: break-all;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs {\n\tmargin: 0;\n\tpadding: 4px 5px;\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .suggest-details.no-type > .monaco-scrollable-element > .body > .docs {\n\tmargin-right: 24px;\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs {\n\tpadding: 0;\n\twhite-space: initial;\n\tmin-height: calc(1rem + 8px);\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div,\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > span:not(:empty) {\n\tpadding: 4px 5px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:first-child {\n\tmargin-top: 0;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:last-child {\n\tmargin-bottom: 0;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .monaco-tokenized-source {\n\twhite-space: pre;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs .code {\n\twhite-space: pre-wrap;\n\tword-wrap: break-word;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .codicon {\n\tvertical-align: sub;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > p:empty {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-details code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-editor .suggest-details ul {\n\tpadding-left: 20px;\n}\n\n.monaco-editor .suggest-details ol {\n\tpadding-left: 20px;\n}\n\n.monaco-editor .suggest-details p code {\n\tfont-family: var(--monaco-monospace-font);\n}\n",""]);const l=r},1029:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .codicon.codicon-symbol-array,\n.monaco-workbench .codicon.codicon-symbol-array { color: var(--vscode-symbolIcon-arrayForeground); }\n.monaco-editor .codicon.codicon-symbol-boolean,\n.monaco-workbench .codicon.codicon-symbol-boolean { color: var(--vscode-symbolIcon-booleanForeground); }\n.monaco-editor .codicon.codicon-symbol-class,\n.monaco-workbench .codicon.codicon-symbol-class { color: var(--vscode-symbolIcon-classForeground); }\n.monaco-editor .codicon.codicon-symbol-method,\n.monaco-workbench .codicon.codicon-symbol-method { color: var(--vscode-symbolIcon-methodForeground); }\n.monaco-editor .codicon.codicon-symbol-color,\n.monaco-workbench .codicon.codicon-symbol-color { color: var(--vscode-symbolIcon-colorForeground); }\n.monaco-editor .codicon.codicon-symbol-constant,\n.monaco-workbench .codicon.codicon-symbol-constant { color: var(--vscode-symbolIcon-constantForeground); }\n.monaco-editor .codicon.codicon-symbol-constructor,\n.monaco-workbench .codicon.codicon-symbol-constructor { color: var(--vscode-symbolIcon-constructorForeground); }\n.monaco-editor .codicon.codicon-symbol-value,\n.monaco-workbench .codicon.codicon-symbol-value,\n.monaco-editor .codicon.codicon-symbol-enum,\n.monaco-workbench .codicon.codicon-symbol-enum { color: var(--vscode-symbolIcon-enumeratorForeground); }\n.monaco-editor .codicon.codicon-symbol-enum-member,\n.monaco-workbench .codicon.codicon-symbol-enum-member { color: var(--vscode-symbolIcon-enumeratorMemberForeground); }\n.monaco-editor .codicon.codicon-symbol-event,\n.monaco-workbench .codicon.codicon-symbol-event { color: var(--vscode-symbolIcon-eventForeground); }\n.monaco-editor .codicon.codicon-symbol-field,\n.monaco-workbench .codicon.codicon-symbol-field { color: var(--vscode-symbolIcon-fieldForeground); }\n.monaco-editor .codicon.codicon-symbol-file,\n.monaco-workbench .codicon.codicon-symbol-file { color: var(--vscode-symbolIcon-fileForeground); }\n.monaco-editor .codicon.codicon-symbol-folder,\n.monaco-workbench .codicon.codicon-symbol-folder { color: var(--vscode-symbolIcon-folderForeground); }\n.monaco-editor .codicon.codicon-symbol-function,\n.monaco-workbench .codicon.codicon-symbol-function { color: var(--vscode-symbolIcon-functionForeground); }\n.monaco-editor .codicon.codicon-symbol-interface,\n.monaco-workbench .codicon.codicon-symbol-interface { color: var(--vscode-symbolIcon-interfaceForeground); }\n.monaco-editor .codicon.codicon-symbol-key,\n.monaco-workbench .codicon.codicon-symbol-key { color: var(--vscode-symbolIcon-keyForeground); }\n.monaco-editor .codicon.codicon-symbol-keyword,\n.monaco-workbench .codicon.codicon-symbol-keyword { color: var(--vscode-symbolIcon-keywordForeground); }\n.monaco-editor .codicon.codicon-symbol-module,\n.monaco-workbench .codicon.codicon-symbol-module { color: var(--vscode-symbolIcon-moduleForeground); }\n.monaco-editor .codicon.codicon-symbol-namespace,\n.monaco-workbench .codicon.codicon-symbol-namespace { color: var(--vscode-symbolIcon-namespaceForeground); }\n.monaco-editor .codicon.codicon-symbol-null,\n.monaco-workbench .codicon.codicon-symbol-null { color: var(--vscode-symbolIcon-nullForeground); }\n.monaco-editor .codicon.codicon-symbol-number,\n.monaco-workbench .codicon.codicon-symbol-number { color: var(--vscode-symbolIcon-numberForeground); }\n.monaco-editor .codicon.codicon-symbol-object,\n.monaco-workbench .codicon.codicon-symbol-object { color: var(--vscode-symbolIcon-objectForeground); }\n.monaco-editor .codicon.codicon-symbol-operator,\n.monaco-workbench .codicon.codicon-symbol-operator { color: var(--vscode-symbolIcon-operatorForeground); }\n.monaco-editor .codicon.codicon-symbol-package,\n.monaco-workbench .codicon.codicon-symbol-package { color: var(--vscode-symbolIcon-packageForeground); }\n.monaco-editor .codicon.codicon-symbol-property,\n.monaco-workbench .codicon.codicon-symbol-property { color: var(--vscode-symbolIcon-propertyForeground); }\n.monaco-editor .codicon.codicon-symbol-reference,\n.monaco-workbench .codicon.codicon-symbol-reference { color: var(--vscode-symbolIcon-referenceForeground); }\n.monaco-editor .codicon.codicon-symbol-snippet,\n.monaco-workbench .codicon.codicon-symbol-snippet { color: var(--vscode-symbolIcon-snippetForeground); }\n.monaco-editor .codicon.codicon-symbol-string,\n.monaco-workbench .codicon.codicon-symbol-string { color: var(--vscode-symbolIcon-stringForeground); }\n.monaco-editor .codicon.codicon-symbol-struct,\n.monaco-workbench .codicon.codicon-symbol-struct { color: var(--vscode-symbolIcon-structForeground); }\n.monaco-editor .codicon.codicon-symbol-text,\n.monaco-workbench .codicon.codicon-symbol-text { color: var(--vscode-symbolIcon-textForeground); }\n.monaco-editor .codicon.codicon-symbol-type-parameter,\n.monaco-workbench .codicon.codicon-symbol-type-parameter { color: var(--vscode-symbolIcon-typeParameterForeground); }\n.monaco-editor .codicon.codicon-symbol-unit,\n.monaco-workbench .codicon.codicon-symbol-unit { color: var(--vscode-symbolIcon-unitForeground); }\n.monaco-editor .codicon.codicon-symbol-variable,\n.monaco-workbench .codicon.codicon-symbol-variable { color: var(--vscode-symbolIcon-variableForeground); }\n",""]);const l=r},6065:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.editor-banner {\n\tbox-sizing: border-box;\n\tcursor: default;\n\twidth: 100%;\n\tfont-size: 12px;\n\tdisplay: flex;\n\toverflow: visible;\n\n\theight: 26px;\n\n\tbackground: var(--vscode-banner-background);\n}\n\n\n.editor-banner .icon-container {\n\tdisplay: flex;\n\tflex-shrink: 0;\n\talign-items: center;\n\tpadding: 0 6px 0 10px;\n}\n\n.editor-banner .icon-container.custom-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center center;\n\tbackground-size: 16px;\n\twidth: 16px;\n\tpadding: 0;\n\tmargin: 0 6px 0 10px;\n}\n\n.editor-banner .message-container {\n\tdisplay: flex;\n\talign-items: center;\n\tline-height: 26px;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.editor-banner .message-container p {\n\tmargin-block-start: 0;\n\tmargin-block-end: 0;\n}\n\n.editor-banner .message-actions-container {\n\tflex-grow: 1;\n\tflex-shrink: 0;\n\tline-height: 26px;\n\tmargin: 0 4px;\n}\n\n.editor-banner .message-actions-container a.monaco-button {\n\twidth: inherit;\n\tmargin: 2px 8px;\n\tpadding: 0px 12px;\n}\n\n.editor-banner .message-actions-container a {\n\tpadding: 3px;\n\tmargin-left: 12px;\n\ttext-decoration: underline;\n}\n\n.editor-banner .action-container {\n\tpadding: 0 10px 0 6px;\n}\n\n.editor-banner {\n\tbackground-color: var(--vscode-banner-background);\n}\n\n.editor-banner,\n.editor-banner .action-container .codicon,\n.editor-banner .message-actions-container .monaco-link {\n\tcolor: var(--vscode-banner-foreground);\n}\n\n.editor-banner .icon-container .codicon {\n\tcolor: var(--vscode-banner-iconForeground);\n}\n",""]);const l=r},8245:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .unicode-highlight {\n\tborder: 1px solid var(--vscode-editorUnicodeHighlight-border);\n\tbackground-color: var(--vscode-editorUnicodeHighlight-background);\n\tbox-sizing: border-box;\n}\n",""]);const l=r},9803:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .focused .selectionHighlight {\n\tbackground-color: var(--vscode-editor-selectionHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-selectionHighlightBorder);\n}\n.monaco-editor.hc-black .focused .selectionHighlight, .monaco-editor.hc-light .focused .selectionHighlight {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlight {\n\tbackground-color: var(--vscode-editor-wordHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightBorder);\n}\n.monaco-editor.hc-black .wordHighlight, .monaco-editor.hc-light .wordHighlight {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlightStrong {\n\tbackground-color: var(--vscode-editor-wordHighlightStrongBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightStrongBorder);\n}\n.monaco-editor.hc-black .wordHighlightStrong, .monaco-editor.hc-light .wordHighlightStrong {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlightText {\n\tbackground-color: var(--vscode-editor-wordHighlightTextBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightTextBorder);\n}\n.monaco-editor.hc-black .wordHighlightText, .monaco-editor.hc-light .wordHighlightText {\n\tborder-style: dotted;\n}\n",""]);const l=r},2889:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .zone-widget {\n\tposition: absolute;\n\tz-index: 10;\n}\n\n\n.monaco-editor .zone-widget .zone-widget-container {\n\tborder-top-style: solid;\n\tborder-bottom-style: solid;\n\tborder-top-width: 0;\n\tborder-bottom-width: 0;\n\tposition: relative;\n}\n",""]);const l=r},9337:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s),l=n(4417),a=n.n(l),d=new URL(n(7584),n.b),u=new URL(n(6060),n.b),c=r()(o()),h=a()(d),g=a()(u);c.push([e.id,`/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .iPadShowKeyboard {\n\twidth: 58px;\n\tmin-width: 0;\n\theight: 36px;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\tresize: none;\n\toverflow: hidden;\n\tbackground: url(${h}) center center no-repeat;\n\tborder: 4px solid #F6F6F6;\n\tborder-radius: 4px;\n}\n\n.monaco-editor.vs-dark .iPadShowKeyboard {\n\tbackground: url(${g}) center center no-repeat;\n\tborder: 4px solid #252526;\n}`,""]);const p=c},2931:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .tokens-inspect-widget {\n\tz-index: 50;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tpadding: 10px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-editor.hc-black .tokens-inspect-widget, .monaco-editor.hc-light .tokens-inspect-widget {\n\tborder-width: 2px;\n}\n\n.monaco-editor .tokens-inspect-widget .tokens-inspect-separator {\n\theight: 1px;\n\tborder: 0;\n\tbackground-color: var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token-length {\n\tfont-weight: normal;\n\tfont-size: 60%;\n\tfloat: right;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-metadata-table {\n\twidth: 100%;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-metadata-value {\n\tfont-family: var(--monaco-monospace-font);\n\ttext-align: right;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token-type {\n\tfont-family: var(--monaco-monospace-font);\n}\n",""]);const l=r},1446:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.quick-input-widget {\n\tfont-size: 13px;\n}\n\n.quick-input-widget .monaco-highlighted-label .highlight,\n.quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0066BF;\n}\n\n.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,\n.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {\n\tcolor: #9DDDFF;\n}\n\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0097fb;\n}\n\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight,\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #F38518;\n}\n\n.hc-light .quick-input-widget .monaco-highlighted-label .highlight,\n.hc-light .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0F4A85;\n}\n\n.monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: rgba(221, 221, 221, 0.4);\n\tborder: solid 1px rgba(204, 204, 204, 0.4);\n\tborder-bottom-color: rgba(187, 187, 187, 0.4);\n\tbox-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);\n\tcolor: #555;\n}\n\n.hc-black .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: transparent;\n\tborder: solid 1px rgb(111, 195, 223);\n\tbox-shadow: none;\n\tcolor: #fff;\n}\n\n.hc-light .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: transparent;\n\tborder: solid 1px #0F4A85;\n\tbox-shadow: none;\n\tcolor: #292929;\n}\n\n.vs-dark .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: rgba(128, 128, 128, 0.17);\n\tborder: solid 1px rgba(51, 51, 51, 0.6);\n\tborder-bottom-color: rgba(68, 68, 68, 0.6);\n\tbox-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);\n\tcolor: #ccc;\n}\n",""]);const l=r},3614:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n/* Default standalone editor fonts */\n.monaco-editor {\n\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {\n\tstroke-width: 1.2px;\n}\n\n.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\n.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\n.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {\n\tstroke-width: 1.2px;\n}\n\n.monaco-hover p {\n\tmargin: 0;\n}\n\n/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */\n.monaco-aria-container {\n\tposition: absolute !important;\n\ttop: 0; /* avoid being placed underneath a sibling element */\n\theight: 1px;\n\twidth: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tclip: rect(1px, 1px, 1px, 1px);\n\tclip-path: inset(50%);\n}\n\n.monaco-editor, .monaco-diff-editor .synthetic-focus,\n.monaco-editor, .monaco-diff-editor [tabindex="0"]:focus,\n.monaco-editor, .monaco-diff-editor [tabindex="-1"]:focus,\n.monaco-editor, .monaco-diff-editor button:focus,\n.monaco-editor, .monaco-diff-editor input[type=button]:focus,\n.monaco-editor, .monaco-diff-editor input[type=checkbox]:focus,\n.monaco-editor, .monaco-diff-editor input[type=search]:focus,\n.monaco-editor, .monaco-diff-editor input[type=text]:focus,\n.monaco-editor, .monaco-diff-editor select:focus,\n.monaco-editor, .monaco-diff-editor textarea:focus {\n\toutline-width: 1px;\n\toutline-style: solid;\n\toutline-offset: -1px;\n\toutline-color: var(--vscode-focusBorder);\n\topacity: 1\n}\n',""]);const l=r},6745:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.action-widget {\n\tfont-size: 13px;\n\tborder-radius: 0;\n\tmin-width: 160px;\n\tmax-width: 80vw;\n\tz-index: 40;\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid var(--vscode-editorWidget-border) !important;\n\tborder-radius: 2px;\n\tbackground-color: var(--vscode-editorWidget-background);\n\tcolor: var(--vscode-editorWidget-foreground);\n}\n\n.context-view-block {\n\tposition: fixed;\n\tcursor: initial;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: -1;\n}\n\n.context-view-pointerBlock {\n\tposition: fixed;\n\tcursor: initial;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 2;\n}\n\n.action-widget .monaco-list {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tborder: none !important;\n\tborder-width: 0 !important;\n}\n\n.action-widget .monaco-list:focus:before {\n\toutline: 0 !important;\n}\n\n.action-widget .monaco-list .monaco-scrollable-element {\n\toverflow: visible;\n}\n\n/** Styles for each row in the list element **/\n.action-widget .monaco-list .monaco-list-row {\n\tpadding: 0 10px;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttouch-action: none;\n\twidth: 100%;\n}\n\n.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {\n\tbackground-color: var(--vscode-quickInputList-focusBackground) !important;\n\tcolor: var(--vscode-quickInputList-focusForeground);\n\toutline: 1px solid var(--vscode-menu-selectionBorder, transparent);\n\toutline-offset: -1px;\n}\n\n.action-widget .monaco-list-row.group-header {\n\tcolor: var(--vscode-descriptionForeground) !important;\n\tfont-weight: 600;\n}\n\n.action-widget .monaco-list .group-header,\n.action-widget .monaco-list .option-disabled,\n.action-widget .monaco-list .option-disabled:before,\n.action-widget .monaco-list .option-disabled .focused,\n.action-widget .monaco-list .option-disabled .focused:before {\n\tcursor: default !important;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\tuser-select: none;\n\tbackground-color: transparent !important;\n\toutline: 0 solid !important;\n}\n\n.action-widget .monaco-list-row.action {\n\tdisplay: flex;\n\tgap: 6px;\n\talign-items: center;\n}\n\n.action-widget .monaco-list-row.action.option-disabled,\n.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,\n.action-widget .monaco-list-row.action.option-disabled .codicon,\n.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n\n.action-widget .monaco-list-row.action:not(.option-disabled) .codicon {\n\tcolor: inherit;\n}\n\n.action-widget .monaco-list-row.action .title {\n\tflex: 1;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.action-widget .monaco-list-row.action .monaco-keybinding > .monaco-keybinding-key {\n\t\tbackground-color: var(--vscode-keybindingLabel-background);\n\t\tcolor: var(--vscode-keybindingLabel-foreground);\n\t\tborder-style: solid;\n\t\tborder-width: 1px;\n\t\tborder-radius: 3px;\n\t\tborder-color: var(--vscode-keybindingLabel-border);\n\t\tborder-bottom-color: var(--vscode-keybindingLabel-bottomBorder);\n\t\tbox-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);\n}\n\n/* Action bar */\n\n.action-widget .action-widget-action-bar {\n\tbackground-color: var(--vscode-editorHoverWidget-statusBarBackground);\n\tborder-top: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.action-widget .action-widget-action-bar::before {\n\tdisplay: block;\n\tcontent: "";\n\twidth: 100%;\n}\n\n.action-widget .action-widget-action-bar .actions-container {\n\tpadding: 0 8px;\n}\n\n.action-widget-action-bar .action-label {\n\tcolor: var(--vscode-textLink-activeForeground);\n\tfont-size: 12px;\n\tline-height: 22px;\n\tpadding: 0;\n\tpointer-events: all;\n}\n\n.action-widget-action-bar .action-item {\n\tmargin-right: 16px;\n\tpointer-events: none;\n}\n\n.action-widget-action-bar .action-label:hover {\n\tbackground-color: transparent !important;\n}\n\n.monaco-action-bar .actions-container.highlight-toggled .action-label.checked {\n\t/* The important gives this rule precedence over the hover rule. */\n\tbackground: var(--vscode-actionBar-toggledBackground) !important;\n}\n',""]);const l=r},9055:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-action-bar .action-item.menu-entry .action-label.icon {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 50%;\n\tbackground-size: 16px;\n}\n\n.monaco-dropdown-with-default {\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tborder-radius: 5px;\n}\n\n.monaco-dropdown-with-default > .action-container > .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 50%;\n\tbackground-size: 16px;\n}\n\n.monaco-dropdown-with-default:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground);\n}\n\n.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {\n\tfont-size: 12px;\n\tpadding-left: 0px;\n\tpadding-right: 0px;\n\tline-height: 16px;\n\tmargin-left: -3px;\n}\n\n.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {\n\tdisplay: block;\n\tbackground-size: 16px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n}\n",""]);const l=r},4646:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-link {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-link:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n",""]);const l=r},7492:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.quick-input-widget {\n\tposition: absolute;\n\twidth: 600px;\n\tz-index: 2550;\n\tleft: 50%;\n\tmargin-left: -300px;\n\t-webkit-app-region: no-drag;\n\tborder-radius: 6px;\n}\n\n.quick-input-titlebar {\n\tdisplay: flex;\n\talign-items: center;\n\tborder-radius: inherit;\n}\n\n.quick-input-left-action-bar {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\tflex: 1;\n}\n\n.quick-input-title {\n\tpadding: 3px 0px;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.quick-input-right-action-bar {\n\tdisplay: flex;\n\tmargin-right: 4px;\n\tflex: 1;\n}\n\n.quick-input-right-action-bar > .actions-container {\n\tjustify-content: flex-end;\n}\n\n.quick-input-titlebar .monaco-action-bar .action-label.codicon {\n\tbackground-position: center;\n\tbackground-repeat: no-repeat;\n\tpadding: 2px;\n}\n\n.quick-input-description {\n\tmargin: 6px 6px 6px 11px;\n}\n\n.quick-input-header .quick-input-description {\n\tmargin: 4px 2px;\n\tflex: 1;\n}\n\n.quick-input-header {\n\tdisplay: flex;\n\tpadding: 8px 6px 2px 6px;\n}\n\n.quick-input-widget.hidden-input .quick-input-header {\n\t/* reduce margins and paddings when input box hidden */\n\tpadding: 0;\n\tmargin-bottom: 0;\n}\n\n.quick-input-and-message {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tmin-width: 0;\n\tposition: relative;\n}\n\n.quick-input-check-all {\n\talign-self: center;\n\tmargin: 0;\n}\n\n.quick-input-filter {\n\tflex-grow: 1;\n\tdisplay: flex;\n\tposition: relative;\n}\n\n.quick-input-box {\n\tflex-grow: 1;\n}\n\n.quick-input-widget.show-checkboxes .quick-input-box,\n.quick-input-widget.show-checkboxes .quick-input-message {\n\tmargin-left: 5px;\n}\n\n.quick-input-visible-count {\n\tposition: absolute;\n\tleft: -10000px;\n}\n\n.quick-input-count {\n\talign-self: center;\n\tposition: absolute;\n\tright: 4px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-count .monaco-count-badge {\n\tvertical-align: middle;\n\tpadding: 2px 4px;\n\tborder-radius: 2px;\n\tmin-height: auto;\n\tline-height: normal;\n}\n\n.quick-input-action {\n\tmargin-left: 6px;\n}\n\n.quick-input-action .monaco-text-button {\n\tfont-size: 11px;\n\tpadding: 0 6px;\n\tdisplay: flex;\n\theight: 25px;\n\talign-items: center;\n}\n\n.quick-input-message {\n\tmargin-top: -1px;\n\tpadding: 5px;\n\toverflow-wrap: break-word;\n}\n\n.quick-input-message > .codicon {\n\tmargin: 0 0.2em;\n\tvertical-align: text-bottom;\n}\n\n/* Links in descriptions & validations */\n.quick-input-message a {\n\tcolor: inherit;\n}\n\n.quick-input-progress.monaco-progress-container {\n\tposition: relative;\n}\n\n.quick-input-list {\n\tline-height: 22px;\n}\n\n.quick-input-widget.hidden-input .quick-input-list {\n\tmargin-top: 4px; /* reduce margins when input box hidden */\n\tpadding-bottom: 4px;\n}\n\n.quick-input-list .monaco-list {\n\toverflow: hidden;\n\tmax-height: calc(20 * 22px);\n\tpadding-bottom: 5px;\n}\n\n.quick-input-list .monaco-scrollable-element {\n\tpadding: 0px 5px;\n}\n\n.quick-input-list .quick-input-list-entry {\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\tdisplay: flex;\n\theight: 100%;\n\tpadding: 0 6px;\n}\n\n.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {\n\tborder-top-width: 1px;\n\tborder-top-style: solid;\n}\n\n.quick-input-list .monaco-list-row {\n\tborder-radius: 3px;\n}\n\n.quick-input-list .monaco-list-row[data-index=\"0\"] .quick-input-list-entry.quick-input-list-separator-border {\n\tborder-top-style: none;\n}\n\n.quick-input-list .quick-input-list-label {\n\toverflow: hidden;\n\tdisplay: flex;\n\theight: 100%;\n\tflex: 1;\n}\n\n.quick-input-list .quick-input-list-checkbox {\n\talign-self: center;\n\tmargin: 0;\n}\n\n.quick-input-list .quick-input-list-icon {\n\tbackground-size: 16px;\n\tbackground-position: left center;\n\tbackground-repeat: no-repeat;\n\tpadding-right: 6px;\n\twidth: 16px;\n\theight: 22px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.quick-input-list .quick-input-list-rows {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tflex: 1;\n\tmargin-left: 5px;\n}\n\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {\n\tmargin-left: 10px;\n}\n\n.quick-input-widget .quick-input-list .quick-input-list-checkbox {\n\tdisplay: none;\n}\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {\n\tdisplay: inline;\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {\n\tflex: 1; /* make sure the icon label grows within the row */\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {\n\tvertical-align: text-bottom;\n}\n\n.quick-input-list .quick-input-list-rows .monaco-highlighted-label > span {\n\topacity: 1;\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {\n\tmargin-right: 8px; /* separate from the separator label or scrollbar if any */\n}\n\n.quick-input-list .quick-input-list-label-meta {\n\topacity: 0.7;\n\tline-height: normal;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n/* preserve list-like styling instead of tree-like styling */\n.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight {\n\tfont-weight: bold;\n\tbackground-color: unset;\n\tcolor: var(--vscode-list-highlightForeground) !important;\n}\n\n/* preserve list-like styling instead of tree-like styling */\n.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-list-focusHighlightForeground) !important;\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-separator {\n\tmargin-right: 4px; /* separate from keybindings or actions */\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tdisplay: flex;\n\tflex: 0;\n\toverflow: visible;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar .action-label {\n\t/*\n\t * By default, actions in the quick input action bar are hidden\n\t * until hovered over them or selected.\n\t */\n\tdisplay: none;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {\n\tmargin-right: 4px;\n\tpadding: 0px 2px 2px 2px;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tmargin-top: 1px;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tmargin-right: 4px; /* separate from scrollbar */\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,\n.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,\n.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,\n.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label {\n\tdisplay: flex;\n}\n\n/* focused items in quick pick */\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {\n\tcolor: inherit\n}\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {\n\tbackground: none;\n}\n\n.quick-input-list .quick-input-list-separator-as-item {\n\tpadding: 4px 6px;\n\tfont-size: 12px;\n}\n\n/* Quick input separators as full-row item */\n.quick-input-list .quick-input-list-separator-as-item .label-name {\n\tfont-weight: 600;\n}\n\n.quick-input-list .quick-input-list-separator-as-item .label-description {\n\t/* Override default description opacity so we don't have a contrast ratio issue. */\n\topacity: 1 !important;\n}\n\n/* Hide border when the item becomes the sticky one */\n.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border {\n\tborder-top-style: none;\n}\n\n/* Give sticky row the same padding as the scrollable list */\n.quick-input-list .monaco-tree-sticky-row {\n\tpadding: 0 5px;\n}\n\n/* Hide the twistie containers so that there isn't blank indent */\n.quick-input-list .monaco-tl-twistie {\n\tdisplay: none !important;\n}\n",""]);const l=r},3774:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .zone-widget .codicon.codicon-error,\n.markers-panel .marker-icon.error, .markers-panel .marker-icon .codicon.codicon-error,\n.text-search-provider-messages .providerMessage .codicon.codicon-error,\n.extensions-viewlet > .extensions .codicon.codicon-error,\n.extension-editor .codicon.codicon-error,\n.preferences-editor .codicon.codicon-error {\n\tcolor: var(--vscode-problemsErrorIcon-foreground);\n}\n\n.monaco-editor .zone-widget .codicon.codicon-warning,\n.markers-panel .marker-icon.warning, .markers-panel .marker-icon .codicon.codicon-warning,\n.text-search-provider-messages .providerMessage .codicon.codicon-warning,\n.extensions-viewlet > .extensions .codicon.codicon-warning,\n.extension-editor .codicon.codicon-warning,\n.preferences-editor .codicon.codicon-warning {\n\tcolor: var(--vscode-problemsWarningIcon-foreground);\n}\n\n.monaco-editor .zone-widget .codicon.codicon-info,\n.markers-panel .marker-icon.info, .markers-panel .marker-icon .codicon.codicon-info,\n.text-search-provider-messages .providerMessage .codicon.codicon-info,\n.extensions-viewlet > .extensions .codicon.codicon-info,\n.extension-editor .codicon.codicon-info,\n.preferences-editor .codicon.codicon-info {\n\tcolor: var(--vscode-problemsInfoIcon-foreground);\n}\n",""]);const l=r},7931:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(1601),o=n.n(i),s=n(6314),r=n.n(s)()(o());r.push([e.id,".notie-container{font-size:1.6rem;height:auto;left:0;position:fixed;text-align:center;width:100%;z-index:2;box-sizing:border-box;-o-box-shadow:0 0 5px 0 rgba(0,0,0,.5);-ms-box-shadow:0 0 5px 0 rgba(0,0,0,.5);box-shadow:0 0 5px 0 rgba(0,0,0,.5)}@media screen and (max-width:900px){.notie-container{font-size:1.4rem}}@media screen and (max-width:750px){.notie-container{font-size:1.2rem}}@media screen and (max-width:400px){.notie-container{font-size:1rem}}.notie-background-success{background-color:#57bf57}.notie-background-warning{background-color:#d6a14d}.notie-background-error{background-color:#e1715b}.notie-background-info{background-color:#4d82d6}.notie-background-neutral{background-color:#a0a0a0}.notie-background-overlay{background-color:#fff}.notie-textbox{color:#fff;padding:20px}.notie-textbox-inner{margin:0 auto;max-width:900px}.notie-overlay{height:100%;left:0;opacity:0;position:fixed;top:0;width:100%;z-index:1}.notie-button{cursor:pointer}.notie-button,.notie-element{color:#fff;padding:10px}.notie-element-half{width:50%}.notie-element-half,.notie-element-third{display:inline-block;box-sizing:border-box}.notie-element-third{width:33.3333%}.notie-alert{cursor:pointer}.notie-input-field{background-color:#fff;border:0;font-family:inherit;font-size:inherit;outline:0;padding:10px;text-align:center;width:100%;box-sizing:border-box}.notie-select-choice-repeated{border-bottom:1px solid hsla(0,0%,100%,.2);box-sizing:border-box}.notie-date-selector-inner{margin:0 auto;max-width:900px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.notie-date-selector-inner [contenteditable],.notie-date-selector-inner [contenteditable]:focus{outline:0 solid transparent}.notie-date-selector-up{transform:rotate(180deg)}",""]);const l=r},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,i,o,s){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(i)for(var l=0;l0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=s),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},4417:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},1601:e=>{"use strict";e.exports=function(e){return e[1]}},6557:(e,t,n)=>{"use strict";n.r(t),n.d(t,{CancellationTokenSource:()=>Ore,Emitter:()=>Fre,KeyCode:()=>Bre,KeyMod:()=>Wre,MarkerSeverity:()=>Kre,MarkerTag:()=>jre,Position:()=>Vre,Range:()=>Hre,Selection:()=>zre,SelectionDirection:()=>Ure,Token:()=>$re,Uri:()=>qre,default:()=>ele,editor:()=>Gre,languages:()=>Zre});var i={};n.r(i),n.d(i,{CancellationTokenSource:()=>Ore,Emitter:()=>Fre,KeyCode:()=>Bre,KeyMod:()=>Wre,MarkerSeverity:()=>Kre,MarkerTag:()=>jre,Position:()=>Vre,Range:()=>Hre,Selection:()=>zre,SelectionDirection:()=>Ure,Token:()=>$re,Uri:()=>qre,editor:()=>Gre,languages:()=>Zre});const o=window;class s{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){var t;return null!==(t=this.mapWindowIdToZoomFactor.get(this.getWindowId(e)))&&void 0!==t?t:1}getWindowId(e){return e.vscodeWindowId}}function r(e,t,n){"string"==typeof t&&(t=e.matchMedia(t)),t.addEventListener("change",n)}s.INSTANCE=new s;const l=navigator.userAgent,a=l.indexOf("Firefox")>=0,d=l.indexOf("AppleWebKit")>=0,u=l.indexOf("Chrome")>=0,c=!u&&l.indexOf("Safari")>=0,h=!u&&!c&&d,g=(l.indexOf("Electron/"),l.indexOf("Android")>=0);let p=!1;if("function"==typeof o.matchMedia){const e=o.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=o.matchMedia("(display-mode: fullscreen)");p=e.matches,r(o,e,(({matches:e})=>{p&&t.matches||(p=e)}))}let m="undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function f(e,t){let n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,n)=>{const i=n[0],o=t[i];let s=e;return"string"==typeof o?s=o:"number"!=typeof o&&"boolean"!=typeof o&&null!=o||(s=String(o)),s})),m&&(n="["+n.replace(/[aouei]/g,"$&$&")+"]"),n}function _(e,t,...n){return f(t,n)}function v(e,t,...n){const i=f(t,n);return{value:i,original:i}}var b,w;const C="en";let y,S,x=!1,k=!1,L=!1,D=!1,N=!1,E=!1,I=!1,M=!1,T=!1,A=!1,R=C,P=null,O=null;const F=globalThis;let B;void 0!==F.vscode&&void 0!==F.vscode.process?B=F.vscode.process:"undefined"!=typeof process&&"string"==typeof(null===(b=null===process||void 0===process?void 0:process.versions)||void 0===b?void 0:b.node)&&(B=process);const W="string"==typeof(null===(w=null==B?void 0:B.versions)||void 0===w?void 0:w.electron),V=W&&"renderer"===(null==B?void 0:B.type);if("object"==typeof B){x="win32"===B.platform,k="darwin"===B.platform,L="linux"===B.platform,D=L&&!!B.env.SNAP&&!!B.env.SNAP_REVISION,I=W,T=!!B.env.CI||!!B.env.BUILD_ARTIFACTSTAGINGDIRECTORY,y=C,R=C;const e=B.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e),n=t.availableLanguages["*"];y=t.locale,P=t.osLocale,R=n||C,O=t._translationsConfigFile}catch(e){}N=!0}else"object"!=typeof navigator||V?console.error("Unable to resolve platform."):(S=navigator.userAgent,x=S.indexOf("Windows")>=0,k=S.indexOf("Macintosh")>=0,M=(S.indexOf("Macintosh")>=0||S.indexOf("iPad")>=0||S.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,L=S.indexOf("Linux")>=0,A=(null==S?void 0:S.indexOf("Mobi"))>=0,E=!0,y=void _(0,"_")||C,R=y,P=navigator.language);let H=0;k?H=1:x?H=3:L&&(H=2);const z=x,U=k,K=L,j=N,q=E,$=E&&"function"==typeof F.importScripts?F.origin:void 0,G=M,Z=A,Y=S,X=R,Q="function"==typeof F.postMessage&&!F.importScripts,J=(()=>{if(Q){const e=[];F.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,i=e.length;n{const i=++t;e.push({id:i,callback:n}),F.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})(),ee=k||M?2:x?1:3;let te=!0,ne=!1;function ie(){if(!ne){ne=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);te=513===t[0]}return te}const oe=!!(Y&&Y.indexOf("Chrome")>=0),se=!!(Y&&Y.indexOf("Firefox")>=0),re=!!(!oe&&Y&&Y.indexOf("Safari")>=0),le=!!(Y&&Y.indexOf("Edg/")>=0),ae=!!(Y&&Y.indexOf("Android")>=0),de=(j||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator.clipboard.writeText,j||navigator&&navigator.clipboard&&navigator.clipboard.readText,j||p||navigator.keyboard,"ontouchstart"in o||navigator.maxTouchPoints,o.PointerEvent&&("ontouchstart"in o||navigator.maxTouchPoints>0));class ue{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const ce=new ue,he=new ue,ge=new ue,pe=new Array(230),me={},fe=[],_e=Object.create(null),ve=Object.create(null),be=[],we=[];for(let e=0;e<=193;e++)be[e]=-1;for(let e=0;e<=132;e++)we[e]=-1;var Ce;function ye(e,t){return(e|(65535&t)<<16>>>0)>>>0}!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],n=[],i=[];for(const e of t){const[t,o,s,r,l,a,d,u,c]=e;if(i[o]||(i[o]=!0,fe[o]=s,_e[s]=o,ve[s.toLowerCase()]=o,t&&(be[o]=r,0!==r&&3!==r&&5!==r&&4!==r&&6!==r&&57!==r&&(we[r]=o))),!n[r]){if(n[r]=!0,!l)throw new Error(`String representation missing for key code ${r} around scan code ${s}`);ce.define(r,l),he.define(r,u||l),ge.define(r,c||u||l)}a&&(pe[a]=r),d&&(me[d]=r)}we[3]=46}(),function(e){e.toString=function(e){return ce.keyCodeToStr(e)},e.fromString=function(e){return ce.strToKeyCode(e)},e.toUserSettingsUS=function(e){return he.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return ge.keyCodeToStr(e)},e.fromUserSettings=function(e){return he.strToKeyCode(e)||ge.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return ce.keyCodeToStr(e)}}(Ce||(Ce={}));const Se=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(Ae.isErrorNoTelemetry(e))throw new Ae(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function xe(e){Ne(e)||Se.onUnexpectedError(e)}function ke(e){Ne(e)||Se.onUnexpectedExternalError(e)}function Le(e){if(e instanceof Error){const{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:Ae.isErrorNoTelemetry(e)}}return e}const De="Canceled";function Ne(e){return e instanceof Ee||e instanceof Error&&e.name===De&&e.message===De}class Ee extends Error{constructor(){super(De),this.name=this.message}}function Ie(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function Me(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class Te extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class Ae extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof Ae)return e;const t=new Ae;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class Re extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Re.prototype)}}function Pe(e,t){if("number"==typeof e){if(0===e)return null;const n=(65535&e)>>>0,i=(4294901760&e)>>>16;return new Be(0!==i?[Oe(n,t),Oe(i,t)]:[Oe(n,t)])}{const n=[];for(let i=0;i=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){for(const n of e)if(t(n))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const i of e)yield t(i,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let i=n;for(const n of e)i=t(i,n);return i},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);to}]},e.asyncToArray=async function(e){const t=[];for await(const n of e)t.push(n);return Promise.resolve(t)}}(Ye||(Ye={}));let Xe=null;function Qe(e){return null==Xe||Xe.trackDisposable(e),e}function Je(e){null==Xe||Xe.markAsDisposed(e)}function et(e,t){null==Xe||Xe.setParent(e,t)}function tt(e){return null==Xe||Xe.markAsSingleton(e),e}function nt(e){return"function"==typeof e.dispose&&0===e.dispose.length}function it(e){if(Ye.is(e)){const t=[];for(const n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function ot(...e){const t=st((()=>it(e)));return function(e,t){if(Xe)for(const n of e)Xe.setParent(n,t)}(e,t),t}function st(e){const t=Qe({dispose:Ze((()=>{Je(t),e()}))});return t}class rt{constructor(){this._toDispose=new Set,this._isDisposed=!1,Qe(this)}dispose(){this._isDisposed||(Je(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{it(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return et(e,this),this._isDisposed?rt.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),et(e,null))}}rt.DISABLE_DISPOSED_WARNING=!1;class lt{constructor(){this._store=new rt,Qe(this),et(this._store,this)}dispose(){Je(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}lt.None=Object.freeze({dispose(){}});class at{constructor(){this._isDisposed=!1,Qe(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||(null===(t=this._value)||void 0===t||t.dispose(),e&&et(e,this),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,Je(this),null===(e=this._value)||void 0===e||e.dispose(),this._value=void 0}}class dt{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class ut{constructor(e){this.object=e}dispose(){}}class ct{constructor(){this._store=new Map,this._isDisposed=!1,Qe(this)}dispose(){Je(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{it(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){var i;this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||null===(i=this._store.get(e))||void 0===i||i.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;null===(t=this._store.get(e))||void 0===t||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}class ht{constructor(e){this.element=e,this.next=ht.Undefined,this.prev=ht.Undefined}}ht.Undefined=new ht(void 0);class gt{constructor(){this._first=ht.Undefined,this._last=ht.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===ht.Undefined}clear(){let e=this._first;for(;e!==ht.Undefined;){const t=e.next;e.prev=ht.Undefined,e.next=ht.Undefined,e=t}this._first=ht.Undefined,this._last=ht.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new ht(e);if(this._first===ht.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(n))}}shift(){if(this._first!==ht.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==ht.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==ht.Undefined&&e.next!==ht.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===ht.Undefined&&e.next===ht.Undefined?(this._first=ht.Undefined,this._last=ht.Undefined):e.next===ht.Undefined?(this._last=this._last.prev,this._last.next=ht.Undefined):e.prev===ht.Undefined&&(this._first=this._first.next,this._first.prev=ht.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==ht.Undefined;)yield e.element,e=e.next}}const pt=globalThis.performance&&"function"==typeof globalThis.performance.now;class mt{static create(e){return new mt(e)}constructor(e){this._now=pt&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var ft;!function(e){function t(e){return(t,n=null,i)=>{let o,s=!1;return o=e((e=>{if(!s)return o?o.dispose():s=!0,t.call(n,e)}),null,i),s&&o.dispose(),o}}function n(e,t,n){return o(((n,i=null,o)=>e((e=>n.call(i,t(e))),null,o)),n)}function i(e,t,n){return o(((n,i=null,o)=>e((e=>t(e)&&n.call(i,e)),null,o)),n)}function o(e,t){let n;const i=new Ct({onWillAddFirstListener(){n=e(i.fire,i)},onDidRemoveLastListener(){null==n||n.dispose()}});return null==t||t.add(i),i.event}function s(e,t,n=100,i=!1,o=!1,s,r){let l,a,d,u,c=0;const h=new Ct({leakWarningThreshold:s,onWillAddFirstListener(){l=e((e=>{c++,a=t(a,e),i&&!d&&(h.fire(a),a=void 0),u=()=>{const e=a;a=void 0,d=void 0,(!i||c>1)&&h.fire(e),c=0},"number"==typeof n?(clearTimeout(d),d=setTimeout(u,n)):void 0===d&&(d=0,queueMicrotask(u))}))},onWillRemoveListener(){o&&c>0&&(null==u||u())},onDidRemoveLastListener(){u=void 0,l.dispose()}});return null==r||r.add(h),h.event}e.None=()=>lt.None,e.defer=function(e,t){return s(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=t,e.map=n,e.forEach=function(e,t,n){return o(((n,i=null,o)=>e((e=>{t(e),n.call(i,e)}),null,o)),n)},e.filter=i,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,i)=>{return o=ot(...e.map((e=>e((e=>t.call(n,e)))))),(s=i)instanceof Array?s.push(o):s&&s.add(o),o;var o,s}},e.reduce=function(e,t,i,o){let s=i;return n(e,(e=>(s=t(s,e),s)),o)},e.debounce=s,e.accumulate=function(t,n=0,i){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),n,void 0,!0,void 0,i)},e.latch=function(e,t=((e,t)=>e===t),n){let o,s=!0;return i(e,(e=>{const n=s||!t(e,o);return s=!1,o=e,n}),n)},e.split=function(t,n,i){return[e.filter(t,n,i),e.filter(t,(e=>!n(e)),i)]},e.buffer=function(e,t=!1,n=[],i){let o=n.slice(),s=e((e=>{o?o.push(e):l.fire(e)}));i&&i.add(s);const r=()=>{null==o||o.forEach((e=>l.fire(e))),o=null},l=new Ct({onWillAddFirstListener(){s||(s=e((e=>l.fire(e))),i&&i.add(s))},onDidAddFirstListener(){o&&(t?setTimeout(r):r())},onDidRemoveLastListener(){s&&s.dispose(),s=null}});return i&&i.add(l),l.event},e.chain=function(e,t){return(n,i,o)=>{const s=t(new l);return e((function(e){const t=s.evaluate(e);t!==r&&n.call(i,t)}),void 0,o)}};const r=Symbol("HaltChainable");class l{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:r)),this}reduce(e,t){let n=t;return this.steps.push((t=>(n=e(n,t),n))),this}latch(e=((e,t)=>e===t)){let t,n=!0;return this.steps.push((i=>{const o=n||!e(i,t);return n=!1,t=i,o?i:r})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===r)break;return e}}e.fromNodeEventEmitter=function(e,t,n=(e=>e)){const i=(...e)=>o.fire(n(...e)),o=new Ct({onWillAddFirstListener:()=>e.on(t,i),onDidRemoveLastListener:()=>e.removeListener(t,i)});return o.event},e.fromDOMEventEmitter=function(e,t,n=(e=>e)){const i=(...e)=>o.fire(n(...e)),o=new Ct({onWillAddFirstListener:()=>e.addEventListener(t,i),onDidRemoveLastListener:()=>e.removeEventListener(t,i)});return o.event},e.toPromise=function(e){return new Promise((n=>t(e)(n)))},e.fromPromise=function(e){const t=new Ct;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.runAndSubscribe=function(e,t,n){return t(n),e((e=>t(e)))};class a{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;const n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new Ct(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new a(e,t).emitter.event},e.fromObservableLight=function(e){return(t,n,i)=>{let o=0,s=!1;const r={beginUpdate(){o++},endUpdate(){o--,0===o&&(e.reportChanges(),s&&(s=!1,t.call(n)))},handlePossibleChange(){},handleChange(){s=!0}};e.addObserver(r),e.reportChanges();const l={dispose(){e.removeObserver(r)}};return i instanceof rt?i.add(l):Array.isArray(i)&&i.push(l),l}}}(ft||(ft={}));class _t{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${_t._idPool++}`,_t.all.add(this)}start(e){this._stopWatch=new mt,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}_t.all=new Set,_t._idPool=0;class vt{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;null===(e=this._stacks)||void 0===e||e.clear()}check(e,t){const n=this.threshold;if(n<=0||t{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}}class bt{static create(){var e;return new bt(null!==(e=(new Error).stack)&&void 0!==e?e:"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class wt{constructor(e){this.value=e}}class Ct{constructor(e){var t,n,i,o,s;this._size=0,this._options=e,this._leakageMon=(null===(t=this._options)||void 0===t?void 0:t.leakWarningThreshold)?new vt(null!==(i=null===(n=this._options)||void 0===n?void 0:n.leakWarningThreshold)&&void 0!==i?i:-1):void 0,this._perfMon=(null===(o=this._options)||void 0===o?void 0:o._profName)?new _t(this._options._profName):void 0,this._deliveryQueue=null===(s=this._options)||void 0===s?void 0:s.deliveryQueue}dispose(){var e,t,n,i;this._disposed||(this._disposed=!0,(null===(e=this._deliveryQueue)||void 0===e?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(n=null===(t=this._options)||void 0===t?void 0:t.onDidRemoveLastListener)||void 0===n||n.call(t),null===(i=this._leakageMon)||void 0===i||i.dispose())}get event(){var e;return null!==(e=this._event)&&void 0!==e||(this._event=(e,t,n)=>{var i,o,s,r,l;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),lt.None;if(this._disposed)return lt.None;t&&(e=e.bind(t));const a=new wt(e);let d;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(a.stack=bt.create(),d=this._leakageMon.check(a.stack,this._size+1)),this._listeners?this._listeners instanceof wt?(null!==(l=this._deliveryQueue)&&void 0!==l||(this._deliveryQueue=new yt),this._listeners=[this._listeners,a]):this._listeners.push(a):(null===(o=null===(i=this._options)||void 0===i?void 0:i.onWillAddFirstListener)||void 0===o||o.call(i,this),this._listeners=a,null===(r=null===(s=this._options)||void 0===s?void 0:s.onDidAddFirstListener)||void 0===r||r.call(s,this)),this._size++;const u=st((()=>{null==d||d(),this._removeListener(a)}));return n instanceof rt?n.add(u):Array.isArray(n)&&n.push(u),u}),this._event}_removeListener(e){var t,n,i,o;if(null===(n=null===(t=this._options)||void 0===t?void 0:t.onWillRemoveListener)||void 0===n||n.call(t,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(o=null===(i=this._options)||void 0===i?void 0:i.onDidRemoveLastListener)||void 0===o||o.call(i,this),void(this._size=0);const s=this._listeners,r=s.indexOf(e);if(-1===r)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,s[r]=void 0;const l=this._deliveryQueue.current===this;if(2*this._size<=s.length){let e=0;for(let t=0;t0}}class yt{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class St extends Ct{constructor(e){super(e),this._isPaused=0,this._eventQueue=new gt,this._mergeFn=null==e?void 0:e.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}class xt extends St{constructor(e){var t;super(e),this._delay=null!==(t=e.delay)&&void 0!==t?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(e)}}class kt extends Ct{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=null==e?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((e=>super.fire(e))),this._queuedEvents=[]})))}}class Lt{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new Ct({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),st(Ze((()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((e=>this.hook(e)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((e=>this.unhook(e)))}hook(e){e.listener=e.event((e=>this.emitter.fire(e)))}unhook(e){var t;null===(t=e.listener)||void 0===t||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)null===(e=t.listener)||void 0===e||e.dispose();this.events=[]}}class Dt{constructor(){this.buffers=[]}wrapEvent(e){return(t,n,i)=>e((e=>{const i=this.buffers[this.buffers.length-1];i?i.push((()=>t.call(n,e))):t.call(n,e)}),void 0,i)}bufferEvents(e){const t=[];this.buffers.push(t);const n=e();return this.buffers.pop(),t.forEach((e=>e())),n}}class Nt{constructor(){this.listening=!1,this.inputEvent=ft.None,this.inputEventListener=lt.None,this.emitter=new Ct({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const Et=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var It;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof Mt||!(!t||"object"!=typeof t)&&"boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ft.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Et})}(It||(It={}));class Mt{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Et:(this._emitter||(this._emitter=new Ct),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Tt{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Mt),this._token}cancel(){this._token?this._token instanceof Mt&&this._token.cancel():this._token=It.Cancelled}dispose(e=!1){var t;e&&this.cancel(),null===(t=this._parentListener)||void 0===t||t.dispose(),this._token?this._token instanceof Mt&&this._token.dispose():this._token=It.None}}const At=Symbol("MicrotaskDelay");function Rt(e){return!!e&&"function"==typeof e.then}function Pt(e){const t=new Tt,n=e(t.token),i=new Promise(((e,i)=>{const o=t.token.onCancellationRequested((()=>{o.dispose(),i(new Ee)}));Promise.resolve(n).then((n=>{o.dispose(),t.dispose(),e(n)}),(e=>{o.dispose(),t.dispose(),i(e)}))}));return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return i.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return i.finally(e)}}}function Ot(e,t,n){return new Promise(((i,o)=>{const s=t.onCancellationRequested((()=>{s.dispose(),i(n)}));e.then(i,o).finally((()=>s.dispose()))}))}class Ft{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{if(this.queuedPromise=null,this.isDisposed)return;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise((t=>{this.activePromise.then(e,e).then(t)}))}return new Promise(((e,t)=>{this.queuedPromise.then(e,t)}))}return this.activePromise=e(),new Promise(((e,t)=>{this.activePromise.then((t=>{this.activePromise=null,e(t)}),(e=>{this.activePromise=null,t(e)}))}))}dispose(){this.isDisposed=!0}}class Bt{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((e,t)=>{this.doResolve=e,this.doReject=t})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}})));const n=()=>{var e;this.deferred=null,null===(e=this.doResolve)||void 0===e||e.call(this,null)};return this.deferred=t===At?(e=>{let t=!0;return queueMicrotask((()=>{t&&(t=!1,e())})),{isTriggered:()=>t,dispose:()=>{t=!1}}})(n):((e,t)=>{let n=!0;const i=setTimeout((()=>{n=!1,t()}),e);return{isTriggered:()=>n,dispose:()=>{clearTimeout(i),n=!1}}})(t,n),this.completionPromise}isTriggered(){var e;return!!(null===(e=this.deferred)||void 0===e?void 0:e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&(null===(e=this.doReject)||void 0===e||e.call(this,new Ee),this.completionPromise=null)}cancelTimeout(){var e;null===(e=this.deferred)||void 0===e||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class Wt{constructor(e){this.delayer=new Bt(e),this.throttler=new Ft}trigger(e,t){return this.delayer.trigger((()=>this.throttler.queue(e)),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function Vt(e,t){return t?new Promise(((n,i)=>{const o=setTimeout((()=>{s.dispose(),n()}),e),s=t.onCancellationRequested((()=>{clearTimeout(o),s.dispose(),i(new Ee)}))})):Pt((t=>Vt(e,t)))}function Ht(e,t=0,n){const i=setTimeout((()=>{e(),n&&o.dispose()}),t),o=st((()=>{clearTimeout(i),null==n||n.deleteAndLeak(o)}));return null==n||n.add(o),o}function zt(e,t=(e=>!!e),n=null){let i=0;const o=e.length,s=()=>{if(i>=o)return Promise.resolve(n);const r=e[i++];return Promise.resolve(r()).then((e=>t(e)?Promise.resolve(e):s()))};return s()}class Ut{constructor(e,t){this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout((()=>{this._token=-1,e()}),t)}setIfNotSet(e,t){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,e()}),t))}}class Kt{constructor(){this.disposable=void 0}cancel(){var e;null===(e=this.disposable)||void 0===e||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){this.cancel();const i=n.setInterval((()=>{e()}),t);this.disposable=st((()=>{n.clearInterval(i),this.disposable=void 0}))}dispose(){this.cancel()}}class jt{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;null===(e=this.runner)||void 0===e||e.call(this)}}let qt,$t;$t="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{J((()=>{if(n)return;const e=Date.now()+15,i={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(i))}));let n=!1;return{dispose(){n||(n=!0)}}}:(e,t,n)=>{const i=e.requestIdleCallback(t,"number"==typeof n?{timeout:n}:void 0);let o=!1;return{dispose(){o||(o=!0,e.cancelIdleCallback(i))}}},qt=e=>$t(globalThis,e);class Gt{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=$t(e,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class Zt extends Gt{constructor(e){super(globalThis,e)}}class Yt{get isRejected(){var e;return 1===(null===(e=this.outcome)||void 0===e?void 0:e.outcome)}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((e,t)=>{this.completeCallback=e,this.errorCallback=t}))}complete(e){return new Promise((t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()}))}error(e){return new Promise((t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()}))}cancel(){return this.error(new Ee)}}var Xt;!function(e){e.settled=async function(e){let t;const n=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return n},e.withAsyncBody=function(e){return new Promise((async(t,n)=>{try{await e(t,n)}catch(e){n(e)}}))}}(Xt||(Xt={}));class Qt{static fromArray(e){return new Qt((t=>{t.emitMany(e)}))}static fromPromise(e){return new Qt((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new Qt((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new Qt((async t=>{await Promise.all(e.map((async e=>{for await(const n of e)t.emitOne(n)})))}))}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new Ct,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e{for await(const i of e)n.emitOne(t(i))}))}map(e){return Qt.map(this,e)}static filter(e,t){return new Qt((async n=>{for await(const i of e)t(i)&&n.emitOne(i)}))}filter(e){return Qt.filter(this,e)}static coalesce(e){return Qt.filter(e,(e=>!!e))}coalesce(){return Qt.coalesce(this)}static async toPromise(e){const t=[];for await(const n of e)t.push(n);return t}toPromise(){return Qt.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}Qt.EMPTY=Qt.fromArray([]);class Jt extends Qt{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}const{entries:en,setPrototypeOf:tn,isFrozen:nn,getPrototypeOf:on,getOwnPropertyDescriptor:sn}=Object;let{freeze:rn,seal:ln,create:an}=Object,{apply:dn,construct:un}="undefined"!=typeof Reflect&&Reflect;dn||(dn=function(e,t,n){return e.apply(t,n)}),rn||(rn=function(e){return e}),ln||(ln=function(e){return e}),un||(un=function(e,t){return new e(...t)});const cn=Sn(Array.prototype.forEach),hn=Sn(Array.prototype.pop),gn=Sn(Array.prototype.push),pn=Sn(String.prototype.toLowerCase),mn=Sn(String.prototype.toString),fn=Sn(String.prototype.match),_n=Sn(String.prototype.replace),vn=Sn(String.prototype.indexOf),bn=Sn(String.prototype.trim),wn=Sn(RegExp.prototype.test),Cn=(yn=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),o=1;o/gm),Vn=ln(/\${[\w\W]*}/gm),Hn=ln(/^data-[\-\w.\u00B7-\uFFFF]/),zn=ln(/^aria-[\-\w]+$/),Un=ln(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Kn=ln(/^(?:\w+script|data):/i),jn=ln(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),qn=ln(/^html$/i);var $n=Object.freeze({__proto__:null,MUSTACHE_EXPR:Bn,ERB_EXPR:Wn,TMPLIT_EXPR:Vn,DATA_ATTR:Hn,ARIA_ATTR:zn,IS_ALLOWED_URI:Un,IS_SCRIPT_OR_DATA:Kn,ATTR_WHITESPACE:jn,DOCTYPE_NAME:qn});const Gn=()=>"undefined"==typeof window?null:window;var Zn=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Gn();const n=t=>e(t);if(n.version="3.0.5",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;const i=t.document,o=i.currentScript;let{document:s}=t;const{DocumentFragment:r,HTMLTemplateElement:l,Node:a,Element:d,NodeFilter:u,NamedNodeMap:c=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:h,DOMParser:g,trustedTypes:p}=t,m=d.prototype,f=Ln(m,"cloneNode"),_=Ln(m,"nextSibling"),v=Ln(m,"childNodes"),b=Ln(m,"parentNode");if("function"==typeof l){const e=s.createElement("template");e.content&&e.content.ownerDocument&&(s=e.content.ownerDocument)}let w,C="";const{implementation:y,createNodeIterator:S,createDocumentFragment:x,getElementsByTagName:k}=s,{importNode:L}=i;let D={};n.isSupported="function"==typeof en&&"function"==typeof b&&y&&void 0!==y.createHTMLDocument;const{MUSTACHE_EXPR:N,ERB_EXPR:E,TMPLIT_EXPR:I,DATA_ATTR:M,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:A,ATTR_WHITESPACE:R}=$n;let{IS_ALLOWED_URI:P}=$n,O=null;const F=xn({},[...Dn,...Nn,...En,...Mn,...An]);let B=null;const W=xn({},[...Rn,...Pn,...On,...Fn]);let V=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),H=null,z=null,U=!0,K=!0,j=!1,q=!0,$=!1,G=!1,Z=!1,Y=!1,X=!1,Q=!1,J=!1,ee=!0,te=!1,ne=!0,ie=!1,oe={},se=null;const re=xn({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let le=null;const ae=xn({},["audio","video","img","source","image","track"]);let de=null;const ue=xn({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ce="http://www.w3.org/1998/Math/MathML",he="http://www.w3.org/2000/svg",ge="http://www.w3.org/1999/xhtml";let pe=ge,me=!1,fe=null;const _e=xn({},[ce,he,ge],mn);let ve;const be=["application/xhtml+xml","text/html"];let we,Ce=null;const ye=s.createElement("form"),Se=function(e){return e instanceof RegExp||e instanceof Function},xe=function(e){if(!Ce||Ce!==e){if(e&&"object"==typeof e||(e={}),e=kn(e),ve=ve=-1===be.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,we="application/xhtml+xml"===ve?mn:pn,O="ALLOWED_TAGS"in e?xn({},e.ALLOWED_TAGS,we):F,B="ALLOWED_ATTR"in e?xn({},e.ALLOWED_ATTR,we):W,fe="ALLOWED_NAMESPACES"in e?xn({},e.ALLOWED_NAMESPACES,mn):_e,de="ADD_URI_SAFE_ATTR"in e?xn(kn(ue),e.ADD_URI_SAFE_ATTR,we):ue,le="ADD_DATA_URI_TAGS"in e?xn(kn(ae),e.ADD_DATA_URI_TAGS,we):ae,se="FORBID_CONTENTS"in e?xn({},e.FORBID_CONTENTS,we):re,H="FORBID_TAGS"in e?xn({},e.FORBID_TAGS,we):{},z="FORBID_ATTR"in e?xn({},e.FORBID_ATTR,we):{},oe="USE_PROFILES"in e&&e.USE_PROFILES,U=!1!==e.ALLOW_ARIA_ATTR,K=!1!==e.ALLOW_DATA_ATTR,j=e.ALLOW_UNKNOWN_PROTOCOLS||!1,q=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,$=e.SAFE_FOR_TEMPLATES||!1,G=e.WHOLE_DOCUMENT||!1,X=e.RETURN_DOM||!1,Q=e.RETURN_DOM_FRAGMENT||!1,J=e.RETURN_TRUSTED_TYPE||!1,Y=e.FORCE_BODY||!1,ee=!1!==e.SANITIZE_DOM,te=e.SANITIZE_NAMED_PROPS||!1,ne=!1!==e.KEEP_CONTENT,ie=e.IN_PLACE||!1,P=e.ALLOWED_URI_REGEXP||Un,pe=e.NAMESPACE||ge,V=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Se(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Se(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(V.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),$&&(K=!1),Q&&(X=!0),oe&&(O=xn({},[...An]),B=[],!0===oe.html&&(xn(O,Dn),xn(B,Rn)),!0===oe.svg&&(xn(O,Nn),xn(B,Pn),xn(B,Fn)),!0===oe.svgFilters&&(xn(O,En),xn(B,Pn),xn(B,Fn)),!0===oe.mathMl&&(xn(O,Mn),xn(B,On),xn(B,Fn))),e.ADD_TAGS&&(O===F&&(O=kn(O)),xn(O,e.ADD_TAGS,we)),e.ADD_ATTR&&(B===W&&(B=kn(B)),xn(B,e.ADD_ATTR,we)),e.ADD_URI_SAFE_ATTR&&xn(de,e.ADD_URI_SAFE_ATTR,we),e.FORBID_CONTENTS&&(se===re&&(se=kn(se)),xn(se,e.FORBID_CONTENTS,we)),ne&&(O["#text"]=!0),G&&xn(O,["html","head","body"]),O.table&&(xn(O,["tbody"]),delete H.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw Cn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw Cn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=e.TRUSTED_TYPES_POLICY,C=w.createHTML("")}else void 0===w&&(w=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));const o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+o+" could not be created."),null}}(p,o)),null!==w&&"string"==typeof C&&(C=w.createHTML(""));rn&&rn(e),Ce=e}},ke=xn({},["mi","mo","mn","ms","mtext"]),Le=xn({},["foreignobject","desc","title","annotation-xml"]),De=xn({},["title","style","font","a","script"]),Ne=xn({},Nn);xn(Ne,En),xn(Ne,In);const Ee=xn({},Mn);xn(Ee,Tn);const Ie=function(e){gn(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},Me=function(e,t){try{gn(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){gn(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!B[e])if(X||Q)try{Ie(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Te=function(e){let t,n;if(Y)e=""+e;else{const t=fn(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===ve&&pe===ge&&(e=''+e+"");const i=w?w.createHTML(e):e;if(pe===ge)try{t=(new g).parseFromString(i,ve)}catch(e){}if(!t||!t.documentElement){t=y.createDocument(pe,"template",null);try{t.documentElement.innerHTML=me?C:i}catch(e){}}const o=t.body||t.documentElement;return e&&n&&o.insertBefore(s.createTextNode(n),o.childNodes[0]||null),pe===ge?k.call(t,G?"html":"body")[0]:G?t.documentElement:o},Ae=function(e){return S.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},Re=function(e){return"object"==typeof a?e instanceof a:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Pe=function(e,t,i){D[e]&&cn(D[e],(e=>{e.call(n,t,i,Ce)}))},Oe=function(e){let t;if(Pe("beforeSanitizeElements",e,null),(i=e)instanceof h&&("string"!=typeof i.nodeName||"string"!=typeof i.textContent||"function"!=typeof i.removeChild||!(i.attributes instanceof c)||"function"!=typeof i.removeAttribute||"function"!=typeof i.setAttribute||"string"!=typeof i.namespaceURI||"function"!=typeof i.insertBefore||"function"!=typeof i.hasChildNodes))return Ie(e),!0;var i;const o=we(e.nodeName);if(Pe("uponSanitizeElement",e,{tagName:o,allowedTags:O}),e.hasChildNodes()&&!Re(e.firstElementChild)&&(!Re(e.content)||!Re(e.content.firstElementChild))&&wn(/<[/\w]/g,e.innerHTML)&&wn(/<[/\w]/g,e.textContent))return Ie(e),!0;if(!O[o]||H[o]){if(!H[o]&&Be(o)){if(V.tagNameCheck instanceof RegExp&&wn(V.tagNameCheck,o))return!1;if(V.tagNameCheck instanceof Function&&V.tagNameCheck(o))return!1}if(ne&&!se[o]){const t=b(e)||e.parentNode,n=v(e)||e.childNodes;if(n&&t)for(let i=n.length-1;i>=0;--i)t.insertBefore(f(n[i],!0),_(e))}return Ie(e),!0}return e instanceof d&&!function(e){let t=b(e);t&&t.tagName||(t={namespaceURI:pe,tagName:"template"});const n=pn(e.tagName),i=pn(t.tagName);return!!fe[e.namespaceURI]&&(e.namespaceURI===he?t.namespaceURI===ge?"svg"===n:t.namespaceURI===ce?"svg"===n&&("annotation-xml"===i||ke[i]):Boolean(Ne[n]):e.namespaceURI===ce?t.namespaceURI===ge?"math"===n:t.namespaceURI===he?"math"===n&&Le[i]:Boolean(Ee[n]):e.namespaceURI===ge?!(t.namespaceURI===he&&!Le[i])&&!(t.namespaceURI===ce&&!ke[i])&&!Ee[n]&&(De[n]||!Ne[n]):!("application/xhtml+xml"!==ve||!fe[e.namespaceURI]))}(e)?(Ie(e),!0):"noscript"!==o&&"noembed"!==o&&"noframes"!==o||!wn(/<\/no(script|embed|frames)/i,e.innerHTML)?($&&3===e.nodeType&&(t=e.textContent,t=_n(t,N," "),t=_n(t,E," "),t=_n(t,I," "),e.textContent!==t&&(gn(n.removed,{element:e.cloneNode()}),e.textContent=t)),Pe("afterSanitizeElements",e,null),!1):(Ie(e),!0)},Fe=function(e,t,n){if(ee&&("id"===t||"name"===t)&&(n in s||n in ye))return!1;if(K&&!z[t]&&wn(M,t));else if(U&&wn(T,t));else if(!B[t]||z[t]){if(!(Be(e)&&(V.tagNameCheck instanceof RegExp&&wn(V.tagNameCheck,e)||V.tagNameCheck instanceof Function&&V.tagNameCheck(e))&&(V.attributeNameCheck instanceof RegExp&&wn(V.attributeNameCheck,t)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(t))||"is"===t&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&wn(V.tagNameCheck,n)||V.tagNameCheck instanceof Function&&V.tagNameCheck(n))))return!1}else if(de[t]);else if(wn(P,_n(n,R,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==vn(n,"data:")||!le[e])if(j&&!wn(A,_n(n,R,"")));else if(n)return!1;return!0},Be=function(e){return e.indexOf("-")>0},We=function(e){let t,i,o,s;Pe("beforeSanitizeAttributes",e,null);const{attributes:r}=e;if(!r)return;const l={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:B};for(s=r.length;s--;){t=r[s];const{name:a,namespaceURI:d}=t;if(i="value"===a?t.value:bn(t.value),o=we(a),l.attrName=o,l.attrValue=i,l.keepAttr=!0,l.forceKeepAttr=void 0,Pe("uponSanitizeAttribute",e,l),i=l.attrValue,l.forceKeepAttr)continue;if(Me(a,e),!l.keepAttr)continue;if(!q&&wn(/\/>/i,i)){Me(a,e);continue}$&&(i=_n(i,N," "),i=_n(i,E," "),i=_n(i,I," "));const u=we(e.nodeName);if(Fe(u,o,i)){if(!te||"id"!==o&&"name"!==o||(Me(a,e),i="user-content-"+i),w&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(d);else switch(p.getAttributeType(u,o)){case"TrustedHTML":i=w.createHTML(i);break;case"TrustedScriptURL":i=w.createScriptURL(i)}try{d?e.setAttributeNS(d,a,i):e.setAttribute(a,i),hn(n.removed)}catch(e){}}}Pe("afterSanitizeAttributes",e,null)},Ve=function e(t){let n;const i=Ae(t);for(Pe("beforeSanitizeShadowDOM",t,null);n=i.nextNode();)Pe("uponSanitizeShadowNode",n,null),Oe(n)||(n.content instanceof r&&e(n.content),We(n));Pe("afterSanitizeShadowDOM",t,null)};return n.sanitize=function(e){let t,o,s,l,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(me=!e,me&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Re(e)){if("function"!=typeof e.toString)throw Cn("toString is not a function");if("string"!=typeof(e=e.toString()))throw Cn("dirty is not a string, aborting")}if(!n.isSupported)return e;if(Z||xe(d),n.removed=[],"string"==typeof e&&(ie=!1),ie){if(e.nodeName){const t=we(e.nodeName);if(!O[t]||H[t])throw Cn("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof a)t=Te("\x3c!----\x3e"),o=t.ownerDocument.importNode(e,!0),1===o.nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?t=o:t.appendChild(o);else{if(!X&&!$&&!G&&-1===e.indexOf("<"))return w&&J?w.createHTML(e):e;if(t=Te(e),!t)return X?null:J?C:""}t&&Y&&Ie(t.firstChild);const u=Ae(ie?e:t);for(;s=u.nextNode();)Oe(s)||(s.content instanceof r&&Ve(s.content),We(s));if(ie)return e;if(X){if(Q)for(l=x.call(t.ownerDocument);t.firstChild;)l.appendChild(t.firstChild);else l=t;return(B.shadowroot||B.shadowrootmode)&&(l=L.call(i,l,!0)),l}let c=G?t.outerHTML:t.innerHTML;return G&&O["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&wn(qn,t.ownerDocument.doctype.name)&&(c="\n"+c),$&&(c=_n(c,N," "),c=_n(c,E," "),c=_n(c,I," ")),w&&J?w.createHTML(c):c},n.setConfig=function(e){xe(e),Z=!0},n.clearConfig=function(){Ce=null,Z=!1},n.isValidAttribute=function(e,t,n){Ce||xe({});const i=we(e),o=we(t);return Fe(i,o,n)},n.addHook=function(e,t){"function"==typeof t&&(D[e]=D[e]||[],gn(D[e],t))},n.removeHook=function(e){if(D[e])return hn(D[e])},n.removeHooks=function(e){D[e]&&(D[e]=[])},n.removeAllHooks=function(){D={}},n}();Zn.version,Zn.isSupported;const Yn=Zn.sanitize,Xn=(Zn.setConfig,Zn.clearConfig,Zn.isValidAttribute,Zn.addHook),Qn=Zn.removeHook;Zn.removeHooks,Zn.removeAllHooks;class Jn{get cachedValues(){return this._map}constructor(e){this.fn=e,this._map=new Map}get(e){if(this._map.has(e))return this._map.get(e);const t=this.fn(e);return this._map.set(e,t),t}}class ei{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var ti;function ni(e){return!e||"string"!=typeof e||0===e.trim().length}const ii=/{(\d+)}/g;function oi(e,...t){return 0===t.length?e:e.replace(ii,(function(e,n){const i=parseInt(n,10);return isNaN(i)||i<0||i>=t.length?e:t[i]}))}function si(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}}))}function ri(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function li(e,t=" "){return di(ai(e,t),t)}function ai(e,t){if(!e||!t)return e;const n=t.length;if(0===n||0===e.length)return e;let i=0;for(;e.indexOf(t,i)===i;)i+=n;return e.substring(i)}function di(e,t){if(!e||!t)return e;const n=t.length,i=e.length;if(0===n||0===i)return e;let o=i,s=-1;for(;s=e.lastIndexOf(t,o-1),-1!==s&&s+n===o;){if(0===s)return"";o=s}return e.substring(0,o)}function ui(e,t,n={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=ri(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let i="";return n.global&&(i+="g"),n.matchCase||(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),new RegExp(e,i)}function ci(e){return e.split(/\r\n|\r|\n/)}function hi(e){for(let t=0,n=e.length;t=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function mi(e,t){return et?1:0}function fi(e,t,n=0,i=e.length,o=0,s=t.length){for(;ns)return 1}const r=i-n,l=s-o;return rl?1:0}function _i(e,t){return vi(e,t,0,e.length,0,t.length)}function vi(e,t,n=0,i=e.length,o=0,s=t.length){for(;n=128||l>=128)return fi(e.toLowerCase(),t.toLowerCase(),n,i,o,s);wi(r)&&(r-=32),wi(l)&&(l-=32);const a=r-l;if(0!==a)return a}const r=i-n,l=s-o;return rl?1:0}function bi(e){return e>=48&&e<=57}function wi(e){return e>=97&&e<=122}function Ci(e){return e>=65&&e<=90}function yi(e,t){return e.length===t.length&&0===vi(e,t)}function Si(e,t){const n=t.length;return!(t.length>e.length)&&0===vi(e,t,0,n)}function xi(e,t){const n=Math.min(e.length,t.length);let i;for(i=0;i1){const i=e.charCodeAt(t-2);if(Li(i))return Ni(i,n)}return n}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=Ei(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class Mi{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new Ii(e,t)}nextGraphemeLength(){const e=qi.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const n=t.offset,o=e.getGraphemeBreakType(t.nextCodePoint());if(ji(i,o)){t.setOffset(n);break}i=o}return t.offset-n}prevGraphemeLength(){const e=qi.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const n=t.offset,o=e.getGraphemeBreakType(t.prevCodePoint());if(ji(o,i)){t.setOffset(n);break}i=o}return n-t.offset}eol(){return this._iterator.eol()}}function Ti(e,t){return new Mi(e,t).nextGraphemeLength()}function Ai(e,t){return new Mi(e,t).prevGraphemeLength()}let Ri;function Pi(e){return Ri||(Ri=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),Ri.test(e)}const Oi=/^[\t\n\r\x20-\x7E]*$/;function Fi(e){return Oi.test(e)}const Bi=/[\u2028\u2029]/;function Wi(e){return Bi.test(e)}function Vi(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function Hi(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const zi=String.fromCharCode(65279);function Ui(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function Ki(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function ji(e,t){return 0===e?5!==t&&7!==t:!(2===e&&3===t||4!==e&&2!==e&&3!==e&&4!==t&&2!==t&&3!==t&&(8===e&&(8===t||9===t||11===t||12===t)||!(11!==e&&9!==e||9!==t&&10!==t)||(12===e||10===e)&&10===t||5===t||13===t||7===t||1===e||13===e&&14===t||6===e&&6===t))}class qi{static getInstance(){return qi._INSTANCE||(qi._INSTANCE=new qi),qi._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let i=1;for(;i<=n;)if(et[3*i+1]))return t[3*i+2];i=2*i+1}return 0}}function $i(e){return 127995<=e&&e<=127999}qi._INSTANCE=null;class Gi{static getInstance(e){return ti.cache.get(Array.from(e))}static getLocales(){return ti._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}ti=Gi,Gi.ambiguousCharacterData=new ei((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))),Gi.cache=new class{constructor(e,t=JSON.stringify){this.fn=e,this._computeKey=t,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.fn(e)),this.lastCache}}((e=>{function t(e){const t=new Map;for(let n=0;n!e.startsWith("_")&&e in i));0===s.length&&(s=["_default"]);for(const e of s)o=n(o,t(i[e]));const r=function(e,t){const n=new Map(e);for(const[e,i]of t)n.set(e,i);return n}(t(i._common),o);return new ti(r)})),Gi._locales=new ei((()=>Object.keys(ti.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))));class Zi{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Zi.getRawData())),this._data}static isInvisibleCharacter(e){return Zi.getData().has(e)}static get codePoints(){return Zi.getData()}}let Yi;Zi._data=void 0;const Xi=globalThis.vscode;if(void 0!==Xi&&void 0!==Xi.process){const e=Xi.process;Yi={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else Yi="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return z?"win32":U?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const Qi=Yi.cwd,Ji=Yi.env,eo=Yi.platform,to=46,no=47,io=92,oo=58;class so extends Error{constructor(e,t,n){let i;"string"==typeof t&&0===t.indexOf("not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be";const o=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${o} ${i} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function ro(e,t){if("string"!=typeof e)throw new so(t,"string",e)}const lo="win32"===eo;function ao(e){return e===no||e===io}function uo(e){return e===no}function co(e){return e>=65&&e<=90||e>=97&&e<=122}function ho(e,t,n,i){let o="",s=0,r=-1,l=0,a=0;for(let d=0;d<=e.length;++d){if(d2){const e=o.lastIndexOf(n);-1===e?(o="",s=0):(o=o.slice(0,e),s=o.length-1-o.lastIndexOf(n)),r=d,l=0;continue}if(0!==o.length){o="",s=0,r=d,l=0;continue}}t&&(o+=o.length>0?`${n}..`:"..",s=2)}else o.length>0?o+=`${n}${e.slice(r+1,d)}`:o=e.slice(r+1,d),s=d-r-1;r=d,l=0}else a===to&&-1!==l?++l:l=-1}return o}function go(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new so("pathObject","Object",e)}(t);const n=t.dir||t.root,i=t.base||`${t.name||""}${t.ext||""}`;return n?n===t.root?`${n}${i}`:`${n}${e}${i}`:i}const po={resolve(...e){let t="",n="",i=!1;for(let o=e.length-1;o>=-1;o--){let s;if(o>=0){if(s=e[o],ro(s,"path"),0===s.length)continue}else 0===t.length?s=Qi():(s=Ji[`=${t}`]||Qi(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===io)&&(s=`${t}\\`));const r=s.length;let l=0,a="",d=!1;const u=s.charCodeAt(0);if(1===r)ao(u)&&(l=1,d=!0);else if(ao(u))if(d=!0,ao(s.charCodeAt(1))){let e=2,t=e;for(;e2&&ao(s.charCodeAt(2))&&(d=!0,l=3));if(a.length>0)if(t.length>0){if(a.toLowerCase()!==t.toLowerCase())continue}else t=a;if(i){if(t.length>0)break}else if(n=`${s.slice(l)}\\${n}`,i=d,d&&t.length>0)break}return n=ho(n,!i,"\\",ao),i?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){ro(e,"path");const t=e.length;if(0===t)return".";let n,i=0,o=!1;const s=e.charCodeAt(0);if(1===t)return uo(s)?"\\":e;if(ao(s))if(o=!0,ao(e.charCodeAt(1))){let o=2,s=o;for(;o2&&ao(e.charCodeAt(2))&&(o=!0,i=3));let r=i0&&ao(e.charCodeAt(t-1))&&(r+="\\"),void 0===n?o?`\\${r}`:r:o?`${n}\\${r}`:`${n}${r}`},isAbsolute(e){ro(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return ao(n)||t>2&&co(n)&&e.charCodeAt(1)===oo&&ao(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let i=0;i0&&(void 0===t?t=n=o:t+=`\\${o}`)}if(void 0===t)return".";let i=!0,o=0;if("string"==typeof n&&ao(n.charCodeAt(0))){++o;const e=n.length;e>1&&ao(n.charCodeAt(1))&&(++o,e>2&&(ao(n.charCodeAt(2))?++o:i=!1))}if(i){for(;o=2&&(t=`\\${t.slice(o)}`)}return po.normalize(t)},relative(e,t){if(ro(e,"from"),ro(t,"to"),e===t)return"";const n=po.resolve(e),i=po.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";let o=0;for(;oo&&e.charCodeAt(s-1)===io;)s--;const r=s-o;let l=0;for(;ll&&t.charCodeAt(a-1)===io;)a--;const d=a-l,u=ru){if(t.charCodeAt(l+h)===io)return i.slice(l+h+1);if(2===h)return i.slice(l+h)}r>u&&(e.charCodeAt(o+h)===io?c=h:2===h&&(c=3)),-1===c&&(c=0)}let g="";for(h=o+c+1;h<=s;++h)h!==s&&e.charCodeAt(h)!==io||(g+=0===g.length?"..":"\\..");return l+=c,g.length>0?`${g}${i.slice(l,a)}`:(i.charCodeAt(l)===io&&++l,i.slice(l,a))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=po.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===io){if(t.charCodeAt(1)===io){const e=t.charCodeAt(2);if(63!==e&&e!==to)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(co(t.charCodeAt(0))&&t.charCodeAt(1)===oo&&t.charCodeAt(2)===io)return`\\\\?\\${t}`;return e},dirname(e){ro(e,"path");const t=e.length;if(0===t)return".";let n=-1,i=0;const o=e.charCodeAt(0);if(1===t)return ao(o)?e:".";if(ao(o)){if(n=i=1,ao(e.charCodeAt(1))){let o=2,s=o;for(;o2&&ao(e.charCodeAt(2))?3:2,i=n);let s=-1,r=!0;for(let n=t-1;n>=i;--n)if(ao(e.charCodeAt(n))){if(!r){s=n;break}}else r=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&ro(t,"ext"),ro(e,"path");let n,i=0,o=-1,s=!0;if(e.length>=2&&co(e.charCodeAt(0))&&e.charCodeAt(1)===oo&&(i=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let r=t.length-1,l=-1;for(n=e.length-1;n>=i;--n){const a=e.charCodeAt(n);if(ao(a)){if(!s){i=n+1;break}}else-1===l&&(s=!1,l=n+1),r>=0&&(a===t.charCodeAt(r)?-1==--r&&(o=n):(r=-1,o=l))}return i===o?o=l:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=i;--n)if(ao(e.charCodeAt(n))){if(!s){i=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname(e){ro(e,"path");let t=0,n=-1,i=0,o=-1,s=!0,r=0;e.length>=2&&e.charCodeAt(1)===oo&&co(e.charCodeAt(0))&&(t=i=2);for(let l=e.length-1;l>=t;--l){const t=e.charCodeAt(l);if(ao(t)){if(!s){i=l+1;break}}else-1===o&&(s=!1,o=l+1),t===to?-1===n?n=l:1!==r&&(r=1):-1!==n&&(r=-1)}return-1===n||-1===o||0===r||1===r&&n===o-1&&n===i+1?"":e.slice(n,o)},format:go.bind(null,"\\"),parse(e){ro(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let i=0,o=e.charCodeAt(0);if(1===n)return ao(o)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(ao(o)){if(i=1,ao(e.charCodeAt(1))){let t=2,o=t;for(;t0&&(t.root=e.slice(0,i));let s=-1,r=i,l=-1,a=!0,d=e.length-1,u=0;for(;d>=i;--d)if(o=e.charCodeAt(d),ao(o)){if(!a){r=d+1;break}}else-1===l&&(a=!1,l=d+1),o===to?-1===s?s=d:1!==u&&(u=1):-1!==s&&(u=-1);return-1!==l&&(-1===s||0===u||1===u&&s===l-1&&s===r+1?t.base=t.name=e.slice(r,l):(t.name=e.slice(r,s),t.base=e.slice(r,l),t.ext=e.slice(s,l))),t.dir=r>0&&r!==i?e.slice(0,r-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},mo=(()=>{if(lo){const e=/\\/g;return()=>{const t=Qi().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>Qi()})(),fo={resolve(...e){let t="",n=!1;for(let i=e.length-1;i>=-1&&!n;i--){const o=i>=0?e[i]:mo();ro(o,"path"),0!==o.length&&(t=`${o}/${t}`,n=o.charCodeAt(0)===no)}return t=ho(t,!n,"/",uo),n?`/${t}`:t.length>0?t:"."},normalize(e){if(ro(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===no,n=e.charCodeAt(e.length-1)===no;return 0===(e=ho(e,!t,"/",uo)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(ro(e,"path"),e.length>0&&e.charCodeAt(0)===no),join(...e){if(0===e.length)return".";let t;for(let n=0;n0&&(void 0===t?t=i:t+=`/${i}`)}return void 0===t?".":fo.normalize(t)},relative(e,t){if(ro(e,"from"),ro(t,"to"),e===t)return"";if((e=fo.resolve(e))===(t=fo.resolve(t)))return"";const n=e.length,i=n-1,o=t.length-1,s=is){if(t.charCodeAt(1+l)===no)return t.slice(1+l+1);if(0===l)return t.slice(1+l)}else i>s&&(e.charCodeAt(1+l)===no?r=l:0===l&&(r=0));let a="";for(l=1+r+1;l<=n;++l)l!==n&&e.charCodeAt(l)!==no||(a+=0===a.length?"..":"/..");return`${a}${t.slice(1+r)}`},toNamespacedPath:e=>e,dirname(e){if(ro(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===no;let n=-1,i=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===no){if(!i){n=t;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&ro(t,"ext"),ro(e,"path");let n,i=0,o=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let r=t.length-1,l=-1;for(n=e.length-1;n>=0;--n){const a=e.charCodeAt(n);if(a===no){if(!s){i=n+1;break}}else-1===l&&(s=!1,l=n+1),r>=0&&(a===t.charCodeAt(r)?-1==--r&&(o=n):(r=-1,o=l))}return i===o?o=l:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===no){if(!s){i=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname(e){ro(e,"path");let t=-1,n=0,i=-1,o=!0,s=0;for(let r=e.length-1;r>=0;--r){const l=e.charCodeAt(r);if(l!==no)-1===i&&(o=!1,i=r+1),l===to?-1===t?t=r:1!==s&&(s=1):-1!==t&&(s=-1);else if(!o){n=r+1;break}}return-1===t||-1===i||0===s||1===s&&t===i-1&&t===n+1?"":e.slice(t,i)},format:go.bind(null,"/"),parse(e){ro(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===no;let i;n?(t.root="/",i=1):i=0;let o=-1,s=0,r=-1,l=!0,a=e.length-1,d=0;for(;a>=i;--a){const t=e.charCodeAt(a);if(t!==no)-1===r&&(l=!1,r=a+1),t===to?-1===o?o=a:1!==d&&(d=1):-1!==o&&(d=-1);else if(!l){s=a+1;break}}if(-1!==r){const i=0===s&&n?1:s;-1===o||0===d||1===d&&o===r-1&&o===s+1?t.base=t.name=e.slice(i,r):(t.name=e.slice(i,o),t.base=e.slice(i,r),t.ext=e.slice(o,r))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};fo.win32=po.win32=po,fo.posix=po.posix=fo;const _o=lo?po.normalize:fo.normalize,vo=lo?po.resolve:fo.resolve,bo=lo?po.relative:fo.relative,wo=lo?po.dirname:fo.dirname,Co=lo?po.basename:fo.basename,yo=lo?po.extname:fo.extname,So=lo?po.sep:fo.sep,xo=/^\w[\w\d+.-]*$/,ko=/^\//,Lo=/^\/\//,Do="",No="/",Eo=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class Io{static isUri(e){return e instanceof Io||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}constructor(e,t,n,i,o,s=!1){"object"==typeof e?(this.scheme=e.scheme||Do,this.authority=e.authority||Do,this.path=e.path||Do,this.query=e.query||Do,this.fragment=e.fragment||Do):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||Do,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==No&&(t=No+t):t=No}return t}(this.scheme,n||Do),this.query=i||Do,this.fragment=o||Do,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!xo.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!ko.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Lo.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,s))}get fsPath(){return Oo(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:i,query:o,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=Do),void 0===n?n=this.authority:null===n&&(n=Do),void 0===i?i=this.path:null===i&&(i=Do),void 0===o?o=this.query:null===o&&(o=Do),void 0===s?s=this.fragment:null===s&&(s=Do),t===this.scheme&&n===this.authority&&i===this.path&&o===this.query&&s===this.fragment?this:new To(t,n,i,o,s)}static parse(e,t=!1){const n=Eo.exec(e);return n?new To(n[2]||Do,Vo(n[4]||Do),Vo(n[5]||Do),Vo(n[7]||Do),Vo(n[9]||Do),t):new To(Do,Do,Do,Do,Do)}static file(e){let t=Do;if(z&&(e=e.replace(/\\/g,No)),e[0]===No&&e[1]===No){const n=e.indexOf(No,2);-1===n?(t=e.substring(2),e=No):(t=e.substring(2,n),e=e.substring(n)||No)}return new To("file",t,e,Do,Do)}static from(e,t){return new To(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=z&&"file"===e.scheme?Io.file(po.join(Oo(e,!0),...t)).path:fo.join(e.path,...t),e.with({path:n})}toString(e=!1){return Fo(this,e)}toJSON(){return this}static revive(e){var t,n;if(e){if(e instanceof Io)return e;{const i=new To(e);return i._formatted=null!==(t=e.external)&&void 0!==t?t:null,i._fsPath=e._sep===Mo&&null!==(n=e.fsPath)&&void 0!==n?n:null,i}}return e}}const Mo=z?1:void 0;class To extends Io{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Oo(this,!1)),this._fsPath}toString(e=!1){return e?Fo(this,!0):(this._formatted||(this._formatted=Fo(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Mo),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const Ao={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Ro(e,t,n){let i,o=-1;for(let s=0;s=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r||n&&91===r||n&&93===r||n&&58===r)-1!==o&&(i+=encodeURIComponent(e.substring(o,s)),o=-1),void 0!==i&&(i+=e.charAt(s));else{void 0===i&&(i=e.substr(0,s));const t=Ao[r];void 0!==t?(-1!==o&&(i+=encodeURIComponent(e.substring(o,s)),o=-1),i+=t):-1===o&&(o=s)}}return-1!==o&&(i+=encodeURIComponent(e.substring(o))),void 0!==i?i:e}function Po(e){let t;for(let n=0;n1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,z&&(n=n.replace(/\//g,"\\")),n}function Fo(e,t){const n=t?Po:Ro;let i="",{scheme:o,authority:s,path:r,query:l,fragment:a}=e;if(o&&(i+=o,i+=":"),(s||"file"===o)&&(i+=No,i+=No),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?i+=n(t,!1,!1):(i+=n(t.substr(0,e),!1,!1),i+=":",i+=n(t.substr(e+1),!1,!0)),i+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?i+=n(s,!1,!0):(i+=n(s.substr(0,e),!1,!0),i+=s.substr(e))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const e=r.charCodeAt(1);e>=65&&e<=90&&(r=`/${String.fromCharCode(e+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const e=r.charCodeAt(0);e>=65&&e<=90&&(r=`${String.fromCharCode(e+32)}:${r.substr(2)}`)}i+=n(r,!0,!1)}return l&&(i+="?",i+=n(l,!1,!1)),a&&(i+="#",i+=t?a:Ro(a,!1,!1)),i}function Bo(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+Bo(e.substr(3)):e}}const Wo=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Vo(e){return e.match(Wo)?e.replace(Wo,(e=>Bo(e))):e}var Ho;function zo(e,t){return Io.isUri(e)?yi(e.scheme,t):Si(e,t+":")}function Uo(e,...t){return t.some((t=>zo(e,t)))}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.codeSetting="code-setting"}(Ho||(Ho={}));const Ko=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return fo.join(this._serverRootPath,Ho.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(t){return xe(t),e}const t=e.authority;let n=this._hosts[t];n&&-1!==n.indexOf(":")&&-1===n.indexOf("[")&&(n=`[${n}]`);const i=this._ports[t],o=this._connectionTokens[t];let s=`path=${encodeURIComponent(e.path)}`;return"string"==typeof o&&(s+=`&tkn=${encodeURIComponent(o)}`),Io.from({scheme:q?this._preferredWebSchema:Ho.vscodeRemoteResource,authority:`${n}:${i}`,path:this._remoteResourcesPath,query:s})}};class jo{uriToBrowserUri(e){return e.scheme===Ho.vscodeRemote?Ko.rewrite(e):e.scheme!==Ho.file||!j&&$!==`${Ho.vscodeFileResource}://${jo.FALLBACK_AUTHORITY}`?e:e.with({scheme:Ho.vscodeFileResource,authority:e.authority||jo.FALLBACK_AUTHORITY,query:null,fragment:null})}}jo.FALLBACK_AUTHORITY="vscode-app";const qo=new jo;var $o;function Go(e){return Zo(e,0)}function Zo(e,t){switch(typeof e){case"object":return null===e?Yo(349,t):Array.isArray(e)?(n=e,i=Yo(104579,i=t),n.reduce(((e,t)=>Zo(t,e)),i)):function(e,t){return t=Yo(181387,t),Object.keys(e).sort().reduce(((t,n)=>(t=Xo(n,t),Zo(e[n],t))),t)}(e,t);case"string":return Xo(e,t);case"boolean":return function(e,t){return Yo(e?433:863,t)}(e,t);case"number":return Yo(e,t);case"undefined":return Yo(937,t);default:return Yo(617,t)}var n,i}function Yo(e,t){return(t<<5)-t+e|0}function Xo(e,t){t=Yo(149417,t);for(let n=0,i=e.length;n>>i)>>>0}function Jo(e,t=0,n=e.byteLength,i=0){for(let o=0;oe.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length>>0).toString(16),t/4)}!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const n="vscode-coi";e.getHeadersFromQuery=function(e){let i;"string"==typeof e?i=new URL(e).searchParams:e instanceof URL?i=e.searchParams:Io.isUri(e)&&(i=new URL(e.toString(!0)).searchParams);const o=null==i?void 0:i.get(n);if(o)return t.get(o)},e.addSearchParam=function(e,t,i){if(!globalThis.crossOriginIsolated)return;const o=t&&i?"3":i?"2":"1";e instanceof URLSearchParams?e.set(n,o):e[n]=o}}($o||($o={}));class ts{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let i,o,s=this._buffLen,r=this._leftoverHighSurrogate;for(0!==r?(i=r,o=-1,r=0):(i=e.charCodeAt(0),o=0);;){let l=i;if(Li(i)){if(!(o+1>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),es(this._h0)+es(this._h1)+es(this._h2)+es(this._h3)+es(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Jo(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Jo(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=ts._bigBlock32,t=this._buffDV;for(let n=0;n<64;n+=4)e.setUint32(n,t.getUint32(n,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,Qo(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let n,i,o,s=this._h0,r=this._h1,l=this._h2,a=this._h3,d=this._h4;for(let t=0;t<80;t++)t<20?(n=r&l|~r&a,i=1518500249):t<40?(n=r^l^a,i=1859775393):t<60?(n=r&l|r&a|l&a,i=2400959708):(n=r^l^a,i=3395469782),o=Qo(s,5)+n+d+i+e.getUint32(4*t,!1)&4294967295,d=a,a=l,l=Qo(r,30),r=s,s=o;this._h0=this._h0+s&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+a&4294967295,this._h4=this._h4+d&4294967295}}ts._bigBlock32=new DataView(new ArrayBuffer(320));const{registerWindow:ns,getWindow:is,getDocument:os,getWindows:ss,getWindowsCount:rs,getWindowId:ls,getWindowById:as,hasWindow:ds,onDidRegisterWindow:us,onWillUnregisterWindow:cs,onDidUnregisterWindow:hs}=function(){const e=new Map;!function(e,t){const n=e;"number"!=typeof n.vscodeWindowId&&Object.defineProperty(n,"vscodeWindowId",{get:()=>1})}(o);const t={window:o,disposables:new rt};e.set(o.vscodeWindowId,t);const n=new Ct,i=new Ct,s=new Ct;return{onDidRegisterWindow:n.event,onWillUnregisterWindow:s.event,onDidUnregisterWindow:i.event,registerWindow(t){if(e.has(t.vscodeWindowId))return lt.None;const o=new rt,r={window:t,disposables:o.add(new rt)};return e.set(t.vscodeWindowId,r),o.add(st((()=>{e.delete(t.vscodeWindowId),i.fire(t)}))),o.add(ms(t,or.BEFORE_UNLOAD,(()=>{s.fire(t)}))),n.fire(r),o},getWindows:()=>e.values(),getWindowsCount:()=>e.size,getWindowId:e=>e.vscodeWindowId,hasWindow:t=>e.has(t),getWindowById:function(n,i){const o="number"==typeof n?e.get(n):void 0;return null!=o?o:i?t:void 0},getWindow(e){var t;const n=e;if(null===(t=null==n?void 0:n.ownerDocument)||void 0===t?void 0:t.defaultView)return n.ownerDocument.defaultView.window;const i=e;return(null==i?void 0:i.view)?i.view.window:o},getDocument:e=>is(e).document}}();function gs(e){for(;e.firstChild;)e.firstChild.remove()}class ps{constructor(e,t,n,i){this._node=e,this._type=t,this._handler=n,this._options=i||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function ms(e,t,n,i){return new ps(e,t,n,i)}function fs(e,t){return function(n){return t(new $e(e,n))}}const _s=function(e,t,n,i){let o=n;return"click"===t||"mousedown"===t?o=fs(is(e),n):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(o=function(e){return function(t){return e(new Ue(t))}}(n)),ms(e,t,o,i)};function vs(e,t,n){return $t(e,t,n)}class bs extends Gt{constructor(e,t){super(e,t)}}let ws,Cs;class ys extends Kt{constructor(e){super(),this.defaultTarget=e&&is(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,null!=n?n:this.defaultTarget)}}class Ss{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){xe(e)}}static sort(e,t){return t.priority-e.priority}}function xs(e){return is(e).getComputedStyle(e,null)}function ks(e,t){const n=is(e),i=n.document;if(e!==i.body)return new Ds(e.clientWidth,e.clientHeight);if(G&&(null==n?void 0:n.visualViewport))return new Ds(n.visualViewport.width,n.visualViewport.height);if((null==n?void 0:n.innerWidth)&&n.innerHeight)return new Ds(n.innerWidth,n.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new Ds(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new Ds(i.documentElement.clientWidth,i.documentElement.clientHeight);if(t)return ks(t);throw new Error("Unable to figure out browser width and height")}!function(){const e=new Map,t=new Map,n=new Map,i=new Map;Cs=(o,s,r=0)=>{const l=ls(o),a=new Ss(s,r);let d=e.get(l);return d||(d=[],e.set(l,d)),d.push(a),n.get(l)||(n.set(l,!0),o.requestAnimationFrame((()=>(o=>{var s;n.set(o,!1);const r=null!==(s=e.get(o))&&void 0!==s?s:[];for(t.set(o,r),e.set(o,[]),i.set(o,!0);r.length>0;)r.sort(Ss.sort),r.shift().execute();i.set(o,!1)})(l)))),a},ws=(e,n,o)=>{const s=ls(e);if(i.get(s)){const e=new Ss(n,o);let i=t.get(s);return i||(i=[],t.set(s,i)),i.push(e),e}return Cs(e,n,o)}}();class Ls{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,n){const i=xs(e),o=i?i.getPropertyValue(t):"0";return Ls.convertToPixels(e,o)}static getBorderLeftWidth(e){return Ls.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return Ls.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return Ls.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return Ls.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return Ls.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return Ls.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return Ls.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return Ls.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return Ls.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return Ls.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return Ls.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return Ls.getDimension(e,"margin-bottom","marginBottom")}}class Ds{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Ds(e,t):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(e){return e instanceof Ds?e:new Ds(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&e.width===t.width&&e.height===t.height}}function Ns(e){let t=e.offsetParent,n=e.offsetTop,i=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){n-=e.scrollTop;const o=Fs(e)?null:xs(e);o&&(i-="rtl"!==o.direction?e.scrollLeft:-e.scrollLeft),e===t&&(i+=Ls.getBorderLeftWidth(e),n+=Ls.getBorderTopWidth(e),n+=e.offsetTop,i+=e.offsetLeft,t=e.offsetParent)}return{left:i,top:n}}function Es(e){const t=e.getBoundingClientRect(),n=is(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}function Is(e){let t=e,n=1;do{const e=xs(t).zoom;null!=e&&"1"!==e&&(n*=e),t=t.parentElement}while(null!==t&&t!==t.ownerDocument.documentElement);return n}function Ms(e){const t=Ls.getMarginLeft(e)+Ls.getMarginRight(e);return e.offsetWidth+t}function Ts(e){const t=Ls.getBorderLeftWidth(e)+Ls.getBorderRightWidth(e),n=Ls.getPaddingLeft(e)+Ls.getPaddingRight(e);return e.offsetWidth-t-n}function As(e){const t=Ls.getBorderTopWidth(e)+Ls.getBorderBottomWidth(e),n=Ls.getPaddingTop(e)+Ls.getPaddingBottom(e);return e.offsetHeight-t-n}function Rs(e){const t=Ls.getMarginTop(e)+Ls.getMarginBottom(e);return e.offsetHeight+t}function Ps(e,t){return Boolean(null==t?void 0:t.contains(e))}function Os(e,t,n){return!!function(e,t,n){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(n)if("string"==typeof n){if(e.classList.contains(n))return null}else if(e===n)return null;e=e.parentNode}return null}(e,t,n)}function Fs(e){return e&&!!e.host&&!!e.mode}function Bs(e){return!!Ws(e)}function Ws(e){for(var t;e.parentNode;){if(e===(null===(t=e.ownerDocument)||void 0===t?void 0:t.body))return null;e=e.parentNode}return Fs(e)?e:null}function Vs(){let e=Us().activeElement;for(;null==e?void 0:e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Hs(e){return Vs()===e}function zs(e){return Ps(Vs(),e)}function Us(){var e;return rs()<=1?o.document:null!==(e=Array.from(ss()).map((({window:e})=>e.document)).find((e=>e.hasFocus())))&&void 0!==e?e:o.document}Ds.None=new Ds(0,0);const Ks=new Map;function js(){return new qs}class qs{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=$s(o.document.head,(t=>t.innerText=e)))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function $s(e=o.document.head,t,n){const i=document.createElement("style");if(i.type="text/css",i.media="screen",null==t||t(i),e.appendChild(i),n&&n.add(st((()=>e.removeChild(i)))),e===o.document.head){const e=new Set;Ks.set(i,e);for(const{window:t,disposables:s}of ss()){if(t===o)continue;const r=s.add(Gs(i,e,t));null==n||n.add(r)}}return i}function Gs(e,t,n){var i,o;const s=new rt,r=e.cloneNode(!0);n.document.head.appendChild(r),s.add(st((()=>n.document.head.removeChild(r))));for(const t of Qs(e))null===(i=r.sheet)||void 0===i||i.insertRule(t.cssText,null===(o=r.sheet)||void 0===o?void 0:o.cssRules.length);return s.add(Zs.observe(e,s,{childList:!0})((()=>{r.textContent=e.textContent}))),t.add(r),s.add(st((()=>t.delete(r)))),s}const Zs=new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let i=this.mutationObservers.get(e);i||(i=new Map,this.mutationObservers.set(e,i));const o=Go(n);let s=i.get(o);if(s)s.users+=1;else{const r=new Ct,l=new MutationObserver((e=>r.fire(e)));l.observe(e,n);const a=s={users:1,observer:l,onDidMutate:r.event};t.add(st((()=>{a.users-=1,0===a.users&&(r.dispose(),l.disconnect(),null==i||i.delete(o),0===(null==i?void 0:i.size)&&this.mutationObservers.delete(e))}))),i.set(o,s)}return s.onDidMutate}};let Ys=null;function Xs(){return Ys||(Ys=$s()),Ys}function Qs(e){var t,n;return(null===(t=null==e?void 0:e.sheet)||void 0===t?void 0:t.rules)?e.sheet.rules:(null===(n=null==e?void 0:e.sheet)||void 0===n?void 0:n.cssRules)?e.sheet.cssRules:[]}function Js(e,t,n=Xs()){var i,o;if(n&&t){null===(i=n.sheet)||void 0===i||i.insertRule(`${e} {${t}}`,0);for(const i of null!==(o=Ks.get(n))&&void 0!==o?o:[])Js(e,t,i)}}function er(e,t=Xs()){var n,i;if(!t)return;const o=Qs(t),s=[];for(let t=0;t=0;e--)null===(n=t.sheet)||void 0===n||n.deleteRule(s[e]);for(const n of null!==(i=Ks.get(t))&&void 0!==i?i:[])er(e,n)}function tr(e){return"string"==typeof e.selectorText}function nr(e){return e instanceof MouseEvent||e instanceof is(e).MouseEvent}function ir(e){return e instanceof KeyboardEvent||e instanceof is(e).KeyboardEvent}const or={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:d?"webkitAnimationStart":"animationstart",ANIMATION_END:d?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:d?"webkitAnimationIteration":"animationiteration"};function sr(e){const t=e;return!(!t||"function"!=typeof t.preventDefault||"function"!=typeof t.stopPropagation)}const rr=(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e);class lr extends lt{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=Ws(e);return Ps(t?t.activeElement:e.ownerDocument.activeElement,e)}{const t=e;return Ps(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new Ct),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Ct),this.onDidBlur=this._onDidBlur.event;let t=lr.hasFocusWithin(e),n=!1;const i=()=>{n=!1,t||(t=!0,this._onDidFocus.fire())},o=()=>{t&&(n=!0,(e instanceof HTMLElement?is(e):e).setTimeout((()=>{n&&(n=!1,t=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{lr.hasFocusWithin(e)!==t&&(t?o():i())},this._register(ms(e,or.FOCUS,i,!0)),this._register(ms(e,or.BLUR,o,!0)),e instanceof HTMLElement&&(this._register(ms(e,or.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(ms(e,or.FOCUS_OUT,(()=>this._refreshStateHandler()))))}}function ar(e){return new lr(e)}function dr(e,...t){if(e.append(...t),1===t.length&&"string"!=typeof t[0])return t[0]}function ur(e,t){return e.insertBefore(t,e.firstChild),t}function cr(e,...t){e.innerText="",dr(e,...t)}const hr=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var gr;function pr(e,t,n,...i){const o=hr.exec(t);if(!o)throw new Error("Bad use of emmet");const s=o[1]||"div";let r;return r=e!==gr.HTML?document.createElementNS(e,s):document.createElement(s),o[3]&&(r.id=o[3]),o[4]&&(r.className=o[4].replace(/\./g," ").trim()),n&&Object.entries(n).forEach((([e,t])=>{void 0!==t&&(/^on\w+$/.test(e)?r[e]=t:"selected"===e?t&&r.setAttribute(e,"true"):r.setAttribute(e,t))})),r.append(...i),r}function mr(e,t,...n){return pr(gr.HTML,e,t,...n)}function fr(...e){for(const t of e)t.style.display="",t.removeAttribute("aria-hidden")}function _r(...e){for(const t of e)t.style.display="none",t.setAttribute("aria-hidden","true")}function vr(e,t){const n=e.devicePixelRatio*t;return Math.max(1,Math.floor(n))/e.devicePixelRatio}function br(e){o.open(e,"_blank","noopener")}function wr(e){return e?`url('${qo.uriToBrowserUri(e).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function Cr(e){return`'${e.replace(/'/g,"%27")}'`}function yr(e,t){if(void 0!==e){const n=e.match(/^\s*var\((.+)\)$/);if(n){const e=n[1].split(",",2);return 2===e.length&&(t=yr(e[1].trim(),t)),`var(${e[0]}, ${t})`}return e}return t}!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.SVG="http://www.w3.org/2000/svg"}(gr||(gr={})),mr.SVG=function(e,t,...n){return pr(gr.SVG,e,t,...n)},Ko.setPreferredWebSchema(/^https:/.test(o.location.href)?"https":"http");const Sr=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class xr extends Ct{constructor(){super(),this._subscriptions=new rt,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(ft.runAndSubscribe(us,(({window:e,disposables:t})=>this.registerListeners(e,t)),{window:o,disposables:this._subscriptions}))}registerListeners(e,t){t.add(ms(e,"keydown",(e=>{if(e.defaultPrevented)return;const t=new Ue(e);if(6!==t.keyCode||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===t.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}}),!0)),t.add(ms(e,"keyup",(e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))}),!0)),t.add(ms(e.document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(ms(e.document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(ms(e.document.body,"mousemove",(e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),t.add(ms(e,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return xr.instance||(xr.instance=new xr),xr.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class kr extends lt{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(ms(this.element,or.DRAG_START,(e=>{var t,n;null===(n=(t=this.callbacks).onDragStart)||void 0===n||n.call(t,e)}))),this.callbacks.onDrag&&this._register(ms(this.element,or.DRAG,(e=>{var t,n;null===(n=(t=this.callbacks).onDrag)||void 0===n||n.call(t,e)}))),this._register(ms(this.element,or.DRAG_ENTER,(e=>{var t,n;this.counter++,this.dragStartTime=e.timeStamp,null===(n=(t=this.callbacks).onDragEnter)||void 0===n||n.call(t,e)}))),this._register(ms(this.element,or.DRAG_OVER,(e=>{var t,n;e.preventDefault(),null===(n=(t=this.callbacks).onDragOver)||void 0===n||n.call(t,e,e.timeStamp-this.dragStartTime)}))),this._register(ms(this.element,or.DRAG_LEAVE,(e=>{var t,n;this.counter--,0===this.counter&&(this.dragStartTime=0,null===(n=(t=this.callbacks).onDragLeave)||void 0===n||n.call(t,e))}))),this._register(ms(this.element,or.DRAG_END,(e=>{var t,n;this.counter=0,this.dragStartTime=0,null===(n=(t=this.callbacks).onDragEnd)||void 0===n||n.call(t,e)}))),this._register(ms(this.element,or.DROP,(e=>{var t,n;this.counter=0,this.dragStartTime=0,null===(n=(t=this.callbacks).onDrop)||void 0===n||n.call(t,e)})))}}const Lr=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function Dr(e,...t){let n,i;Array.isArray(t[0])?(n={},i=t[0]):(n=t[0]||{},i=t[1]);const o=Lr.exec(e);if(!o||!o.groups)throw new Error("Bad use of h");const s=o.groups.tag||"div",r=document.createElement(s);o.groups.id&&(r.id=o.groups.id);const l=[];if(o.groups.class)for(const e of o.groups.class.split("."))""!==e&&l.push(e);if(void 0!==n.className)for(const e of n.className.split("."))""!==e&&l.push(e);l.length>0&&(r.className=l.join(" "));const a={};if(o.groups.name&&(a[o.groups.name]=r),i)for(const e of i)e instanceof HTMLElement?r.appendChild(e):"string"==typeof e?r.append(e):"root"in e&&(Object.assign(a,e),r.appendChild(e.root));for(const[e,t]of Object.entries(n))if("className"!==e)if("style"===e)for(const[e,n]of Object.entries(t))r.style.setProperty(Nr(e),"number"==typeof n?n+"px":""+n);else"tabIndex"===e?r.tabIndex=t:r.setAttribute(Nr(e),t.toString());return a.root=r,a}function Nr(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var Er=n(5072),Ir=n.n(Er),Mr=n(7825),Tr=n.n(Mr),Ar=n(7659),Rr=n.n(Ar),Pr=n(5056),Or=n.n(Pr),Fr=n(540),Br=n.n(Fr),Wr=n(1113),Vr=n.n(Wr),Hr=n(5038),zr={};zr.styleTagTransform=Vr(),zr.setAttributes=Or(),zr.insert=Rr().bind(null,"head"),zr.domAPI=Tr(),zr.insertStyleElement=Br(),Ir()(Hr.A,zr),Hr.A&&Hr.A.locals&&Hr.A.locals;const Ur=2e4;let Kr,jr,qr,$r,Gr;function Zr(e){Kr&&(jr.textContent!==e?(gs(qr),Xr(jr,e)):(gs(jr),Xr(qr,e)))}function Yr(e){Kr&&($r.textContent!==e?(gs(Gr),Xr($r,e)):(gs($r),Xr(Gr,e)))}function Xr(e,t){gs(e),t.length>Ur&&(t=t.substr(0,Ur)),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}var Qr,Jr;class el{constructor(e,t){this.uri=e,this.value=t}}class tl{constructor(e,t){if(this[Qr]="ResourceMap",e instanceof tl)this.map=new Map(e.map),this.toKey=null!=t?t:tl.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=null!=t?t:tl.defaultToKey;for(const[t,n]of e)this.set(t,n)}else this.map=new Map,this.toKey=null!=e?e:tl.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new el(e,t)),this}get(e){var t;return null===(t=this.map.get(this.toKey(e)))||void 0===t?void 0:t.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[t,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(Qr=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}tl.defaultToKey=e=>e.toString();class nl{constructor(){this[Jr]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value}set(e,t,n=0){let i=this._map.get(e);if(i)i.value=t,0!==n&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:case 2:default:this.addItemLast(i);break;case 1:this.addItemFirst(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[(Jr=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}class il extends nl{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class ol{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class sl{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){const n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))}forEach(e,t){const n=this.map.get(e);n&&n.forEach(t)}get(e){return this.map.get(e)||new Set}}let rl=0;const ll=new Uint32Array(10);function al(e,t,n){var i;e>=n&&e>8&&(ll[rl++]=i>>8&255),i>>16&&(ll[rl++]=i>>16&255)))}const dl=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),ul=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),cl=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),hl=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function gl(...e){return function(t,n){for(let i=0,o=e.length;i0?[{start:0,end:t.length}]:[]:null}function fl(e,t){const n=t.toLowerCase().indexOf(e.toLowerCase());return-1===n?null:[{start:n,end:n+e.length}]}function _l(e,t){return vl(e.toLowerCase(),t.toLowerCase(),0,0)}function vl(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]===t[i]){let o=null;return(o=vl(e,t,n+1,i+1))?El({start:i,end:i+1},o):null}return vl(e,t,n,i+1)}function bl(e){return 97<=e&&e<=122}function wl(e){return 65<=e&&e<=90}function Cl(e){return 48<=e&&e<=57}function yl(e){return 32===e||9===e||10===e||13===e}const Sl=new Set;function xl(e){return yl(e)||Sl.has(e)}function kl(e,t){return e===t||xl(e)&&xl(t)}"()[]{}<>`'\"-/;:,.?!".split("").forEach((e=>Sl.add(e.charCodeAt(0))));const Ll=new Map;function Dl(e){if(Ll.has(e))return Ll.get(e);let t;const n=function(e){const t=function(e){if(rl=0,al(e,dl,4352),rl>0)return ll.subarray(0,rl);if(al(e,ul,4449),rl>0)return ll.subarray(0,rl);if(al(e,cl,4520),rl>0)return ll.subarray(0,rl);if(al(e,hl,12593),rl)return ll.subarray(0,rl);if(e>=44032&&e<=55203){const t=e-44032,n=t%588,i=Math.floor(t/588),o=Math.floor(n/28),s=n%28-1;if(i=0&&(s0)return ll.subarray(0,rl)}}(e);if(t&&t.length>0)return new Uint32Array(t)}(e);return n&&(t=n),Ll.set(e,t),t}function Nl(e){return bl(e)||wl(e)||Cl(e)}function El(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function Il(e,t){for(let n=t;n0&&!Nl(e.charCodeAt(n-1)))return n}return e.length}function Ml(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]!==t[i].toLowerCase())return null;{let o=null,s=i+1;for(o=Ml(e,t,n+1,i+1);!o&&(s=Il(t,s))60&&(t=t.substring(0,60));const n=function(e){let t=0,n=0,i=0,o=0,s=0;for(let r=0;r.2&&t<.8&&i>.6&&o<.2}(n)){if(!function(e){const{upperPercent:t,lowerPercent:n}=e;return 0===n&&t>.6}(n))return null;t=t.toLowerCase()}let i=null,o=0;for(e=e.toLowerCase();o0&&xl(e.charCodeAt(n-1)))return n;return e.length}const Pl=gl(pl,Tl,fl),Ol=gl(pl,Tl,_l),Fl=new il(1e4);function Bl(e,t,n=!1){if("string"!=typeof e||"string"!=typeof t)return null;let i=Fl.get(e);i||(i=new RegExp(e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*"),"i"),Fl.set(e,i));const o=i.exec(t);return o?[{start:o.index,end:o.index+o[0].length}]:n?Ol(e,t):Pl(e,t)}function Wl(e,t){const n=ia(e,e.toLowerCase(),0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?Hl(n):null}function Vl(e,t,n,i,o,s){const r=Math.min(13,e.length);for(;n1;i--){const o=e[i]+n,s=t[t.length-1];s&&s.end===o?s.end=o+1:t.push({start:o,end:o+1})}return t}const zl=128;function Ul(){const e=[],t=[];for(let e=0;e<=zl;e++)t[e]=0;for(let n=0;n<=zl;n++)e.push(t.slice(0));return e}function Kl(e){const t=[];for(let n=0;n<=e;n++)t[n]=0;return t}const jl=Kl(2*zl),ql=Kl(2*zl),$l=Ul(),Gl=Ul(),Zl=Ul(),Yl=!1;function Xl(e,t,n,i,o){function s(e,t,n=" "){for(;e.lengths(e,3))).join("|")}\n`;for(let i=0;i<=n;i++)r+=0===i?" |":`${t[i-1]}|`,r+=e[i].slice(0,o+1).map((e=>s(e.toString(),3))).join("|")+"\n";return r}function Ql(e,t){if(t<0||t>=e.length)return!1;const n=e.codePointAt(t);switch(n){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!Hi(n)}}function Jl(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function ea(e,t,n){return t[e]!==n[e]}var ta;!function(e){e.Default=[-100,0],e.isDefault=function(e){return!e||2===e.length&&-100===e[0]&&0===e[1]}}(ta||(ta={}));class na{constructor(e,t){this.firstMatchCanBeWeak=e,this.boostFullMatch=t}}function ia(e,t,n,i,o,s,r=na.default){const l=e.length>zl?zl:e.length,a=i.length>zl?zl:i.length;if(n>=l||s>=a||l-n>a-s)return;if(!function(e,t,n,i,o,s,r=!1){for(;t=n&&l>=i;)o[r]===s[l]&&(ql[r]=l,r--),l--}(l,a,n,s,t,o);let d=1,u=1,c=n,h=s;const g=[!1];for(d=1,c=n;cr,v=_?Gl[d][u-1]+($l[d][u-1]>0?-5:0):0,b=h>r+1&&$l[d][u-1]>0,w=b?Gl[d][u-2]+($l[d][u-2]>0?-5:0):0;if(b&&(!_||w>=v)&&(!m||w>=f))Gl[d][u]=w,Zl[d][u]=3,$l[d][u]=0;else if(_&&(!m||v>=f))Gl[d][u]=v,Zl[d][u]=2,$l[d][u]=0;else{if(!m)throw new Error("not possible");Gl[d][u]=f,Zl[d][u]=1,$l[d][u]=$l[d-1][u-1]+1}}}if(Yl&&function(e,t,n,i){e=e.substr(t),n=n.substr(i),console.log(Xl(Gl,e,e.length,n,n.length)),console.log(Xl(Zl,e,e.length,n,n.length)),console.log(Xl($l,e,e.length,n,n.length))}(e,n,i,s),!g[0]&&!r.firstMatchCanBeWeak)return;d--,u--;const p=[Gl[d][u],s];let m=0,f=0;for(;d>=1;){let e=u;do{const t=Zl[d][e];if(3===t)e-=2;else{if(2!==t)break;e-=1}}while(e>=1);m>1&&t[n+d-1]===o[s+u-1]&&!ea(e+s-1,i,o)&&m+1>$l[d][e]&&(e=u),e===u?m++:m=1,f||(f=e),d--,u=e-1,p.push(u)}a===l&&r.boostFullMatch&&(p[0]+=2);const _=f-l;return p[0]-=_,p}function oa(e,t,n,i,o,s,r,l,a,d,u){if(t[n]!==s[r])return Number.MIN_SAFE_INTEGER;let c=1,h=!1;return r===n-i?c=e[n]===o[r]?7:5:!ea(r,o,s)||0!==r&&ea(r-1,o,s)?!Ql(s,r)||0!==r&&Ql(s,r-1)?(Ql(s,r-1)||Jl(s,r-1))&&(c=5,h=!0):c=5:(c=e[n]===o[r]?7:5,h=!0),c>1&&n===i&&(u[0]=!0),h||(h=ea(r,o,s)||Ql(s,r-1)||Jl(s,r-1)),n===i?r>a&&(c-=h?3:5):c+=d?h?2:0:h?0:1,r+1===l&&(c-=h?3:5),c}function sa(e,t,n,i,o,s,r){return function(e,t,n,i,o,s,r,l){let a=ia(e,t,n,i,o,s,l);if(e.length>=3){const t=Math.min(7,e.length-1);for(let r=n+1;ra[0])&&(a=e))}}}return a}(e,t,n,i,o,s,0,r)}function ra(e,t){if(t+1>=e.length)return;const n=e[t],i=e[t+1];return n!==i?e.slice(0,t)+i+n+e.slice(t+2):void 0}function la(e){return"string"==typeof e}function aa(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function da(e){const t=Object.getPrototypeOf(Uint8Array);return"object"==typeof e&&e instanceof t}function ua(e){return"number"==typeof e&&!isNaN(e)}function ca(e){return!!e&&"function"==typeof e[Symbol.iterator]}function ha(e){return!0===e||!1===e}function ga(e){return void 0===e}function pa(e){return!ma(e)}function ma(e){return ga(e)||null===e}function fa(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function _a(e){if(ma(e))throw new Error("Assertion Failed: argument is undefined or null");return e}function va(e){return"function"==typeof e}function ba(e,t){if(la(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(va(t)){try{if(e instanceof t)return}catch(e){}if(!ma(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}na.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};const wa=Object.create(null);function Ca(e,t){if(la(t)){const n=wa[t];if(void 0===n)throw new Error(`${e} references an unknown codicon: ${t}`);t=n}return wa[e]=t,{id:e}}function ya(){return wa}const Sa={add:Ca("add",6e4),plus:Ca("plus",6e4),gistNew:Ca("gist-new",6e4),repoCreate:Ca("repo-create",6e4),lightbulb:Ca("lightbulb",60001),lightBulb:Ca("light-bulb",60001),repo:Ca("repo",60002),repoDelete:Ca("repo-delete",60002),gistFork:Ca("gist-fork",60003),repoForked:Ca("repo-forked",60003),gitPullRequest:Ca("git-pull-request",60004),gitPullRequestAbandoned:Ca("git-pull-request-abandoned",60004),recordKeys:Ca("record-keys",60005),keyboard:Ca("keyboard",60005),tag:Ca("tag",60006),gitPullRequestLabel:Ca("git-pull-request-label",60006),tagAdd:Ca("tag-add",60006),tagRemove:Ca("tag-remove",60006),person:Ca("person",60007),personFollow:Ca("person-follow",60007),personOutline:Ca("person-outline",60007),personFilled:Ca("person-filled",60007),gitBranch:Ca("git-branch",60008),gitBranchCreate:Ca("git-branch-create",60008),gitBranchDelete:Ca("git-branch-delete",60008),sourceControl:Ca("source-control",60008),mirror:Ca("mirror",60009),mirrorPublic:Ca("mirror-public",60009),star:Ca("star",60010),starAdd:Ca("star-add",60010),starDelete:Ca("star-delete",60010),starEmpty:Ca("star-empty",60010),comment:Ca("comment",60011),commentAdd:Ca("comment-add",60011),alert:Ca("alert",60012),warning:Ca("warning",60012),search:Ca("search",60013),searchSave:Ca("search-save",60013),logOut:Ca("log-out",60014),signOut:Ca("sign-out",60014),logIn:Ca("log-in",60015),signIn:Ca("sign-in",60015),eye:Ca("eye",60016),eyeUnwatch:Ca("eye-unwatch",60016),eyeWatch:Ca("eye-watch",60016),circleFilled:Ca("circle-filled",60017),primitiveDot:Ca("primitive-dot",60017),closeDirty:Ca("close-dirty",60017),debugBreakpoint:Ca("debug-breakpoint",60017),debugBreakpointDisabled:Ca("debug-breakpoint-disabled",60017),debugHint:Ca("debug-hint",60017),terminalDecorationSuccess:Ca("terminal-decoration-success",60017),primitiveSquare:Ca("primitive-square",60018),edit:Ca("edit",60019),pencil:Ca("pencil",60019),info:Ca("info",60020),issueOpened:Ca("issue-opened",60020),gistPrivate:Ca("gist-private",60021),gitForkPrivate:Ca("git-fork-private",60021),lock:Ca("lock",60021),mirrorPrivate:Ca("mirror-private",60021),close:Ca("close",60022),removeClose:Ca("remove-close",60022),x:Ca("x",60022),repoSync:Ca("repo-sync",60023),sync:Ca("sync",60023),clone:Ca("clone",60024),desktopDownload:Ca("desktop-download",60024),beaker:Ca("beaker",60025),microscope:Ca("microscope",60025),vm:Ca("vm",60026),deviceDesktop:Ca("device-desktop",60026),file:Ca("file",60027),fileText:Ca("file-text",60027),more:Ca("more",60028),ellipsis:Ca("ellipsis",60028),kebabHorizontal:Ca("kebab-horizontal",60028),mailReply:Ca("mail-reply",60029),reply:Ca("reply",60029),organization:Ca("organization",60030),organizationFilled:Ca("organization-filled",60030),organizationOutline:Ca("organization-outline",60030),newFile:Ca("new-file",60031),fileAdd:Ca("file-add",60031),newFolder:Ca("new-folder",60032),fileDirectoryCreate:Ca("file-directory-create",60032),trash:Ca("trash",60033),trashcan:Ca("trashcan",60033),history:Ca("history",60034),clock:Ca("clock",60034),folder:Ca("folder",60035),fileDirectory:Ca("file-directory",60035),symbolFolder:Ca("symbol-folder",60035),logoGithub:Ca("logo-github",60036),markGithub:Ca("mark-github",60036),github:Ca("github",60036),terminal:Ca("terminal",60037),console:Ca("console",60037),repl:Ca("repl",60037),zap:Ca("zap",60038),symbolEvent:Ca("symbol-event",60038),error:Ca("error",60039),stop:Ca("stop",60039),variable:Ca("variable",60040),symbolVariable:Ca("symbol-variable",60040),array:Ca("array",60042),symbolArray:Ca("symbol-array",60042),symbolModule:Ca("symbol-module",60043),symbolPackage:Ca("symbol-package",60043),symbolNamespace:Ca("symbol-namespace",60043),symbolObject:Ca("symbol-object",60043),symbolMethod:Ca("symbol-method",60044),symbolFunction:Ca("symbol-function",60044),symbolConstructor:Ca("symbol-constructor",60044),symbolBoolean:Ca("symbol-boolean",60047),symbolNull:Ca("symbol-null",60047),symbolNumeric:Ca("symbol-numeric",60048),symbolNumber:Ca("symbol-number",60048),symbolStructure:Ca("symbol-structure",60049),symbolStruct:Ca("symbol-struct",60049),symbolParameter:Ca("symbol-parameter",60050),symbolTypeParameter:Ca("symbol-type-parameter",60050),symbolKey:Ca("symbol-key",60051),symbolText:Ca("symbol-text",60051),symbolReference:Ca("symbol-reference",60052),goToFile:Ca("go-to-file",60052),symbolEnum:Ca("symbol-enum",60053),symbolValue:Ca("symbol-value",60053),symbolRuler:Ca("symbol-ruler",60054),symbolUnit:Ca("symbol-unit",60054),activateBreakpoints:Ca("activate-breakpoints",60055),archive:Ca("archive",60056),arrowBoth:Ca("arrow-both",60057),arrowDown:Ca("arrow-down",60058),arrowLeft:Ca("arrow-left",60059),arrowRight:Ca("arrow-right",60060),arrowSmallDown:Ca("arrow-small-down",60061),arrowSmallLeft:Ca("arrow-small-left",60062),arrowSmallRight:Ca("arrow-small-right",60063),arrowSmallUp:Ca("arrow-small-up",60064),arrowUp:Ca("arrow-up",60065),bell:Ca("bell",60066),bold:Ca("bold",60067),book:Ca("book",60068),bookmark:Ca("bookmark",60069),debugBreakpointConditionalUnverified:Ca("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:Ca("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:Ca("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:Ca("debug-breakpoint-data-unverified",60072),debugBreakpointData:Ca("debug-breakpoint-data",60073),debugBreakpointDataDisabled:Ca("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:Ca("debug-breakpoint-log-unverified",60074),debugBreakpointLog:Ca("debug-breakpoint-log",60075),debugBreakpointLogDisabled:Ca("debug-breakpoint-log-disabled",60075),briefcase:Ca("briefcase",60076),broadcast:Ca("broadcast",60077),browser:Ca("browser",60078),bug:Ca("bug",60079),calendar:Ca("calendar",60080),caseSensitive:Ca("case-sensitive",60081),check:Ca("check",60082),checklist:Ca("checklist",60083),chevronDown:Ca("chevron-down",60084),chevronLeft:Ca("chevron-left",60085),chevronRight:Ca("chevron-right",60086),chevronUp:Ca("chevron-up",60087),chromeClose:Ca("chrome-close",60088),chromeMaximize:Ca("chrome-maximize",60089),chromeMinimize:Ca("chrome-minimize",60090),chromeRestore:Ca("chrome-restore",60091),circleOutline:Ca("circle-outline",60092),circle:Ca("circle",60092),debugBreakpointUnverified:Ca("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:Ca("terminal-decoration-incomplete",60092),circleSlash:Ca("circle-slash",60093),circuitBoard:Ca("circuit-board",60094),clearAll:Ca("clear-all",60095),clippy:Ca("clippy",60096),closeAll:Ca("close-all",60097),cloudDownload:Ca("cloud-download",60098),cloudUpload:Ca("cloud-upload",60099),code:Ca("code",60100),collapseAll:Ca("collapse-all",60101),colorMode:Ca("color-mode",60102),commentDiscussion:Ca("comment-discussion",60103),creditCard:Ca("credit-card",60105),dash:Ca("dash",60108),dashboard:Ca("dashboard",60109),database:Ca("database",60110),debugContinue:Ca("debug-continue",60111),debugDisconnect:Ca("debug-disconnect",60112),debugPause:Ca("debug-pause",60113),debugRestart:Ca("debug-restart",60114),debugStart:Ca("debug-start",60115),debugStepInto:Ca("debug-step-into",60116),debugStepOut:Ca("debug-step-out",60117),debugStepOver:Ca("debug-step-over",60118),debugStop:Ca("debug-stop",60119),debug:Ca("debug",60120),deviceCameraVideo:Ca("device-camera-video",60121),deviceCamera:Ca("device-camera",60122),deviceMobile:Ca("device-mobile",60123),diffAdded:Ca("diff-added",60124),diffIgnored:Ca("diff-ignored",60125),diffModified:Ca("diff-modified",60126),diffRemoved:Ca("diff-removed",60127),diffRenamed:Ca("diff-renamed",60128),diff:Ca("diff",60129),diffSidebyside:Ca("diff-sidebyside",60129),discard:Ca("discard",60130),editorLayout:Ca("editor-layout",60131),emptyWindow:Ca("empty-window",60132),exclude:Ca("exclude",60133),extensions:Ca("extensions",60134),eyeClosed:Ca("eye-closed",60135),fileBinary:Ca("file-binary",60136),fileCode:Ca("file-code",60137),fileMedia:Ca("file-media",60138),filePdf:Ca("file-pdf",60139),fileSubmodule:Ca("file-submodule",60140),fileSymlinkDirectory:Ca("file-symlink-directory",60141),fileSymlinkFile:Ca("file-symlink-file",60142),fileZip:Ca("file-zip",60143),files:Ca("files",60144),filter:Ca("filter",60145),flame:Ca("flame",60146),foldDown:Ca("fold-down",60147),foldUp:Ca("fold-up",60148),fold:Ca("fold",60149),folderActive:Ca("folder-active",60150),folderOpened:Ca("folder-opened",60151),gear:Ca("gear",60152),gift:Ca("gift",60153),gistSecret:Ca("gist-secret",60154),gist:Ca("gist",60155),gitCommit:Ca("git-commit",60156),gitCompare:Ca("git-compare",60157),compareChanges:Ca("compare-changes",60157),gitMerge:Ca("git-merge",60158),githubAction:Ca("github-action",60159),githubAlt:Ca("github-alt",60160),globe:Ca("globe",60161),grabber:Ca("grabber",60162),graph:Ca("graph",60163),gripper:Ca("gripper",60164),heart:Ca("heart",60165),home:Ca("home",60166),horizontalRule:Ca("horizontal-rule",60167),hubot:Ca("hubot",60168),inbox:Ca("inbox",60169),issueReopened:Ca("issue-reopened",60171),issues:Ca("issues",60172),italic:Ca("italic",60173),jersey:Ca("jersey",60174),json:Ca("json",60175),kebabVertical:Ca("kebab-vertical",60176),key:Ca("key",60177),law:Ca("law",60178),lightbulbAutofix:Ca("lightbulb-autofix",60179),linkExternal:Ca("link-external",60180),link:Ca("link",60181),listOrdered:Ca("list-ordered",60182),listUnordered:Ca("list-unordered",60183),liveShare:Ca("live-share",60184),loading:Ca("loading",60185),location:Ca("location",60186),mailRead:Ca("mail-read",60187),mail:Ca("mail",60188),markdown:Ca("markdown",60189),megaphone:Ca("megaphone",60190),mention:Ca("mention",60191),milestone:Ca("milestone",60192),gitPullRequestMilestone:Ca("git-pull-request-milestone",60192),mortarBoard:Ca("mortar-board",60193),move:Ca("move",60194),multipleWindows:Ca("multiple-windows",60195),mute:Ca("mute",60196),noNewline:Ca("no-newline",60197),note:Ca("note",60198),octoface:Ca("octoface",60199),openPreview:Ca("open-preview",60200),package:Ca("package",60201),paintcan:Ca("paintcan",60202),pin:Ca("pin",60203),play:Ca("play",60204),run:Ca("run",60204),plug:Ca("plug",60205),preserveCase:Ca("preserve-case",60206),preview:Ca("preview",60207),project:Ca("project",60208),pulse:Ca("pulse",60209),question:Ca("question",60210),quote:Ca("quote",60211),radioTower:Ca("radio-tower",60212),reactions:Ca("reactions",60213),references:Ca("references",60214),refresh:Ca("refresh",60215),regex:Ca("regex",60216),remoteExplorer:Ca("remote-explorer",60217),remote:Ca("remote",60218),remove:Ca("remove",60219),replaceAll:Ca("replace-all",60220),replace:Ca("replace",60221),repoClone:Ca("repo-clone",60222),repoForcePush:Ca("repo-force-push",60223),repoPull:Ca("repo-pull",60224),repoPush:Ca("repo-push",60225),report:Ca("report",60226),requestChanges:Ca("request-changes",60227),rocket:Ca("rocket",60228),rootFolderOpened:Ca("root-folder-opened",60229),rootFolder:Ca("root-folder",60230),rss:Ca("rss",60231),ruby:Ca("ruby",60232),saveAll:Ca("save-all",60233),saveAs:Ca("save-as",60234),save:Ca("save",60235),screenFull:Ca("screen-full",60236),screenNormal:Ca("screen-normal",60237),searchStop:Ca("search-stop",60238),server:Ca("server",60240),settingsGear:Ca("settings-gear",60241),settings:Ca("settings",60242),shield:Ca("shield",60243),smiley:Ca("smiley",60244),sortPrecedence:Ca("sort-precedence",60245),splitHorizontal:Ca("split-horizontal",60246),splitVertical:Ca("split-vertical",60247),squirrel:Ca("squirrel",60248),starFull:Ca("star-full",60249),starHalf:Ca("star-half",60250),symbolClass:Ca("symbol-class",60251),symbolColor:Ca("symbol-color",60252),symbolConstant:Ca("symbol-constant",60253),symbolEnumMember:Ca("symbol-enum-member",60254),symbolField:Ca("symbol-field",60255),symbolFile:Ca("symbol-file",60256),symbolInterface:Ca("symbol-interface",60257),symbolKeyword:Ca("symbol-keyword",60258),symbolMisc:Ca("symbol-misc",60259),symbolOperator:Ca("symbol-operator",60260),symbolProperty:Ca("symbol-property",60261),wrench:Ca("wrench",60261),wrenchSubaction:Ca("wrench-subaction",60261),symbolSnippet:Ca("symbol-snippet",60262),tasklist:Ca("tasklist",60263),telescope:Ca("telescope",60264),textSize:Ca("text-size",60265),threeBars:Ca("three-bars",60266),thumbsdown:Ca("thumbsdown",60267),thumbsup:Ca("thumbsup",60268),tools:Ca("tools",60269),triangleDown:Ca("triangle-down",60270),triangleLeft:Ca("triangle-left",60271),triangleRight:Ca("triangle-right",60272),triangleUp:Ca("triangle-up",60273),twitter:Ca("twitter",60274),unfold:Ca("unfold",60275),unlock:Ca("unlock",60276),unmute:Ca("unmute",60277),unverified:Ca("unverified",60278),verified:Ca("verified",60279),versions:Ca("versions",60280),vmActive:Ca("vm-active",60281),vmOutline:Ca("vm-outline",60282),vmRunning:Ca("vm-running",60283),watch:Ca("watch",60284),whitespace:Ca("whitespace",60285),wholeWord:Ca("whole-word",60286),window:Ca("window",60287),wordWrap:Ca("word-wrap",60288),zoomIn:Ca("zoom-in",60289),zoomOut:Ca("zoom-out",60290),listFilter:Ca("list-filter",60291),listFlat:Ca("list-flat",60292),listSelection:Ca("list-selection",60293),selection:Ca("selection",60293),listTree:Ca("list-tree",60294),debugBreakpointFunctionUnverified:Ca("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:Ca("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:Ca("debug-breakpoint-function-disabled",60296),debugStackframeActive:Ca("debug-stackframe-active",60297),circleSmallFilled:Ca("circle-small-filled",60298),debugStackframeDot:Ca("debug-stackframe-dot",60298),terminalDecorationMark:Ca("terminal-decoration-mark",60298),debugStackframe:Ca("debug-stackframe",60299),debugStackframeFocused:Ca("debug-stackframe-focused",60299),debugBreakpointUnsupported:Ca("debug-breakpoint-unsupported",60300),symbolString:Ca("symbol-string",60301),debugReverseContinue:Ca("debug-reverse-continue",60302),debugStepBack:Ca("debug-step-back",60303),debugRestartFrame:Ca("debug-restart-frame",60304),debugAlt:Ca("debug-alt",60305),callIncoming:Ca("call-incoming",60306),callOutgoing:Ca("call-outgoing",60307),menu:Ca("menu",60308),expandAll:Ca("expand-all",60309),feedback:Ca("feedback",60310),gitPullRequestReviewer:Ca("git-pull-request-reviewer",60310),groupByRefType:Ca("group-by-ref-type",60311),ungroupByRefType:Ca("ungroup-by-ref-type",60312),account:Ca("account",60313),gitPullRequestAssignee:Ca("git-pull-request-assignee",60313),bellDot:Ca("bell-dot",60314),debugConsole:Ca("debug-console",60315),library:Ca("library",60316),output:Ca("output",60317),runAll:Ca("run-all",60318),syncIgnored:Ca("sync-ignored",60319),pinned:Ca("pinned",60320),githubInverted:Ca("github-inverted",60321),serverProcess:Ca("server-process",60322),serverEnvironment:Ca("server-environment",60323),pass:Ca("pass",60324),issueClosed:Ca("issue-closed",60324),stopCircle:Ca("stop-circle",60325),playCircle:Ca("play-circle",60326),record:Ca("record",60327),debugAltSmall:Ca("debug-alt-small",60328),vmConnect:Ca("vm-connect",60329),cloud:Ca("cloud",60330),merge:Ca("merge",60331),export:Ca("export",60332),graphLeft:Ca("graph-left",60333),magnet:Ca("magnet",60334),notebook:Ca("notebook",60335),redo:Ca("redo",60336),checkAll:Ca("check-all",60337),pinnedDirty:Ca("pinned-dirty",60338),passFilled:Ca("pass-filled",60339),circleLargeFilled:Ca("circle-large-filled",60340),circleLarge:Ca("circle-large",60341),circleLargeOutline:Ca("circle-large-outline",60341),combine:Ca("combine",60342),gather:Ca("gather",60342),table:Ca("table",60343),variableGroup:Ca("variable-group",60344),typeHierarchy:Ca("type-hierarchy",60345),typeHierarchySub:Ca("type-hierarchy-sub",60346),typeHierarchySuper:Ca("type-hierarchy-super",60347),gitPullRequestCreate:Ca("git-pull-request-create",60348),runAbove:Ca("run-above",60349),runBelow:Ca("run-below",60350),notebookTemplate:Ca("notebook-template",60351),debugRerun:Ca("debug-rerun",60352),workspaceTrusted:Ca("workspace-trusted",60353),workspaceUntrusted:Ca("workspace-untrusted",60354),workspaceUnknown:Ca("workspace-unknown",60355),terminalCmd:Ca("terminal-cmd",60356),terminalDebian:Ca("terminal-debian",60357),terminalLinux:Ca("terminal-linux",60358),terminalPowershell:Ca("terminal-powershell",60359),terminalTmux:Ca("terminal-tmux",60360),terminalUbuntu:Ca("terminal-ubuntu",60361),terminalBash:Ca("terminal-bash",60362),arrowSwap:Ca("arrow-swap",60363),copy:Ca("copy",60364),personAdd:Ca("person-add",60365),filterFilled:Ca("filter-filled",60366),wand:Ca("wand",60367),debugLineByLine:Ca("debug-line-by-line",60368),inspect:Ca("inspect",60369),layers:Ca("layers",60370),layersDot:Ca("layers-dot",60371),layersActive:Ca("layers-active",60372),compass:Ca("compass",60373),compassDot:Ca("compass-dot",60374),compassActive:Ca("compass-active",60375),azure:Ca("azure",60376),issueDraft:Ca("issue-draft",60377),gitPullRequestClosed:Ca("git-pull-request-closed",60378),gitPullRequestDraft:Ca("git-pull-request-draft",60379),debugAll:Ca("debug-all",60380),debugCoverage:Ca("debug-coverage",60381),runErrors:Ca("run-errors",60382),folderLibrary:Ca("folder-library",60383),debugContinueSmall:Ca("debug-continue-small",60384),beakerStop:Ca("beaker-stop",60385),graphLine:Ca("graph-line",60386),graphScatter:Ca("graph-scatter",60387),pieChart:Ca("pie-chart",60388),bracket:Ca("bracket",60175),bracketDot:Ca("bracket-dot",60389),bracketError:Ca("bracket-error",60390),lockSmall:Ca("lock-small",60391),azureDevops:Ca("azure-devops",60392),verifiedFilled:Ca("verified-filled",60393),newline:Ca("newline",60394),layout:Ca("layout",60395),layoutActivitybarLeft:Ca("layout-activitybar-left",60396),layoutActivitybarRight:Ca("layout-activitybar-right",60397),layoutPanelLeft:Ca("layout-panel-left",60398),layoutPanelCenter:Ca("layout-panel-center",60399),layoutPanelJustify:Ca("layout-panel-justify",60400),layoutPanelRight:Ca("layout-panel-right",60401),layoutPanel:Ca("layout-panel",60402),layoutSidebarLeft:Ca("layout-sidebar-left",60403),layoutSidebarRight:Ca("layout-sidebar-right",60404),layoutStatusbar:Ca("layout-statusbar",60405),layoutMenubar:Ca("layout-menubar",60406),layoutCentered:Ca("layout-centered",60407),target:Ca("target",60408),indent:Ca("indent",60409),recordSmall:Ca("record-small",60410),errorSmall:Ca("error-small",60411),terminalDecorationError:Ca("terminal-decoration-error",60411),arrowCircleDown:Ca("arrow-circle-down",60412),arrowCircleLeft:Ca("arrow-circle-left",60413),arrowCircleRight:Ca("arrow-circle-right",60414),arrowCircleUp:Ca("arrow-circle-up",60415),layoutSidebarRightOff:Ca("layout-sidebar-right-off",60416),layoutPanelOff:Ca("layout-panel-off",60417),layoutSidebarLeftOff:Ca("layout-sidebar-left-off",60418),blank:Ca("blank",60419),heartFilled:Ca("heart-filled",60420),map:Ca("map",60421),mapHorizontal:Ca("map-horizontal",60421),foldHorizontal:Ca("fold-horizontal",60421),mapFilled:Ca("map-filled",60422),mapHorizontalFilled:Ca("map-horizontal-filled",60422),foldHorizontalFilled:Ca("fold-horizontal-filled",60422),circleSmall:Ca("circle-small",60423),bellSlash:Ca("bell-slash",60424),bellSlashDot:Ca("bell-slash-dot",60425),commentUnresolved:Ca("comment-unresolved",60426),gitPullRequestGoToChanges:Ca("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:Ca("git-pull-request-new-changes",60428),searchFuzzy:Ca("search-fuzzy",60429),commentDraft:Ca("comment-draft",60430),send:Ca("send",60431),sparkle:Ca("sparkle",60432),insert:Ca("insert",60433),mic:Ca("mic",60434),thumbsdownFilled:Ca("thumbsdown-filled",60435),thumbsupFilled:Ca("thumbsup-filled",60436),coffee:Ca("coffee",60437),snake:Ca("snake",60438),game:Ca("game",60439),vr:Ca("vr",60440),chip:Ca("chip",60441),piano:Ca("piano",60442),music:Ca("music",60443),micFilled:Ca("mic-filled",60444),repoFetch:Ca("repo-fetch",60445),copilot:Ca("copilot",60446),lightbulbSparkle:Ca("lightbulb-sparkle",60447),robot:Ca("robot",60448),sparkleFilled:Ca("sparkle-filled",60449),diffSingle:Ca("diff-single",60450),diffMultiple:Ca("diff-multiple",60451),surroundWith:Ca("surround-with",60452),share:Ca("share",60453),gitStash:Ca("git-stash",60454),gitStashApply:Ca("git-stash-apply",60455),gitStashPop:Ca("git-stash-pop",60456),vscode:Ca("vscode",60457),vscodeInsiders:Ca("vscode-insiders",60458),codeOss:Ca("code-oss",60459),runCoverage:Ca("run-coverage",60460),runAllCoverage:Ca("run-all-coverage",60461),coverage:Ca("coverage",60462),githubProject:Ca("github-project",60463),mapVertical:Ca("map-vertical",60464),foldVertical:Ca("fold-vertical",60464),mapVerticalFilled:Ca("map-vertical-filled",60465),foldVerticalFilled:Ca("fold-vertical-filled",60465),dialogError:Ca("dialog-error","error"),dialogWarning:Ca("dialog-warning","warning"),dialogInfo:Ca("dialog-info","info"),dialogClose:Ca("dialog-close","close"),treeItemExpanded:Ca("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:Ca("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:Ca("tree-filter-on-type-off","list-selection"),treeFilterClear:Ca("tree-filter-clear","close"),treeItemLoading:Ca("tree-item-loading","loading"),menuSelection:Ca("menu-selection","check"),menuSubmenu:Ca("menu-submenu","chevron-right"),menuBarMore:Ca("menubar-more","more"),scrollbarButtonLeft:Ca("scrollbar-button-left","triangle-left"),scrollbarButtonRight:Ca("scrollbar-button-right","triangle-right"),scrollbarButtonUp:Ca("scrollbar-button-up","triangle-up"),scrollbarButtonDown:Ca("scrollbar-button-down","triangle-down"),toolBarMore:Ca("toolbar-more","more"),quickInputBack:Ca("quick-input-back","arrow-left"),dropDownButton:Ca("drop-down-button",60084),symbolCustomColor:Ca("symbol-customcolor",60252),exportIcon:Ca("export",60332),workspaceUnspecified:Ca("workspace-unspecified",60355),newLine:Ca("newline",60394),thumbsDownFilled:Ca("thumbsdown-filled",60435),thumbsUpFilled:Ca("thumbsup-filled",60436),gitFetch:Ca("git-fetch",60445),lightbulbSparkleAutofix:Ca("lightbulb-sparkle-autofix",60447),debugBreakpointPending:Ca("debug-breakpoint-pending",60377)};var xa,ka;!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(xa||(xa={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){const i=t.exec(e.id);if(!i)return n(Sa.error);const[,o,s]=i,r=["codicon","codicon-"+o];return s&&r.push("codicon-modifier-"+s.substring(1)),r}e.asClassNameArray=n,e.asClassName=function(e){return n(e).join(" ")},e.asCSSSelector=function(e){return"."+n(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||xa.isThemeColor(e.color))};const i=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=i.exec(e);if(!t)return;const[,n]=t;return{id:n}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let n=e.id;const i=n.lastIndexOf("~");return-1!==i&&(n=n.substring(0,i)),t&&(n=`${n}~${t}`),{id:n}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){var n,i;return e.id===t.id&&(null===(n=e.color)||void 0===n?void 0:n.id)===(null===(i=t.color)||void 0===i?void 0:i.id)}}(ka||(ka={}));const La=new RegExp(`\\$\\(${ka.iconNameExpression}(?:${ka.iconModifierExpression})?\\)`,"g"),Da=new RegExp(`(\\\\)?${La.source}`,"g"),Na=new RegExp(`\\\\${La.source}`,"g"),Ea=new RegExp(`(\\s)?(\\\\)?${La.source}(\\s)?`,"g");function Ia(e){return-1===e.indexOf("$(")?e:e.replace(Ea,((e,t,n,i)=>n?e:t||i||""))}const Ma=new RegExp(`\\$\\(${ka.iconNameCharacter}+\\)`,"g");function Ta(e){Ma.lastIndex=0;let t="";const n=[];let i=0;for(;;){const o=Ma.lastIndex,s=Ma.exec(e),r=e.substring(o,null==s?void 0:s.index);if(r.length>0){t+=r;for(let e=0;ee.length)return!1;if(n){if(!Si(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===i&&n--,e.charAt(n)===i}return t.charAt(t.length-1)!==i&&(t+=i),0===e.indexOf(t)}function Ba(e){return e>=65&&e<=90||e>=97&&e<=122}function Wa(e){return Oo(e,!0)}class Va{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:mi(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===Ho.file)return Fa(Wa(e),Wa(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(Xa(e.authority,t.authority))return Fa(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return Io.joinPath(e,...t)}basenameOrAuthority(e){return Ka(e)||e.authority}basename(e){return fo.basename(e.path)}extname(e){return fo.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===Ho.file?t=Io.file(wo(Wa(e))).path:(t=fo.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===Ho.file?Io.file(_o(Wa(e))).path:fo.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!Xa(e.authority,t.authority))return;if(e.scheme===Ho.file){const n=bo(Wa(e),Wa(t));return z?Pa(n):n}let n=e.path||"/";const i=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(n.length,i.length);eOa(n).length&&n[n.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=So){return Qa(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=So){let n=!1;if(e.scheme===Ho.file){const i=Wa(e);n=void 0!==i&&i.length===Oa(i).length&&i[i.length-1]===t}else{t="/";const i=e.path;n=1===i.length&&47===i.charCodeAt(i.length-1)}return n||Qa(e,t)?e:e.with({path:e.path+"/"})}}const Ha=new Va((()=>!1)),za=(new Va((e=>e.scheme!==Ho.file||!K)),new Va((e=>!0)),Ha.isEqual.bind(Ha)),Ua=(Ha.isEqualOrParent.bind(Ha),Ha.getComparisonKey.bind(Ha),Ha.basenameOrAuthority.bind(Ha)),Ka=Ha.basename.bind(Ha),ja=Ha.extname.bind(Ha),qa=Ha.dirname.bind(Ha),$a=Ha.joinPath.bind(Ha),Ga=Ha.normalizePath.bind(Ha),Za=Ha.relativePath.bind(Ha),Ya=Ha.resolvePath.bind(Ha),Xa=(Ha.isAbsolutePath.bind(Ha),Ha.isEqualAuthority.bind(Ha)),Qa=Ha.hasTrailingPathSeparator.bind(Ha);var Ja;Ha.removeTrailingPathSeparator.bind(Ha),Ha.addTrailingPathSeparator.bind(Ha),function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,i]=e.split(":");t&&i&&n.set(t,i)}));const i=t.path.substring(0,t.path.indexOf(";"));return i&&n.set(e.META_DATA_MIME,i),n}}(Ja||(Ja={}));class ed{constructor(e="",t=!1){var n,i,o;if(this.value=e,"string"!=typeof this.value)throw Ie("value");"boolean"==typeof t?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=null!==(n=t.isTrusted)&&void 0!==n?n:void 0,this.supportThemeIcons=null!==(i=t.supportThemeIcons)&&void 0!==i&&i,this.supportHtml=null!==(o=t.supportHtml)&&void 0!==o&&o)}appendText(e,t=0){var n;return this.value+=function(e){return e.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}(this.supportThemeIcons?(n=e,n.replace(Da,((e,t)=>t?e:`\\${e}`))):e).replace(/([ \t]+)/g,((e,t)=>" ".repeat(t.length))).replace(/\>/gm,"\\>").replace(/\n/g,1===t?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=`\n${function(e,t){var n,i;const o=null!==(i=null===(n=e.match(/^`+/gm))||void 0===n?void 0:n.reduce(((e,t)=>e.length>t.length?e:t)).length)&&void 0!==i?i:0,s=o>=3?o+1:3;return[`${"`".repeat(s)}${t}`,e,`${"`".repeat(s)}`].join("\n")}(t,e)}\n`,this}appendLink(e,t,n){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),n&&(this.value+=` "${this._escape(this._escape(n,'"'),")")}"`),this.value+=")",this}_escape(e,t){const n=new RegExp(ri(t),"g");return e.replace(n,((t,n)=>"\\"!==e.charAt(n-1)?`\\${t}`:t))}}function td(e){return nd(e)?!e.value:!Array.isArray(e)||e.every(td)}function nd(e){return e instanceof ed||!(!e||"object"!=typeof e)&&!("string"!=typeof e.value||"boolean"!=typeof e.isTrusted&&"object"!=typeof e.isTrusted&&void 0!==e.isTrusted||"boolean"!=typeof e.supportThemeIcons&&void 0!==e.supportThemeIcons)}function id(e){return e.replace(/"/g,""")}function od(e){return e?e.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1"):e}var sd,rd=n(2755),ld={};ld.styleTagTransform=Vr(),ld.setAttributes=Or(),ld.insert=Rr().bind(null,"head"),ld.domAPI=Tr(),ld.insertStyleElement=Br(),Ir()(rd.A,ld),rd.A&&rd.A.locals&&rd.A.locals,function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(sd||(sd={}));const ad=dd("instantiationService");function dd(e){if(sd.serviceIds.has(e))return sd.serviceIds.get(e);const t=function(e,n,i){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,n){t[sd.DI_TARGET]===t?t[sd.DI_DEPENDENCIES].push({id:e,index:n}):(t[sd.DI_DEPENDENCIES]=[{id:e,index:n}],t[sd.DI_TARGET]=t)}(t,e,i)};return t.toString=()=>e,sd.serviceIds.set(e,t),t}const ud=dd("codeEditorService");class cd{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new cd(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return cd.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return cd.isBefore(this,e)}static isBefore(e,t){return e.lineNumbere.run(...t),tooltip:e.label}}vd.ID="vs.actions.empty";const wd=dd("commandService"),Cd=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new Ct,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(e,t){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t})}if(e.metadata&&Array.isArray(e.metadata.args)){const t=[];for(const n of e.metadata.args)t.push(n.constraint);const n=e.handler;e.handler=function(e,...i){return function(e,t){const n=Math.min(e.length,t.length);for(let i=0;i{o();const e=this._commands.get(n);(null==e?void 0:e.isEmpty())&&this._commands.delete(n)}));return this._onDidRegisterCommand.fire(n),s}registerCommandAlias(e,t){return Cd.registerCommand(e,((e,...n)=>e.get(wd).executeCommand(t,...n)))}getCommand(e){const t=this._commands.get(e);if(t&&!t.isEmpty())return Ye.first(t)}getCommands(){const e=new Map;for(const t of this._commands.keys()){const n=this.getCommand(t);n&&e.set(t,n)}return e}};function yd(...e){switch(e.length){case 1:return _(0,"Did you mean {0}?",e[0]);case 2:return _(0,"Did you mean {0} or {1}?",e[0],e[1]);case 3:return _(0,"Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}Cd.registerCommand("noop",(()=>{}));const Sd=_(0,"Did you forget to open or close the quote?"),xd=_(0,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class kd{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw Me(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(yd("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(yd("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(yd("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return!this._isAtEnd()&&this._input.charCodeAt(this._current)===e&&(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,n=this._input.substring(this._start,this._current),i={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(i)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),n=kd._keywords.get(t);n?this._addToken(n):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(Sd):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,n=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(xd);const i=this._input.charCodeAt(e);if(t)t=!1;else{if(47===i&&!n){e++;break}91===i?n=!0:92===i?t=!0:93===i&&(n=!1)}e++}for(;e=this._input.length}}kd._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0)))),kd._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const Ld=new Map;Ld.set("false",!1),Ld.set("true",!0),Ld.set("isMac",U),Ld.set("isLinux",K),Ld.set("isWindows",z),Ld.set("isWeb",q),Ld.set("isMacNative",U&&!q),Ld.set("isEdge",le),Ld.set("isFirefox",se),Ld.set("isChrome",oe),Ld.set("isSafari",re);const Dd=Object.prototype.hasOwnProperty,Nd={regexParsingWithErrorRecovery:!0},Ed=_(0,"Empty context key expression"),Id=_(0,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),Md=_(0,"'in' after 'not'."),Td=_(0,"closing parenthesis ')'"),Ad=_(0,"Unexpected token"),Rd=_(0,"Did you forget to put && or || before the token?"),Pd=_(0,"Unexpected end of expression"),Od=_(0,"Did you forget to put a context key?");class Fd{constructor(e=Nd){this._config=e,this._scanner=new kd,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?Rd:void 0;throw this._parsingErrors.push({message:Ad,offset:e.offset,lexeme:kd.getLexeme(e),additionalInfo:t}),Fd._parseError}return e}catch(e){if(e!==Fd._parseError)throw e;return}}else this._parsingErrors.push({message:Ed,offset:0,lexeme:"",additionalInfo:Id})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:Bd.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:Bd.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),Vd.INSTANCE;case 12:return this._advance(),Hd.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,Td),null==e?void 0:e.negate()}case 17:return this._advance(),$d.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),Bd.true();case 12:return this._advance(),Bd.false();case 0:{this._advance();const e=this._expr();return this._consume(1,Td),e}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const n=e.lexeme,i=n.lastIndexOf("/"),o=i===n.length-1?void 0:this._removeFlagsGY(n.substring(i+1));let s;try{s=new RegExp(n.substring(1,i),o)}catch(t){throw this._errExpectedButGot("REGEX",e)}return Jd.create(t,s)}switch(e.type){case 10:case 19:{const n=[e.lexeme];this._advance();let i=this._peek(),o=0;for(let t=0;t=0){const s=n.slice(t+1,o),r="i"===n[o+1]?"i":"";try{i=new RegExp(s,r)}catch(t){throw this._errExpectedButGot("REGEX",e)}}}if(null===i)throw this._errExpectedButGot("REGEX",e);return Jd.create(t,i)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,Md);const e=this._value();return Bd.notIn(t,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return Bd.equals(t,e);switch(e){case"true":return Bd.has(t);case"false":return Bd.not(t);default:return Bd.equals(t,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return Bd.notEquals(t,e);switch(e){case"true":return Bd.not(t);case"false":return Bd.has(t);default:return Bd.notEquals(t,e)}}case 5:return this._advance(),Xd.create(t,this._value());case 6:return this._advance(),Qd.create(t,this._value());case 7:return this._advance(),Zd.create(t,this._value());case 8:return this._advance(),Yd.create(t,this._value());case 13:return this._advance(),Bd.in(t,this._value());default:return Bd.has(t)}}case 20:throw this._parsingErrors.push({message:Pd,offset:e.offset,lexeme:"",additionalInfo:Od}),Fd._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,n){const i=_(0,"Expected: {0}\nReceived: '{1}'.",e,kd.getLexeme(t)),o=t.offset,s=kd.getLexeme(t);return this._parsingErrors.push({message:i,offset:o,lexeme:s,additionalInfo:n}),Fd._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}Fd._parseError=new Error;class Bd{static false(){return Vd.INSTANCE}static true(){return Hd.INSTANCE}static has(e){return zd.create(e)}static equals(e,t){return Ud.create(e,t)}static notEquals(e,t){return qd.create(e,t)}static regex(e,t){return Jd.create(e,t)}static in(e,t){return Kd.create(e,t)}static notIn(e,t){return jd.create(e,t)}static not(e){return $d.create(e)}static and(...e){return nu.create(e,null,!0)}static or(...e){return iu.create(e,null,!0)}static deserialize(e){if(null!=e)return this._parser.parse(e)}}function Wd(e,t){return e.cmp(t)}Bd._parser=new Fd({regexParsingWithErrorRecovery:!1});class Vd{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return Hd.INSTANCE}}Vd.INSTANCE=new Vd;class Hd{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return Vd.INSTANCE}}Hd.INSTANCE=new Hd;class zd{static create(e,t=null){const n=Ld.get(e);return"boolean"==typeof n?n?Hd.INSTANCE:Vd.INSTANCE:new zd(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:ru(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=Ld.get(this.key);return"boolean"==typeof e?e?Hd.INSTANCE:Vd.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=$d.create(this.key,this)),this.negated}}class Ud{static create(e,t,n=null){if("boolean"==typeof t)return t?zd.create(e,n):$d.create(e,n);const i=Ld.get(e);return"boolean"==typeof i?t===(i?"true":"false")?Hd.INSTANCE:Vd.INSTANCE:new Ud(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){const e=Ld.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?Hd.INSTANCE:Vd.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=qd.create(this.key,this.value,this)),this.negated}}class Kd{static create(e,t){return new Kd(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&this.key===e.key&&this.valueKey===e.valueKey}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):"string"==typeof n&&"object"==typeof t&&null!==t&&Dd.call(t,n)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=jd.create(this.key,this.valueKey)),this.negated}}class jd{static create(e,t){return new jd(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=Kd.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class qd{static create(e,t,n=null){if("boolean"==typeof t)return t?$d.create(e,n):zd.create(e,n);const i=Ld.get(e);return"boolean"==typeof i?t===(i?"true":"false")?Vd.INSTANCE:Hd.INSTANCE:new qd(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){const e=Ld.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?Vd.INSTANCE:Hd.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Ud.create(this.key,this.value,this)),this.negated}}class $d{static create(e,t=null){const n=Ld.get(e);return"boolean"==typeof n?n?Vd.INSTANCE:Hd.INSTANCE:new $d(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:ru(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=Ld.get(this.key);return"boolean"==typeof e?e?Vd.INSTANCE:Hd.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=zd.create(this.key,this)),this.negated}}function Gd(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):Vd.INSTANCE}class Zd{static create(e,t,n=null){return Gd(t,(t=>new Zd(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Qd.create(this.key,this.value,this)),this.negated}}class Yd{static create(e,t,n=null){return Gd(t,(t=>new Yd(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Xd.create(this.key,this.value,this)),this.negated}}class Xd{static create(e,t,n=null){return Gd(t,(t=>new Xd(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))new Qd(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:lu(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Zd.create(this.key,this.value,this)),this.negated}}class Jd{static create(e,t){return new Jd(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return tn?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=eu.create(this)),this.negated}}class eu{static create(e){return new eu(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function tu(e){let t=null;for(let n=0,i=e.length;ne.expr.length)return 1;for(let t=0,n=this.expr.length;t1;){const e=i[i.length-1];if(9!==e.type)break;i.pop();const t=i.pop(),o=0===i.length,s=iu.create(e.expr.map((e=>nu.create([e,t],null,n))),null,o);s&&(i.push(s),i.sort(Wd))}if(1===i.length)return i[0];if(n){for(let e=0;ee.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=iu.create(e,this,!0)}return this.negated}}class iu{static create(e,t,n){return iu._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,n=this.expr.length;te.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),n=e.shift(),i=[];for(const e of uu(t))for(const t of uu(n))i.push(nu.create([e,t],null,!1));e.unshift(iu.create(i,null,!1))}this.negated=iu.create(e,this,!0)}return this.negated}}class ou extends zd{static all(){return ou._info.values()}constructor(e,t,n){super(e,null),this._defaultValue=t,"object"==typeof n?ou._info.push({...n,key:e}):!0!==n&&ou._info.push({key:e,description:n,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return Ud.create(this.key,e)}}ou._info=[];const su=dd("contextKeyService");function ru(e,t){return et?1:0}function lu(e,t,n,i){return en?1:ti?1:0}function au(e,t){if(0===e.type||1===t.type)return!0;if(9===e.type)return 9===t.type&&du(e.expr,t.expr);if(9===t.type){for(const n of t.expr)if(au(e,n))return!0;return!1}if(6===e.type){if(6===t.type)return du(t.expr,e.expr);for(const n of e.expr)if(au(n,t))return!0;return!1}return e.equals(t)}function du(e,t){let n=0,i=0;for(;n{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(bu)),this._cachedMergedKeybindings.slice(0)}}const vu=new _u;function bu(e,t){if(e.weight1!==t.weight1)return e.weight1-t.weight1;if(e.command&&t.command){if(e.commandt.command)return 1}return e.weight2-t.weight2}fu.add("platform.keybindingsRegistry",vu);var wu,Cu=function(e,t){return function(n,i){t(n,i,e)}};function yu(e){return void 0!==e.command}class Su{constructor(e){if(Su._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);Su._instances.set(e,this),this.id=e}}Su._instances=new Map,Su.CommandPalette=new Su("CommandPalette"),Su.DebugBreakpointsContext=new Su("DebugBreakpointsContext"),Su.DebugCallStackContext=new Su("DebugCallStackContext"),Su.DebugConsoleContext=new Su("DebugConsoleContext"),Su.DebugVariablesContext=new Su("DebugVariablesContext"),Su.NotebookVariablesContext=new Su("NotebookVariablesContext"),Su.DebugHoverContext=new Su("DebugHoverContext"),Su.DebugWatchContext=new Su("DebugWatchContext"),Su.DebugToolBar=new Su("DebugToolBar"),Su.DebugToolBarStop=new Su("DebugToolBarStop"),Su.EditorContext=new Su("EditorContext"),Su.SimpleEditorContext=new Su("SimpleEditorContext"),Su.EditorContent=new Su("EditorContent"),Su.EditorLineNumberContext=new Su("EditorLineNumberContext"),Su.EditorContextCopy=new Su("EditorContextCopy"),Su.EditorContextPeek=new Su("EditorContextPeek"),Su.EditorContextShare=new Su("EditorContextShare"),Su.EditorTitle=new Su("EditorTitle"),Su.EditorTitleRun=new Su("EditorTitleRun"),Su.EditorTitleContext=new Su("EditorTitleContext"),Su.EditorTitleContextShare=new Su("EditorTitleContextShare"),Su.EmptyEditorGroup=new Su("EmptyEditorGroup"),Su.EmptyEditorGroupContext=new Su("EmptyEditorGroupContext"),Su.EditorTabsBarContext=new Su("EditorTabsBarContext"),Su.EditorTabsBarShowTabsSubmenu=new Su("EditorTabsBarShowTabsSubmenu"),Su.EditorTabsBarShowTabsZenModeSubmenu=new Su("EditorTabsBarShowTabsZenModeSubmenu"),Su.EditorActionsPositionSubmenu=new Su("EditorActionsPositionSubmenu"),Su.ExplorerContext=new Su("ExplorerContext"),Su.ExplorerContextShare=new Su("ExplorerContextShare"),Su.ExtensionContext=new Su("ExtensionContext"),Su.GlobalActivity=new Su("GlobalActivity"),Su.CommandCenter=new Su("CommandCenter"),Su.CommandCenterCenter=new Su("CommandCenterCenter"),Su.LayoutControlMenuSubmenu=new Su("LayoutControlMenuSubmenu"),Su.LayoutControlMenu=new Su("LayoutControlMenu"),Su.MenubarMainMenu=new Su("MenubarMainMenu"),Su.MenubarAppearanceMenu=new Su("MenubarAppearanceMenu"),Su.MenubarDebugMenu=new Su("MenubarDebugMenu"),Su.MenubarEditMenu=new Su("MenubarEditMenu"),Su.MenubarCopy=new Su("MenubarCopy"),Su.MenubarFileMenu=new Su("MenubarFileMenu"),Su.MenubarGoMenu=new Su("MenubarGoMenu"),Su.MenubarHelpMenu=new Su("MenubarHelpMenu"),Su.MenubarLayoutMenu=new Su("MenubarLayoutMenu"),Su.MenubarNewBreakpointMenu=new Su("MenubarNewBreakpointMenu"),Su.PanelAlignmentMenu=new Su("PanelAlignmentMenu"),Su.PanelPositionMenu=new Su("PanelPositionMenu"),Su.ActivityBarPositionMenu=new Su("ActivityBarPositionMenu"),Su.MenubarPreferencesMenu=new Su("MenubarPreferencesMenu"),Su.MenubarRecentMenu=new Su("MenubarRecentMenu"),Su.MenubarSelectionMenu=new Su("MenubarSelectionMenu"),Su.MenubarShare=new Su("MenubarShare"),Su.MenubarSwitchEditorMenu=new Su("MenubarSwitchEditorMenu"),Su.MenubarSwitchGroupMenu=new Su("MenubarSwitchGroupMenu"),Su.MenubarTerminalMenu=new Su("MenubarTerminalMenu"),Su.MenubarViewMenu=new Su("MenubarViewMenu"),Su.MenubarHomeMenu=new Su("MenubarHomeMenu"),Su.OpenEditorsContext=new Su("OpenEditorsContext"),Su.OpenEditorsContextShare=new Su("OpenEditorsContextShare"),Su.ProblemsPanelContext=new Su("ProblemsPanelContext"),Su.SCMInputBox=new Su("SCMInputBox"),Su.SCMChangesSeparator=new Su("SCMChangesSeparator"),Su.SCMIncomingChanges=new Su("SCMIncomingChanges"),Su.SCMIncomingChangesContext=new Su("SCMIncomingChangesContext"),Su.SCMIncomingChangesSetting=new Su("SCMIncomingChangesSetting"),Su.SCMOutgoingChanges=new Su("SCMOutgoingChanges"),Su.SCMOutgoingChangesContext=new Su("SCMOutgoingChangesContext"),Su.SCMOutgoingChangesSetting=new Su("SCMOutgoingChangesSetting"),Su.SCMIncomingChangesAllChangesContext=new Su("SCMIncomingChangesAllChangesContext"),Su.SCMIncomingChangesHistoryItemContext=new Su("SCMIncomingChangesHistoryItemContext"),Su.SCMOutgoingChangesAllChangesContext=new Su("SCMOutgoingChangesAllChangesContext"),Su.SCMOutgoingChangesHistoryItemContext=new Su("SCMOutgoingChangesHistoryItemContext"),Su.SCMChangeContext=new Su("SCMChangeContext"),Su.SCMResourceContext=new Su("SCMResourceContext"),Su.SCMResourceContextShare=new Su("SCMResourceContextShare"),Su.SCMResourceFolderContext=new Su("SCMResourceFolderContext"),Su.SCMResourceGroupContext=new Su("SCMResourceGroupContext"),Su.SCMSourceControl=new Su("SCMSourceControl"),Su.SCMSourceControlInline=new Su("SCMSourceControlInline"),Su.SCMSourceControlTitle=new Su("SCMSourceControlTitle"),Su.SCMTitle=new Su("SCMTitle"),Su.SearchContext=new Su("SearchContext"),Su.SearchActionMenu=new Su("SearchActionContext"),Su.StatusBarWindowIndicatorMenu=new Su("StatusBarWindowIndicatorMenu"),Su.StatusBarRemoteIndicatorMenu=new Su("StatusBarRemoteIndicatorMenu"),Su.StickyScrollContext=new Su("StickyScrollContext"),Su.TestItem=new Su("TestItem"),Su.TestItemGutter=new Su("TestItemGutter"),Su.TestMessageContext=new Su("TestMessageContext"),Su.TestMessageContent=new Su("TestMessageContent"),Su.TestPeekElement=new Su("TestPeekElement"),Su.TestPeekTitle=new Su("TestPeekTitle"),Su.TouchBarContext=new Su("TouchBarContext"),Su.TitleBarContext=new Su("TitleBarContext"),Su.TitleBarTitleContext=new Su("TitleBarTitleContext"),Su.TunnelContext=new Su("TunnelContext"),Su.TunnelPrivacy=new Su("TunnelPrivacy"),Su.TunnelProtocol=new Su("TunnelProtocol"),Su.TunnelPortInline=new Su("TunnelInline"),Su.TunnelTitle=new Su("TunnelTitle"),Su.TunnelLocalAddressInline=new Su("TunnelLocalAddressInline"),Su.TunnelOriginInline=new Su("TunnelOriginInline"),Su.ViewItemContext=new Su("ViewItemContext"),Su.ViewContainerTitle=new Su("ViewContainerTitle"),Su.ViewContainerTitleContext=new Su("ViewContainerTitleContext"),Su.ViewTitle=new Su("ViewTitle"),Su.ViewTitleContext=new Su("ViewTitleContext"),Su.CommentEditorActions=new Su("CommentEditorActions"),Su.CommentThreadTitle=new Su("CommentThreadTitle"),Su.CommentThreadActions=new Su("CommentThreadActions"),Su.CommentThreadAdditionalActions=new Su("CommentThreadAdditionalActions"),Su.CommentThreadTitleContext=new Su("CommentThreadTitleContext"),Su.CommentThreadCommentContext=new Su("CommentThreadCommentContext"),Su.CommentTitle=new Su("CommentTitle"),Su.CommentActions=new Su("CommentActions"),Su.CommentsViewThreadActions=new Su("CommentsViewThreadActions"),Su.InteractiveToolbar=new Su("InteractiveToolbar"),Su.InteractiveCellTitle=new Su("InteractiveCellTitle"),Su.InteractiveCellDelete=new Su("InteractiveCellDelete"),Su.InteractiveCellExecute=new Su("InteractiveCellExecute"),Su.InteractiveInputExecute=new Su("InteractiveInputExecute"),Su.IssueReporter=new Su("IssueReporter"),Su.NotebookToolbar=new Su("NotebookToolbar"),Su.NotebookStickyScrollContext=new Su("NotebookStickyScrollContext"),Su.NotebookCellTitle=new Su("NotebookCellTitle"),Su.NotebookCellDelete=new Su("NotebookCellDelete"),Su.NotebookCellInsert=new Su("NotebookCellInsert"),Su.NotebookCellBetween=new Su("NotebookCellBetween"),Su.NotebookCellListTop=new Su("NotebookCellTop"),Su.NotebookCellExecute=new Su("NotebookCellExecute"),Su.NotebookCellExecuteGoTo=new Su("NotebookCellExecuteGoTo"),Su.NotebookCellExecutePrimary=new Su("NotebookCellExecutePrimary"),Su.NotebookDiffCellInputTitle=new Su("NotebookDiffCellInputTitle"),Su.NotebookDiffCellMetadataTitle=new Su("NotebookDiffCellMetadataTitle"),Su.NotebookDiffCellOutputsTitle=new Su("NotebookDiffCellOutputsTitle"),Su.NotebookOutputToolbar=new Su("NotebookOutputToolbar"),Su.NotebookOutlineFilter=new Su("NotebookOutlineFilter"),Su.NotebookOutlineActionMenu=new Su("NotebookOutlineActionMenu"),Su.NotebookEditorLayoutConfigure=new Su("NotebookEditorLayoutConfigure"),Su.NotebookKernelSource=new Su("NotebookKernelSource"),Su.BulkEditTitle=new Su("BulkEditTitle"),Su.BulkEditContext=new Su("BulkEditContext"),Su.TimelineItemContext=new Su("TimelineItemContext"),Su.TimelineTitle=new Su("TimelineTitle"),Su.TimelineTitleContext=new Su("TimelineTitleContext"),Su.TimelineFilterSubMenu=new Su("TimelineFilterSubMenu"),Su.AccountsContext=new Su("AccountsContext"),Su.SidebarTitle=new Su("SidebarTitle"),Su.PanelTitle=new Su("PanelTitle"),Su.AuxiliaryBarTitle=new Su("AuxiliaryBarTitle"),Su.AuxiliaryBarHeader=new Su("AuxiliaryBarHeader"),Su.TerminalInstanceContext=new Su("TerminalInstanceContext"),Su.TerminalEditorInstanceContext=new Su("TerminalEditorInstanceContext"),Su.TerminalNewDropdownContext=new Su("TerminalNewDropdownContext"),Su.TerminalTabContext=new Su("TerminalTabContext"),Su.TerminalTabEmptyAreaContext=new Su("TerminalTabEmptyAreaContext"),Su.TerminalStickyScrollContext=new Su("TerminalStickyScrollContext"),Su.WebviewContext=new Su("WebviewContext"),Su.InlineCompletionsActions=new Su("InlineCompletionsActions"),Su.InlineEditActions=new Su("InlineEditActions"),Su.NewFile=new Su("NewFile"),Su.MergeInput1Toolbar=new Su("MergeToolbar1Toolbar"),Su.MergeInput2Toolbar=new Su("MergeToolbar2Toolbar"),Su.MergeBaseToolbar=new Su("MergeBaseToolbar"),Su.MergeInputResultToolbar=new Su("MergeToolbarResultToolbar"),Su.InlineSuggestionToolbar=new Su("InlineSuggestionToolbar"),Su.InlineEditToolbar=new Su("InlineEditToolbar"),Su.ChatContext=new Su("ChatContext"),Su.ChatCodeBlock=new Su("ChatCodeblock"),Su.ChatMessageTitle=new Su("ChatMessageTitle"),Su.ChatExecute=new Su("ChatExecute"),Su.ChatExecuteSecondary=new Su("ChatExecuteSecondary"),Su.ChatInputSide=new Su("ChatInputSide"),Su.AccessibleView=new Su("AccessibleView"),Su.MultiDiffEditorFileToolbar=new Su("MultiDiffEditorFileToolbar"),Su.DiffEditorHunkToolbar=new Su("DiffEditorHunkToolbar"),Su.DiffEditorSelectionToolbar=new Su("DiffEditorSelectionToolbar");const xu=dd("menuService");class ku{static for(e){let t=this._all.get(e);return t||(t=new ku(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const n of e)n instanceof ku&&t.add(n.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}ku._all=new Map;const Lu=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new kt({merge:ku.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(e){return this._commands.set(e.id,e),this._onDidChangeMenu.fire(ku.for(Su.CommandPalette)),st((()=>{this._commands.delete(e.id)&&this._onDidChangeMenu.fire(ku.for(Su.CommandPalette))}))}getCommand(e){return this._commands.get(e)}getCommands(){const e=new Map;return this._commands.forEach(((t,n)=>e.set(n,t))),e}appendMenuItem(e,t){let n=this._menuItems.get(e);n||(n=new gt,this._menuItems.set(e,n));const i=n.push(t);return this._onDidChangeMenu.fire(ku.for(e)),st((()=>{i(),this._onDidChangeMenu.fire(ku.for(e))}))}appendMenuItems(e){const t=new rt;for(const{id:n,item:i}of e)t.add(this.appendMenuItem(n,i));return t}getMenuItems(e){let t;return t=this._menuItems.has(e)?[...this._menuItems.get(e)]:[],e===Su.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(e){const t=new Set;for(const n of e)yu(n)&&(t.add(n.command.id),n.alt&&t.add(n.alt.id));this._commands.forEach(((n,i)=>{t.has(i)||e.push({command:n})}))}};class Du extends _d{constructor(e,t,n){super(`submenuitem.${e.submenu.id}`,"string"==typeof e.title?e.title:e.title.value,n,"submenu"),this.item=e,this.hideActions=t}}let Nu=wu=class{static label(e,t){return(null==t?void 0:t.renderShortTitle)&&e.shortTitle?"string"==typeof e.shortTitle?e.shortTitle:e.shortTitle.value:"string"==typeof e.title?e.title:e.title.value}constructor(e,t,n,i,o,s){var r,l;let a;if(this.hideActions=i,this._commandService=s,this.id=e.id,this.label=wu.label(e,n),this.tooltip=null!==(l="string"==typeof e.tooltip?e.tooltip:null===(r=e.tooltip)||void 0===r?void 0:r.value)&&void 0!==l?l:"",this.enabled=!e.precondition||o.contextMatchesRules(e.precondition),this.checked=void 0,e.toggled){const t=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=o.contextMatchesRules(t.condition),this.checked&&t.tooltip&&(this.tooltip="string"==typeof t.tooltip?t.tooltip:t.tooltip.value),this.checked&&ka.isThemeIcon(t.icon)&&(a=t.icon),this.checked&&t.title&&(this.label="string"==typeof t.title?t.title:t.title.value)}a||(a=ka.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new wu(t,void 0,n,i,o,s):void 0,this._options=n,this.class=a&&ka.asClassName(a)}run(...e){var t,n;let i=[];return(null===(t=this._options)||void 0===t?void 0:t.arg)&&(i=[...i,this._options.arg]),(null===(n=this._options)||void 0===n?void 0:n.shouldForwardArgs)&&(i=[...i,...e]),this._commandService.executeCommand(this.id,...i)}};Nu=wu=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Cu(4,su),Cu(5,wd)],Nu);class Eu{constructor(e){this.desc=e}}function Iu(e){const t=new rt,n=new e,{f1:i,menu:o,keybinding:s,...r}=n.desc;if(Cd.getCommand(r.id))throw new Error(`Cannot register two commands with the same id: ${r.id}`);if(t.add(Cd.registerCommand({id:r.id,handler:(e,...t)=>n.run(e,...t),metadata:r.metadata})),Array.isArray(o))for(const e of o)t.add(Lu.appendMenuItem(e.id,{command:{...r,precondition:null===e.precondition?void 0:r.precondition},...e}));else o&&t.add(Lu.appendMenuItem(o.id,{command:{...r,precondition:null===o.precondition?void 0:r.precondition},...o}));if(i&&(t.add(Lu.appendMenuItem(Su.CommandPalette,{command:r,when:r.precondition})),t.add(Lu.addCommand(r))),Array.isArray(s))for(const e of s)t.add(vu.registerKeybindingRule({...e,id:r.id,when:r.precondition?Bd.and(r.precondition,e.when):e.when}));else s&&t.add(vu.registerKeybindingRule({...s,id:r.id,when:r.precondition?Bd.and(r.precondition,s.when):s.when}));return t}const Mu=dd("telemetryService"),Tu=dd("logService");var Au;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(Au||(Au={}));const Ru=Au.Info;class Pu extends lt{constructor(){super(...arguments),this.level=Ru,this._onDidChangeLogLevel=this._register(new Ct),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==Au.Off&&this.level<=e}}class Ou extends Pu{constructor(e=Ru,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(Au.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(Au.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(Au.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(Au.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(Au.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}}class Fu extends Pu{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const n of this.loggers)n.trace(e,...t)}debug(e,...t){for(const n of this.loggers)n.debug(e,...t)}info(e,...t){for(const n of this.loggers)n.info(e,...t)}warn(e,...t){for(const n of this.loggers)n.warn(e,...t)}error(e,...t){for(const n of this.loggers)n.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}new ou("logLevel",function(e){switch(e){case Au.Trace:return"trace";case Au.Debug:return"debug";case Au.Info:return"info";case Au.Warning:return"warn";case Au.Error:return"error";case Au.Off:return"off"}}(Au.Info));class Bu{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let e=t.kbExpr;this.precondition&&(e=e?Bd.and(e,this.precondition):this.precondition);const n={id:this.id,weight:t.weight,args:t.args,when:e,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};vu.registerKeybindingRule(n)}}Cd.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){Lu.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class Wu extends Bu{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,n,i){return this._implementations.push({priority:e,name:t,implementation:n,when:i}),this._implementations.sort(((e,t)=>t.priority-e.priority)),{dispose:()=>{for(let e=0;e{if(e.get(su).contextMatchesRules(null!=n?n:void 0))return i(e,s,t)}))}runCommand(e,t){return Hu.runEditorCommand(e,t,this.precondition,((e,t,n)=>this.runEditorCommand(e,t,n)))}}class zu extends Hu{static convertOptions(e){let t;function n(t){return t.menuId||(t.menuId=Su.EditorContext),t.title||(t.title=e.label),t.when=Bd.and(e.precondition,t.when),t}return t=Array.isArray(e.menuOpts)?e.menuOpts:e.menuOpts?[e.menuOpts]:[],Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(n)):e.contextMenuOpts&&t.push(n(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(zu.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,n){return this.reportTelemetry(e,t),this.run(e,t,n||{})}reportTelemetry(e,t){e.get(Mu).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class Uu extends zu{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort(((e,t)=>t[0]-e[0])),{dispose:()=>{for(let e=0;e{var n,o;const s=e.get(su),r=e.get(Tu);if(s.contextMatchesRules(null!==(n=this.desc.precondition)&&void 0!==n?n:void 0))return this.runEditorCommand(e,i,...t);r.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,null===(o=this.desc.precondition)||void 0===o?void 0:o.serialize())}))}}function ju(e,t){Cd.registerCommand(e,(function(e,...n){const i=e.get(ad),[o,s]=n;fa(Io.isUri(o)),fa(cd.isIPosition(s));const r=e.get(hd).getModel(o);if(r){const e=cd.lift(s);return i.invokeFunction(t,r,e,...n.slice(2))}return e.get(gd).createModelReference(o).then((e=>new Promise(((o,r)=>{try{o(i.invokeFunction(t,e.object.textEditorModel,cd.lift(s),n.slice(2)))}catch(e){r(e)}})).finally((()=>{e.dispose()}))))}))}function qu(e){return Xu.INSTANCE.registerEditorCommand(e),e}function $u(e){const t=new e;return Xu.INSTANCE.registerEditorAction(t),t}function Gu(e){return Xu.INSTANCE.registerEditorAction(e),e}function Zu(e,t,n){Xu.INSTANCE.registerEditorContribution(e,t,n)}var Yu;!function(e){e.getEditorCommand=function(e){return Xu.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return Xu.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return Xu.INSTANCE.getEditorContributions()},e.getSomeEditorContributions=function(e){return Xu.INSTANCE.getEditorContributions().filter((t=>e.indexOf(t.id)>=0))},e.getDiffEditorContributions=function(){return Xu.INSTANCE.getDiffEditorContributions()}}(Yu||(Yu={}));class Xu{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,n){this.editorContributions.push({id:e,ctor:t,instantiation:n})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}function Qu(e){return e.register(),e}Xu.INSTANCE=new Xu,fu.add("editor.contributions",Xu.INSTANCE);const Ju=Qu(new Wu({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Su.MenubarEditMenu,group:"1_do",title:_(0,"&&Undo"),order:1},{menuId:Su.CommandPalette,group:"",title:_(0,"Undo"),order:1}]}));Qu(new Vu(Ju,{id:"default:undo",precondition:void 0}));const ec=Qu(new Wu({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Su.MenubarEditMenu,group:"1_do",title:_(0,"&&Redo"),order:2},{menuId:Su.CommandPalette,group:"",title:_(0,"Redo"),order:1}]}));Qu(new Vu(ec,{id:"default:redo",precondition:void 0}));const tc=Qu(new Wu({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Su.MenubarSelectionMenu,group:"1_basic",title:_(0,"&&Select All"),order:1},{menuId:Su.CommandPalette,group:"",title:_(0,"Select All"),order:1}]}));class nc{constructor(e,t,n,i){e>n||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}isEmpty(){return nc.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return nc.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return nc.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return nc.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return nc.plusRange(this,e)}static plusRange(e,t){let n,i,o,s;return t.startLineNumbere.endLineNumber?(o=t.endLineNumber,s=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,s=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,s=e.endColumn),new nc(n,i,o,s)}intersectRanges(e){return nc.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,s=e.endColumn;const r=t.startLineNumber,l=t.startColumn,a=t.endLineNumber,d=t.endColumn;return na?(o=a,s=d):o===a&&(s=Math.min(s,d)),n>o||n===o&&i>s?null:new nc(n,i,o,s)}equalsRange(e){return nc.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return nc.getEndPosition(this)}static getEndPosition(e){return new cd(e.endLineNumber,e.endColumn)}getStartPosition(){return nc.getStartPosition(this)}static getStartPosition(e){return new cd(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new nc(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new nc(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return nc.collapseToStart(this)}static collapseToStart(e){return new nc(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return nc.collapseToEnd(this)}static collapseToEnd(e){return new nc(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new nc(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new nc(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new nc(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}}class ic extends nc{constructor(e,t,n,i){super(e,t,n,i),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=i}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return ic.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new ic(this.startLineNumber,this.startColumn,e,t):new ic(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new cd(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new cd(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new ic(e,t,this.endLineNumber,this.endColumn):new ic(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new ic(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new ic(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new ic(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new ic(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,i=e.length;nthis.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(ic.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:(new ed).appendText(_(0,"Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),Zr(_(0,"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(ic.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()}};var ac,dc;lc.ID="editor.contrib.selectionAnchorController",lc=sc=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([(ac=1,dc=su,function(e,t){dc(e,t,ac)})],lc),Zu(lc.ID,lc,4),$u(class extends zu{constructor(){super({id:"editor.action.setSelectionAnchor",label:_(0,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2080),weight:100}})}async run(e,t){var n;null===(n=lc.get(t))||void 0===n||n.setSelectionAnchor()}}),$u(class extends zu{constructor(){super({id:"editor.action.goToSelectionAnchor",label:_(0,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:rc})}async run(e,t){var n;null===(n=lc.get(t))||void 0===n||n.goToSelectionAnchor()}}),$u(class extends zu{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:_(0,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:rc,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2089),weight:100}})}async run(e,t){var n;null===(n=lc.get(t))||void 0===n||n.selectFromAnchorToCursor()}}),$u(class extends zu{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:_(0,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:rc,kbOpts:{kbExpr:oc.editorTextFocus,primary:9,weight:100}})}async run(e,t){var n;null===(n=lc.get(t))||void 0===n||n.cancelSelectionAnchor()}});var uc=n(7997),cc={};function hc(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;const t=Array.isArray(e)?[]:{};return Object.entries(e).forEach((([e,n])=>{t[e]=n&&"object"==typeof n?hc(n):n})),t}cc.styleTagTransform=Vr(),cc.setAttributes=Or(),cc.insert=Rr().bind(null,"head"),cc.domAPI=Tr(),cc.insertStyleElement=Br(),Ir()(uc.A,cc),uc.A&&uc.A.locals&&uc.A.locals;const gc=Object.prototype.hasOwnProperty;function pc(e,t){return mc(e,t,new Set)}function mc(e,t,n){if(ma(e))return e;const i=t(e);if(void 0!==i)return i;if(Array.isArray(e)){const i=[];for(const o of e)i.push(mc(o,t,n));return i}if(aa(e)){if(n.has(e))throw new Error("Cannot clone recursive data-structure");n.add(e);const i={};for(const o in e)gc.call(e,o)&&(i[o]=mc(e[o],t,n));return n.delete(e),i}return e}function fc(e,t,n=!0){return aa(e)?(aa(t)&&Object.keys(t).forEach((i=>{i in e?n&&(aa(e[i])&&aa(t[i])?fc(e[i],t[i],n):e[i]=t[i]):e[i]=t[i]})),e):t}function _c(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,i;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;ne===t)){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let i=0,o=e.length;i0))return i;r=i-1}}return-(s+1)}(e.length)}function Tc(e,t,n){if((e|=0)>=t.length)throw new TypeError("invalid index");const i=t[Math.floor(t.length*Math.random())],o=[],s=[],r=[];for(const e of t){const t=n(e,i);t<0?o.push(e):t>0?s.push(e):r.push(e)}return e!!e))}function Fc(e){let t=0;for(let n=0;n0}function Vc(e,t=(e=>e)){const n=new Set;return e.filter((e=>{const i=t(e);return!n.has(i)&&(n.add(i),!0)}))}function Hc(e,t){return e.length>0?e[0]:t}function zc(e,t){let n="number"==typeof t?e:0;"number"==typeof t?n=e:(n=0,t=e);const i=[];if(n<=t)for(let e=n;et;e--)i.push(e);return i}function Uc(e,t,n){const i=e.slice(0,t),o=e.slice(t);return i.concat(n,o)}function Kc(e,t){const n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function jc(e,t){const n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function qc(e,t){for(const n of t)e.push(n)}function $c(e){return Array.isArray(e)?e:[e]}function Gc(e,t,n,i){const o=Zc(e,t);let s=e.splice(o,n);return void 0===s&&(s=[]),function(e,t,n){const i=Zc(e,t),o=e.length,s=n.length;e.length=o+s;for(let t=o-1;t>=i;t--)e[t+s]=e[t];for(let t=0;tt(e(n),e(i))}!function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(yc||(yc={}));const Xc=(e,t)=>e-t,Qc=(e,t)=>Xc(e?1:0,t?1:0);function Jc(e){return(t,n)=>-e(t,n)}class eh{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class th{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new th((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new th((t=>this.iterate((n=>t(e(n))))))}findLast(e){let t;return this.iterate((n=>(e(n)&&(t=n),!0))),t}findLastMaxBy(e){let t,n=!0;return this.iterate((i=>((n||yc.isGreaterThan(e(i,t)))&&(n=!1,t=i),!0))),t}}th.empty=new th((e=>{}));class nh{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const n=Array.from(e.keys()).sort(((n,i)=>t(e[n],e[i])));return new nh(n)}apply(e){return e.map(((t,n)=>e[this._indexMap[n]]))}inverse(){const e=this._indexMap.slice();for(let t=0;t0){switch(a=Math.min(d<=.5?u/(2*d):u/(2-2*d),1),s){case t:l=(n-i)/u+(n1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(e){const t=e.h/360,{s:n,l:i,a:o}=e;let s,r,l;if(0===n)s=r=l=i;else{const e=i<.5?i*(1+n):i+n-i*n,o=2*i-e;s=sh._hue2rgb(o,e,t+1/3),r=sh._hue2rgb(o,e,t),l=sh._hue2rgb(o,e,t-1/3)}return new oh(Math.round(255*s),Math.round(255*r),Math.round(255*l),o)}}class rh{constructor(e,t,n,i){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=ih(Math.max(Math.min(1,t),0),3),this.v=ih(Math.max(Math.min(1,n),0),3),this.a=ih(Math.max(Math.min(1,i),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,n=e.g/255,i=e.b/255,o=Math.max(t,n,i),s=o-Math.min(t,n,i),r=0===o?0:s/o;let l;return l=0===s?0:o===t?((n-i)/s%6+6)%6:o===n?(i-t)/s+2:(t-n)/s+4,new rh(Math.round(60*l),r,o,e.a)}static toRGBA(e){const{h:t,s:n,v:i,a:o}=e,s=i*n,r=s*(1-Math.abs(t/60%2-1)),l=i-s;let[a,d,u]=[0,0,0];return t<60?(a=s,d=r):t<120?(a=r,d=s):t<180?(d=s,u=r):t<240?(d=r,u=s):t<300?(a=r,u=s):t<=360&&(a=s,u=r),a=Math.round(255*(a+l)),d=Math.round(255*(d+l)),u=Math.round(255*(u+l)),new oh(a,d,u,o)}}class lh{static fromHex(e){return lh.Format.CSS.parseHex(e)||lh.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:sh.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:rh.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof oh)this.rgba=e;else if(e instanceof sh)this._hsla=e,this.rgba=sh.toRGBA(e);else{if(!(e instanceof rh))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=rh.toRGBA(e)}}equals(e){return!!e&&oh.equals(this.rgba,e.rgba)&&sh.equals(this.hsla,e.hsla)&&rh.equals(this.hsva,e.hsva)}getRelativeLuminance(){return ih(.2126*lh._relativeLuminanceForComponent(this.rgba.r)+.7152*lh._relativeLuminanceForComponent(this.rgba.g)+.0722*lh._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()=t)return a-tt))return new ch(e,t)}static ofLength(e){return new ch(0,e)}static ofStartAndLength(e,t){return new ch(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new Re(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new ch(this.start+e,this.endExclusive+e)}deltaStart(e){return new ch(this.start+e,this.endExclusive)}deltaEnd(e){return new ch(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new Re(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new Re(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString())).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length),0)}}function gh(e,t,n){const i=function(e,t,n=e.length-1){for(let i=n;i>=0;i--)if(t(e[i]))return i;return-1}(e,t);if(-1!==i)return e[i]}function ph(e,t){const n=mh(e,t);return-1===n?void 0:e[n]}function mh(e,t,n=0,i=e.length){let o=n,s=i;for(;o0&&(n=o)}return n}function bh(e,t){if(0===e.length)return-1;let n=0;for(let i=1;i0&&(n=i);return n}_h.assertInvariants=!1;class wh{static fromRangeInclusive(e){return new wh(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new Ch(e[0].slice());for(let n=1;nt)throw new Re(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&et.endLineNumberExclusive>=e.startLineNumber)),n=mh(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const i=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,i)}}contains(e){const t=ph(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=ph(this._normalizedRanges,(t=>t.startLineNumbere.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let n=0,i=0,o=null;for(;n=s.startLineNumber?o=new wh(o.startLineNumber,Math.max(o.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(o),o=s)}return null!==o&&t.push(o),new Ch(t)}subtractFrom(e){const t=fh(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=mh(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)return new Ch([e]);const i=[];let o=e.startLineNumber;for(let e=t;eo&&i.push(new wh(o,t.startLineNumber)),o=t.endLineNumberExclusive}return oe.toString())).join(", ")}getIntersection(e){const t=[];let n=0,i=0;for(;nt.delta(e))))}}const yh={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},Sh=dd("languageService"),xh="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",kh=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of xh)e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function Lh(e){let t=kh;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const Dh=new gt;function Nh(e,t,n,i,o){if(t=Lh(t),o||(o=Ye.first(Dh)),n.length>o.maxLen){let s=e-o.maxLen/2;return s<0?s=0:i+=s,Nh(e,t,n=n.substring(s,e+o.maxLen/2),i,o)}const s=Date.now(),r=e-1-i;let l=-1,a=null;for(let e=1;!(Date.now()-s>=o.timeBudget);e++){const i=r-o.windowSize*e;t.lastIndex=Math.max(0,i);const s=Eh(t,n,r,l);if(!s&&a)break;if(a=s,i<=0)break;l=i}if(a){const e={word:a[0],startColumn:i+1+a.index,endColumn:i+1+a.index+a[0].length};return t.lastIndex=0,e}return null}function Eh(e,t,n,i){let o;for(;o=e.exec(t);){const t=o.index||0;if(t<=n&&e.lastIndex>=n)return o;if(i>0&&t>i)return null}return null}var Ih;Dh.unshift({maxLen:1e3,windowSize:15,timeBudget:150}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(Ih||(Ih={}));class Mh{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,n=e.notIn.length;t0&&e.getLanguageId(r-1)===o;)r--;return new Ph(e,o,r,s+1,e.getStartOffset(r),e.getEndOffset(s))}class Ph{constructor(e,t,n,i,o,s){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=o,this._lastCharOffset=s}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function Oh(e){return!!(3&e)}class Fh{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new Mh(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new Mh({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new Mh({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:Fh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:Fh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}Fh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t",Fh.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t";var Bh=n(3764).TextDecoder;const Wh="undefined"!=typeof Buffer;let Vh;new ei((()=>new Uint8Array(256)));class Hh{static wrap(e){return Wh&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new Hh(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return Wh?this.buffer.toString():(Vh||(Vh=new Bh),Vh.decode(this.buffer))}}function zh(e,t){return(0|e[t+0])>>>0|e[t+1]<<8>>>0}function Uh(e,t,n){e[n+0]=255&t,t>>>=8,e[n+1]=255&t}function Kh(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function jh(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function qh(e,t){return e[t]}function $h(e,t,n){e[n]=t}var Gh=n(3764).TextDecoder;let Zh,Yh,Xh;function Qh(){return Zh||(Zh=new Gh("UTF-16LE")),Zh}function Jh(){return Xh||(Xh=ie()?Qh():(Yh||(Yh=new Gh("UTF-16BE")),Yh)),Xh}class eg{constructor(e){this._capacity=0|e,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";const e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return Jh().decode(e)}_flushBuffer(){const e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e}appendCharCode(e){const t=this._capacity-this._bufferLength;t<=1&&(0===t||Li(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendASCIICharCode(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendString(e){const t=e.length;if(this._bufferLength+t>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(let n=0;n[e[0].toLowerCase(),e[1].toLowerCase()]));const n=[];for(let e=0;e{const[n,i]=e,[o,s]=t;return n===o||n===s||i===o||i===s},o=(e,i)=>{const o=Math.min(e,i),s=Math.max(e,i);for(let e=0;e0&&s.push({open:o,close:r})}return s}(t);this.brackets=n.map(((t,i)=>new tg(e,i,t.open,t.close,function(e,t,n,i){let o=[];o=o.concat(e),o=o.concat(t);for(let e=0,t=o.length;e=0&&i.push(t);for(const t of s.close)t.indexOf(e)>=0&&i.push(t)}}function og(e,t){return e.length-t.length}function sg(e){if(e.length<=1)return e;const t=[],n=new Set;for(const i of e)n.has(i)||(t.push(i),n.add(i));return t}function rg(e){const t=/^[\w ]+$/.test(e);return e=ri(e),t?`\\b${e}\\b`:e}function lg(e){return ui(`(${e.map(rg).join(")|(")})`,!0)}const ag=function(){let e=null,t=null;return function(n){return e!==n&&(e=n,t=function(e){const t=new Uint16Array(e.length);let n=0;for(let i=e.length-1;i>=0;i--)t[n++]=e.charCodeAt(i);return Jh().decode(t)}(e)),t}}();class dg{static _findPrevBracketInText(e,t,n,i){const o=n.match(e);if(!o)return null;const s=n.length-(o.index||0),r=o[0].length,l=i+s;return new nc(t,l-r+1,t,l+1)}static findPrevBracketInRange(e,t,n,i,o){const s=ag(n).substring(n.length-o,n.length-i);return this._findPrevBracketInText(e,t,s,i)}static findNextBracketInText(e,t,n,i){const o=n.match(e);if(!o)return null;const s=o.index||0,r=o[0].length;if(0===r)return null;const l=i+s;return new nc(t,l+1,t,l+1+r)}static findNextBracketInRange(e,t,n,i,o){const s=n.substring(i,o);return this.findNextBracketInText(e,t,s,i)}}class ug{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const n of t.close){const t=n.charAt(n.length-1);e.push(t)}return Vc(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const i=t.findTokenIndexAtOffset(n-1);if(Oh(t.getStandardTokenType(i)))return null;const o=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,n-1)+e,r=dg.findPrevBracketInRange(o,1,s,0,s.length);if(!r)return null;const l=s.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[l])return null;const a=t.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(a)?{matchOpenBracket:l}:null}}function cg(e){return e.global&&(e.lastIndex=0),!0}class hg{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&cg(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&cg(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&cg(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&cg(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class gg{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=gg._createOpenBracketRegExp(e[0]),n=gg._createCloseBracketRegExp(e[1]);t&&n&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:n})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,n,i){if(e>=3)for(let e=0,o=this._regExpRules.length;e!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return o.action}if(e>=2&&n.length>0&&i.length>0)for(let e=0,t=this._brackets.length;e=2&&n.length>0)for(let e=0,t=this._brackets.length;e0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};fu.add(kg,Lg);const Dg="base.contributions.configuration",Ng={properties:{},patternProperties:{}},Eg={properties:{},patternProperties:{}},Ig={properties:{},patternProperties:{}},Mg={properties:{},patternProperties:{}},Tg={properties:{},patternProperties:{}},Ag={properties:{},patternProperties:{}},Rg="vscode://schemas/settings/resourceLanguage",Pg=fu.as(kg),Og="\\[([^\\]]+)\\]",Fg=new RegExp(Og,"g"),Bg=`^(${Og})+$`,Wg=new RegExp(Bg);function Vg(e){const t=[];if(Wg.test(e)){let n=Fg.exec(e);for(;null==n?void 0:n.length;){const i=n[1].trim();i&&t.push(i),n=Fg.exec(e)}}return Vc(t)}const Hg=new class{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new Ct,this._onDidUpdateConfiguration=new Ct,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:_(0,"Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},Pg.registerSchema(Rg,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const n=new Set;this.doRegisterConfigurations(e,t,n),Pg.registerSchema(Rg,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var n;const i=[];for(const{overrides:o,source:s}of e)for(const e in o)if(t.add(e),Wg.test(e)){const t=this.configurationDefaultsOverrides.get(e),r=null!==(n=null==t?void 0:t.valuesSources)&&void 0!==n?n:new Map;if(s)for(const t of Object.keys(o[e]))r.set(t,s);const l={...(null==t?void 0:t.value)||{},...o[e]};this.configurationDefaultsOverrides.set(e,{source:s,value:l,valuesSources:r});const a={type:"object",default:l,description:_(0,"Configure settings to be overridden for the {0} language.",e.replace(/[\[\]]/g,"")),$ref:Rg,defaultDefaultValue:l,source:la(s)?void 0:s,defaultValueSource:s};i.push(...Vg(e)),this.configurationProperties[e]=a,this.defaultLanguageConfigurationOverridesNode.properties[e]=a}else{this.configurationDefaultsOverrides.set(e,{value:o[e],source:s});const t=this.configurationProperties[e];t&&(this.updatePropertyDefaultValue(e,t),this.updateSchema(e,t))}this.doRegisterOverrideIdentifiers(i)}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,n,i,o=3,s){var r;o=ma(e.scope)?o:e.scope;const l=e.properties;if(l)for(const e in l){const a=l[e];t&&zg(e,a)?delete l[e]:(a.source=n,a.defaultDefaultValue=l[e].default,this.updatePropertyDefaultValue(e,a),Wg.test(e)?a.scope=void 0:(a.scope=ma(a.scope)?o:a.scope,a.restricted=ma(a.restricted)?!!(null==i?void 0:i.includes(e)):a.restricted),!l[e].hasOwnProperty("included")||l[e].included?(this.configurationProperties[e]=l[e],(null===(r=l[e].policy)||void 0===r?void 0:r.name)&&this.policyConfigurations.set(l[e].policy.name,e),!l[e].deprecationMessage&&l[e].markdownDeprecationMessage&&(l[e].deprecationMessage=l[e].markdownDeprecationMessage),s.add(e)):(this.excludedConfigurationProperties[e]=l[e],delete l[e]))}const a=e.allOf;if(a)for(const e of a)this.validateAndRegisterProperties(e,t,n,i,o,s)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const n=e.properties;if(n)for(const e in n)this.updateSchema(e,n[e]);const i=e.allOf;null==i||i.forEach(t)};t(e)}updateSchema(e,t){switch(Ng.properties[e]=t,t.scope){case 1:Eg.properties[e]=t;break;case 2:Ig.properties[e]=t;break;case 6:Mg.properties[e]=t;break;case 3:Tg.properties[e]=t;break;case 4:Ag.properties[e]=t;break;case 5:Ag.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,n={type:"object",description:_(0,"Configure editor settings to be overridden for a language."),errorMessage:_(0,"This setting does not support per-language configuration."),$ref:Rg};this.updatePropertyDefaultValue(t,n),Ng.properties[t]=n,Eg.properties[t]=n,Ig.properties[t]=n,Mg.properties[t]=n,Tg.properties[t]=n,Ag.properties[t]=n}}registerOverridePropertyPatternKey(){const e={type:"object",description:_(0,"Configure editor settings to be overridden for a language."),errorMessage:_(0,"This setting does not support per-language configuration."),$ref:Rg};Ng.patternProperties[Bg]=e,Eg.patternProperties[Bg]=e,Ig.patternProperties[Bg]=e,Mg.patternProperties[Bg]=e,Tg.patternProperties[Bg]=e,Ag.patternProperties[Bg]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const n=this.configurationDefaultsOverrides.get(e);let i=null==n?void 0:n.value,o=null==n?void 0:n.source;ga(i)&&(i=t.defaultDefaultValue,o=void 0),ga(i)&&(i=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=i,t.defaultValueSource=o}};function zg(e,t){var n,i,o,s;return e.trim()?Wg.test(e)?_(0,"Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==Hg.getConfigurationProperties()[e]?_(0,"Cannot register '{0}'. This property is already registered.",e):(null===(n=t.policy)||void 0===n?void 0:n.name)&&void 0!==Hg.getPolicyConfigurations().get(null===(i=t.policy)||void 0===i?void 0:i.name)?_(0,"Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,null===(o=t.policy)||void 0===o?void 0:o.name,Hg.getPolicyConfigurations().get(null===(s=t.policy)||void 0===s?void 0:s.name)):null:_(0,"Cannot register an empty property")}fu.add(Dg,Hg);const Ug=new class{constructor(){this._onDidChangeLanguages=new Ct,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t{const t=new Set;return{info:new Gg(this,e,t),closing:t}})),o=new Jn((e=>{const t=new Set,n=new Set;return{info:new Zg(this,e,t,n),opening:t,openingColorized:n}}));for(const[e,t]of n){const n=i.get(e),s=o.get(t);n.closing.add(s.info),s.opening.add(n.info)}const s=t.colorizedBracketPairs?qg(t.colorizedBracketPairs):n.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[e,t]of s){const n=i.get(e),s=o.get(t);n.closing.add(s.info),s.openingColorized.add(n.info),s.opening.add(n.info)}this._openingBrackets=new Map([...i.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...o.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function qg(e){return e.filter((([e,t])=>""!==e&&""!==t))}class $g{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class Gg extends $g{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}}class Zg extends $g{constructor(e,t,n,i){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=i,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var Yg=function(e,t){return function(n,i){t(n,i,e)}};class Xg{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const Qg=dd("languageConfigurationService");let Jg=class extends lt{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new ap),this.onDidChangeEmitter=this._register(new Ct),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const n=new Set(Object.values(ep));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>n.has(e))),i=e.change.overrides.filter((([e,t])=>t.some((e=>n.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new Xg(void 0));else for(const e of i)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new Xg(e)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new Xg(e.languageId))})))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,n,i){let o=t.getLanguageConfiguration(e);if(!o){if(!i.isRegisteredLanguageId(e))return new dp(e,{});o=new dp(e,{})}const s=function(e,t){const n=t.getValue(ep.brackets,{overrideIdentifier:e}),i=t.getValue(ep.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:tp(n),colorizedBracketPairs:tp(i)}}(o.languageId,n),r=sp([o.underlyingConfig,s]);return new dp(o.languageId,r)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};Jg=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Yg(0,pg),Yg(1,Sh)],Jg);const ep={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function tp(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}function np(e,t,n){let i=gi(e.getLineContent(t));return i.length>n-1&&(i=i.substring(0,n-1)),i}function ip(e,t,n){return e.tokenization.forceTokenization(t),Rh(e.tokenization.getLineTokens(t),void 0===n?e.getLineMaxColumn(t)-1:n-1)}class op{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const n=new rp(e,t,++this._order);return this._entries.push(n),this._resolved=null,st((()=>{for(let e=0;ee.configuration))))}}function sp(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}class rp{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class lp{constructor(e){this.languageId=e}}class ap extends lt{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._register(this.register(Kg,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let i=this._entries.get(e);i||(i=new op(e),this._entries.set(e,i));const o=i.register(t,n);return this._onDidChange.fire(new lp(e)),st((()=>{o.dispose(),this._onDidChange.fire(new lp(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return(null==t?void 0:t.getResolvedConfiguration())||null}}class dp{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new gg(this.underlyingConfig):null,this.comments=dp._handleComments(this.underlyingConfig),this.characterPair=new Fh(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||kh,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new hg(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new jg(e,this.underlyingConfig)}getWordDefinition(){return Lh(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new ng(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new ug(this.brackets)),this._electricCharacter}onEnter(e,t,n,i){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,i):null}getAutoClosingPairs(){return new Th(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){const[e,i]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=i}return n}}yg(Qg,Jg,1);class up{constructor(e,t,n,i){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=n,this.isInvalid=i}}class cp{constructor(e,t,n,i,o,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=n,this.nestingLevel=i,this.nestingLevelOfEqualBracketType=o,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class hp extends cp{constructor(e,t,n,i,o,s,r){super(e,t,n,i,o,s),this.minVisibleColumnIndentation=r}}class gp{static ofText(e){let t=0,n=0;for(const i of e)"\n"===i?(t++,n=0):n++;return new gp(t,n)}constructor(e,t){this.lineCount=e,this.columnCount=t}createRange(e){return 0===this.lineCount?new nc(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new nc(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new cd(e.lineNumber,e.column+this.columnCount):new cd(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}gp.zero=new gp(0,0);const pp=0;function mp(e){return 0===e}const fp=2**26;function _p(e,t){return e*fp+t}function vp(e){const t=e,n=Math.floor(t/fp);return new gp(n,t-n*fp)}function bp(e,t){let n=e+t;return t>=fp&&(n-=e%fp),n}function wp(e,t){return e.reduce(((e,n)=>bp(e,t(n))),pp)}function Cp(e,t){return e===t}function yp(e,t){const n=e,i=t;if(i-n<=0)return pp;const o=Math.floor(n/fp),s=Math.floor(i/fp),r=i-s*fp;return o===s?_p(0,r-(n-o*fp)):_p(s-o,r)}function Sp(e,t){return e=t}function Lp(e){return _p(e.lineNumber-1,e.column-1)}function Dp(e,t){const n=e,i=Math.floor(n/fp),o=n-i*fp,s=t,r=Math.floor(s/fp);return new nc(i+1,o+1,r+1,s-r*fp+1)}class Np{static fromModelContentChanges(e){const t=e.map((e=>{const t=nc.lift(e.range);return new Np(Lp(t.getStartPosition()),Lp(t.getEndPosition()),function(e){const t=ci(e);return _p(t.length-1,t[t.length-1].length)}(e.text))})).reverse();return t}constructor(e,t,n){this.startOffset=e,this.endOffset=t,this.newLength=n}toString(){return`[${vp(this.startOffset)}...${vp(this.endOffset)}) -> ${vp(this.newLength)}`}}class Ep{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>Ip.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],n=t?this.translateOldToCur(t.offsetObj):null;return null===n?null:yp(e,n)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?_p(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):_p(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=vp(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?_p(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):_p(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(0===i){const e=1<e};class Rp{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class Pp{get length(){return this._length}constructor(e){this._length=e}}class Op extends Pp{static create(e,t,n){let i=e.length;return t&&(i=bp(i,t.length)),n&&(i=bp(i,n.length)),new Op(i,e,t,n,t?t.missingOpeningBracketIds:Tp.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,n,i,o){super(e),this.openingBracket=t,this.child=n,this.closingBracket=i,this.missingOpeningBracketIds=o}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new Op(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(bp(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class Fp extends Pp{static create23(e,t,n,i=!1){let o=e.length,s=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(o=bp(o,t.length),s=s.merge(t.missingOpeningBracketIds),n){if(e.listHeight!==n.listHeight)throw new Error("Invalid list heights");o=bp(o,n.length),s=s.merge(n.missingOpeningBracketIds)}return i?new Wp(o,e.listHeight+1,e,t,n,s):new Bp(o,e.listHeight+1,e,t,n,s)}static getEmpty(){return new Hp(pp,0,[],Tp.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,n){super(e),this.listHeight=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),n=4===t.kind?t.toMutable():t;return t!==n&&this.setChild(e-1,n),n}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new Re;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,n=this.getChild(0).missingOpeningBracketIds;for(let i=1;i>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),8&n&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const n=this.getForeground(e),i=this.getFontStyle(e);let o=`color: ${t[n]};`;1&i&&(o+="font-style: italic;"),2&i&&(o+="font-weight: bold;");let s="";return 4&i&&(s+=" underline"),8&i&&(s+=" line-through"),s&&(o+=`text-decoration:${s};`),o}static getPresentationFromMetadata(e){const t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&n),bold:Boolean(2&n),underline:Boolean(4&n),strikethrough:Boolean(8&n)}}}class Gp{constructor(e,t,n,i,o){this.length=e,this.kind=t,this.bracketId=n,this.bracketIds=i,this.astNode=o}}class Zp{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new Yp(this.textModel,this.bracketTokens),this._offset=pp,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return _p(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=bp(this._offset,e);const t=vp(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=bp(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class Yp{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=e.length,e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let n=0;for(;;){const i=this.lineTokens,o=i.getCount();let s=null;if(this.lineTokenOffset1e3)break}if(n>1500)break}const i=(o=e,s=t,r=this.lineIdx,l=this.lineCharOffset,o!==r?_p(r-o,l):_p(0,l-s));var o,s,r,l;return new Gp(i,0,-1,Tp.getEmpty(),new Kp(i))}}class Xp{constructor(e,t){this.text=e,this._offset=pp,this.idx=0;const n=t.getRegExpStr(),i=n?new RegExp(n+"|\n","gi"):null,o=[];let s,r=0,l=0,a=0,d=0;const u=[];for(let e=0;e<60;e++)u.push(new Gp(_p(0,e),0,-1,Tp.getEmpty(),new Kp(_p(0,e))));const c=[];for(let e=0;e<60;e++)c.push(new Gp(_p(1,e),0,-1,Tp.getEmpty(),new Kp(_p(1,e))));if(i)for(i.lastIndex=0;null!==(s=i.exec(e));){const e=s.index,n=s[0];if("\n"===n)r++,l=e+1;else{if(a!==e){let t;if(d===r){const n=e-a;if(nfunction(e){let t=ri(e);return/^[\w ]+/.test(e)&&(t=`\\b${t}`),/[\w ]+$/.test(e)&&(t=`${t}\\b`),t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,n]of this.map)if(2===n.kind&&n.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class Jp{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=Qp.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function em(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let n=e.length;for(;n>3;){const i=n>>1;for(let o=0;o=3?e[2]:null,t)}function tm(e,t){return Math.abs(e.listHeight-t.listHeight)}function nm(e,t){return e.listHeight===t.listHeight?Fp.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let n=e=e.toMutable();const i=[];let o;for(;;){if(t.listHeight===n.listHeight){o=t;break}if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeLastElementMutable()}for(let e=i.length-1;e>=0;e--){const t=i[e];o?t.childrenLength>=3?o=Fp.create23(t.unappendChild(),o,null,!1):(t.appendChildOfSameHeight(o),o=void 0):t.handleChildrenChanged()}return o?Fp.create23(e,o,null,!1):e}(e,t):function(e,t){let n=e=e.toMutable();const i=[];for(;t.listHeight!==n.listHeight;){if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeFirstElementMutable()}let o=t;for(let e=i.length-1;e>=0;e--){const t=i[e];o?t.childrenLength>=3?o=Fp.create23(o,t.unprependChild(),null,!1):(t.prependChildOfSameHeight(o),o=void 0):t.handleChildrenChanged()}return o?Fp.create23(o,e,null,!1):e}(t,e)}class im{constructor(e){this.lastOffset=pp,this.nextNodes=[e],this.offsets=[pp],this.idxs=[]}readLongestNodeAt(e,t){if(Sp(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const n=sm(this.nextNodes);if(!n)return;const i=sm(this.offsets);if(Sp(e,i))return;if(Sp(i,e))if(bp(i,n.length)<=e)this.nextNodeAfterCurrent();else{const e=om(n);-1!==e?(this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(n))return this.nextNodeAfterCurrent(),n;{const e=om(n);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=sm(this.offsets),t=sm(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const n=sm(this.nextNodes),i=om(n,this.idxs[this.idxs.length-1]);if(-1!==i){this.nextNodes.push(n.getChild(i)),this.offsets.push(bp(e,t.length)),this.idxs[this.idxs.length-1]=i;break}this.idxs.pop()}}}function om(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function sm(e){return e.length>0?e[e.length-1]:void 0}function rm(e,t,n,i){return new lm(e,t,n,i).parseDocument()}class lm{constructor(e,t,n,i){if(this.tokenizer=e,this.createImmutableLists=i,this._itemsConstructed=0,this._itemsFromCache=0,n&&i)throw new Error("Not supported");this.oldNodeReader=n?new im(n):void 0,this.positionMapper=new Ep(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Tp.getEmpty(),0);return e||(e=Fp.getEmpty()),e}parseList(e,t){const n=[];for(;;){let i=this.tryReadChildFromCache(e);if(!i){const n=this.tokenizer.peek();if(!n||2===n.kind&&n.bracketIds.intersects(e))break;i=this.parseChild(e,t+1)}4===i.kind&&0===i.childrenLength||n.push(i)}const i=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function n(){if(t>=e.length)return null;const n=t,i=e[n].listHeight;for(t++;t=2?em(0===n&&t===e.length?e:e.slice(n,t),!1):e[n]}let i=n(),o=n();if(!o)return i;for(let e=n();e;e=n())tm(i,o)<=tm(o,e)?(i=nm(i,o),o=e):o=nm(o,e);return nm(i,o)}(n):em(n,this.createImmutableLists);return i}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!mp(t)){const n=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(n=>!(null!==t&&!Sp(n.length,t))&&n.canBeReused(e)));if(n)return this._itemsFromCache++,this.tokenizer.skip(n.length),n}}}parseChild(e,t){this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new qp(n.bracketIds,n.length);case 0:return n.astNode;case 1:{if(t>300)return new Kp(n.length);const i=e.merge(n.bracketIds),o=this.parseList(i,t+1),s=this.tokenizer.peek();return s&&2===s.kind&&(s.bracketId===n.bracketId||s.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),Op.create(n.astNode,o,s.astNode)):Op.create(n.astNode,o,null)}default:throw new Error("unexpected")}}}function am(e,t){if(0===e.length)return t;if(0===t.length)return e;const n=new eh(um(e)),i=um(t);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let o=n.dequeue();function s(e){if(void 0===e){const e=n.takeWhile((e=>!0))||[];return o&&e.unshift(o),e}const t=[];for(;o&&!mp(e);){const[i,s]=o.splitAt(e);t.push(i),e=yp(i.lengthAfter,e),o=null!=s?s:n.dequeue()}return mp(e)||t.push(new dm(!1,e,e)),t}const r=[];function l(e,t,n){if(r.length>0&&Cp(r[r.length-1].endOffset,e)){const e=r[r.length-1];r[r.length-1]=new Np(e.startOffset,t,bp(e.newLength,n))}else r.push({startOffset:e,endOffset:t,newLength:n})}let a=pp;for(const e of i){const t=s(e.lengthBefore);if(e.modified){const n=bp(a,wp(t,(e=>e.lengthBefore)));l(a,n,e.lengthAfter),a=n}else for(const e of t){const t=a;a=bp(a,e.lengthBefore),e.modified&&l(t,a,e.lengthAfter)}}return r}class dm{constructor(e,t,n){this.modified=e,this.lengthBefore=t,this.lengthAfter=n}splitAt(e){const t=yp(e,this.lengthAfter);return Cp(t,pp)?[this,void 0]:this.modified?[new dm(this.modified,this.lengthBefore,e),new dm(this.modified,pp,t)]:[new dm(this.modified,e,e),new dm(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${vp(this.lengthBefore)} -> ${vp(this.lengthAfter)}`}}function um(e){const t=[];let n=pp;for(const i of e){const e=yp(n,i.startOffset);mp(e)||t.push(new dm(!1,e,e));const o=yp(i.startOffset,i.endOffset);t.push(new dm(!0,o,i.newLength)),n=i.endOffset}return t}class cm extends lt{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new Ct,this.denseKeyProvider=new Rp,this.brackets=new Jp(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new Xp(this.textModel.getValue(),e);this.initialAstWithoutTokens=rm(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new Np(_p(e.fromLineNumber-1,0),_p(e.toLineNumber,0),_p(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=Np.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const n=am(this.queuedTextEdits,e);this.queuedTextEdits=n,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=am(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,n){const i=t;return rm(new Zp(this.textModel,this.brackets),e,i,n)}getBracketsInRange(e,t){this.flushQueue();const n=_p(e.startLineNumber-1,e.startColumn-1),i=_p(e.endLineNumber-1,e.endColumn-1);return new th((e=>{const o=this.initialAstWithoutTokens||this.astWithTokens;pm(o,pp,o.length,n,i,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const n=Lp(e.getStartPosition()),i=Lp(e.getEndPosition());return new th((e=>{const o=this.initialAstWithoutTokens||this.astWithTokens,s=new mm(e,t,this.textModel);fm(o,pp,o.length,n,i,s,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return gm(t,pp,t.length,Lp(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return hm(t,pp,t.length,Lp(e))}}function hm(e,t,n,i){if(4===e.kind||2===e.kind){const o=[];for(const i of e.children)n=bp(t,i.length),o.push({nodeOffsetStart:t,nodeOffsetEnd:n}),t=n;for(let t=o.length-1;t>=0;t--){const{nodeOffsetStart:n,nodeOffsetEnd:s}=o[t];if(Sp(n,i)){const o=hm(e.children[t],n,s,i);if(o)return o}}return null}if(3===e.kind)return null;if(1===e.kind){const i=Dp(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function gm(e,t,n,i){if(4===e.kind||2===e.kind){for(const o of e.children){if(Sp(i,n=bp(t,o.length))){const e=gm(o,t,n,i);if(e)return e}t=n}return null}if(3===e.kind)return null;if(1===e.kind){const i=Dp(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function pm(e,t,n,i,o,s,r,l,a,d,u=!1){if(r>200)return!0;e:for(;;)switch(e.kind){case 4:{const l=e.childrenLength;for(let u=0;u200)return!0;let d=!0;if(2===e.kind){let u=0;if(l){let t=l.get(e.openingBracket.text);void 0===t&&(t=0),u=t,t++,l.set(e.openingBracket.text,t)}const c=bp(t,e.openingBracket.length);let h=-1;if(s.includeMinIndentation&&(h=e.computeMinIndentation(t,s.textModel)),d=s.push(new hp(Dp(t,n),Dp(t,c),e.closingBracket?Dp(bp(c,(null===(a=e.child)||void 0===a?void 0:a.length)||pp),n):void 0,r,u,e,h)),t=c,d&&e.child){const a=e.child;if(n=bp(t,a.length),xp(t,o)&&kp(n,i)&&(d=fm(a,t,n,i,o,s,r+1,l),!d))return!1}null==l||l.set(e.openingBracket.text,u)}else{let n=t;for(const t of e.children){const e=n;if(n=bp(n,t.length),xp(e,o)&&xp(i,n)&&(d=fm(t,e,n,i,o,s,r,l),!d))return!1}}return d}class _m extends lt{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new at),this.onDidChangeEmitter=new Ct,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange((e=>{var t;e.languageId&&!(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.didLanguageChange(e.languageId))||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())})))}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){var e;null===(e=this.bracketPairsTree.value)||void 0===e||e.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const n=new rt;this.bracketPairsTree.value=(e=n.add(new cm(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=n,{object:e,dispose:()=>null==t?void 0:t.dispose()}),n.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getBracketPairsInRange(e,!1))||th.empty}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getBracketPairsInRange(e,!0))||th.empty}getBracketsInRange(e,t=!1){var n;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(n=this.bracketPairsTree.value)||void 0===n?void 0:n.object.getBracketsInRange(e,t))||th.empty}findMatchingBracketUp(e,t,n){const i=this.textModel.validatePosition(t),o=this.textModel.getLanguageIdAtPosition(i.lineNumber,i.column);if(this.canBuildAST){const n=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getClosingBracketInfo(e);if(!n)return null;const i=this.getBracketPairsInRange(nc.fromPositions(t,t)).findLast((e=>n.closes(e.openingBracketInfo)));return i?i.openingBracketRange:null}{const t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(o).brackets;if(!s)return null;const r=s.textIsBracket[t];return r?wm(this._findMatchingBracketUp(r,i,vm(n))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(nc.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy(Yc((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),nc.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const n=vm(t);return this._matchBracket(this.textModel.validatePosition(e),n)}}_establishBracketSearchOffsets(e,t,n,i){const o=t.getCount(),s=t.getLanguageId(i);let r=Math.max(0,e.column-1-n.maxBracketLength);for(let e=i-1;e>=0;e--){const n=t.getEndOffset(e);if(n<=r)break;if(Oh(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){r=n;break}}let l=Math.min(t.getLineContent().length,e.column-1+n.maxBracketLength);for(let e=i+1;e=l)break;if(Oh(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){l=n;break}}return{searchStartOffset:r,searchEndOffset:l}}_matchBracket(e,t){const n=e.lineNumber,i=this.textModel.tokenization.getLineTokens(n),o=this.textModel.getLineContent(n),s=i.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const r=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(s)).brackets;if(r&&!Oh(i.getStandardTokenType(s))){let{searchStartOffset:l,searchEndOffset:a}=this._establishBracketSearchOffsets(e,i,r,s),d=null;for(;;){const i=dg.findNextBracketInRange(r.forwardRegex,n,o,l,a);if(!i)break;if(i.startColumn<=e.column&&e.column<=i.endColumn){const e=o.substring(i.startColumn-1,i.endColumn-1).toLowerCase(),n=this._matchFoundBracket(i,r.textIsBracket[e],r.textIsOpenBracket[e],t);if(n){if(n instanceof bm)return null;d=n}}l=i.endColumn-1}if(d)return d}if(s>0&&i.getStartOffset(s)===e.column-1){const r=s-1,l=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(r)).brackets;if(l&&!Oh(i.getStandardTokenType(r))){const{searchStartOffset:s,searchEndOffset:a}=this._establishBracketSearchOffsets(e,i,l,r),d=dg.findPrevBracketInRange(l.reversedRegex,n,o,s,a);if(d&&d.startColumn<=e.column&&e.column<=d.endColumn){const e=o.substring(d.startColumn-1,d.endColumn-1).toLowerCase(),n=this._matchFoundBracket(d,l.textIsBracket[e],l.textIsOpenBracket[e],t);if(n)return n instanceof bm?null:n}}}return null}_matchFoundBracket(e,t,n,i){if(!t)return null;const o=n?this._findMatchingBracketDown(t,e.getEndPosition(),i):this._findMatchingBracketUp(t,e.getStartPosition(),i);return o?o instanceof bm?o:[e,o]:null}_findMatchingBracketUp(e,t,n){const i=e.languageId,o=e.reversedRegex;let s=-1,r=0;const l=(t,i,l,a)=>{for(;;){if(n&&++r%100==0&&!n())return bm.INSTANCE;const d=dg.findPrevBracketInRange(o,t,i,l,a);if(!d)break;const u=i.substring(d.startColumn-1,d.endColumn-1).toLowerCase();if(e.isOpen(u)?s++:e.isClose(u)&&s--,0===s)return d;a=d.startColumn-1}return null};for(let e=t.lineNumber;e>=1;e--){const n=this.textModel.tokenization.getLineTokens(e),o=n.getCount(),s=this.textModel.getLineContent(e);let r=o-1,a=s.length,d=s.length;e===t.lineNumber&&(r=n.findTokenIndexAtOffset(t.column-1),a=t.column-1,d=t.column-1);let u=!0;for(;r>=0;r--){const t=n.getLanguageId(r)===i&&!Oh(n.getStandardTokenType(r));if(t)u?a=n.getStartOffset(r):(a=n.getStartOffset(r),d=n.getEndOffset(r));else if(u&&a!==d){const t=l(e,s,a,d);if(t)return t}u=t}if(u&&a!==d){const t=l(e,s,a,d);if(t)return t}}return null}_findMatchingBracketDown(e,t,n){const i=e.languageId,o=e.forwardRegex;let s=1,r=0;const l=(t,i,l,a)=>{for(;;){if(n&&++r%100==0&&!n())return bm.INSTANCE;const d=dg.findNextBracketInRange(o,t,i,l,a);if(!d)break;const u=i.substring(d.startColumn-1,d.endColumn-1).toLowerCase();if(e.isOpen(u)?s++:e.isClose(u)&&s--,0===s)return d;l=d.endColumn-1}return null},a=this.textModel.getLineCount();for(let e=t.lineNumber;e<=a;e++){const n=this.textModel.tokenization.getLineTokens(e),o=n.getCount(),s=this.textModel.getLineContent(e);let r=0,a=0,d=0;e===t.lineNumber&&(r=n.findTokenIndexAtOffset(t.column-1),a=t.column-1,d=t.column-1);let u=!0;for(;r=1;e--){const t=this.textModel.tokenization.getLineTokens(e),r=t.getCount(),l=this.textModel.getLineContent(e);let a=r-1,d=l.length,u=l.length;if(e===n.lineNumber){a=t.findTokenIndexAtOffset(n.column-1),d=n.column-1,u=n.column-1;const e=t.getLanguageId(a);i!==e&&(i=e,o=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let c=!0;for(;a>=0;a--){const n=t.getLanguageId(a);if(i!==n){if(o&&s&&c&&d!==u){const t=dg.findPrevBracketInRange(o.reversedRegex,e,l,d,u);if(t)return this._toFoundBracket(s,t);c=!1}i=n,o=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const r=!!o&&!Oh(t.getStandardTokenType(a));if(r)c?d=t.getStartOffset(a):(d=t.getStartOffset(a),u=t.getEndOffset(a));else if(s&&o&&c&&d!==u){const t=dg.findPrevBracketInRange(o.reversedRegex,e,l,d,u);if(t)return this._toFoundBracket(s,t)}c=r}if(s&&o&&c&&d!==u){const t=dg.findPrevBracketInRange(o.reversedRegex,e,l,d,u);if(t)return this._toFoundBracket(s,t)}}return null}findNextBracket(e){var t;const n=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getFirstBracketAfter(n))||null;const i=this.textModel.getLineCount();let o=null,s=null,r=null;for(let e=n.lineNumber;e<=i;e++){const t=this.textModel.tokenization.getLineTokens(e),i=t.getCount(),l=this.textModel.getLineContent(e);let a=0,d=0,u=0;if(e===n.lineNumber){a=t.findTokenIndexAtOffset(n.column-1),d=n.column-1,u=n.column-1;const e=t.getLanguageId(a);o!==e&&(o=e,s=this.languageConfigurationService.getLanguageConfiguration(o).brackets,r=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew)}let c=!0;for(;avoid 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const i=vm(t),o=this.textModel.getLineCount(),s=new Map;let r=[];const l=(e,t)=>{if(!s.has(e)){const n=[];for(let e=0,i=t?t.brackets.length:0;e{for(;;){if(i&&++a%100==0&&!i())return bm.INSTANCE;const l=dg.findNextBracketInRange(e.forwardRegex,t,n,o,s);if(!l)break;const d=n.substring(l.startColumn-1,l.endColumn-1).toLowerCase(),u=e.textIsBracket[d];if(u&&(u.isOpen(d)?r[u.index]++:u.isClose(d)&&r[u.index]--,-1===r[u.index]))return this._matchFoundBracket(l,u,!1,i);o=l.endColumn-1}return null};let u=null,c=null;for(let e=n.lineNumber;e<=o;e++){const t=this.textModel.tokenization.getLineTokens(e),i=t.getCount(),o=this.textModel.getLineContent(e);let s=0,r=0,a=0;if(e===n.lineNumber){s=t.findTokenIndexAtOffset(n.column-1),r=n.column-1,a=n.column-1;const e=t.getLanguageId(s);u!==e&&(u=e,c=this.languageConfigurationService.getLanguageConfiguration(u).brackets,l(u,c))}let h=!0;for(;s!0;{const t=Date.now();return()=>Date.now()-t<=e}}class bm{constructor(){this._searchCanceledBrand=void 0}}function wm(e){return e instanceof bm?null:e}function Cm(e){return`--vscode-${e.replace(/\./g,"-")}`}function ym(e){return`var(${Cm(e)})`}bm.INSTANCE=new bm;const Sm="base.contributions.colors",xm=new class{constructor(){this._onDidChangeSchema=new Ct,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,n,i=!1,o){const s={id:e,description:n,defaults:t,needsTransparency:i,deprecationMessage:o};this.colorsById[e]=s;const r={type:"string",description:n,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return o&&(r.deprecationMessage=o),i&&(r.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",r.patternErrorMessage="This color must be transparent or it will obscure content"),this.colorSchema.properties[e]=r,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(n),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map((e=>this.colorsById[e]))}resolveDefaultColor(e,t){const n=this.colorsById[e];if(n&&n.defaults)return Mm(n.defaults[t.type],t)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const n=-1===e.indexOf(".")?0:1,i=-1===t.indexOf(".")?0:1;return n!==i?n-i:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function km(e,t,n,i,o){return xm.registerColor(e,t,n,i,o)}function Lm(e,t){return{op:0,value:e,factor:t}}function Dm(e,t){return{op:1,value:e,factor:t}}function Nm(e,t){return{op:2,value:e,factor:t}}function Em(...e){return{op:4,values:e}}function Im(e,t,n,i){return{op:5,value:e,background:t,factor:n,transparency:i}}function Mm(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?lh.fromHex(e):t.getColor(e):e instanceof lh?e:"object"==typeof e?function(e,t){var n,i,o,s;switch(e.op){case 0:return null===(n=Mm(e.value,t))||void 0===n?void 0:n.darken(e.factor);case 1:return null===(i=Mm(e.value,t))||void 0===i?void 0:i.lighten(e.factor);case 2:return null===(o=Mm(e.value,t))||void 0===o?void 0:o.transparent(e.factor);case 3:{const n=Mm(e.background,t);return n?null===(s=Mm(e.value,t))||void 0===s?void 0:s.makeOpaque(n):Mm(e.value,t)}case 4:for(const n of e.values){const e=Mm(n,t);if(e)return e}return;case 6:return Mm(t.defines(e.if)?e.then:e.else,t);case 5:{const n=Mm(e.value,t);if(!n)return;const i=Mm(e.background,t);return i?n.isDarkerThan(i)?lh.getLighterColor(n,i,e.factor).transparent(e.transparency):lh.getDarkerColor(n,i,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw hu()}}(e,t):void 0}fu.add(Sm,xm);const Tm="vscode://schemas/workbench-colors",Am=fu.as(kg);Am.registerSchema(Tm,xm.getColorSchema());const Rm=new jt((()=>Am.notifySchemaChanged(Tm)),200);xm.onDidChangeSchema((()=>{Rm.isScheduled()||Rm.schedule()}));const Pm=km("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},_(0,"Overall foreground color. This color is only used if not overridden by a component.")),Om=(km("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},_(0,"Overall foreground for disabled elements. This color is only used if not overridden by a component.")),km("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},_(0,"Overall foreground color for error messages. This color is only used if not overridden by a component.")),km("descriptionForeground",{light:"#717171",dark:Nm(Pm,.7),hcDark:Nm(Pm,.7),hcLight:Nm(Pm,.7)},_(0,"Foreground color for description text providing additional information, for example for a label.")),km("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},_(0,"The default color for icons in the workbench."))),Fm=km("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},_(0,"Overall border color for focused elements. This color is only used if not overridden by a component.")),Bm=km("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},_(0,"An extra border around elements to separate them from others for greater contrast.")),Wm=km("contrastActiveBorder",{light:null,dark:null,hcDark:Fm,hcLight:Fm},_(0,"An extra border around active elements to separate them from others for greater contrast.")),Vm=(km("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},_(0,"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.")),km("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},_(0,"Foreground color for links in text."))),Hm=(km("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},_(0,"Foreground color for links in text when clicked on and on mouse hover.")),km("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:lh.black,hcLight:"#292929"},_(0,"Color for text separators.")),km("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},_(0,"Foreground color for preformatted text segments.")),km("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},_(0,"Background color for preformatted text segments.")),km("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},_(0,"Background color for block quotes in text.")),km("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:lh.white,hcLight:"#292929"},_(0,"Border color for block quotes in text.")),km("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:lh.black,hcLight:"#F2F2F2"},_(0,"Background color for code blocks in text.")),km("sash.hoverBorder",{dark:Fm,light:Fm,hcDark:Fm,hcLight:Fm},_(0,"Border color of active sashes.")),km("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:lh.black,hcLight:"#0F4A85"},_(0,"Badge background color. Badges are small information labels, e.g. for search results count."))),zm=km("badge.foreground",{dark:lh.white,light:"#333",hcDark:lh.white,hcLight:lh.white},_(0,"Badge foreground color. Badges are small information labels, e.g. for search results count.")),Um=km("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},_(0,"Scrollbar shadow to indicate that the view is scrolled.")),Km=km("scrollbarSlider.background",{dark:lh.fromHex("#797979").transparent(.4),light:lh.fromHex("#646464").transparent(.4),hcDark:Nm(Bm,.6),hcLight:Nm(Bm,.4)},_(0,"Scrollbar slider background color.")),jm=km("scrollbarSlider.hoverBackground",{dark:lh.fromHex("#646464").transparent(.7),light:lh.fromHex("#646464").transparent(.7),hcDark:Nm(Bm,.8),hcLight:Nm(Bm,.8)},_(0,"Scrollbar slider background color when hovering.")),qm=km("scrollbarSlider.activeBackground",{dark:lh.fromHex("#BFBFBF").transparent(.4),light:lh.fromHex("#000000").transparent(.6),hcDark:Bm,hcLight:Bm},_(0,"Scrollbar slider background color when clicked on.")),$m=km("progressBar.background",{dark:lh.fromHex("#0E70C0"),light:lh.fromHex("#0E70C0"),hcDark:Bm,hcLight:Bm},_(0,"Background color of the progress bar that can show for long running operations.")),Gm=km("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:lh.black,hcLight:lh.white},_(0,"Editor background color.")),Zm=km("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:lh.white,hcLight:Pm},_(0,"Editor default foreground color.")),Ym=(km("editorStickyScroll.background",{light:Gm,dark:Gm,hcDark:Gm,hcLight:Gm},_(0,"Background color of sticky scroll in the editor")),km("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:lh.fromHex("#0F4A85").transparent(.1)},_(0,"Background color of sticky scroll on hover in the editor")),km("editorStickyScroll.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Border color of sticky scroll in the editor")),km("editorStickyScroll.shadow",{dark:Um,light:Um,hcDark:Um,hcLight:Um},_(0," Shadow color of sticky scroll in the editor")),km("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:lh.white},_(0,"Background color of editor widgets, such as find/replace."))),Xm=km("editorWidget.foreground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"Foreground color of editor widgets, such as find/replace.")),Qm=km("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:Bm,hcLight:Bm},_(0,"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.")),Jm=(km("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},_(0,"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),km("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),km("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},_(0,"Foreground color of error squigglies in the editor."))),ef=km("editorError.border",{dark:null,light:null,hcDark:lh.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},_(0,"If set, color of double underlines for errors in the editor.")),tf=km("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),nf=km("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},_(0,"Foreground color of warning squigglies in the editor.")),of=km("editorWarning.border",{dark:null,light:null,hcDark:lh.fromHex("#FFCC00").transparent(.8),hcLight:lh.fromHex("#FFCC00").transparent(.8)},_(0,"If set, color of double underlines for warnings in the editor.")),sf=(km("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),km("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},_(0,"Foreground color of info squigglies in the editor."))),rf=km("editorInfo.border",{dark:null,light:null,hcDark:lh.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},_(0,"If set, color of double underlines for infos in the editor.")),lf=km("editorHint.foreground",{dark:lh.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},_(0,"Foreground color of hint squigglies in the editor.")),af=(km("editorHint.border",{dark:null,light:null,hcDark:lh.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},_(0,"If set, color of double underlines for hints in the editor.")),km("editorLink.activeForeground",{dark:"#4E94CE",light:lh.blue,hcDark:lh.cyan,hcLight:"#292929"},_(0,"Color of active links."))),df=km("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},_(0,"Color of the editor selection.")),uf=km("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:lh.white},_(0,"Color of the selected text for high contrast.")),cf=km("editor.inactiveSelectionBackground",{light:Nm(df,.5),dark:Nm(df,.5),hcDark:Nm(df,.7),hcLight:Nm(df,.5)},_(0,"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),hf=km("editor.selectionHighlightBackground",{light:Im(df,Gm,.3,.6),dark:Im(df,Gm,.3,.6),hcDark:null,hcLight:null},_(0,"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),gf=(km("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color for regions with the same content as the selection.")),km("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},_(0,"Color of the current search match.")),km("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},_(0,"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0)),pf=(km("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},_(0,"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),km("editor.findMatchBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of the current search match.")),km("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of the other search matches."))),mf=km("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:Nm(Wm,.4),hcLight:Nm(Wm,.4)},_(0,"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),ff=(km("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},_(0,"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),km("editorHoverWidget.background",{light:Ym,dark:Ym,hcDark:Ym,hcLight:Ym},_(0,"Background color of the editor hover."))),_f=(km("editorHoverWidget.foreground",{light:Xm,dark:Xm,hcDark:Xm,hcLight:Xm},_(0,"Foreground color of the editor hover.")),km("editorHoverWidget.border",{light:Qm,dark:Qm,hcDark:Qm,hcLight:Qm},_(0,"Border color of the editor hover."))),vf=(km("editorHoverWidget.statusBarBackground",{dark:Dm(ff,.2),light:Lm(ff,.05),hcDark:Ym,hcLight:Ym},_(0,"Background color of the editor hover status bar.")),km("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:lh.white,hcLight:lh.black},_(0,"Foreground color of inline hints"))),bf=km("editorInlayHint.background",{dark:Nm(Hm,.1),light:Nm(Hm,.1),hcDark:Nm(lh.white,.1),hcLight:Nm(Hm,.1)},_(0,"Background color of inline hints")),wf=km("editorInlayHint.typeForeground",{dark:vf,light:vf,hcDark:vf,hcLight:vf},_(0,"Foreground color of inline hints for types")),Cf=km("editorInlayHint.typeBackground",{dark:bf,light:bf,hcDark:bf,hcLight:bf},_(0,"Background color of inline hints for types")),yf=km("editorInlayHint.parameterForeground",{dark:vf,light:vf,hcDark:vf,hcLight:vf},_(0,"Foreground color of inline hints for parameters")),Sf=km("editorInlayHint.parameterBackground",{dark:bf,light:bf,hcDark:bf,hcLight:bf},_(0,"Background color of inline hints for parameters")),xf=km("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},_(0,"The color used for the lightbulb actions icon.")),kf=(km("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The color used for the lightbulb auto fix actions icon.")),km("editorLightBulbAi.foreground",{dark:xf,light:xf,hcDark:xf,hcLight:xf},_(0,"The color used for the lightbulb AI icon.")),km("editor.snippetTabstopHighlightBackground",{dark:new lh(new oh(124,124,124,.3)),light:new lh(new oh(10,50,100,.2)),hcDark:new lh(new oh(124,124,124,.3)),hcLight:new lh(new oh(10,50,100,.2))},_(0,"Highlight background color of a snippet tabstop.")),km("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Highlight border color of a snippet tabstop.")),km("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Highlight background color of the final tabstop of a snippet.")),km("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new lh(new oh(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},_(0,"Highlight border color of the final tabstop of a snippet.")),new lh(new oh(155,185,85,.2))),Lf=new lh(new oh(255,0,0,.2)),Df=km("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},_(0,"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),Nf=km("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},_(0,"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),Ef=(km("diffEditor.insertedLineBackground",{dark:kf,light:kf,hcDark:null,hcLight:null},_(0,"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),km("diffEditor.removedLineBackground",{dark:Lf,light:Lf,hcDark:null,hcLight:null},_(0,"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),km("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color for the margin where lines got inserted.")),km("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color for the margin where lines got removed.")),km("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Diff overview ruler foreground for inserted content."))),If=km("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Diff overview ruler foreground for removed content.")),Mf=(km("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},_(0,"Outline color for the text that got inserted.")),km("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},_(0,"Outline color for text that got removed.")),km("diffEditor.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Border color between the two text editors.")),km("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},_(0,"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),km("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},_(0,"The background color of unchanged blocks in the diff editor.")),km("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},_(0,"The foreground color of unchanged blocks in the diff editor.")),km("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},_(0,"The background color of unchanged code in the diff editor.")),km("widget.shadow",{dark:Nm(lh.black,.36),light:Nm(lh.black,.16),hcDark:null,hcLight:null},_(0,"Shadow color of widgets such as find/replace inside the editor."))),Tf=km("widget.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Border color of widgets such as find/replace inside the editor.")),Af=km("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},_(0,"Toolbar background when hovering over actions using the mouse")),Rf=(km("toolbar.hoverOutline",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Toolbar outline when hovering over actions using the mouse")),km("toolbar.activeBackground",{dark:Dm(Af,.1),light:Lm(Af,.1),hcDark:null,hcLight:null},_(0,"Toolbar background when holding the mouse over actions")),km("breadcrumb.foreground",{light:Nm(Pm,.8),dark:Nm(Pm,.8),hcDark:Nm(Pm,.8),hcLight:Nm(Pm,.8)},_(0,"Color of focused breadcrumb items."))),Pf=km("breadcrumb.background",{light:Gm,dark:Gm,hcDark:Gm,hcLight:Gm},_(0,"Background color of breadcrumb items.")),Of=km("breadcrumb.focusForeground",{light:Lm(Pm,.2),dark:Dm(Pm,.1),hcDark:Dm(Pm,.1),hcLight:Dm(Pm,.1)},_(0,"Color of focused breadcrumb items.")),Ff=km("breadcrumb.activeSelectionForeground",{light:Lm(Pm,.2),dark:Dm(Pm,.1),hcDark:Dm(Pm,.1),hcLight:Dm(Pm,.1)},_(0,"Color of selected breadcrumb items.")),Bf=(km("breadcrumbPicker.background",{light:Ym,dark:Ym,hcDark:Ym,hcLight:Ym},_(0,"Background color of breadcrumb item picker.")),lh.fromHex("#40C8AE").transparent(.5)),Wf=lh.fromHex("#40A6FF").transparent(.5),Vf=lh.fromHex("#606060").transparent(.4),Hf=.4,zf=km("merge.currentHeaderBackground",{dark:Bf,light:Bf,hcDark:null,hcLight:null},_(0,"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),Uf=(km("merge.currentContentBackground",{dark:Nm(zf,Hf),light:Nm(zf,Hf),hcDark:Nm(zf,Hf),hcLight:Nm(zf,Hf)},_(0,"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),km("merge.incomingHeaderBackground",{dark:Wf,light:Wf,hcDark:null,hcLight:null},_(0,"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),Kf=(km("merge.incomingContentBackground",{dark:Nm(Uf,Hf),light:Nm(Uf,Hf),hcDark:Nm(Uf,Hf),hcLight:Nm(Uf,Hf)},_(0,"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),km("merge.commonHeaderBackground",{dark:Vf,light:Vf,hcDark:null,hcLight:null},_(0,"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),jf=(km("merge.commonContentBackground",{dark:Nm(Kf,Hf),light:Nm(Kf,Hf),hcDark:Nm(Kf,Hf),hcLight:Nm(Kf,Hf)},_(0,"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),km("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},_(0,"Border color on headers and the splitter in inline merge-conflicts."))),qf=(km("editorOverviewRuler.currentContentForeground",{dark:Nm(zf,1),light:Nm(zf,1),hcDark:jf,hcLight:jf},_(0,"Current overview ruler foreground for inline merge-conflicts.")),km("editorOverviewRuler.incomingContentForeground",{dark:Nm(Uf,1),light:Nm(Uf,1),hcDark:jf,hcLight:jf},_(0,"Incoming overview ruler foreground for inline merge-conflicts.")),km("editorOverviewRuler.commonContentForeground",{dark:Nm(Kf,1),light:Nm(Kf,1),hcDark:jf,hcLight:jf},_(0,"Common ancestor overview ruler foreground for inline merge-conflicts.")),km("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},_(0,"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0)),$f=km("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},_(0,"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Gf=km("problemsErrorIcon.foreground",{dark:Jm,light:Jm,hcDark:Jm,hcLight:Jm},_(0,"The color used for the problems error icon.")),Zf=km("problemsWarningIcon.foreground",{dark:nf,light:nf,hcDark:nf,hcLight:nf},_(0,"The color used for the problems warning icon.")),Yf=km("problemsInfoIcon.foreground",{dark:sf,light:sf,hcDark:sf,hcLight:sf},_(0,"The color used for the problems info icon.")),Xf=km("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},_(0,"Minimap marker color for find matches."),!0),Qf=km("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},_(0,"Minimap marker color for repeating editor selections."),!0),Jf=km("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},_(0,"Minimap marker color for the editor selection."),!0),e_=km("minimap.infoHighlight",{dark:sf,light:sf,hcDark:rf,hcLight:rf},_(0,"Minimap marker color for infos.")),t_=km("minimap.warningHighlight",{dark:nf,light:nf,hcDark:of,hcLight:of},_(0,"Minimap marker color for warnings.")),n_=km("minimap.errorHighlight",{dark:new lh(new oh(255,18,18,.7)),light:new lh(new oh(255,18,18,.7)),hcDark:new lh(new oh(255,50,50,1)),hcLight:"#B5200D"},_(0,"Minimap marker color for errors.")),i_=km("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Minimap background color.")),o_=km("minimap.foregroundOpacity",{dark:lh.fromHex("#000f"),light:lh.fromHex("#000f"),hcDark:lh.fromHex("#000f"),hcLight:lh.fromHex("#000f")},_(0,'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),s_=(km("minimapSlider.background",{light:Nm(Km,.5),dark:Nm(Km,.5),hcDark:Nm(Km,.5),hcLight:Nm(Km,.5)},_(0,"Minimap slider background color.")),km("minimapSlider.hoverBackground",{light:Nm(jm,.5),dark:Nm(jm,.5),hcDark:Nm(jm,.5),hcLight:Nm(jm,.5)},_(0,"Minimap slider background color when hovering.")),km("minimapSlider.activeBackground",{light:Nm(qm,.5),dark:Nm(qm,.5),hcDark:Nm(qm,.5),hcLight:Nm(qm,.5)},_(0,"Minimap slider background color when clicked on.")),km("charts.foreground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color used in charts.")),km("charts.lines",{dark:Nm(Pm,.5),light:Nm(Pm,.5),hcDark:Nm(Pm,.5),hcLight:Nm(Pm,.5)},_(0,"The color used for horizontal lines in charts.")),km("charts.red",{dark:Jm,light:Jm,hcDark:Jm,hcLight:Jm},_(0,"The red color used in chart visualizations.")),km("charts.blue",{dark:sf,light:sf,hcDark:sf,hcLight:sf},_(0,"The blue color used in chart visualizations.")),km("charts.yellow",{dark:nf,light:nf,hcDark:nf,hcLight:nf},_(0,"The yellow color used in chart visualizations.")),km("charts.orange",{dark:Xf,light:Xf,hcDark:Xf,hcLight:Xf},_(0,"The orange color used in chart visualizations.")),km("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},_(0,"The green color used in chart visualizations.")),km("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_(0,"The purple color used in chart visualizations.")),km("input.background",{dark:"#3C3C3C",light:lh.white,hcDark:lh.black,hcLight:lh.white},_(0,"Input box background."))),r_=km("input.foreground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"Input box foreground.")),l_=km("input.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Input box border.")),a_=km("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:Bm,hcLight:Bm},_(0,"Border color of activated options in input fields.")),d_=(km("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},_(0,"Background color of activated options in input fields.")),km("inputOption.activeBackground",{dark:Nm(Fm,.4),light:Nm(Fm,.2),hcDark:lh.transparent,hcLight:lh.transparent},_(0,"Background hover color of options in input fields."))),u_=km("inputOption.activeForeground",{dark:lh.white,light:lh.black,hcDark:Pm,hcLight:Pm},_(0,"Foreground color of activated options in input fields.")),c_=(km("input.placeholderForeground",{light:Nm(Pm,.5),dark:Nm(Pm,.5),hcDark:Nm(Pm,.7),hcLight:Nm(Pm,.7)},_(0,"Input box foreground color for placeholder text.")),km("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:lh.black,hcLight:lh.white},_(0,"Input validation background color for information severity."))),h_=km("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:Pm},_(0,"Input validation foreground color for information severity.")),g_=km("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:Bm,hcLight:Bm},_(0,"Input validation border color for information severity.")),p_=km("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:lh.black,hcLight:lh.white},_(0,"Input validation background color for warning severity.")),m_=km("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:Pm},_(0,"Input validation foreground color for warning severity.")),f_=km("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:Bm,hcLight:Bm},_(0,"Input validation border color for warning severity.")),__=km("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:lh.black,hcLight:lh.white},_(0,"Input validation background color for error severity.")),v_=km("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:Pm},_(0,"Input validation foreground color for error severity.")),b_=km("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:Bm,hcLight:Bm},_(0,"Input validation border color for error severity.")),w_=km("dropdown.background",{dark:"#3C3C3C",light:lh.white,hcDark:lh.black,hcLight:lh.white},_(0,"Dropdown background.")),C_=km("dropdown.listBackground",{dark:null,light:null,hcDark:lh.black,hcLight:lh.white},_(0,"Dropdown list background.")),y_=km("dropdown.foreground",{dark:"#F0F0F0",light:Pm,hcDark:lh.white,hcLight:Pm},_(0,"Dropdown foreground.")),S_=km("dropdown.border",{dark:w_,light:"#CECECE",hcDark:Bm,hcLight:Bm},_(0,"Dropdown border.")),x_=km("button.foreground",{dark:lh.white,light:lh.white,hcDark:lh.white,hcLight:lh.white},_(0,"Button foreground color.")),k_=km("button.separator",{dark:Nm(x_,.4),light:Nm(x_,.4),hcDark:Nm(x_,.4),hcLight:Nm(x_,.4)},_(0,"Button separator color.")),L_=km("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},_(0,"Button background color.")),D_=km("button.hoverBackground",{dark:Dm(L_,.2),light:Lm(L_,.2),hcDark:L_,hcLight:L_},_(0,"Button background color when hovering.")),N_=km("button.border",{dark:Bm,light:Bm,hcDark:Bm,hcLight:Bm},_(0,"Button border color.")),E_=km("button.secondaryForeground",{dark:lh.white,light:lh.white,hcDark:lh.white,hcLight:Pm},_(0,"Secondary button foreground color.")),I_=km("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:lh.white},_(0,"Secondary button background color.")),M_=km("button.secondaryHoverBackground",{dark:Dm(I_,.2),light:Lm(I_,.2),hcDark:null,hcLight:null},_(0,"Secondary button background color when hovering.")),T_=km("checkbox.background",{dark:w_,light:w_,hcDark:w_,hcLight:w_},_(0,"Background color of checkbox widget.")),A_=(km("checkbox.selectBackground",{dark:Ym,light:Ym,hcDark:Ym,hcLight:Ym},_(0,"Background color of checkbox widget when the element it's in is selected.")),km("checkbox.foreground",{dark:y_,light:y_,hcDark:y_,hcLight:y_},_(0,"Foreground color of checkbox widget."))),R_=km("checkbox.border",{dark:S_,light:S_,hcDark:S_,hcLight:S_},_(0,"Border color of checkbox widget.")),P_=(km("checkbox.selectBorder",{dark:Om,light:Om,hcDark:Om,hcLight:Om},_(0,"Border color of checkbox widget when the element it's in is selected.")),km("keybindingLabel.background",{dark:new lh(new oh(128,128,128,.17)),light:new lh(new oh(221,221,221,.4)),hcDark:lh.transparent,hcLight:lh.transparent},_(0,"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut."))),O_=km("keybindingLabel.foreground",{dark:lh.fromHex("#CCCCCC"),light:lh.fromHex("#555555"),hcDark:lh.white,hcLight:Pm},_(0,"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),F_=km("keybindingLabel.border",{dark:new lh(new oh(51,51,51,.6)),light:new lh(new oh(204,204,204,.4)),hcDark:new lh(new oh(111,195,223)),hcLight:Bm},_(0,"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),B_=km("keybindingLabel.bottomBorder",{dark:new lh(new oh(68,68,68,.6)),light:new lh(new oh(187,187,187,.4)),hcDark:new lh(new oh(111,195,223)),hcLight:Pm},_(0,"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),W_=km("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),V_=km("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),H_=km("list.focusOutline",{dark:Fm,light:Fm,hcDark:Wm,hcLight:Wm},_(0,"List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),z_=km("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),U_=km("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:lh.fromHex("#0F4A85").transparent(.1)},_(0,"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),K_=km("list.activeSelectionForeground",{dark:lh.white,light:lh.white,hcDark:null,hcLight:null},_(0,"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),j_=km("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),q_=km("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:lh.fromHex("#0F4A85").transparent(.1)},_(0,"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),$_=km("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),G_=km("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Z_=km("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Y_=km("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),X_=km("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:lh.white.transparent(.1),hcLight:lh.fromHex("#0F4A85").transparent(.1)},_(0,"List/Tree background when hovering over items using the mouse.")),Q_=km("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"List/Tree foreground when hovering over items using the mouse.")),J_=km("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},_(0,"List/Tree drag and drop background when moving items over other items when using the mouse.")),ev=km("list.dropBetweenBackground",{dark:Om,light:Om,hcDark:null,hcLight:null},_(0,"List/Tree drag and drop border color when moving items between items when using the mouse.")),tv=km("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:Fm,hcLight:Fm},_(0,"List/Tree foreground color of the match highlights when searching inside the list/tree.")),nv=km("list.focusHighlightForeground",{dark:tv,light:(iv=U_,ov=tv,"#BBE7FF",{op:6,if:iv,then:ov,else:"#BBE7FF"}),hcDark:tv,hcLight:tv},_(0,"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var iv,ov;km("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},_(0,"List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),km("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},_(0,"Foreground color of list items containing errors.")),km("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},_(0,"Foreground color of list items containing warnings."));const sv=km("listFilterWidget.background",{light:Lm(Ym,0),dark:Dm(Ym,0),hcDark:Ym,hcLight:Ym},_(0,"Background color of the type filter widget in lists and trees.")),rv=km("listFilterWidget.outline",{dark:lh.transparent,light:lh.transparent,hcDark:"#f38518",hcLight:"#007ACC"},_(0,"Outline color of the type filter widget in lists and trees.")),lv=km("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:Bm,hcLight:Bm},_(0,"Outline color of the type filter widget in lists and trees, when there are no matches.")),av=km("listFilterWidget.shadow",{dark:Mf,light:Mf,hcDark:Mf,hcLight:Mf},_(0,"Shadow color of the type filter widget in lists and trees.")),dv=(km("list.filterMatchBackground",{dark:gf,light:gf,hcDark:null,hcLight:null},_(0,"Background color of the filtered match.")),km("list.filterMatchBorder",{dark:pf,light:pf,hcDark:Bm,hcLight:Wm},_(0,"Border color of the filtered match.")),km("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},_(0,"List/Tree foreground color for items that are deemphasized.")),km("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},_(0,"Tree stroke color for the indentation guides."))),uv=km("tree.inactiveIndentGuidesStroke",{dark:Nm(dv,.4),light:Nm(dv,.4),hcDark:Nm(dv,.4),hcLight:Nm(dv,.4)},_(0,"Tree stroke color for the indentation guides that are not active.")),cv=km("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},_(0,"Table border color between columns.")),hv=km("tree.tableOddRowsBackground",{dark:Nm(Pm,.04),light:Nm(Pm,.04),hcDark:null,hcLight:null},_(0,"Background color for odd table rows.")),gv=km("menu.border",{dark:null,light:null,hcDark:Bm,hcLight:Bm},_(0,"Border color of menus.")),pv=km("menu.foreground",{dark:y_,light:y_,hcDark:y_,hcLight:y_},_(0,"Foreground color of menu items.")),mv=km("menu.background",{dark:w_,light:w_,hcDark:w_,hcLight:w_},_(0,"Background color of menu items.")),fv=km("menu.selectionForeground",{dark:K_,light:K_,hcDark:K_,hcLight:K_},_(0,"Foreground color of the selected menu item in menus.")),_v=km("menu.selectionBackground",{dark:U_,light:U_,hcDark:U_,hcLight:U_},_(0,"Background color of the selected menu item in menus.")),vv=km("menu.selectionBorder",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of the selected menu item in menus.")),bv=km("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:Bm,hcLight:Bm},_(0,"Color of a separator menu item in menus.")),wv=km("quickInput.background",{dark:Ym,light:Ym,hcDark:Ym,hcLight:Ym},_(0,"Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),Cv=km("quickInput.foreground",{dark:Xm,light:Xm,hcDark:Xm,hcLight:Xm},_(0,"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),yv=km("quickInputTitle.background",{dark:new lh(new oh(255,255,255,.105)),light:new lh(new oh(0,0,0,.06)),hcDark:"#000000",hcLight:lh.white},_(0,"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),Sv=km("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:lh.white,hcLight:"#0F4A85"},_(0,"Quick picker color for grouping labels.")),xv=km("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:lh.white,hcLight:"#0F4A85"},_(0,"Quick picker color for grouping borders.")),kv=km("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,_(0,"Please use quickInputList.focusBackground instead")),Lv=km("quickInputList.focusForeground",{dark:K_,light:K_,hcDark:K_,hcLight:K_},_(0,"Quick picker foreground color for the focused item.")),Dv=km("quickInputList.focusIconForeground",{dark:j_,light:j_,hcDark:j_,hcLight:j_},_(0,"Quick picker icon foreground color for the focused item.")),Nv=km("quickInputList.focusBackground",{dark:Em(kv,U_),light:Em(kv,U_),hcDark:null,hcLight:null},_(0,"Quick picker background color for the focused item."));var Ev;function Iv(e){return e===Ev.HIGH_CONTRAST_DARK||e===Ev.HIGH_CONTRAST_LIGHT}function Mv(e){return e===Ev.DARK||e===Ev.HIGH_CONTRAST_DARK}km("search.resultsInfoForeground",{light:Pm,dark:Nm(Pm,.65),hcDark:Pm,hcLight:Pm},_(0,"Color of the text in the search viewlet's completion message.")),km("searchEditor.findMatchBackground",{light:Nm(gf,.66),dark:Nm(gf,.66),hcDark:gf,hcLight:gf},_(0,"Color of the Search Editor query matches.")),km("searchEditor.findMatchBorder",{light:Nm(pf,.66),dark:Nm(pf,.66),hcDark:pf,hcLight:pf},_(0,"Border color of the Search Editor query matches.")),function(e){e.DARK="dark",e.LIGHT="light",e.HIGH_CONTRAST_DARK="hcDark",e.HIGH_CONTRAST_LIGHT="hcLight"}(Ev||(Ev={}));const Tv=dd("themeService");function Av(e){return{id:e}}function Rv(e){switch(e){case Ev.DARK:return"vs-dark";case Ev.HIGH_CONTRAST_DARK:return"hc-black";case Ev.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const Pv="base.contributions.theming",Ov=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new Ct}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),st((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function Fv(e){return Ov.onColorThemeChange(e)}fu.add(Pv,Ov);class Bv extends lt{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((e=>this.onThemeChange(e))))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}const Wv=km("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color for the highlight of line at the cursor position.")),Vv=km("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:Bm},_(0,"Background color for the border around the line at the cursor position.")),Hv=(km("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},_(0,"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),km("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Background color of the border around highlighted ranges."),!0),km("editor.symbolHighlightBackground",{dark:gf,light:gf,hcDark:null,hcLight:null},_(0,"Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),km("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Background color of the border around highlighted symbols."),!0),km("editorCursor.foreground",{dark:"#AEAFAD",light:lh.black,hcDark:lh.white,hcLight:"#0F4A85"},_(0,"Color of the editor cursor."))),zv=km("editorCursor.background",null,_(0,"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),Uv=km("editorMultiCursor.primary.foreground",{dark:Hv,light:Hv,hcDark:Hv,hcLight:Hv},_(0,"Color of the primary editor cursor when multiple cursors are present.")),Kv=km("editorMultiCursor.primary.background",{dark:zv,light:zv,hcDark:zv,hcLight:zv},_(0,"The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),jv=km("editorMultiCursor.secondary.foreground",{dark:Hv,light:Hv,hcDark:Hv,hcLight:Hv},_(0,"Color of secondary editor cursors when multiple cursors are present.")),qv=km("editorMultiCursor.secondary.background",{dark:zv,light:zv,hcDark:zv,hcLight:zv},_(0,"The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),$v=km("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},_(0,"Color of whitespace characters in the editor.")),Gv=km("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:lh.white,hcLight:"#292929"},_(0,"Color of editor line numbers.")),Zv=km("editorIndentGuide.background",{dark:$v,light:$v,hcDark:$v,hcLight:$v},_(0,"Color of the editor indentation guides."),!1,_(0,"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),Yv=km("editorIndentGuide.activeBackground",{dark:$v,light:$v,hcDark:$v,hcLight:$v},_(0,"Color of the active editor indentation guides."),!1,_(0,"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),Xv=km("editorIndentGuide.background1",{dark:Zv,light:Zv,hcDark:Zv,hcLight:Zv},_(0,"Color of the editor indentation guides (1).")),Qv=km("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (2).")),Jv=km("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (3).")),eb=km("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (4).")),tb=km("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (5).")),nb=km("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the editor indentation guides (6).")),ib=km("editorIndentGuide.activeBackground1",{dark:Yv,light:Yv,hcDark:Yv,hcLight:Yv},_(0,"Color of the active editor indentation guides (1).")),ob=km("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (2).")),sb=km("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (3).")),rb=km("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (4).")),lb=km("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (5).")),ab=km("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Color of the active editor indentation guides (6).")),db=km("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:Wm,hcLight:Wm},_(0,"Color of editor active line number"),!1,_(0,"Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),ub=(km("editorLineNumber.activeForeground",{dark:db,light:db,hcDark:db,hcLight:db},_(0,"Color of editor active line number")),km("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Color of the final editor line when editor.renderFinalNewline is set to dimmed."))),cb=(km("editorRuler.foreground",{dark:"#5A5A5A",light:lh.lightgrey,hcDark:lh.white,hcLight:"#292929"},_(0,"Color of the editor rulers.")),km("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},_(0,"Foreground color of editor CodeLens")),km("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},_(0,"Background color behind matching brackets")),km("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:Bm,hcLight:Bm},_(0,"Color for matching brackets boxes")),km("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},_(0,"Color of the overview ruler border."))),hb=km("editorOverviewRuler.background",null,_(0,"Background color of the editor overview ruler.")),gb=(km("editorGutter.background",{dark:Gm,light:Gm,hcDark:Gm,hcLight:Gm},_(0,"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),km("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:lh.fromHex("#fff").transparent(.8),hcLight:Bm},_(0,"Border color of unnecessary (unused) source code in the editor.")),km("editorUnnecessaryCode.opacity",{dark:lh.fromHex("#000a"),light:lh.fromHex("#0007"),hcDark:null,hcLight:null},_(0,"Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."))),pb=(km("editorGhostText.border",{dark:null,light:null,hcDark:lh.fromHex("#fff").transparent(.8),hcLight:lh.fromHex("#292929").transparent(.8)},_(0,"Border color of ghost text in the editor.")),km("editorGhostText.foreground",{dark:lh.fromHex("#ffffff56"),light:lh.fromHex("#0007"),hcDark:null,hcLight:null},_(0,"Foreground color of the ghost text in the editor.")),km("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},_(0,"Background color of the ghost text in the editor.")),new lh(new oh(0,122,204,.6))),mb=km("editorOverviewRuler.rangeHighlightForeground",{dark:pb,light:pb,hcDark:pb,hcLight:pb},_(0,"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),fb=km("editorOverviewRuler.errorForeground",{dark:new lh(new oh(255,18,18,.7)),light:new lh(new oh(255,18,18,.7)),hcDark:new lh(new oh(255,50,50,1)),hcLight:"#B5200D"},_(0,"Overview ruler marker color for errors.")),_b=km("editorOverviewRuler.warningForeground",{dark:nf,light:nf,hcDark:of,hcLight:of},_(0,"Overview ruler marker color for warnings.")),vb=km("editorOverviewRuler.infoForeground",{dark:sf,light:sf,hcDark:rf,hcLight:rf},_(0,"Overview ruler marker color for infos.")),bb=km("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},_(0,"Foreground color of brackets (1). Requires enabling bracket pair colorization.")),wb=km("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},_(0,"Foreground color of brackets (2). Requires enabling bracket pair colorization.")),Cb=km("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},_(0,"Foreground color of brackets (3). Requires enabling bracket pair colorization.")),yb=km("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Sb=km("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Foreground color of brackets (5). Requires enabling bracket pair colorization.")),xb=km("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Foreground color of brackets (6). Requires enabling bracket pair colorization.")),kb=km("editorBracketHighlight.unexpectedBracket.foreground",{dark:new lh(new oh(255,18,18,.8)),light:new lh(new oh(255,18,18,.8)),hcDark:new lh(new oh(255,50,50,1)),hcLight:""},_(0,"Foreground color of unexpected brackets.")),Lb=km("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Db=km("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Nb=km("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Eb=km("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Ib=km("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),Mb=km("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),Tb=km("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Ab=km("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),Rb=km("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),Pb=km("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),Ob=km("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),Fb=km("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},_(0,"Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));km("editorUnicodeHighlight.border",{dark:nf,light:nf,hcDark:nf,hcLight:nf},_(0,"Border color used to highlight unicode characters.")),km("editorUnicodeHighlight.background",{dark:tf,light:tf,hcDark:tf,hcLight:tf},_(0,"Background color used to highlight unicode characters.")),Fv(((e,t)=>{const n=e.getColor(Gm),i=e.getColor(Wv),o=i&&!i.isTransparent()?i:n;o&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${o}; }`)}));class Bb extends lt{constructor(e){super(),this.textModel=e,this.colorProvider=new Wb,this.onDidChangeEmitter=new Ct,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,n,i){return i||void 0===t?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray():[]}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new nc(1,1,this.textModel.getLineCount(),1),e,t):[]}}class Wb{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}function Vb(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}Fv(((e,t)=>{const n=[bb,wb,Cb,yb,Sb,xb],i=new Wb;t.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${e.getColor(kb)}; }`);const o=n.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let e=0;e<30;e++){const n=o[e%o.length];t.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(e)} { color: ${n}; }`)}}));class Hb{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,i){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=i}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${Vb(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${Vb(this.oldText)}")`:`(replace@${this.oldPosition} "${Vb(this.oldText)}" with "${Vb(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,n){const i=t.length;jh(e,i,n),n+=4;for(let o=0;o0&&(65279===i[0]||65534===i[0])?function(e,t,n){const i=[];let o=0;for(let s=0;s0&&(this.changes=(r=t,null===(s=this.changes)||0===s.length?r:new zb(s,r).compress())),this.afterEOL=n,this.afterVersionId=i,this.afterCursorState=o}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,n){if(jh(e,t?t.length:0,n),n+=4,t)for(const i of t)jh(e,i.selectionStartLineNumber,n),n+=4,jh(e,i.selectionStartColumn,n),n+=4,jh(e,i.positionLineNumber,n),n+=4,jh(e,i.positionColumn,n),n+=4;return n}static _readSelections(e,t,n){const i=Kh(e,t);t+=4;for(let o=0;oe.toString())).join(", ")}matchesResource(e){return(Io.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof Kb}append(e,t,n,i,o){this._data instanceof Kb&&this._data.append(e,t,n,i,o)}close(){this._data instanceof Kb&&(this._data=this._data.serialize())}open(){this._data instanceof Kb||(this._data=Kb.deserialize(this._data))}undo(){if(Io.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Kb&&(this._data=this._data.serialize());const e=Kb.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(Io.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Kb&&(this._data=this._data.serialize());const e=Kb.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof Kb&&(this._data=this._data.serialize()),this._data.byteLength+168}}class qb{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,n){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const e of this._editStackElementsArr){const t=Ub(e.resource);this._editStackElementsMap.set(t,e)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=Ub(e);return this._editStackElementsMap.has(t)}setModel(e){const t=Ub(Io.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=Ub(e.uri);return!!this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).canAppend(e)}append(e,t,n,i,o){const s=Ub(e.uri);this._editStackElementsMap.get(s).append(e,t,n,i,o)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=Ub(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${Ka(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function $b(e){return"\n"===e.getEOL()?0:1}function Gb(e){return!!e&&(e instanceof jb||e instanceof qb)}class Zb{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Gb(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Gb(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const n=this._undoRedoService.getLastElement(this._model.uri);if(Gb(n)&&n.canAppend(this._model))return n;const i=new jb(_(0,"Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(i,t),i}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],$b(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,n,i){const o=this._getOrCreateEditStackElement(e,i),s=this._model.applyEdits(t,!0),r=Zb._computeCursorState(n,s),l=s.map(((e,t)=>({index:t,textChange:e.textChange})));return l.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),o.append(this._model,l.map((e=>e.textChange)),$b(this._model),this._model.getAlternativeVersionId(),r),r}static _computeCursorState(e,t){try{return e?e(t):null}catch(e){return xe(e),null}}}class Yb extends lt{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function Xb(e,t){let n=0,i=0;const o=e.length;for(;ii)throw new Re("Illegal value for lineNumber");const o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(o&&o.offSide);let r=-2,l=-1,a=-2,d=-1;const u=e=>{if(-1!==r&&(-2===r||r>e-1)){r=-1,l=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){r=t,l=e;break}}}if(-2===a){a=-1,d=-1;for(let t=e;t=0){a=t,d=e;break}}}};let c=-2,h=-1,g=-2,p=-1;const m=e=>{if(-2===c){c=-1,h=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){c=t,h=e;break}}}if(-1!==g&&(-2===g||g=0){g=t,p=e;break}}}};let f=0,_=!0,v=0,b=!0,w=0,C=0;for(let o=0;_||b;o++){const r=e-o,g=e+o;o>1&&(r<1||r1&&(g>i||g>n)&&(b=!1),o>5e4&&(_=!1,b=!1);let y=-1;if(_&&r>=1){const e=this._computeIndentLevel(r-1);e>=0?(a=r-1,d=e,y=Math.ceil(e/this.textModel.getOptions().indentSize)):(u(r),y=this._getIndentLevelForWhitespaceLine(s,l,d))}let S=-1;if(b&&g<=i){const e=this._computeIndentLevel(g-1);e>=0?(c=g-1,h=e,S=Math.ceil(e/this.textModel.getOptions().indentSize)):(m(g),S=this._getIndentLevelForWhitespaceLine(s,h,p))}if(0!==o){if(1===o){if(g<=i&&S>=0&&C+1===S){_=!1,f=g,v=g,w=S;continue}if(r>=1&&y>=0&&y-1===C){b=!1,f=r,v=r,w=y;continue}if(f=e,v=e,w=C,0===w)return{startLineNumber:f,endLineNumber:v,indent:w}}_&&(y>=w?f=r:_=!1),b&&(S>=w?v=g:b=!1)}else C=y}return{startLineNumber:f,endLineNumber:v,indent:w}}getLinesBracketGuides(e,t,n,i){var o;const s=[];for(let n=e;n<=t;n++)s.push([]);const r=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new nc(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let l;n&&r.length>0&&(l=null===(o=gh((e<=n.lineNumber&&n.lineNumber<=t?r:this.textModel.bracketPairs.getBracketPairsInRange(nc.fromPositions(n)).toArray()).filter((e=>nc.strictContainsPosition(e.range,n))),(e=>true)))||void 0===o?void 0:o.range);const a=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,d=new nw;for(const n of r){if(!n.closingBracketRange)continue;const o=l&&n.range.equalsRange(l);if(!o&&!i.includeInactive)continue;const r=d.getInlineClassName(n.nestingLevel,n.nestingLevelOfEqualBracketType,a)+(i.highlightActive&&o?" "+d.activeClassName:""),u=n.openingBracketRange.getStartPosition(),c=n.closingBracketRange.getStartPosition(),h=i.horizontalGuides===Qb.Enabled||i.horizontalGuides===Qb.EnabledForActive&&o;if(n.range.startLineNumber===n.range.endLineNumber){h&&s[n.range.startLineNumber-e].push(new Jb(-1,n.openingBracketRange.getEndPosition().column,r,new ew(!1,c.column),-1,-1));continue}const g=this.getVisibleColumnFromPosition(c),p=this.getVisibleColumnFromPosition(n.openingBracketRange.getStartPosition()),m=Math.min(p,g,n.minVisibleColumnIndentation+1);let f=!1;hi(this.textModel.getLineContent(n.closingBracketRange.startLineNumber))=e&&p>m&&s[u.lineNumber-e].push(new Jb(m,-1,r,new ew(!1,u.column),-1,-1)),c.lineNumber<=t&&g>m&&s[c.lineNumber-e].push(new Jb(m,-1,r,new ew(!f,c.column),-1,-1)))}for(const e of s)e.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return s}getVisibleColumnFromPosition(e){return dh.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");const i=this.textModel.getOptions(),o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(o&&o.offSide),r=new Array(t-e+1);let l=-2,a=-1,d=-2,u=-1;for(let o=e;o<=t;o++){const t=o-e,c=this._computeIndentLevel(o-1);if(c>=0)l=o-1,a=c,r[t]=Math.ceil(c/i.indentSize);else{if(-2===l){l=-1,a=-1;for(let e=o-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){l=e,a=t;break}}}if(-1!==d&&(-2===d||d=0){d=e,u=t;break}}}r[t]=this._getIndentLevelForWhitespaceLine(s,a,u)}}return r}_getIndentLevelForWhitespaceLine(e,t,n){const i=this.textModel.getOptions();return-1===t||-1===n?0:t0&&l>0)return;if(a>0&&d>0)return;const u=Math.abs(l-d),c=Math.abs(r-a);if(0===u)return o.spacesDiff=c,void(c>0&&0<=a-1&&a-10?o++:m>1&&s++,ow(r,l,c,p,u),u.looksLikeAlignment&&(!n||t!==u.spacesDiff))continue;const _=u.spacesDiff;_<=8&&d[_]++,r=c,l=p}let c=n;o!==s&&(c=o{const n=d[t];n>e&&(e=n,h=t)})),4===h&&d[4]>0&&d[2]>0&&d[2]>=d[4]/2&&(h=2)}return{insertSpaces:c,tabSize:h}}function rw(e){return(1&e.metadata)>>>0}function lw(e,t){e.metadata=254&e.metadata|t}function aw(e){return(2&e.metadata)>>>1==1}function dw(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function uw(e){return(4&e.metadata)>>>2==1}function cw(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function hw(e){return(64&e.metadata)>>>6==1}function gw(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function pw(e,t){e.metadata=231&e.metadata|t<<3}function mw(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class fw{constructor(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,lw(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,cw(this,!1),gw(this,!1),pw(this,1),mw(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,dw(this,!1)}reset(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i}setOptions(e){this.options=e;const t=this.options.className;cw(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),gw(this,null!==this.options.glyphMarginClassName),pw(this,this.options.stickiness),mw(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const _w=new fw(null,0,0);_w.parent=_w,_w.left=_w,_w.right=_w,lw(_w,0);class vw{constructor(){this.root=_w,this.requestNormalizeDelta=!1}intervalSearch(e,t,n,i,o,s){return this.root===_w?[]:function(e,t,n,i,o,s,r){let l=e.root,a=0,d=0,u=0,c=0;const h=[];let g=0;for(;l!==_w;)if(aw(l))dw(l.left,!1),dw(l.right,!1),l===l.parent.right&&(a-=l.parent.delta),l=l.parent;else{if(!aw(l.left)){if(d=a+l.maxEnd,dn)dw(l,!0);else{if(c=a+l.end,c>=t){l.setCachedOffsets(u,c,s);let e=!0;i&&l.ownerId&&l.ownerId!==i&&(e=!1),o&&uw(l)&&(e=!1),r&&!hw(l)&&(e=!1),e&&(h[g++]=l)}dw(l,!0),l.right===_w||aw(l.right)||(a+=l.delta,l=l.right)}}return dw(e.root,!1),h}(this,e,t,n,i,o,s)}search(e,t,n,i){return this.root===_w?[]:function(e,t,n,i,o){let s=e.root,r=0,l=0,a=0;const d=[];let u=0;for(;s!==_w;){if(aw(s)){dw(s.left,!1),dw(s.right,!1),s===s.parent.right&&(r-=s.parent.delta),s=s.parent;continue}if(s.left!==_w&&!aw(s.left)){s=s.left;continue}l=r+s.start,a=r+s.end,s.setCachedOffsets(l,a,i);let e=!0;t&&s.ownerId&&s.ownerId!==t&&(e=!1),n&&uw(s)&&(e=!1),o&&!hw(s)&&(e=!1),e&&(d[u++]=s),dw(s,!0),s.right===_w||aw(s.right)||(r+=s.delta,s=s.right)}return dw(e.root,!1),d}(this,e,t,n,i)}collectNodesFromOwner(e){return function(e,t){let n=e.root;const i=[];let o=0;for(;n!==_w;)aw(n)?(dw(n.left,!1),dw(n.right,!1),n=n.parent):n.left===_w||aw(n.left)?(n.ownerId===t&&(i[o++]=n),dw(n,!0),n.right===_w||aw(n.right)||(n=n.right)):n=n.left;return dw(e.root,!1),i}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const n=[];let i=0;for(;t!==_w;)aw(t)?(dw(t.left,!1),dw(t.right,!1),t=t.parent):t.left===_w||aw(t.left)?t.right===_w||aw(t.right)?(n[i++]=t,dw(t,!0)):t=t.right:t=t.left;return dw(e.root,!1),n}(this)}insert(e){Cw(this,e),this._normalizeDeltaIfNecessary()}delete(e){yw(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const n=e;let i=0;for(;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;const o=n.start+i,s=n.end+i;n.setCachedOffsets(o,s,t)}acceptReplace(e,t,n,i){const o=function(e,t,n){let i=e.root,o=0,s=0,r=0,l=0;const a=[];let d=0;for(;i!==_w;)if(aw(i))dw(i.left,!1),dw(i.right,!1),i===i.parent.right&&(o-=i.parent.delta),i=i.parent;else{if(!aw(i.left)){if(s=o+i.maxEnd,sn?dw(i,!0):(l=o+i.end,l>=t&&(i.setCachedOffsets(r,l,0),a[d++]=i),dw(i,!0),i.right===_w||aw(i.right)||(o+=i.delta,i=i.right))}return dw(e.root,!1),a}(this,e,e+t);for(let e=0,t=o.length;en?(o.start+=a,o.end+=a,o.delta+=a,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),dw(o,!0)):(dw(o,!0),o.right===_w||aw(o.right)||(s+=o.delta,o=o.right))}dw(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(let s=0,r=o.length;sn)&&1!==i&&(2===i||t)}function ww(e,t,n,i,o){const s=function(e){return(24&e.metadata)>>>3}(e),r=0===s||2===s,l=1===s||2===s,a=n-t,d=i,u=Math.min(a,d),c=e.start;let h=!1;const g=e.end;let p=!1;t<=c&&g<=n&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,h=!0,e.end=t,p=!0);{const e=o?1:a>0?2:0;!h&&bw(c,r,t,e)&&(h=!0),!p&&bw(g,l,t,e)&&(p=!0)}if(u>0&&!o){const e=a>d?2:0;!h&&bw(c,r,t+u,e)&&(h=!0),!p&&bw(g,l,t+u,e)&&(p=!0)}{const i=o?1:0;!h&&bw(c,r,n,i)&&(e.start=t+d,h=!0),!p&&bw(g,l,n,i)&&(e.end=t+d,p=!0)}const m=d-a;h||(e.start=Math.max(0,c+m)),p||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function Cw(e,t){if(e.root===_w)return t.parent=_w,t.left=_w,t.right=_w,lw(t,0),e.root=t,e.root;!function(e,t){let n=0,i=e.root;const o=t.start,s=t.end;for(;;)if(r=o,l=s,a=i.start+n,d=i.end+n,(r===a?l-d:r-a)<0){if(i.left===_w){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===_w){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}var r,l,a,d;t.parent=i,t.left=_w,t.right=_w,lw(t,1)}(e,t),Nw(t.parent);let n=t;for(;n!==e.root&&1===rw(n.parent);)if(n.parent===n.parent.parent.left){const t=n.parent.parent.right;1===rw(t)?(lw(n.parent,0),lw(t,0),lw(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&(n=n.parent,xw(e,n)),lw(n.parent,0),lw(n.parent.parent,1),kw(e,n.parent.parent))}else{const t=n.parent.parent.left;1===rw(t)?(lw(n.parent,0),lw(t,0),lw(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&(n=n.parent,kw(e,n)),lw(n.parent,0),lw(n.parent.parent,1),xw(e,n.parent.parent))}return lw(e.root,0),t}function yw(e,t){let n,i;if(t.left===_w?(n=t.right,i=t,n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===_w?(n=t.left,i=t):(i=function(e){for(;e.left!==_w;)e=e.left;return e}(t.right),n=i.right,n.start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,lw(n,0),t.detach(),Sw(),Dw(n),void(e.root.parent=_w);const o=1===rw(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,lw(i,rw(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==_w&&(i.left.parent=i),i.right!==_w&&(i.right.parent=i)),t.detach(),o)return Nw(n.parent),i!==t&&(Nw(i),Nw(i.parent)),void Sw();let s;for(Nw(n),Nw(n.parent),i!==t&&(Nw(i),Nw(i.parent));n!==e.root&&0===rw(n);)n===n.parent.left?(s=n.parent.right,1===rw(s)&&(lw(s,0),lw(n.parent,1),xw(e,n.parent),s=n.parent.right),0===rw(s.left)&&0===rw(s.right)?(lw(s,1),n=n.parent):(0===rw(s.right)&&(lw(s.left,0),lw(s,1),kw(e,s),s=n.parent.right),lw(s,rw(n.parent)),lw(n.parent,0),lw(s.right,0),xw(e,n.parent),n=e.root)):(s=n.parent.left,1===rw(s)&&(lw(s,0),lw(n.parent,1),kw(e,n.parent),s=n.parent.left),0===rw(s.left)&&0===rw(s.right)?(lw(s,1),n=n.parent):(0===rw(s.left)&&(lw(s.right,0),lw(s,1),xw(e,s),s=n.parent.left),lw(s,rw(n.parent)),lw(n.parent,0),lw(s.left,0),kw(e,n.parent),n=e.root));lw(n,0),Sw()}function Sw(){_w.parent=_w,_w.delta=0,_w.start=0,_w.end=0}function xw(e,t){const n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==_w&&(n.left.parent=t),n.parent=t.parent,t.parent===_w?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,Dw(t),Dw(n)}function kw(e,t){const n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==_w&&(n.right.parent=t),n.parent=t.parent,t.parent===_w?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,Dw(t),Dw(n)}function Lw(e){let t=e.end;if(e.left!==_w){const n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==_w){const n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function Dw(e){e.maxEnd=Lw(e)}function Nw(e){for(;e!==_w;){const t=Lw(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}class Ew{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==Iw)return Mw(this.right);let e=this;for(;e.parent!==Iw&&e.parent.left!==e;)e=e.parent;return e.parent===Iw?Iw:e.parent}prev(){if(this.left!==Iw)return Tw(this.left);let e=this;for(;e.parent!==Iw&&e.parent.right!==e;)e=e.parent;return e.parent===Iw?Iw:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const Iw=new Ew(null,0);function Mw(e){for(;e.left!==Iw;)e=e.left;return e}function Tw(e){for(;e.right!==Iw;)e=e.right;return e}function Aw(e){return e===Iw?0:e.size_left+e.piece.length+Aw(e.right)}function Rw(e){return e===Iw?0:e.lf_left+e.piece.lineFeedCnt+Rw(e.right)}function Pw(){Iw.parent=Iw}function Ow(e,t){const n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==Iw&&(n.left.parent=t),n.parent=t.parent,t.parent===Iw?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function Fw(e,t){const n=t.left;t.left=n.right,n.right!==Iw&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===Iw?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Bw(e,t){let n,i;if(t.left===Iw?(i=t,n=i.right):t.right===Iw?(i=t,n=i.left):(i=Mw(t.right),n=i.right),i===e.root)return e.root=n,n.color=0,t.detach(),Pw(),void(e.root.parent=Iw);const o=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,Hw(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,Hw(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==Iw&&(i.left.parent=i),i.right!==Iw&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,Hw(e,i)),t.detach(),n.parent.left===n){const t=Aw(n),i=Rw(n);if(t!==n.parent.size_left||i!==n.parent.lf_left){const o=t-n.parent.size_left,s=i-n.parent.lf_left;n.parent.size_left=t,n.parent.lf_left=i,Vw(e,n.parent,o,s)}}if(Hw(e,n.parent),o)return void Pw();let s;for(;n!==e.root&&0===n.color;)n===n.parent.left?(s=n.parent.right,1===s.color&&(s.color=0,n.parent.color=1,Ow(e,n.parent),s=n.parent.right),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.right.color&&(s.left.color=0,s.color=1,Fw(e,s),s=n.parent.right),s.color=n.parent.color,n.parent.color=0,s.right.color=0,Ow(e,n.parent),n=e.root)):(s=n.parent.left,1===s.color&&(s.color=0,n.parent.color=1,Fw(e,n.parent),s=n.parent.left),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.left.color&&(s.right.color=0,s.color=1,Ow(e,s),s=n.parent.left),s.color=n.parent.color,n.parent.color=0,s.left.color=0,Fw(e,n.parent),n=e.root));n.color=0,Pw()}function Ww(e,t){for(Hw(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const n=t.parent.parent.right;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&Ow(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Fw(e,t.parent.parent))}else{const n=t.parent.parent.left;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&Fw(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Ow(e,t.parent.parent))}e.root.color=0}function Vw(e,t,n,i){for(;t!==e.root&&t!==Iw;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function Hw(e,t){let n=0,i=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(n=Aw((t=t.parent).left)-t.size_left,i=Rw(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}function zw(e){return e<0?0:e>255?255:0|e}function Uw(e){return e<0?0:e>4294967295?4294967295:0|e}Iw.parent=Iw,Iw.left=Iw,Iw.right=Iw,Iw.color=0;class Kw{constructor(e){const t=zw(e);this._defaultValue=t,this._asciiMap=Kw._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const n=zw(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class jw{constructor(){this._actual=new Kw(0)}add(e){this._actual.set(e,1)}has(e){return 1===this._actual.get(e)}clear(){return this._actual.clear()}}class qw extends Kw{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let t=0,n=e.length;tt)break;n=i}return n}findNextIntlWordAtOrAfterOffset(e,t){for(const n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index=n)break;const i=e.charCodeAt(t);if(110===i||114===i||87===i)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=ui(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(e){return null}if(!t)return null;let n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new Lc(t,this.wordSeparators?Gw(this.wordSeparators,[]):null,n?this.searchString:null)}}function Yw(e,t,n){if(!n)return new xc(e,null);const i=[];for(let e=0,n=t.length;e=e?i=o-1:t[o+1]>=e?(n=o,i=o):n=o+1}return n+1}}class Qw{static findMatches(e,t,n,i,o){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,n,new eC(s.wordSeparators,s.regex),i,o):this._doFindMatchesLineByLine(e,n,s,i,o):[]}static _getMultilineMatchRange(e,t,n,i,o,s){let r,l,a=0;if(i?(a=i.findLineFeedCountBeforeOffset(o),r=t+o+a):r=t+o,i){const e=i.findLineFeedCountBeforeOffset(o+s.length)-a;l=r+s.length+e}else l=r+s.length;const d=e.getPositionAt(r),u=e.getPositionAt(l);return new nc(d.lineNumber,d.column,u.lineNumber,u.column)}static _doFindMatchesMultiline(e,t,n,i,o){const s=e.getOffsetAt(t.getStartPosition()),r=e.getValueInRange(t,1),l="\r\n"===e.getEOL()?new Xw(r):null,a=[];let d,u=0;for(n.reset(0);d=n.next(r);)if(a[u++]=Yw(this._getMultilineMatchRange(e,s,r,l,d.index,d[0]),d,i),u>=o)return a;return a}static _doFindMatchesLineByLine(e,t,n,i,o){const s=[];let r=0;if(t.startLineNumber===t.endLineNumber){const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return r=this._findMatchesInLine(n,l,t.startLineNumber,t.startColumn-1,r,s,i,o),s}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);r=this._findMatchesInLine(n,l,t.startLineNumber,t.startColumn-1,r,s,i,o);for(let l=t.startLineNumber+1;l=l))return o;return o}const d=new eC(e.wordSeparators,e.regex);let u;d.reset(0);do{if(u=d.next(t),u&&(s[o++]=Yw(new nc(n,u.index+1+i,n,u.index+1+u[0].length+i),u,r),o>=l))return o}while(u);return o}static findNextMatch(e,t,n,i){const o=t.parseSearchRequest();if(!o)return null;const s=new eC(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,n,s,i):this._doFindNextMatchLineByLine(e,n,s,i)}static _doFindNextMatchMultiline(e,t,n,i){const o=new cd(t.lineNumber,1),s=e.getOffsetAt(o),r=e.getLineCount(),l=e.getValueInRange(new nc(o.lineNumber,o.column,r,e.getLineMaxColumn(r)),1),a="\r\n"===e.getEOL()?new Xw(l):null;n.reset(t.column-1);const d=n.next(l);return d?Yw(this._getMultilineMatchRange(e,s,l,a,d.index,d[0]),d,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new cd(1,1),n,i):null}static _doFindNextMatchLineByLine(e,t,n,i){const o=e.getLineCount(),s=t.lineNumber,r=e.getLineContent(s),l=this._findFirstMatchInLine(n,r,s,t.column,i);if(l)return l;for(let t=1;t<=o;t++){const r=(s+t-1)%o,l=e.getLineContent(r+1),a=this._findFirstMatchInLine(n,l,r+1,1,i);if(a)return a}return null}static _findFirstMatchInLine(e,t,n,i,o){e.reset(i-1);const s=e.next(t);return s?Yw(new nc(n,s.index+1,n,s.index+1+s[0].length),s,o):null}static findPreviousMatch(e,t,n,i){const o=t.parseSearchRequest();if(!o)return null;const s=new eC(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,n,s,i):this._doFindPreviousMatchLineByLine(e,n,s,i)}static _doFindPreviousMatchMultiline(e,t,n,i){const o=this._doFindMatchesMultiline(e,new nc(1,1,t.lineNumber,t.column),n,i,9990);if(o.length>0)return o[o.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new cd(s,e.getLineMaxColumn(s)),n,i):null}static _doFindPreviousMatchLineByLine(e,t,n,i){const o=e.getLineCount(),s=t.lineNumber,r=e.getLineContent(s).substring(0,t.column-1),l=this._findLastMatchInLine(n,r,s,i);if(l)return l;for(let t=1;t<=o;t++){const r=(o+s-t-1)%o,l=e.getLineContent(r+1),a=this._findLastMatchInLine(n,l,r+1,i);if(a)return a}return null}static _findLastMatchInLine(e,t,n,i){let o,s=null;for(e.reset(0);o=e.next(t);)s=Yw(new nc(n,o.index+1,n,o.index+1+o[0].length),o,i);return s}}function Jw(e,t,n,i,o){return function(e,t,n,i,o){if(0===i)return!0;const s=t.charCodeAt(i-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(o>0){const n=t.charCodeAt(i);if(0!==e.get(n))return!0}return!1}(e,t,0,i,o)&&function(e,t,n,i,o){if(i+o===n)return!0;const s=t.charCodeAt(i+o);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(o>0){const n=t.charCodeAt(i+o-1);if(0!==e.get(n))return!0}return!1}(e,t,n,i,o)}class eC{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(n=this._searchRegex.exec(e),!n)return null;const i=n.index,o=n[0].length;if(i===this._prevMatchStartIndex&&o===this._prevMatchLength){if(0===o){Ei(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=o,!this._wordSeparators||Jw(this._wordSeparators,e,t,i,o))return n}while(n);return null}}const tC=65535;function nC(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class iC{constructor(e,t,n,i,o){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=o}}function oC(e,t=!0){const n=[0];let i=1;for(let t=0,o=e.length;t(e!==Iw&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class aC{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber=e)return n}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const n=this._cache;for(let i=0;i=e)&&(n[i]=null,t=!0)}if(t){const e=[];for(const t of n)null!==t&&e.push(t);this._cache=e}}}class dC{constructor(e,t,n){this.create(e,t,n)}create(e,t,n){this._buffers=[new rC("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=Iw,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;let i=null;for(let t=0,n=e.length;t0){e[t].lineStarts||(e[t].lineStarts=oC(e[t].buffer));const n=new sC(t+1,{line:0,column:0},{line:e[t].lineStarts.length-1,column:e[t].buffer.length-e[t].lineStarts[e[t].lineStarts.length-1]},e[t].lineStarts.length-1,e[t].buffer.length);this._buffers.push(e[t]),i=this.rbInsertRight(i,n)}this._searchCache=new aC(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=65535-Math.floor(21845),n=2*t;let i="",o=0;const s=[];if(this.iterate(this.root,(r=>{const l=this.getNodeContent(r),a=l.length;if(o<=t||o+a0){const t=i.replace(/\r\n|\r|\n/g,e);s.push(new rC(t,oC(t)))}this.create(s,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new lC(this,e)}getOffsetAt(e,t){let n=0,i=this.root;for(;i!==Iw;)if(i.left!==Iw&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return n+=i.size_left,n+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,n=0;const i=e;for(;t!==Iw;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const o=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+o.index,0===o.index){const e=this.getOffsetAt(n+1,1);return new cd(n+1,i-e+1)}return new cd(n+1,o.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===Iw){const t=this.getOffsetAt(n+1,1);return new cd(n+1,i-e-t+1)}t=t.right}return new cd(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o}getValueInRange2(e,t){if(e.node===t.node){const n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,o=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(o+e.remainder,o+t.remainder)}let n=e.node;const i=this._buffers[n.piece.bufferIndex].buffer,o=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);let s=i.substring(o+e.remainder,o+n.piece.length);for(n=n.next();n!==Iw;){const e=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===t.node){s+=e.substring(i,i+t.remainder);break}s+=e.substr(i,n.piece.length),n=n.next()}return s}getLinesContent(){const e=[];let t=0,n="",i=!1;return this.iterate(this.root,(o=>{if(o===Iw)return!0;const s=o.piece;let r=s.length;if(0===r)return!0;const l=this._buffers[s.bufferIndex].buffer,a=this._buffers[s.bufferIndex].lineStarts,d=s.start.line,u=s.end.line;let c=a[d]+s.start.column;if(i&&(10===l.charCodeAt(c)&&(c++,r--),e[t++]=n,n="",i=!1,0===r))return!0;if(d===u)return this._EOLNormalized||13!==l.charCodeAt(c+r-1)?n+=l.substr(c,r):(i=!0,n+=l.substr(c,r-1)),!0;n+=this._EOLNormalized?l.substring(c,Math.max(c,a[d+1]-this._EOLLength)):l.substring(c,a[d+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;for(let i=d+1;ie+g,t.reset(0)):(_=c.buffer,v=e=>e,t.reset(g));do{if(m=t.next(_),m){if(v(m.index)>=p)return d;this.positionInBuffer(e,v(m.index)-h,f);const t=this.getLineFeedCnt(e.piece.bufferIndex,o,f),s=f.line===o.line?f.column-o.column+i:f.column+1,r=s+m[0].length;if(u[d++]=Yw(new nc(n+t,s,n+t,r),m,l),v(m.index)+m[0].length>=p)return d;if(d>=a)return d}}while(m);return d}findMatchesLineByLine(e,t,n,i){const o=[];let s=0;const r=new eC(t.wordSeparators,t.regex);let l=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===l)return[];const a=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===a)return[];let d=this.positionInBuffer(l.node,l.remainder);const u=this.positionInBuffer(a.node,a.remainder);if(l.node===a.node)return this.findMatchesInNode(l.node,r,e.startLineNumber,e.startColumn,d,u,t,n,i,s,o),o;let c=e.startLineNumber,h=l.node;for(;h!==a.node;){const a=this.getLineFeedCnt(h.piece.bufferIndex,d,h.piece.end);if(a>=1){const l=this._buffers[h.piece.bufferIndex].lineStarts,u=this.offsetInBuffer(h.piece.bufferIndex,h.piece.start),g=l[d.line+a],p=c===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(h,r,c,p,d,this.positionInBuffer(h,g-u),t,n,i,s,o),s>=i)return o;c+=a}const u=c===e.startLineNumber?e.startColumn-1:0;if(c===e.endLineNumber){const l=this.getLineContent(c).substring(u,e.endColumn-1);return s=this._findMatchesInLine(t,r,l,e.endLineNumber,u,s,o,n,i),o}if(s=this._findMatchesInLine(t,r,this.getLineContent(c).substr(u),c,u,s,o,n,i),s>=i)return o;c++,l=this.nodeAt2(c,1),h=l.node,d=this.positionInBuffer(l.node,l.remainder)}if(c===e.endLineNumber){const l=c===e.startLineNumber?e.startColumn-1:0,a=this.getLineContent(c).substring(l,e.endColumn-1);return s=this._findMatchesInLine(t,r,a,e.endLineNumber,l,s,o,n,i),o}const g=c===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(a.node,r,c,g,d,u,t,n,i,s,o),o}_findMatchesInLine(e,t,n,i,o,s,r,l,a){const d=e.wordSeparators;if(!l&&e.simpleSearch){const t=e.simpleSearch,l=t.length,u=n.length;let c=-l;for(;-1!==(c=n.indexOf(t,c+l));)if((!d||Jw(d,n,u,c,l))&&(r[s++]=new xc(new nc(i,c+1+o,i,c+1+l+o),null),s>=a))return s;return s}let u;t.reset(0);do{if(u=t.next(n),u&&(r[s++]=Yw(new nc(i,u.index+1+o,i,u.index+1+u[0].length+o),u,l),s>=a))return s}while(u);return s}insert(e,t,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==Iw){const{node:n,remainder:i,nodeStartOffset:o}=this.nodeAt(e),s=n.piece,r=s.bufferIndex,l=this.positionInBuffer(n,i);if(0===n.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&o+s.length===e&&t.lengthe){const e=[];let o=new sC(s.bufferIndex,l,s.end,this.getLineFeedCnt(s.bufferIndex,l,s.end),this.offsetInBuffer(r,s.end)-this.offsetInBuffer(r,l));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&10===this.nodeCharCodeAt(n,i)){const e={line:o.start.line+1,column:0};o=new sC(o.bufferIndex,e,o.end,this.getLineFeedCnt(o.bufferIndex,e,o.end),o.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(n,i-1)){const o=this.positionInBuffer(n,i-1);this.deleteNodeTail(n,o),t="\r"+t,0===n.piece.length&&e.push(n)}else this.deleteNodeTail(n,l);else this.deleteNodeTail(n,l);const a=this.createNewPieces(t);o.length>0&&this.rbInsertRight(n,o);let d=n;for(let e=0;e=0;e--)o=this.rbInsertLeft(o,i[e]);this.validateCRLFWithPrevNode(o),this.deleteNodes(n)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]);let o=i;for(let e=1;e=u))break;l=d+1}return n?(n.line=d,n.column=r-c,null):{line:d,column:r-c}}getLineFeedCnt(e,t,n){if(0===n.column)return n.line-t.line;const i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;const o=i[n.line+1],s=i[n.line]+n.column;if(o>s+1)return n.line-t.line;const r=s-1;return 13===this._buffers[e].buffer.charCodeAt(r)?n.line-t.line+1:n.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;ttC){const t=[];for(;e.length>tC;){const n=e.charCodeAt(65534);let i;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,tC),e=e.substring(tC));const o=oC(i);t.push(new sC(this._buffers.length,{line:0,column:0},{line:o.length-1,column:i.length-o[o.length-1]},o.length-1,i.length)),this._buffers.push(new rC(i,o))}const n=oC(e);return t.push(new sC(this._buffers.length,{line:0,column:0},{line:n.length-1,column:e.length-n[n.length-1]},n.length-1,e.length)),this._buffers.push(new rC(e,n)),t}let t=this._buffers[0].buffer.length;const n=oC(e,!1);let i=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},i=this._lastChangeBufferPos;for(let e=0;e=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2),r=this.getAccumulatedValue(n,e-n.lf_left-1),l=this._buffers[n.piece.bufferIndex].buffer,a=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return o+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:o,nodeStartLineNumber:s-(e-1-n.lf_left)}),l.substring(a+i,a+r-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(n,e-n.lf_left-2),o=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=o.substring(s+t,s+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,o+=n.size_left+n.piece.length,n=n.right}}for(n=n.next();n!==Iw;){const e=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){const o=this.getAccumulatedValue(n,0),s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=e.substring(s,s+o-t),i}{const t=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=e.substr(t,n.piece.length)}n=n.next()}return i}computeBufferMetadata(){let e=this.root,t=1,n=0;for(;e!==Iw;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.validate(this._length)}getIndexOf(e,t){const n=e.piece,i=this.positionInBuffer(e,t),o=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(t!==o)return{index:t,remainder:0}}return{index:o,remainder:i.column}}getAccumulatedValue(e,t){if(t<0)return 0;const n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,o=n.start.line+t+1;return o>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[o]-i[n.start.line]-n.start.column}deleteNodeTail(e,t){const n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.end),s=t,r=this.offsetInBuffer(n.bufferIndex,s),l=this.getLineFeedCnt(n.bufferIndex,n.start,s),a=l-i,d=r-o,u=n.length+d;e.piece=new sC(n.bufferIndex,n.start,s,l,u),Vw(this,e,d,a)}deleteNodeHead(e,t){const n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.start),s=t,r=this.getLineFeedCnt(n.bufferIndex,s,n.end),l=r-i,a=o-this.offsetInBuffer(n.bufferIndex,s),d=n.length+a;e.piece=new sC(n.bufferIndex,s,n.end,r,d),Vw(this,e,a,l)}shrinkNode(e,t,n){const i=e.piece,o=i.start,s=i.end,r=i.length,l=i.lineFeedCnt,a=t,d=this.getLineFeedCnt(i.bufferIndex,i.start,a),u=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,o);e.piece=new sC(i.bufferIndex,i.start,a,d,u),Vw(this,e,u-r,d-l);const c=new sC(i.bufferIndex,n,s,this.getLineFeedCnt(i.bufferIndex,n,s),this.offsetInBuffer(i.bufferIndex,s)-this.offsetInBuffer(i.bufferIndex,n)),h=this.rbInsertRight(e,c);this.validateCRLFWithPrevNode(h)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const o=oC(t,!1);for(let e=0;ee)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;const n={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(n),n}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let n=this.root,i=0;for(;n!==Iw;)if(n.left!==Iw&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const o=this.getAccumulatedValue(n,e-n.lf_left-2),s=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(o+t-1,s),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){const o=this.getAccumulatedValue(n,e-n.lf_left-2);if(o+t-1<=n.piece.length)return{node:n,remainder:o+t-1,nodeStartOffset:i};t-=n.piece.length-o;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==Iw;){if(n.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(n,0),i=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,e),nodeStartOffset:i}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===Iw||0===e.piece.lineFeedCnt)return!1;const t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,o=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>o+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(o))}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==Iw&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const n=[],i=this._buffers[e.piece.bufferIndex].lineStarts;let o;o=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,r=e.piece.lineFeedCnt-1;e.piece=new sC(e.piece.bufferIndex,e.piece.start,o,r,s),Vw(this,e,-1,-1),0===e.piece.length&&n.push(e);const l={line:t.piece.start.line+1,column:0},a=t.piece.length-1,d=this.getLineFeedCnt(t.piece.bufferIndex,l,t.piece.end);t.piece=new sC(t.piece.bufferIndex,l,t.piece.end,d,a),Vw(this,t,-1,-1),0===t.piece.length&&n.push(t);const u=this.createNewPieces("\r\n");this.rbInsertRight(e,u[0]);for(let e=0;ee.sortIndex-t.sortIndex))}this._mightContainRTL=i,this._mightContainUnusualLineTerminators=o,this._mightContainNonBasicASCII=s;const h=this._doApplyEdits(l);let g=null;if(t&&u.length>0){u.sort(((e,t)=>t.lineNumber-e.lineNumber)),g=[];for(let e=0,t=u.length;e0&&u[e-1].lineNumber===t)continue;const n=u[e].oldContent,i=this.getLineContent(t);0!==i.length&&i!==n&&-1===hi(i)&&g.push(t)}}return this._onDidChangeContent.fire(),new Dc(c,h,g)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const n=e[0].range,i=e[e.length-1].range,o=new nc(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn);let s=n.startLineNumber,r=n.startColumn;const l=[];for(let n=0,i=e.length;n0&&l.push(i.text),s=o.endLineNumber,r=o.endColumn}const a=l.join(""),[d,u,c]=ah(a);return{sortIndex:0,identifier:e[0].identifier,range:o,rangeOffset:this.getOffsetAt(o.startLineNumber,o.startColumn),rangeLength:this.getValueLengthInRange(o,0),text:a,eolCount:d,firstLineLength:u,lastLineLength:c,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(uC._sortOpsDescending);const t=[];for(let n=0;n0){const e=r.eolCount+1;d=1===e?new nc(l,a,l,a+r.firstLineLength):new nc(l,a,l+e-1,r.lastLineLength+1)}else d=new nc(l,a,l,a);n=d.endLineNumber,i=d.endColumn,t.push(d),o=r}return t}static _sortOpsAscending(e,t){const n=nc.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n}static _sortOpsDescending(e,t){const n=nc.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n}}class cC{constructor(e,t,n,i,o,s,r,l,a){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=o,this._containsRTL=s,this._containsUnusualLineTerminators=r,this._isBasicASCII=l,this._normalizeEOL=a}_getEOL(e){const t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let e=0,i=n.length;e=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let n=1,i=0,o=0,s=0,r=!0;for(let l=0,a=t.length;l126)&&(r=!1)}const l=new iC(nC(e),i,o,s,r);return e.length=0,l}(this._tmpLineStarts,e);this.chunks.push(new rC(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=Pi(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=Wi(e)))}finish(e=!0){return this._finish(),new cC(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=oC(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}class gC extends lt{get isResolved(){return this._isResolved}constructor(e,t,n){super(),this._registry=e,this._languageId=t,this._factory=n,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}class pC{constructor(e,t,n){this.offset=e,this.type=t,this.language=n,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class mC{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class fC{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var _C,vC,bC,wC,CC;!function(e){const t=new Map;t.set(0,Sa.symbolMethod),t.set(1,Sa.symbolFunction),t.set(2,Sa.symbolConstructor),t.set(3,Sa.symbolField),t.set(4,Sa.symbolVariable),t.set(5,Sa.symbolClass),t.set(6,Sa.symbolStruct),t.set(7,Sa.symbolInterface),t.set(8,Sa.symbolModule),t.set(9,Sa.symbolProperty),t.set(10,Sa.symbolEvent),t.set(11,Sa.symbolOperator),t.set(12,Sa.symbolUnit),t.set(13,Sa.symbolValue),t.set(15,Sa.symbolEnum),t.set(14,Sa.symbolConstant),t.set(15,Sa.symbolEnum),t.set(16,Sa.symbolEnumMember),t.set(17,Sa.symbolKeyword),t.set(27,Sa.symbolSnippet),t.set(18,Sa.symbolText),t.set(19,Sa.symbolColor),t.set(20,Sa.symbolFile),t.set(21,Sa.symbolReference),t.set(22,Sa.symbolCustomColor),t.set(23,Sa.symbolFolder),t.set(24,Sa.symbolTypeParameter),t.set(25,Sa.account),t.set(26,Sa.issues),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for CompletionItemKind "+e),n=Sa.symbolProperty),n};const n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",27),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),e.fromString=function(e,t){let i=n.get(e);return void 0!==i||t||(i=9),i}}(_C||(_C={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(vC||(vC={}));class yC{constructor(e,t,n,i){this.range=e,this.text=t,this.completionKind=n,this.isSnippetText=i}equals(e){return nc.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}!function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(bC||(bC={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(wC||(wC={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(CC||(CC={}));const SC={17:_(0,"array"),16:_(0,"boolean"),4:_(0,"class"),13:_(0,"constant"),8:_(0,"constructor"),9:_(0,"enumeration"),21:_(0,"enumeration member"),23:_(0,"event"),7:_(0,"field"),0:_(0,"file"),11:_(0,"function"),10:_(0,"interface"),19:_(0,"key"),5:_(0,"method"),1:_(0,"module"),2:_(0,"namespace"),20:_(0,"null"),15:_(0,"number"),18:_(0,"object"),24:_(0,"operator"),3:_(0,"package"),6:_(0,"property"),14:_(0,"string"),22:_(0,"struct"),25:_(0,"type parameter"),12:_(0,"variable")};var xC,kC,LC,DC;!function(e){const t=new Map;t.set(0,Sa.symbolFile),t.set(1,Sa.symbolModule),t.set(2,Sa.symbolNamespace),t.set(3,Sa.symbolPackage),t.set(4,Sa.symbolClass),t.set(5,Sa.symbolMethod),t.set(6,Sa.symbolProperty),t.set(7,Sa.symbolField),t.set(8,Sa.symbolConstructor),t.set(9,Sa.symbolEnum),t.set(10,Sa.symbolInterface),t.set(11,Sa.symbolFunction),t.set(12,Sa.symbolVariable),t.set(13,Sa.symbolConstant),t.set(14,Sa.symbolString),t.set(15,Sa.symbolNumber),t.set(16,Sa.symbolBoolean),t.set(17,Sa.symbolArray),t.set(18,Sa.symbolObject),t.set(19,Sa.symbolKey),t.set(20,Sa.symbolNull),t.set(21,Sa.symbolEnumMember),t.set(22,Sa.symbolStruct),t.set(23,Sa.symbolEvent),t.set(24,Sa.symbolOperator),t.set(25,Sa.symbolTypeParameter),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for SymbolKind "+e),n=Sa.symbolProperty),n}}(xC||(xC={}));class NC{static fromValue(e){switch(e){case"comment":return NC.Comment;case"imports":return NC.Imports;case"region":return NC.Region}return new NC(e)}constructor(e){this.value=e}}NC.Comment=new NC("comment"),NC.Imports=new NC("imports"),NC.Region=new NC("region"),function(e){e[e.AIGenerated=1]="AIGenerated"}(kC||(kC={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&"string"==typeof e.id&&"string"==typeof e.title}}(LC||(LC={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(DC||(DC={}));class EC{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then((e=>{e&&e.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const IC=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),st((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var n;null===(n=this._factories.get(e))||void 0===n||n.dispose();const i=new gC(this,e,t);return this._factories.set(e,i),st((()=>{const t=this._factories.get(e);t&&t===i&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const n=this._factories.get(e);return!n||n.isResolved?null:(await n.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};var MC;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(MC||(MC={}));const TC=new class{clone(){return this}equals(e){return this===e}};function AC(e,t){return new mC([new pC(0,"",e)],t)}function RC(e,t){const n=new Uint32Array(2);return n[0]=0,n[1]=(32768|e|2<<24)>>>0,new fC(n,null===t?TC:t)}class PC{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,n){if(e>=this._store.length)return;if(0===t)return void this.insert(e,n);if(0===n)return void this.delete(e,t);const i=this._store.slice(0,e),o=this._store.slice(e+t),s=function(e,t){const n=[];for(let i=0;i=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const n=[];for(let e=0;e0){const n=this._tokens[this._tokens.length-1];if(n.endLineNumber+1===e)return void n.appendLineTokens(t)}this._tokens.push(new OC(e,[t]))}finalize(){return this._tokens}}class BC{static createEmpty(e,t){const n=BC.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=e.length,i[1]=n,new BC(i,e,t)}constructor(e,t,n){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=n}equals(e){return e instanceof BC&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const i=t<<1,o=i+(n<<1);for(let t=i;t0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],n=$p.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return $p.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return $p.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return $p.getClassNameFromMetadata(t)}getInlineStyle(e,t){const n=this._tokens[1+(e<<1)];return $p.getInlineStyleFromMetadata(n,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return $p.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return BC.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,n){return new WC(this,e,t,n)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let t=0;t>>1)-1;for(;nt&&(i=o)}return n}withInserted(e){if(0===e.length)return this;let t=0,n=0,i="";const o=new Array;let s=0;for(;;){const r=ts){i+=this._text.substring(s,l.offset);const e=this._tokens[1+(t<<1)];o.push(i.length,e),s=l.offset}i+=l.text,o.push(i.length,l.tokenMetadata),n++}}return new BC(new Uint32Array(o),i,this._languageIdCodec)}}BC.defaultTokenMetadata=33587200;class WC{constructor(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(let t=this._firstTokenIndex,i=e.getCount();t=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof WC&&this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class VC{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new zC(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class HC extends VC{constructor(e,t,n,i){super(e,t),this._textModel=n,this._languageIdCodec=i}updateTokensUntilLine(e,t){const n=this._textModel.getLanguageId();for(;;){const i=this.getFirstInvalidLine();if(!i||i.lineNumber>t)break;const o=this._textModel.getLineContent(i.lineNumber),s=jC(this._languageIdCodec,n,this.tokenizationSupport,o,!0,i.startState);e.add(i.lineNumber,s.tokens),this.store.setEndState(i.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const n=this.getStartState(e.lineNumber);if(!n)return 0;const i=this._textModel.getLanguageId(),o=this._textModel.getLineContent(e.lineNumber),s=o.substring(0,e.column-1)+t+o.substring(e.column-1),r=jC(this._languageIdCodec,i,this.tokenizationSupport,s,!0,n),l=new BC(r.tokens,s,this._languageIdCodec);if(0===l.getCount())return 0;const a=l.findTokenIndexAtOffset(e.column-1);return l.getStandardTokenType(a)}tokenizeLineWithEdit(e,t,n){const i=e.lineNumber,o=e.column,s=this.getStartState(i);if(!s)return null;const r=this._textModel.getLineContent(i),l=r.substring(0,o-1)+n+r.substring(o-1+t),a=this._textModel.getLanguageIdAtPosition(i,0),d=jC(this._languageIdCodec,a,this.tokenizationSupport,l,!0,s);return new BC(d.tokens,l,this._languageIdCodec)}hasAccurateTokensForLine(e){return e1&&o>=1;o--){const e=this._textModel.getLineFirstNonWhitespaceColumn(o);if(0!==e&&e0&&n>0&&(n--,t--),this._lineEndStates.replace(e.startLineNumber,n,t)}}class KC{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const n=this._ranges[t];n.start===e?n.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new ch(e+1,n.endExclusive):n.endExclusive===e+1?this._ranges[t]=new ch(n.start,e):this._ranges.splice(t,1,new ch(n.start,e),new ch(e+1,n.endExclusive))}}addRange(e){ch.addRange(e,this._ranges)}addRangeAndResize(e,t){let n=0;for(;!(n>=this._ranges.length||e.start<=this._ranges[n].endExclusive);)n++;let i=n;for(;!(i>=this._ranges.length||e.endExclusivee.toString())).join(" + ")}}function jC(e,t,n,i,o,s){let r=null;if(n)try{r=n.tokenizeEncoded(i,o,s.clone())}catch(e){xe(e)}return r||(r=RC(e.encodeLanguageId(t),s)),BC.convertToEndOffset(r.tokens,i.length),r}class qC{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,qt((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),n=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){var t;const n=null===(t=this._tokenizerWithStateStore)||void 0===t?void 0:t.getFirstInvalidLine();return n?(this._tokenizerWithStateStore.updateTokensUntilLine(e,n.lineNumber),n.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new wh(e,t))}}const $C=new Uint32Array(0).buffer;class GC{static deleteBeginning(e,t){return null===e||e===$C?e:GC.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===$C)return e;const n=ZC(e),i=n[n.length-2];return GC.delete(e,t,i)}static delete(e,t,n){if(null===e||e===$C||t===n)return e;const i=ZC(e),o=i.length>>>1;if(0===t&&i[i.length-2]===n)return $C;const s=BC.findIndexInTokensArray(i,t),r=s>0?i[s-1<<1]:0;if(na&&(i[l++]=t,i[l++]=i[1+(e<<1)],a=t)}if(l===i.length)return e;const u=new Uint32Array(l);return u.set(i.subarray(0,l),0),u.buffer}static append(e,t){if(t===$C)return e;if(e===$C)return t;if(null===e)return e;if(null===t)return null;const n=ZC(e),i=ZC(t),o=i.length>>>1,s=new Uint32Array(n.length+i.length);s.set(n,0);let r=n.length;const l=n[n.length-2];for(let e=0;e>>1;let s=BC.findIndexInTokensArray(i,t);s>0&&i[s-1<<1]===t&&s--;for(let e=s;e0}getTokens(e,t,n){let i=null;if(t1&&(t=$p.getLanguageId(i[1])!==e),!t)return $C}if(!i||0===i.length){const n=new Uint32Array(2);return n[0]=t,n[1]=XC(e),n.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const n=[];for(let e=0;e=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=GC.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=GC.deleteEnding(this._lineTokens[t],e.startColumn-1);const n=e.endLineNumber-1;let i=null;n=this._len||(0!==t?(this._lineTokens[i]=GC.deleteEnding(this._lineTokens[i],e.column-1),this._lineTokens[i]=GC.insert(this._lineTokens[i],e.column-1,n),this._insertLines(e.lineNumber,t)):this._lineTokens[i]=GC.insert(this._lineTokens[i],e.column-1,n))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const n=[];for(let i=0,o=e.length;i>>0}class QC{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let n=e;if(t.length>0){const i=t[0].getRange(),o=t[t.length-1].getRange();if(!i||!o)return e;n=e.plusRange(i).plusRange(o)}let i=null;for(let e=0,t=this._pieces.length;en.endLineNumber){i=i||{index:e};break}if(o.removeTokens(n),o.isEmpty()){this._pieces.splice(e,1),e--,t--;continue}if(o.endLineNumbern.endLineNumber){i=i||{index:e};continue}const[s,r]=o.split(n);s.isEmpty()?i=i||{index:e}:r.isEmpty()||(this._pieces.splice(e,1,s,r),e++,t++,i=i||{index:e})}return i=i||{index:this._pieces.length},t.length>0&&(this._pieces=Uc(this._pieces,i.index,t)),n}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const n=this._pieces;if(0===n.length)return t;const i=n[QC._findFirstPieceWithLine(n,e)].getLineTokens(e);if(!i)return t;const o=t.getCount(),s=i.getCount();let r=0;const l=[];let a=0,d=0;const u=(e,t)=>{e!==d&&(d=e,l[a++]=e,l[a++]=t)};for(let e=0;e>>0,d=~a>>>0;for(;rt)){for(;o>n&&e[o-1].startLineNumber<=t&&t<=e[o-1].endLineNumber;)o--;return o}i=o-1}}return n}acceptEdit(e,t,n,i,o){for(const s of this._pieces)s.acceptEdit(e,t,n,i,o)}}class JC extends Yb{constructor(e,t,n,i,o,s){super(),this._languageService=e,this._languageConfigurationService=t,this._textModel=n,this._bracketPairsTextModelPart=i,this._languageId=o,this._attachedViews=s,this._semanticTokens=new QC(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new Ct),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new Ct),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new Ct),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new ey(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews)),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(this.grammarTokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})))}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,n,i]=ah(t.text);this._semanticTokens.acceptEdit(t.range,e,n,i,t.text.length>0?t.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(e)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this.grammarTokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new Re("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this.grammarTokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this.grammarTokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this.grammarTokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this.grammarTokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,n){return this.grammarTokens.getTokenTypeIfInsertingCharacter(e,t,n)}tokenizeLineWithEdit(e,t,n){return this.grammarTokens.tokenizeLineWithEdit(e,t,n)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const n=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:n.startLineNumber,toLineNumber:n.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),n=this._textModel.getLineContent(t.lineNumber),i=this.getLineTokens(t.lineNumber),o=i.findTokenIndexAtOffset(t.column-1),[s,r]=JC._findLanguageBoundaries(i,o),l=Nh(t.column,this.getLanguageConfiguration(i.getLanguageId(o)).getWordDefinition(),n.substring(s,r),s);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l;if(o>0&&s===t.column-1){const[s,r]=JC._findLanguageBoundaries(i,o-1),l=Nh(t.column,this.getLanguageConfiguration(i.getLanguageId(o-1)).getWordDefinition(),n.substring(s,r),s);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const n=e.getLanguageId(t);let i=0;for(let o=t;o>=0&&e.getLanguageId(o)===n;o--)i=e.getStartOffset(o);let o=e.getLineContent().length;for(let i=t,s=e.getCount();i{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(i.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let n=this._attachedViewStates.get(e);n||(n=new ty((()=>this.refreshRanges(n.lineRanges))),this._attachedViewStates.set(e,n)),n.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){var t;this._tokens.flush(),null===(t=this._debugBackgroundTokens)||void 0===t||t.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new zC(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[n,i]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=IC.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(e){return xe(e),[null,null]}return[e,t]})();if(this._tokenizer=n&&i?new HC(this._textModel.getLineCount(),n,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(e,t)=>{var n;if(!this._tokenizer)return;const i=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==i&&e>=i&&(null===(n=this._tokenizer)||void 0===n||n.store.setEndState(e,t))}};n&&n.createBackgroundTokenizer&&!n.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=n.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new qC(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),(null==n?void 0:n.backgroundTokenizerShouldOnlyVerifyTokens)&&n.createBackgroundTokenizer?(this._debugBackgroundTokens=new YC(this._languageIdCodec),this._debugBackgroundStates=new zC(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=n.createBackgroundTokenizer(this._textModel,{setTokens:e=>{var t;null===(t=this._debugBackgroundTokens)||void 0===t||t.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{var n;null===(n=this._debugBackgroundStates)||void 0===n||n.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var e;null===(e=this._defaultBackgroundTokenizer)||void 0===e||e.handleChanges()}handleDidChangeContent(e){var t,n,i;if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const n of e.changes){const[e,i]=ah(n.text);this._tokens.acceptEdit(n.range,e,i),null===(t=this._debugBackgroundTokens)||void 0===t||t.acceptEdit(n.range,e,i)}null===(n=this._debugBackgroundStates)||void 0===n||n.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),null===(i=this._defaultBackgroundTokenizer)||void 0===i||i.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=wh.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){var n,i;if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const o=new FC,{heuristicTokens:s}=this._tokenizer.tokenizeHeuristically(o,e,t),r=this.setTokens(o.finalize());if(s)for(const e of r.changes)null===(n=this._backgroundTokenizer.value)||void 0===n||n.requestTokens(e.fromLineNumber,e.toLineNumber+1);null===(i=this._defaultBackgroundTokenizer)||void 0===i||i.checkFinished()}forceTokenization(e){var t,n;const i=new FC;null===(t=this._tokenizer)||void 0===t||t.updateTokensUntilLine(i,e),this.setTokens(i.finalize()),null===(n=this._defaultBackgroundTokenizer)||void 0===n||n.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}getLineTokens(e){var t;const n=this._textModel.getLineContent(e),i=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,n);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const o=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,n);!i.equals(o)&&(null===(t=this._debugBackgroundTokenizer.value)||void 0===t?void 0:t.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return i}getTokenTypeIfInsertingCharacter(e,t,n){if(!this._tokenizer)return 0;const i=this._textModel.validatePosition(new cd(e,t));return this.forceTokenization(i.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(i,n)}tokenizeLineWithEdit(e,t,n){if(!this._tokenizer)return null;const i=this._textModel.validatePosition(e);return this.forceTokenization(i.lineNumber),this._tokenizer.tokenizeLineWithEdit(i,t,n)}get hasTokens(){return this._tokens.hasTokens}}class ty extends lt{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new jt((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){Ic(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class ny{constructor(){this.changeType=1}}class iy{static applyInjectedText(e,t){if(!t||0===t.length)return e;let n="",i=0;for(const o of t)n+=e.substring(i,o.column-1),i=o.column-1,n+=o.options.content;return n+=e.substring(i),n}static fromDecorations(e){const t=[];for(const n of e)n.options.before&&n.options.before.content.length>0&&t.push(new iy(n.ownerId,n.range.startLineNumber,n.range.startColumn,n.options.before,0)),n.options.after&&n.options.after.content.length>0&&t.push(new iy(n.ownerId,n.range.endLineNumber,n.range.endColumn,n.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,n,i,o){this.ownerId=e,this.lineNumber=t,this.column=n,this.options=i,this.order=o}}class oy{constructor(e,t,n){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=n}}class sy{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class ry{constructor(e,t,n,i){this.changeType=4,this.injectedTexts=i,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}class ly{constructor(){this.changeType=5}}class ay{constructor(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i,this.resultingSelection=null}containsEvent(e){for(let t=0,n=this.changes.length;t0&&(e[t++]=i,n+=i.length),n>=65536)return e.join("")}}}const wy=()=>{throw new Error("Invalid change accessor")};let Cy=my=class extends lt{static resolveOptions(e,t){if(t.detectIndentation){const n=sw(e,t.tabSize,t.insertSpaces);return new Sc({tabSize:n.tabSize,indentSize:"tabSize",insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new Sc(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return ot(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,n,i=null,o,s,r){super(),this._undoRedoService=o,this._languageService=s,this._languageConfigurationService=r,this._onWillDispose=this._register(new Ct),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new Ry((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new Ct),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new Ct),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new Ct),this._eventEmitter=this._register(new Py),this._languageSelectionListener=this._register(new at),this._deltaDecorationCallCnt=0,this._attachedViews=new Oy,vy++,this.id="$model"+vy,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==i?Io.parse("inmemory://model/"+vy):i,this._attachedEditorCount=0;const{textBuffer:l,disposable:a}=_y(e,n.defaultEOL);this._buffer=l,this._bufferDisposable=a,this._options=my.resolveOptions(this._buffer,n);const d="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new _m(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new tw(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Bb(this)),this._tokenizationTextModelPart=new JC(this._languageService,this._languageConfigurationService,this,this._bracketPairs,d,this._attachedViews);const u=this._buffer.getLineCount(),c=this._buffer.getValueLengthInRange(new nc(1,1,u,this._buffer.getLineLength(u)+1),0);n.largeFileOptimizations?(this._isTooLargeForTokenization=c>my.LARGE_FILE_SIZE_THRESHOLD||u>my.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=c>my.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=c>my._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=Ki(vy),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new xy,this._commandManager=new Zb(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(d)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new uC([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=lt.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new uy(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw Ie();const{textBuffer:t,disposable:n}=_y(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,n)}_createContentChanged2(e,t,n,i,o,s,r,l){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),isEolChange:l,versionId:this.getVersionId(),isUndoing:o,isRedoing:s,isFlush:r}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new xy,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new ay([new ny],this._versionId,!1,!1),this._createContentChanged2(new nc(1,1,o,s),0,i,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new ay([new ly],this._versionId,!1,!1),this._createContentChanged2(new nc(1,1,o,s),0,i,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let n=0,i=t.length;n0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const n=this._buffer.getLineCount();for(let i=1;i<=n;i++){const n=this._buffer.getLineLength(i);n>=1e4?t+=n:e+=n}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,o=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,r=new Sc({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o,bracketPairColorizationOptions:s});if(this._options.equals(r))return;const l=this._options.createChangeEvent(r);this._options=r,this._bracketPairs.handleDidChangeOptions(l),this._decorationProvider.handleDidChangeOptions(l),this._onDidChangeOptions.fire(l)}detectIndentation(e,t){this._assertNotDisposed();const n=sw(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),uh(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(Bi.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Re("Operation would exceed heap memory limits");const n=this.getFullModelRange(),i=this.getValueInRange(n,e);return t?this._buffer.getBOM()+i:i}createSnapshot(e=!1){return new by(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+i:i}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Re("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Re("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),n=e.startLineNumber,i=e.startColumn;let o=Math.floor("number"!=typeof n||isNaN(n)?1:n),s=Math.floor("number"!=typeof i||isNaN(i)?1:i);if(o<1)o=1,s=1;else if(o>t)o=t,s=this.getLineMaxColumn(o);else if(s<=1)s=1;else{const e=this.getLineMaxColumn(o);s>=e&&(s=e)}const r=e.endLineNumber,l=e.endColumn;let a=Math.floor("number"!=typeof r||isNaN(r)?1:r),d=Math.floor("number"!=typeof l||isNaN(l)?1:l);if(a<1)a=1,d=1;else if(a>t)a=t,d=this.getLineMaxColumn(a);else if(d<=1)d=1;else{const e=this.getLineMaxColumn(a);d>=e&&(d=e)}return n===o&&i===s&&r===a&&l===d&&e instanceof nc&&!(e instanceof ic)?e:new nc(o,s,a,d)}_isValidPosition(e,t,n){return"number"==typeof e&&"number"==typeof t&&(!isNaN(e)&&!isNaN(t)&&(!(e<1||t<1)&&((0|e)===e&&(0|t)===t&&(!(e>this._buffer.getLineCount())&&(1===t||!(t>this.getLineMaxColumn(e))&&(1!==n||!Li(this._buffer.getLineCharCode(e,t-2))))))))}_validatePosition(e,t,n){const i=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(i<1)return new cd(1,1);if(i>s)return new cd(s,this.getLineMaxColumn(s));if(o<=1)return new cd(i,1);const r=this.getLineMaxColumn(i);return o>=r?new cd(i,r):1===n&&Li(this._buffer.getLineCharCode(i,o-2))?new cd(i,o-1):new cd(i,o)}validatePosition(e){return this._assertNotDisposed(),e instanceof cd&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(n,i,0))return!1;if(!this._isValidPosition(o,s,0))return!1;if(1===t){const e=i>1?this._buffer.getLineCharCode(n,i-2):0,t=s>1&&s<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,s-2):0,r=Li(e),l=Li(t);return!r&&!l}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof nc&&!(e instanceof ic)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),i=t.lineNumber,o=t.column,s=n.lineNumber,r=n.column;{const e=o>1?this._buffer.getLineCharCode(i,o-2):0,t=r>1&&r<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,r-2):0,n=Li(e),l=Li(t);return n||l?i===s&&o===r?new nc(i,o-1,s,r-1):n&&l?new nc(i,o-1,s,r+1):n?new nc(i,o-1,s,r):new nc(i,o,s,r+1):new nc(i,o,s,r)}}modifyPosition(e,t){this._assertNotDisposed();const n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new nc(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)}findMatches(e,t,n,i,o,s,r=999){this._assertNotDisposed();let l=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>nc.isIRange(e)))&&(l=t.map((e=>this.validateRange(e))))),null===l&&(l=[this.getFullModelRange()]),l=l.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const a=[];let d;if(a.push(l.reduce(((e,t)=>nc.areIntersecting(e,t)?e.plusRange(t):(a.push(e),t)))),!n&&e.indexOf("\n")<0){const t=new Zw(e,n,i,o).parseSearchRequest();if(!t)return[];d=e=>this.findMatchesLineByLine(e,t,s,r)}else d=t=>Qw.findMatches(this,new Zw(e,n,i,o),t,s,r);return a.map(d).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,n,i,o,s){this._assertNotDisposed();const r=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){const t=new Zw(e,n,i,o).parseSearchRequest();if(!t)return null;const l=this.getLineCount();let a=new nc(r.lineNumber,r.column,l,this.getLineMaxColumn(l)),d=this.findMatchesLineByLine(a,t,s,1);return Qw.findNextMatch(this,new Zw(e,n,i,o),r,s),d.length>0?d[0]:(a=new nc(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),d=this.findMatchesLineByLine(a,t,s,1),d.length>0?d[0]:null)}return Qw.findNextMatch(this,new Zw(e,n,i,o),r,s)}findPreviousMatch(e,t,n,i,o,s){this._assertNotDisposed();const r=this.validatePosition(t);return Qw.findPreviousMatch(this,new Zw(e,n,i,o),r,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof kc?e:new kc(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let n=0,i=e.length;n({range:this.validateRange(e.range),text:e.text})));let i=!0;if(e)for(let t=0,o=e.length;to.endLineNumber,r=o.startLineNumber>t.endLineNumber;if(!i&&!r){s=!0;break}}if(!s){i=!1;break}}if(i)for(let e=0,i=this._trimAutoWhitespaceLines.length;et.endLineNumber||i===t.startLineNumber&&t.startColumn===o&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(0)||i===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(r.length-1))){s=!1;break}}if(s){const e=new nc(i,1,i,o);t.push(new kc(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,i)}_applyUndo(e,t,n,i){const o=e.map((e=>{const t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new nc(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}}));this._applyUndoRedoEdits(o,t,!0,!1,n,i)}_applyRedo(e,t,n,i){const o=e.map((e=>{const t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new nc(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}}));this._applyUndoRedoEdits(o,t,!1,!0,n,i)}_applyUndoRedoEdits(e,t,n,i,o,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=i,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(o)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const n=this._buffer.getLineCount(),i=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),s=i.changes;if(this._trimAutoWhitespaceLines=i.trimAutoWhitespaceLineNumbers,0!==s.length){for(let e=0,t=s.length;e=0;t--){const n=l+t,i=g+t;v.takeFromEndWhile((e=>e.lineNumber>i));const o=v.takeFromEndWhile((e=>e.lineNumber===i));e.push(new oy(n,this.getLineContent(i),o))}if(ce.lineNumbere.lineNumber===t))}e.push(new ry(i+1,l+u,d,a))}t+=h}this._emitContentChangedEvent(new ay(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===i.reverseEdits?void 0:i.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new oy(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new dy(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,Ay(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>0===t.length&&0===n.length?[]:this._deltaDecorationsImpl(e,t,n)};let i=null;try{i=t(n)}catch(e){xe(e)}return n.addDecoration=wy,n.changeDecoration=wy,n.changeDecorationOptions=wy,n.removeDecoration=wy,n.deltaDecorations=wy,i}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),xe(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,n){const i=e?this._decorations[e]:null;if(!i)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Ty[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(i),delete this._decorations[i.id],null;const o=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(o.startLineNumber,o.startColumn),r=this._buffer.getOffsetAt(o.endLineNumber,o.endColumn);return this._decorationsTree.delete(i),i.reset(this.getVersionId(),s,r,o),i.setOptions(Ty[n]),this._decorationsTree.insert(i),i.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,n=t.length;ethis.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)}getLinesDecorations(e,t,n=0,i=!1,o=!1){const s=this.getLineCount(),r=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),a=this.getLineMaxColumn(l),d=new nc(r,1,l,a),u=this._getDecorationsInRange(d,n,i,o);return qc(u,this._decorationProvider.getDecorationsInRange(d,n,i)),u}getDecorationsInRange(e,t=0,n=!1,i=!1,o=!1){const s=this.validateRange(e),r=this._getDecorationsInRange(s,t,n,o);return qc(r,this._decorationProvider.getDecorationsInRange(s,t,n,i)),r}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return iy.fromDecorations(i).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let n=this._decorationsTree.getAll(this,e,t,!1,!1);return n=n.concat(this._decorationProvider.getAllDecorations(e,t)),n}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,n,i){const o=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,o,s,t,n,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const n=this._decorations[e];if(!n)return;if(n.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(n.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const i=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),s=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),o,s,i),this._decorationsTree.insert(n),this._onDidChangeDecorations.checkAffectedAndFire(n.options),n.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),n.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}_changeDecorationOptionsImpl(e,t){const n=this._decorations[e];if(!n)return;const i=!(!n.options.overviewRuler||!n.options.overviewRuler.color),o=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const s=i!==o,r=function(e){return!!e.after||!!e.before}(t)!==Sy(n);s||r?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,n,i=!1){const o=this.getVersionId(),s=t.length;let r=0;const l=n.length;let a=0;this._onDidChangeDecorations.beginDeferredEmit();try{const d=new Array(l);for(;rthis._setLanguage(e.languageId,t))),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return function(e){let t=0;for(const n of e){if(" "!==n&&"\t"!==n)break;t++}return t}(this.getLineContent(e))+1}};function yy(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Sy(e){return!!e.options.after||!!e.options.before}Cy._MODEL_SYNC_LIMIT=52428800,Cy.LARGE_FILE_SIZE_THRESHOLD=20971520,Cy.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,Cy.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456,Cy.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:yh.tabSize,indentSize:yh.indentSize,insertSpaces:yh.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:yh.trimAutoWhitespace,largeFileOptimizations:yh.largeFileOptimizations,bracketPairColorizationOptions:yh.bracketPairColorizationOptions},Cy=my=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([fy(4,cy),fy(5,Sh),fy(6,Qg)],Cy);class xy{constructor(){this._decorationsTree0=new vw,this._decorationsTree1=new vw,this._injectedTextDecorationsTree=new vw}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const n of t)null===n.range&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,i,o,s){const r=e.getVersionId(),l=this._intervalSearch(t,n,i,o,r,s);return this._ensureNodesHaveRanges(e,l)}_intervalSearch(e,t,n,i,o,s){const r=this._decorationsTree0.intervalSearch(e,t,n,i,o,s),l=this._decorationsTree1.intervalSearch(e,t,n,i,o,s),a=this._injectedTextDecorationsTree.intervalSearch(e,t,n,i,o,s);return r.concat(l).concat(a)}getInjectedTextInInterval(e,t,n,i){const o=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,n,i,!1,o,!1);return this._ensureNodesHaveRanges(e,s).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const n=e.getVersionId(),i=this._injectedTextDecorationsTree.search(t,!1,n,!1);return this._ensureNodesHaveRanges(e,i).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,n,i,o){const s=e.getVersionId(),r=this._search(t,n,i,s,o);return this._ensureNodesHaveRanges(e,r)}_search(e,t,n,i,o){if(n)return this._decorationsTree1.search(e,t,i,o);{const n=this._decorationsTree0.search(e,t,i,o),s=this._decorationsTree1.search(e,t,i,o),r=this._injectedTextDecorationsTree.search(e,t,i,o);return n.concat(s).concat(r)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),i=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(i)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){Sy(e)?this._injectedTextDecorationsTree.insert(e):yy(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Sy(e)?this._injectedTextDecorationsTree.delete(e):yy(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Sy(e)?this._injectedTextDecorationsTree.resolveNode(e,t):yy(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,i){this._decorationsTree0.acceptReplace(e,t,n,i),this._decorationsTree1.acceptReplace(e,t,n,i),this._injectedTextDecorationsTree.acceptReplace(e,t,n,i)}}function ky(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class Ly{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class Dy extends Ly{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:bc.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const n=e?t.getColor(e.id):null;return n?n.toString():""}}class Ny{constructor(e){var t;this.position=null!==(t=null==e?void 0:e.position)&&void 0!==t?t:wc.Center,this.persistLane=null==e?void 0:e.persistLane}}class Ey extends Ly{constructor(e){var t,n;super(e),this.position=e.position,this.sectionHeaderStyle=null!==(t=e.sectionHeaderStyle)&&void 0!==t?t:null,this.sectionHeaderText=null!==(n=e.sectionHeaderText)&&void 0!==n?n:null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?lh.fromHex(e):t.getColor(e.id)}}class Iy{static from(e){return e instanceof Iy?e:new Iy(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class My{static register(e){return new My(e)}static createDynamic(e){return new My(e)}constructor(e){var t,n,i,o,s,r;this.description=e.description,this.blockClassName=e.blockClassName?ky(e.blockClassName):null,this.blockDoesNotCollapse=null!==(t=e.blockDoesNotCollapse)&&void 0!==t?t:null,this.blockIsAfterEnd=null!==(n=e.blockIsAfterEnd)&&void 0!==n?n:null,this.blockPadding=null!==(i=e.blockPadding)&&void 0!==i?i:null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?ky(e.className):null,this.shouldFillLineOnLineBreak=null!==(o=e.shouldFillLineOnLineBreak)&&void 0!==o?o:null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new Dy(e.overviewRuler):null,this.minimap=e.minimap?new Ey(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new Ny(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?ky(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?ky(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?ky(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?e.linesDecorationsTooltip.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?ky(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?ky(e.marginClassName):null,this.inlineClassName=e.inlineClassName?ky(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?ky(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?ky(e.afterContentClassName):null,this.after=e.after?Iy.from(e.after):null,this.before=e.before?Iy.from(e.before):null,this.hideInCommentTokens=null!==(s=e.hideInCommentTokens)&&void 0!==s&&s,this.hideInStringTokens=null!==(r=e.hideInStringTokens)&&void 0!==r&&r}}My.EMPTY=My.register({description:"empty"});const Ty=[My.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),My.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),My.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),My.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function Ay(e){return e instanceof My?e:My.createDynamic(e)}class Ry extends lt{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new Ct),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var e;this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),null===(e=this._affectedInjectedTextLines)||void 0===e||e.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){var t,n;this._affectsMinimap||(this._affectsMinimap=!!(null===(t=e.minimap)||void 0===t?void 0:t.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!(null===(n=e.overviewRuler)||void 0===n?void 0:n.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!e.glyphMarginClassName),this._affectsLineNumber||(this._affectsLineNumber=!!e.lineNumberClassName),this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}}class Py extends lt{constructor(){super(),this._fastEmitter=this._register(new Ct),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new Ct),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}class Oy{constructor(){this._onDidChangeVisibleRanges=new Ct,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new Fy((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class Fy{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const n=e.map((e=>new wh(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:n,stabilized:t})}}const By=km("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},_(0,"Overview ruler marker color for matching brackets."));class Wy{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}}class Vy extends lt{static get(e){return e.getContribution(Vy.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new jt((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition((e=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelContent((e=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModel((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelLanguageConfiguration((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeConfiguration((e=>{e.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((t=>{const n=t.getStartPosition(),i=e.bracketPairs.matchBracket(n);let o=null;if(i)i[0].containsPosition(n)&&!i[1].containsPosition(n)?o=i[1].getStartPosition():i[1].containsPosition(n)&&(o=i[0].getStartPosition());else{const t=e.bracketPairs.findEnclosingBrackets(n);if(t)o=t[1].getStartPosition();else{const t=e.bracketPairs.findNextBracket(n);t&&t.range&&(o=t.range.getStartPosition())}}return o?new ic(o.lineNumber,o.column,o.lineNumber,o.column):new ic(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(),n=[];this._editor.getSelections().forEach((i=>{const o=i.getStartPosition();let s=t.bracketPairs.matchBracket(o);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(o),!s)){const e=t.bracketPairs.findNextBracket(o);e&&e.range&&(s=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let r=null,l=null;if(s){s.sort(nc.compareRangesUsingStarts);const[t,n]=s;if(r=e?t.getStartPosition():t.getEndPosition(),l=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(o)){const e=r;r=l,l=e}}r&&l&&n.push(new ic(r.lineNumber,r.column,l.lineNumber,l.column))})),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach((n=>{const i=n.getPosition();let o=t.bracketPairs.matchBracket(i);o||(o=t.bracketPairs.findEnclosingBrackets(i)),o&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:o[0],text:""},{range:o[1],text:""}]),this._editor.pushUndoStop())}))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const e=[];let t=0;for(const n of this._lastBracketsData){const i=n.brackets;i&&(e[t++]={range:i[0],options:n.options},e[t++]={range:i[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const e=this._editor.getSelections();if(e.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getModel(),n=t.getVersionId();let i=[];this._lastVersionId===n&&(i=this._lastBracketsData);const o=[];let s=0;for(let t=0,n=e.length;t1&&o.sort(cd.compare);const r=[];let l=0,a=0;const d=i.length;for(let e=0,n=o.length;e!0,zy=()=>!1,Uy=e=>" "===e||"\t"===e;class Ky{static shouldRecreate(e){return e.hasChanged(145)||e.hasChanged(131)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(128)||e.hasChanged(50)||e.hasChanged(91)||e.hasChanged(130)}constructor(e,t,n,i){var o;this.languageConfigurationService=i,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const s=n.options,r=s.get(145),l=s.get(50);this.readOnly=s.get(91),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=s.get(116),this.lineHeight=l.lineHeight,this.typicalHalfwidthCharacterWidth=l.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(r.height/this.lineHeight)-2),this.useTabStops=s.get(128),this.wordSeparators=s.get(131),this.emptySelectionClipboard=s.get(37),this.copyWithSyntaxHighlighting=s.get(25),this.multiCursorMergeOverlapping=s.get(77),this.multiCursorPaste=s.get(79),this.multiCursorLimit=s.get(80),this.autoClosingBrackets=s.get(6),this.autoClosingComments=s.get(7),this.autoClosingQuotes=s.get(11),this.autoClosingDelete=s.get(9),this.autoClosingOvertype=s.get(10),this.autoSurround=s.get(14),this.autoIndent=s.get(12),this.wordSegmenterLocales=s.get(130),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const a=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(a)for(const e of a)this.surroundingPairs[e.open]=e.close;const d=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=null!==(o=null==d?void 0:d.blockCommentStartToken)&&void 0!==o?o:null}get electricChars(){var e;if(!this._electricChars){this._electricChars={};const t=null===(e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)||void 0===e?void 0:e.getElectricCharacters();if(t)for(const e of t)this._electricChars[e]=!0}return this._electricChars}onElectricCharacter(e,t,n){const i=Rh(t,n-1),o=this.languageConfigurationService.getLanguageConfiguration(i.languageId).electricCharacter;return o?o.onElectricCharacter(e,i,n-i.firstCharOffset):null}normalizeIndentation(e){return uh(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,n){switch(t){case"beforeWhitespace":return Uy;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,n);case"always":return Hy;case"never":return zy}}_getLanguageDefinedShouldAutoClose(e,t){const n=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return e=>-1!==n.indexOf(e)}visibleColumnFromColumn(e,t){return dh.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,n){const i=dh.columnFromVisibleColumn(e.getLineContent(t),n,this.tabSize),o=e.getLineMinColumn(t);if(is?s:i}}class jy{static fromModelState(e){return new qy(e)}static fromViewState(e){return new $y(e)}static fromModelSelection(e){const t=ic.liftSelection(e),n=new Gy(nc.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return jy.fromModelState(n)}static fromModelSelections(e){const t=[];for(let n=0,i=e.length;no,a=i>s,d=is)continue;if(pi)continue;if(g0&&i--,Xy.columnSelect(e,t,n.fromViewLineNumber,n.fromViewVisualColumn,n.toViewLineNumber,i)}static columnSelectRight(e,t,n){let i=0;const o=Math.min(n.fromViewLineNumber,n.toViewLineNumber),s=Math.max(n.fromViewLineNumber,n.toViewLineNumber);for(let n=o;n<=s;n++){const o=t.getLineMaxColumn(n),s=e.visibleColumnFromColumn(t,new cd(n,o));i=Math.max(i,s)}let r=n.toViewVisualColumn;return re.getLineMinColumn(t.lineNumber))return t.delta(void 0,-Ai(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const n=t.lineNumber-1;return new cd(n,e.getLineMaxColumn(n))}return t}static leftPositionAtomicSoftTabs(e,t,n){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const i=e.getLineMinColumn(t.lineNumber),o=e.getLineContent(t.lineNumber),s=iS.atomicPosition(o,t.column-1,n,0);if(-1!==s&&s+1>=i)return new cd(t.lineNumber,s+1)}return this.leftPosition(e,t)}static left(e,t,n){const i=e.stickyTabStops?sS.leftPositionAtomicSoftTabs(t,n,e.tabSize):sS.leftPosition(t,n);return new oS(i.lineNumber,i.column,0)}static moveLeft(e,t,n,i,o){let s,r;if(n.hasSelection()&&!i)s=n.selection.startLineNumber,r=n.selection.startColumn;else{const i=n.position.delta(void 0,-(o-1)),l=t.normalizePosition(sS.clipPositionColumn(i,t),0),a=sS.left(e,t,l);s=a.lineNumber,r=a.column}return n.move(i,s,r,0)}static clipPositionColumn(e,t){return new cd(e.lineNumber,sS.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,n){return en?n:e}static rightPosition(e,t,n){return nd?(n=d,i=r?t.getLineMaxColumn(n):Math.min(t.getLineMaxColumn(n),i)):i=e.columnFromVisibleColumn(t,n,a),o=h?0:a-dh.visibleColumnFromColumn(t.getLineContent(n),i,e.tabSize),void 0!==l){const e=new cd(n,i),s=t.normalizePosition(e,l);o+=i-s.column,n=s.lineNumber,i=s.column}return new oS(n,i,o)}static down(e,t,n,i,o,s,r){return this.vertical(e,t,n,i,o,n+s,r,4)}static moveDown(e,t,n,i,o){let s,r;n.hasSelection()&&!i?(s=n.selection.endLineNumber,r=n.selection.endColumn):(s=n.position.lineNumber,r=n.position.column);let l,a=0;do{if(l=sS.down(e,t,s+a,r,n.leftoverVisibleColumns,o,!0),t.normalizePosition(new cd(l.lineNumber,l.column),2).lineNumber>s)break}while(a++<10&&s+a1&&this._isBlankLine(t,o);)o--;for(;o>1&&!this._isBlankLine(t,o);)o--;return n.move(i,o,t.getLineMinColumn(o),0)}static moveToNextBlankLine(e,t,n,i){const o=t.getLineCount();let s=n.position.lineNumber;for(;s=u.length+1)return!1;const c=u.charAt(d.column-2),h=i.get(c);if(!h)return!1;if(Yy(c)){if("never"===n)return!1}else if("never"===t)return!1;const g=u.charAt(d.column-1);let p=!1;for(const e of h)e.open===c&&e.close===g&&(p=!0);if(!p)return!1;if("auto"===e){let e=!1;for(let t=0,n=r.length;t1){const e=t.getLineContent(i.lineNumber),o=hi(e),s=-1===o?e.length+1:o+1;if(i.column<=s){const e=n.visibleColumnFromColumn(t,i),o=dh.prevIndentTabStop(e,n.indentSize),s=n.columnFromVisibleColumn(t,i.lineNumber,o);return new nc(i.lineNumber,s,i.lineNumber,i.column)}}return nc.fromPositions(rS.getPositionAfterDeleteLeft(i,t),i)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const n=function(e,t){if(0===e)return 0;const n=function(e,t){const n=new Ii(t,e);let i=n.prevCodePoint();for(;$i(i)||65039===i||8419===i;){if(0===n.offset)return;i=n.prevCodePoint()}if(!Hi(i))return;let o=n.offset;return o>0&&8205===n.prevCodePoint()&&(o=n.offset),o}(e,t);if(void 0!==n)return n;const i=new Ii(t,e);return i.prevCodePoint(),i.offset}(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,n+1)}if(e.lineNumber>1){const n=e.lineNumber-1;return new cd(n,t.getLineMaxColumn(n))}return e}static cut(e,t,n){const i=[];let o=null;n.sort(((e,t)=>cd.compare(e.getStartPosition(),t.getEndPosition())));for(let s=0,r=n.length;s1&&(null==o?void 0:o.endLineNumber)!==e.lineNumber?(n=e.lineNumber-1,l=t.getLineMaxColumn(e.lineNumber-1),a=e.lineNumber,d=t.getLineMaxColumn(e.lineNumber)):(n=e.lineNumber,l=1,a=e.lineNumber,d=t.getLineMaxColumn(e.lineNumber));const u=new nc(n,l,a,d);o=u,u.isEmpty()?i[s]=null:i[s]=new Qy(u,"")}else i[s]=null;else i[s]=new Qy(r,"")}return new Zy(0,i,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class lS{static _createWord(e,t,n,i,o){return{start:i,end:o,wordType:t,nextCharClass:n}}static _createIntlWord(e,t){return{start:e.index,end:e.index+e.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(e,t,n){const i=t.getLineContent(n.lineNumber);return this._doFindPreviousWordOnLine(i,e,n)}static _doFindPreviousWordOnLine(e,t,n){let i=0;const o=t.findPrevIntlWordBeforeOrAtOffset(e,n.column-2);for(let s=n.column-2;s>=0;s--){const n=e.charCodeAt(s),r=t.get(n);if(o&&s===o.index)return this._createIntlWord(o,r);if(0===r){if(2===i)return this._createWord(e,i,r,s+1,this._findEndOfWord(e,t,i,s+1));i=1}else if(2===r){if(1===i)return this._createWord(e,i,r,s+1,this._findEndOfWord(e,t,i,s+1));i=2}else if(1===r&&0!==i)return this._createWord(e,i,r,s+1,this._findEndOfWord(e,t,i,s+1))}return 0!==i?this._createWord(e,i,1,0,this._findEndOfWord(e,t,i,0)):null}static _findEndOfWord(e,t,n,i){const o=t.findNextIntlWordAtOrAfterOffset(e,i),s=e.length;for(let r=i;r=0;s--){const i=e.charCodeAt(s),r=t.get(i);if(o&&s===o.index)return s;if(1===r)return s+1;if(1===n&&2===r)return s+1;if(2===n&&0===r)return s+1}return 0}static moveWordLeft(e,t,n,i){let o=n.lineNumber,s=n.column;1===s&&o>1&&(o-=1,s=t.getLineMaxColumn(o));let r=lS._findPreviousWordOnLine(e,t,new cd(o,s));if(0===i)return new cd(o,r?r.start+1:1);if(1===i)return r&&2===r.wordType&&r.end-r.start==1&&0===r.nextCharClass&&(r=lS._findPreviousWordOnLine(e,t,new cd(o,r.start+1))),new cd(o,r?r.start+1:1);if(3===i){for(;r&&2===r.wordType;)r=lS._findPreviousWordOnLine(e,t,new cd(o,r.start+1));return new cd(o,r?r.start+1:1)}return r&&s<=r.end+1&&(r=lS._findPreviousWordOnLine(e,t,new cd(o,r.start+1))),new cd(o,r?r.end+1:1)}static _moveWordPartLeft(e,t){const n=t.lineNumber,i=e.getLineMaxColumn(n);if(1===t.column)return n>1?new cd(n-1,e.getLineMaxColumn(n-1)):t;const o=e.getLineContent(n);for(let e=t.column-1;e>1;e--){const t=o.charCodeAt(e-2),s=o.charCodeAt(e-1);if(95===t&&95!==s)return new cd(n,e);if(45===t&&45!==s)return new cd(n,e);if((wi(t)||bi(t))&&Ci(s))return new cd(n,e);if(Ci(t)&&Ci(s)&&e+1=l.start+1&&(l=lS._findNextWordOnLine(e,t,new cd(o,l.end+1))),s=l?l.start+1:t.getLineMaxColumn(o);return new cd(o,s)}static _moveWordPartRight(e,t){const n=t.lineNumber,i=e.getLineMaxColumn(n);if(t.column===i)return n1?a=1:(l--,a=i.getLineMaxColumn(l)):(d&&a<=d.end+1&&(d=lS._findPreviousWordOnLine(n,i,new cd(l,d.start+1))),d?a=d.end+1:a>1?a=1:(l--,a=i.getLineMaxColumn(l))),new nc(l,a,r.lineNumber,r.column)}static deleteInsideWord(e,t,n){if(!n.isEmpty())return n;const i=new cd(n.positionLineNumber,n.positionColumn);return this._deleteInsideWordWhitespace(t,i)||this._deleteInsideWordDetermineDeleteRange(e,t,i)}static _charAtIsWhitespace(e,t){const n=e.charCodeAt(t);return 32===n||9===n}static _deleteInsideWordWhitespace(e,t){const n=e.getLineContent(t.lineNumber),i=n.length;if(0===i)return null;let o=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(n,o))return null;let s=Math.min(t.column-1,i-1);if(!this._charAtIsWhitespace(n,s))return null;for(;o>0&&this._charAtIsWhitespace(n,o-1);)o--;for(;s+11?new nc(n.lineNumber-1,t.getLineMaxColumn(n.lineNumber-1),n.lineNumber,1):n.lineNumbere.start+1<=n.column&&n.column<=e.end+1,r=(e,t)=>(e=Math.min(e,n.column),t=Math.max(t,n.column),new nc(n.lineNumber,e,n.lineNumber,t)),l=e=>{let t=e.start+1,n=e.end+1,s=!1;for(;n-11&&this._charAtIsWhitespace(i,t-2);)t--;return r(t,n)},a=lS._findPreviousWordOnLine(e,t,n);if(a&&s(a))return l(a);const d=lS._findNextWordOnLine(e,t,n);return d&&s(d)?l(d):a&&d?r(a.end+1,d.start+1):a?r(a.start+1,a.end+1):d?r(d.start+1,d.end+1):r(1,o+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const n=t.getPosition(),i=lS._moveWordPartLeft(e,n);return new nc(n.lineNumber,n.column,i.lineNumber,i.column)}static _findFirstNonWhitespaceChar(e,t){const n=e.length;for(let i=t;i=c.start+1&&(c=lS._findNextWordOnLine(n,i,new cd(l,c.end+1))),c?a=c.start+1:aBoolean(e)))}class uS{static addCursorDown(e,t,n){const i=[];let o=0;for(let s=0,r=t.length;st&&(n=t,i=e.model.getLineMaxColumn(n)),jy.fromModelState(new Gy(new nc(s.lineNumber,1,n,i),2,0,new cd(n,i),0))}const l=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumberl){const n=e.getLineCount();let i=r.lineNumber+1,o=1;return i>n&&(i=n,o=e.getLineMaxColumn(i)),jy.fromViewState(t.viewState.move(!0,i,o,0))}{const e=t.modelState.selectionStart.getEndPosition();return jy.fromModelState(t.modelState.move(!0,e.lineNumber,e.column,0))}}static word(e,t,n,i){const o=e.model.validatePosition(i);return jy.fromModelState(lS.word(e.cursorConfig,e.model,t.modelState,n,o))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new jy(t.modelState,t.viewState);const n=t.viewState.position.lineNumber,i=t.viewState.position.column;return jy.fromViewState(new Gy(new nc(n,i,n,i),0,0,new cd(n,i),0))}static moveTo(e,t,n,i,o){if(n){if(1===t.modelState.selectionStartKind)return this.word(e,t,n,i);if(2===t.modelState.selectionStartKind)return this.line(e,t,n,i,o)}const s=e.model.validatePosition(i),r=o?e.coordinatesConverter.validateViewPosition(new cd(o.lineNumber,o.column),s):e.coordinatesConverter.convertModelPositionToViewPosition(s);return jy.fromViewState(t.viewState.move(n,r.lineNumber,r.column,0))}static simpleMove(e,t,n,i,o,s){switch(n){case 0:return 4===s?this._moveHalfLineLeft(e,t,i):this._moveLeft(e,t,i,o);case 1:return 4===s?this._moveHalfLineRight(e,t,i):this._moveRight(e,t,i,o);case 2:return 2===s?this._moveUpByViewLines(e,t,i,o):this._moveUpByModelLines(e,t,i,o);case 3:return 2===s?this._moveDownByViewLines(e,t,i,o):this._moveDownByModelLines(e,t,i,o);case 4:return 2===s?t.map((t=>jy.fromViewState(sS.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,i)))):t.map((t=>jy.fromModelState(sS.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,i))));case 5:return 2===s?t.map((t=>jy.fromViewState(sS.moveToNextBlankLine(e.cursorConfig,e,t.viewState,i)))):t.map((t=>jy.fromModelState(sS.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,i))));case 6:return this._moveToViewMinColumn(e,t,i);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,i);case 8:return this._moveToViewCenterColumn(e,t,i);case 9:return this._moveToViewMaxColumn(e,t,i);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,i);default:return null}}static viewportMove(e,t,n,i,o){const s=e.getCompletelyVisibleViewRange(),r=e.coordinatesConverter.convertViewRangeToModelRange(s);switch(n){case 11:{const n=this._firstLineNumberInRange(e.model,r,o),s=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],i,n,s)]}case 13:{const n=this._lastLineNumberInRange(e.model,r,o),s=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],i,n,s)]}case 12:{const n=Math.round((r.startLineNumber+r.endLineNumber)/2),o=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],i,n,o)]}case 14:{const n=[];for(let o=0,r=t.length;on.endLineNumber-1?n.endLineNumber-1:ojy.fromViewState(sS.moveLeft(e.cursorConfig,e,t.viewState,n,i))))}static _moveHalfLineLeft(e,t,n){const i=[];for(let o=0,s=t.length;ojy.fromViewState(sS.moveRight(e.cursorConfig,e,t.viewState,n,i))))}static _moveHalfLineRight(e,t,n){const i=[];for(let o=0,s=t.length;o1&&0===o.firstCharOffset){const e=ip(t,n.startLineNumber-1);e.languageId===o.languageId&&(d=e.getLineContent())}const u=s.onEnter(e,d,l,a);if(!u)return null;const c=u.indentAction;let h=u.appendText;const g=u.removeText||0;h?c===Ih.Indent&&(h="\t"+h):h=c===Ih.Indent||c===Ih.IndentOutdent?"\t":"";let p=np(t,n.startLineNumber,n.startColumn);return g&&(p=p.substring(0,p.length-g)),{indentAction:c,appendText:h,removeText:g,indentation:p}}!function(e){e.metadata={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t",constraint:function(e){if(!aa(e))return!1;const t=e;return!(!la(t.to)||!ga(t.select)&&!ha(t.select)||!ga(t.by)&&!la(t.by)||!ga(t.value)&&!ua(t.value))},schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},e.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},e.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},e.parse=function(t){if(!t.to)return null;let n;switch(t.to){case e.RawDirection.Left:n=0;break;case e.RawDirection.Right:n=1;break;case e.RawDirection.Up:n=2;break;case e.RawDirection.Down:n=3;break;case e.RawDirection.PrevBlankLine:n=4;break;case e.RawDirection.NextBlankLine:n=5;break;case e.RawDirection.WrappedLineStart:n=6;break;case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter:n=7;break;case e.RawDirection.WrappedLineColumnCenter:n=8;break;case e.RawDirection.WrappedLineEnd:n=9;break;case e.RawDirection.WrappedLineLastNonWhitespaceCharacter:n=10;break;case e.RawDirection.ViewPortTop:n=11;break;case e.RawDirection.ViewPortBottom:n=13;break;case e.RawDirection.ViewPortCenter:n=12;break;case e.RawDirection.ViewPortIfOutside:n=14;break;default:return null}let i=0;switch(t.by){case e.RawUnit.Line:i=1;break;case e.RawUnit.WrappedLine:i=2;break;case e.RawUnit.Character:i=3;break;case e.RawUnit.HalfLine:i=4}return{direction:n,unit:i,select:!!t.select,value:t.value||1}}}(cS||(cS={}));var gS;const pS=Object.create(null);function mS(e,t){if(t<=0)return"";pS[e]||(pS[e]=["",e]);const n=pS[e];for(let i=n.length;i<=t;i++)n[i]=n[i-1]+e;return n[t]}let fS=gS=class{static unshiftIndent(e,t,n,i,o){const s=dh.visibleColumnFromColumn(e,t,n);if(o){const e=mS(" ",i);return mS(e,dh.prevIndentTabStop(s,i)/i)}return mS("\t",dh.prevRenderTabStop(s,n)/n)}static shiftIndent(e,t,n,i,o){const s=dh.visibleColumnFromColumn(e,t,n);if(o){const e=mS(" ",i);return mS(e,dh.nextIndentTabStop(s,i)/i)}return mS("\t",dh.nextRenderTabStop(s,n)/n)}constructor(e,t,n){this._languageConfigurationService=n,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,n){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,n):e.addEditOperation(t,n)}getEditOperations(e,t){const n=this._selection.startLineNumber;let i=this._selection.endLineNumber;1===this._selection.endColumn&&n!==i&&(i-=1);const{tabSize:o,indentSize:s,insertSpaces:r}=this._opts,l=n===i;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(n))&&(this._useLastEditRangeForCursorEndPosition=!0);let a=0,d=0;for(let u=n;u<=i;u++,a=d){d=0;const i=e.getLineContent(u);let c,h=hi(i);if((!this._opts.isUnshift||0!==i.length&&0!==h)&&(l||this._opts.isUnshift||0!==i.length)){if(-1===h&&(h=i.length),u>1&&dh.visibleColumnFromColumn(i,h+1,o)%s!=0&&e.tokenization.isCheapToTokenize(u-1)){const t=hS(this._opts.autoIndent,e,new nc(u-1,e.getLineMaxColumn(u-1),u-1,e.getLineMaxColumn(u-1)),this._languageConfigurationService);if(t){if(d=a,t.appendText)for(let e=0,n=t.appendText.length;e=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,Qg)],fS);class _S{constructor(e,t,n){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=n}getEditOperations(e,t){t.addTrackedEditOperation(new nc(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new nc(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(e,t){const n=t.getInverseEditOperations(),i=n[0].range,o=n[1].range;return new ic(i.endLineNumber,i.endColumn,o.endLineNumber,o.endColumn-this._charAfterSelection.length)}}class vS{constructor(e,t,n){this._position=e,this._text=t,this._charAfter=n}getEditOperations(e,t){t.addTrackedEditOperation(new nc(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return new ic(n.endLineNumber,n.startColumn,n.endLineNumber,n.endColumn-this._charAfter.length)}}function bS(e,t,n,i=!0,o){if(e<4)return null;const s=o.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!s)return null;if(n<=1)return{indentation:"",action:null};for(let e=n-1;e>0&&""===t.getLineContent(e);e--)if(1===e)return{indentation:"",action:null};const r=function(e,t,n){const i=e.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let o,s=-1;for(o=t-1;o>=1;o--){if(e.tokenization.getLanguageIdAtPosition(o,0)!==i)return s;const t=e.getLineContent(o);if(!n.shouldIgnore(t)&&!/^\s+$/.test(t)&&""!==t)return o;s=o}}return-1}(t,n,s);if(r<0)return null;if(r<1)return{indentation:"",action:null};const l=t.getLineContent(r);if(s.shouldIncrease(l)||s.shouldIndentNextLine(l))return{indentation:gi(l),action:Ih.Indent,line:r};if(s.shouldDecrease(l))return{indentation:gi(l),action:null,line:r};{if(1===r)return{indentation:gi(t.getLineContent(r)),action:null,line:r};const e=r-1,n=s.getIndentMetadata(t.getLineContent(e));if(!(3&n)&&4&n){let n=0;for(let i=e-1;i>0;i--)if(!s.shouldIndentNextLine(t.getLineContent(i))){n=i;break}return{indentation:gi(t.getLineContent(n+1)),action:null,line:n+1}}if(i)return{indentation:gi(t.getLineContent(r)),action:null,line:r};for(let e=r;e>0;e--){const n=t.getLineContent(e);if(s.shouldIncrease(n))return{indentation:gi(n),action:Ih.Indent,line:e};if(s.shouldIndentNextLine(n)){let n=0;for(let i=e-1;i>0;i--)if(!s.shouldIndentNextLine(t.getLineContent(e))){n=i;break}return{indentation:gi(t.getLineContent(n+1)),action:null,line:n+1}}if(s.shouldDecrease(n))return{indentation:gi(n),action:null,line:e}}return{indentation:gi(t.getLineContent(1)),action:null,line:1}}}function wS(e,t,n,i,o,s){if(e<4)return null;const r=s.getLanguageConfiguration(n);if(!r)return null;const l=s.getLanguageConfiguration(n).indentRulesSupport;if(!l)return null;const a=bS(e,t,i,void 0,s),d=t.getLineContent(i);if(a){const n=a.line;if(void 0!==n){let s=!0;for(let e=n;ee.getLineCount()?null:i.getIndentMetadata(e.getLineContent(t)):null}class yS{static indent(e,t,n){if(null===t||null===n)return[];const i=[];for(let t=0,o=n.length;t1){let i;for(i=n-1;i>=1&&!(pi(t.getLineContent(i))>=0);i--);if(i<1)return null;const s=t.getLineMaxColumn(i),r=hS(e.autoIndent,t,new nc(i,s,i,s),e.languageConfigurationService);r&&(o=r.indentation+r.appendText)}return i&&(i===Ih.Indent&&(o=yS.shiftIndent(e,o)),i===Ih.Outdent&&(o=yS.unshiftIndent(e,o)),o=e.normalizeIndentation(o)),o||null}static _replaceJumpToNextIndent(e,t,n,i){let o="";const s=n.getStartPosition();if(e.insertSpaces){const n=e.visibleColumnFromColumn(t,s),i=e.indentSize,r=i-n%i;for(let e=0;ethis._compositionType(n,e,o,s,r,l)));return new Zy(4,a,{shouldPushStackElementBefore:LS(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,n,i,o,s){if(!t.isEmpty())return null;const r=t.getPosition(),l=Math.max(1,r.column-i),a=Math.min(e.getLineMaxColumn(r.lineNumber),r.column+o),d=new nc(r.lineNumber,l,r.lineNumber,a);return e.getValueInRange(d)===n&&0===s?null:new tS(d,n,0,s)}static _typeCommand(e,t,n){return n?new eS(e,t,!0):new Qy(e,t,!0)}static _enter(e,t,n,i){if(0===e.autoIndent)return yS._typeCommand(i,"\n",n);if(!t.tokenization.isCheapToTokenize(i.getStartPosition().lineNumber)||1===e.autoIndent){const o=gi(t.getLineContent(i.startLineNumber)).substring(0,i.startColumn-1);return yS._typeCommand(i,"\n"+e.normalizeIndentation(o),n)}const o=hS(e.autoIndent,t,i,e.languageConfigurationService);if(o){if(o.indentAction===Ih.None)return yS._typeCommand(i,"\n"+e.normalizeIndentation(o.indentation+o.appendText),n);if(o.indentAction===Ih.Indent)return yS._typeCommand(i,"\n"+e.normalizeIndentation(o.indentation+o.appendText),n);if(o.indentAction===Ih.IndentOutdent){const t=e.normalizeIndentation(o.indentation),s=e.normalizeIndentation(o.indentation+o.appendText),r="\n"+s+"\n"+t;return n?new eS(i,r,!0):new tS(i,r,-1,s.length-t.length,!0)}if(o.indentAction===Ih.Outdent){const t=yS.unshiftIndent(e,o.indentation);return yS._typeCommand(i,"\n"+e.normalizeIndentation(t+o.appendText),n)}}const s=gi(t.getLineContent(i.startLineNumber)).substring(0,i.startColumn-1);if(e.autoIndent>=4){const o=function(e,t,n,i,o){if(e<4)return null;t.tokenization.forceTokenization(n.startLineNumber);const s=t.tokenization.getLineTokens(n.startLineNumber),r=Rh(s,n.startColumn-1),l=r.getLineContent();let a,d,u=!1;r.firstCharOffset>0&&s.getLanguageId(0)!==r.languageId?(u=!0,a=l.substr(0,n.startColumn-1-r.firstCharOffset)):a=s.getLineContent().substring(0,n.startColumn-1),d=n.isEmpty()?l.substr(n.startColumn-1-r.firstCharOffset):ip(t,n.endLineNumber,n.endColumn).getLineContent().substr(n.endColumn-1-r.firstCharOffset);const c=o.getLanguageConfiguration(r.languageId).indentRulesSupport;if(!c)return null;const h=a,g=gi(a),p={tokenization:{getLineTokens:e=>t.tokenization.getLineTokens(e),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(e,n)=>t.getLanguageIdAtPosition(e,n)},getLineContent:e=>e===n.startLineNumber?h:t.getLineContent(e)},m=gi(s.getLineContent()),f=bS(e,p,n.startLineNumber+1,void 0,o);if(!f){const e=u?m:g;return{beforeEnter:e,afterEnter:e}}let _=u?m:f.indentation;return f.action===Ih.Indent&&(_=i.shiftIndent(_)),c.shouldDecrease(d)&&(_=i.unshiftIndent(_)),{beforeEnter:u?m:g,afterEnter:_}}(e.autoIndent,t,i,{unshiftIndent:t=>yS.unshiftIndent(e,t),shiftIndent:t=>yS.shiftIndent(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)},e.languageConfigurationService);if(o){let s=e.visibleColumnFromColumn(t,i.getEndPosition());const r=i.endColumn,l=hi(t.getLineContent(i.endLineNumber));if(i=l>=0?i.setEndPosition(i.endLineNumber,Math.max(i.endColumn,l+1)):i.setEndPosition(i.endLineNumber,t.getLineMaxColumn(i.endLineNumber)),n)return new eS(i,"\n"+e.normalizeIndentation(o.afterEnter),!0);{let t=0;return r<=l+1&&(e.insertSpaces||(s=Math.ceil(s/e.indentSize)),t=Math.min(s+1-e.normalizeIndentation(o.afterEnter).length-1,0)),new tS(i,"\n"+e.normalizeIndentation(o.afterEnter),0,t,!0)}}}return yS._typeCommand(i,"\n"+e.normalizeIndentation(s),n)}static _isAutoIndentType(e,t,n){if(e.autoIndent<4)return!1;for(let e=0,i=n.length;eyS.shiftIndent(e,t),unshiftIndent:t=>yS.unshiftIndent(e,t)},e.languageConfigurationService);if(null===s)return null;if(s!==e.normalizeIndentation(o)){const o=t.getLineFirstNonWhitespaceColumn(n.startLineNumber);return 0===o?yS._typeCommand(new nc(n.startLineNumber,1,n.endLineNumber,n.endColumn),e.normalizeIndentation(s)+i,!1):yS._typeCommand(new nc(n.startLineNumber,1,n.endLineNumber,n.endColumn),e.normalizeIndentation(s)+t.getLineContent(n.startLineNumber).substring(o-1,n.startColumn-1)+i,!1)}return null}static _isAutoClosingOvertype(e,t,n,i,o){if("never"===e.autoClosingOvertype)return!1;if(!e.autoClosingPairs.autoClosingPairsCloseSingleChar.has(o))return!1;for(let s=0,r=n.length;s2?a.charCodeAt(l.column-2):0)&&d)return!1;if("auto"===e.autoClosingOvertype){let e=!1;for(let t=0,n=i.length;tt.startsWith(e.open))),r=o.some((e=>t.startsWith(e.close)));return!s&&r}static _findAutoClosingPairOpen(e,t,n,i){const o=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(i);if(!o)return null;let s=null;for(const e of o)if(null===s||e.open.length>s.open.length){let o=!0;for(const s of n)if(t.getValueInRange(new nc(s.lineNumber,s.column-e.open.length+1,s.lineNumber,s.column))+i!==e.open){o=!1;break}o&&(s=e)}return s}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const n=t.close.charAt(t.close.length-1),i=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(n)||[];let o=null;for(const e of i)e.open!==t.open&&t.open.includes(e.open)&&t.close.endsWith(e.close)&&(!o||e.open.length>o.open.length)&&(o=e);return o}static _getAutoClosingPairClose(e,t,n,i,o){for(const e of n)if(!e.isEmpty())return null;const s=n.map((e=>{const t=e.getPosition();return o?{lineNumber:t.lineNumber,beforeColumn:t.column-i.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}})),r=this._findAutoClosingPairOpen(e,t,s.map((e=>new cd(e.lineNumber,e.beforeColumn))),i);if(!r)return null;let l,a;if(Yy(i)?(l=e.autoClosingQuotes,a=e.shouldAutoCloseBefore.quote):e.blockCommentStartToken&&r.open.includes(e.blockCommentStartToken)?(l=e.autoClosingComments,a=e.shouldAutoCloseBefore.comment):(l=e.autoClosingBrackets,a=e.shouldAutoCloseBefore.bracket),"never"===l)return null;const d=this._findContainedAutoClosingPair(e,r),u=d?d.close:"";let c=!0;for(const n of s){const{lineNumber:o,beforeColumn:s,afterColumn:d}=n,h=t.getLineContent(o),g=h.substring(0,s-1),p=h.substring(d-1);if(p.startsWith(u)||(c=!1),p.length>0){const t=p.charAt(0);if(!yS._isBeforeClosingBrace(e,p)&&!a(t))return null}if(1===r.open.length&&("'"===i||'"'===i)&&"always"!==l){const t=Gw(e.wordSeparators,[]);if(g.length>0){const e=g.charCodeAt(g.length-1);if(0===t.get(e))return null}}if(!t.tokenization.isCheapToTokenize(o))return null;t.tokenization.forceTokenization(o);const m=Rh(t.tokenization.getLineTokens(o),s-1);if(!r.shouldAutoClose(m,s-m.firstCharOffset))return null;const f=r.findNeutralCharacter();if(f){const e=t.tokenization.getTokenTypeIfInsertingCharacter(o,s,f);if(!r.isOK(e))return null}}return c?r.close.substring(0,r.close.length-u.length):r.close}static _runAutoClosingOpenCharType(e,t,n,i,o,s,r){const l=[];for(let e=0,t=i.length;enew Qy(new nc(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),"",!1)));return new Zy(4,e,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const d=this._getAutoClosingPairClose(t,n,o,l,!0);return null!==d?this._runAutoClosingOpenCharType(e,t,n,o,l,!0,d):null}static typeWithInterceptors(e,t,n,i,o,s,r){if(!e&&"\n"===r){const e=[];for(let t=0,s=o.length;t{const n=e.get(ud).getFocusedCodeEditor();return!(!n||!n.hasTextFocus())&&this._runEditorCommand(e,n,t)})),e.addImplementation(1e3,"generic-dom-input-textarea",((e,t)=>{const n=Vs();return!!(n&&["input","textarea"].indexOf(n.tagName.toLowerCase())>=0)&&(this.runDOMCommand(n),!0)})),e.addImplementation(0,"generic-dom",((e,t)=>{const n=e.get(ud).getActiveCodeEditor();return!!n&&(n.focus(),this._runEditorCommand(e,n,t))}))}_runEditorCommand(e,t,n){return this.runEditorCommand(e,t,n)||!0}}!function(e){class t extends ES{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[uS.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&2!==t.revealType&&e.revealAllCursors(t.source,!0,!0))}}e.MoveTo=qu(new t({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=qu(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class n extends ES{runCoreEditorCommand(e,t){e.model.pushStackElement();const n=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);null!==n&&(e.setCursorStates(t.source,3,n.viewStates.map((e=>jy.fromViewState(e)))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:n.fromLineNumber,fromViewVisualColumn:n.fromVisualColumn,toViewLineNumber:n.toLineNumber,toViewVisualColumn:n.toVisualColumn}),n.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=qu(new class extends n{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(e,t,n,i){if(void 0===i.position||void 0===i.viewPosition||void 0===i.mouseColumn)return null;const o=e.model.validatePosition(i.position),s=e.coordinatesConverter.validateViewPosition(new cd(i.viewPosition.lineNumber,i.viewPosition.column),o),r=i.doColumnSelect?n.fromViewLineNumber:s.lineNumber,l=i.doColumnSelect?n.fromViewVisualColumn:i.mouseColumn-1;return Xy.columnSelect(e.cursorConfig,e,r,l,s.lineNumber,i.mouseColumn-1)}}),e.CursorColumnSelectLeft=qu(new class extends n{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,i){return Xy.columnSelectLeft(e.cursorConfig,e,n)}}),e.CursorColumnSelectRight=qu(new class extends n{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,i){return Xy.columnSelectRight(e.cursorConfig,e,n)}});class i extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,i){return Xy.columnSelectUp(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectUp=qu(new i({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=qu(new i({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3595,linux:{primary:0}}}));class o extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,i){return Xy.columnSelectDown(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectDown=qu(new o({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=qu(new o({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:3596,linux:{primary:0}}}));class s extends ES{constructor(){super({id:"cursorMove",precondition:void 0,metadata:cS.metadata})}runCoreEditorCommand(e,t){const n=cS.parse(t);n&&this._runCursorMove(e,t.source,n)}_runCursorMove(e,t,n){e.model.pushStackElement(),e.setCursorStates(t,3,s._move(e,e.getCursorStates(),n)),e.revealAllCursors(t,!0)}static _move(e,t,n){const i=n.select,o=n.value;switch(n.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return uS.simpleMove(e,t,n.direction,i,o,n.unit);case 11:case 13:case 12:case 14:return uS.viewportMove(e,t,n.direction,i,o);default:return null}}}e.CursorMoveImpl=s,e.CursorMove=qu(new s);class r extends ES{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let n=this._staticArgs;-1===this._staticArgs.value&&(n={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,uS.simpleMove(e,e.getCursorStates(),n.direction,n.select,n.value,n.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=qu(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=qu(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1039}})),e.CursorRight=qu(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=qu(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1041}})),e.CursorUp=qu(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=qu(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=qu(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:11}})),e.CursorPageUpSelect=qu(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1035}})),e.CursorDown=qu(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=qu(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=qu(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:12}})),e.CursorPageDownSelect=qu(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1036}})),e.CreateCursor=qu(new class extends ES{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let n;n=t.wholeLine?uS.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):uS.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);const i=e.getCursorStates();if(i.length>1){const o=n.modelState?n.modelState.position:null,s=n.viewState?n.viewState.position:null;for(let n=0,r=i.length;ns&&(o=s);const r=new nc(o,1,o,e.model.getLineMaxColumn(o));let l=0;if(n.at)switch(n.at){case MS.RawAtArgument.Top:l=3;break;case MS.RawAtArgument.Center:l=1;break;case MS.RawAtArgument.Bottom:l=4}const a=e.coordinatesConverter.convertModelRangeToViewRange(r);e.revealRange(t.source,!1,a,l,0)}}),e.SelectAll=new class extends AS{constructor(){super(tc)}runDOMCommand(e){a&&(e.focus(),e.select()),e.ownerDocument.execCommand("selectAll")}runEditorCommand(e,t,n){const i=t._getViewModel();i&&this.runCoreEditorCommand(i,n)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates("keyboard",3,[uS.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=qu(new class extends ES{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[jy.fromModelSelection(t.selection)]))}})}(TS||(TS={}));const RS=Bd.and(oc.textInputFocus,oc.columnSelection);function PS(e,t){vu.registerKeybindingRule({id:e,primary:t,when:RS,weight:1})}function OS(e){return e.register(),e}var FS,BS;PS(TS.CursorColumnSelectLeft.id,1039),PS(TS.CursorColumnSelectRight.id,1041),PS(TS.CursorColumnSelectUp.id,1040),PS(TS.CursorColumnSelectPageUp.id,1035),PS(TS.CursorColumnSelectDown.id,1042),PS(TS.CursorColumnSelectPageDown.id,1036),function(e){class t extends Hu{runEditorCommand(e,t,n){const i=t._getViewModel();i&&this.runCoreEditingCommand(t,i,n||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=qu(new class extends t{constructor(){super({id:"lineBreakInsert",precondition:oc.writable,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,yS.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection))))}}),e.Outdent=qu(new class extends t{constructor(){super({id:"outdent",precondition:oc.writable,kbOpts:{weight:0,kbExpr:Bd.and(oc.editorTextFocus,oc.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,yS.outdent(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.Tab=qu(new class extends t{constructor(){super({id:"tab",precondition:oc.writable,kbOpts:{weight:0,kbExpr:Bd.and(oc.editorTextFocus,oc.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,yS.tab(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.DeleteLeft=qu(new class extends t{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,n){const[i,o]=rS.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)),t.getCursorAutoClosedCharacters());i&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(2)}}),e.DeleteRight=qu(new class extends t{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:oc.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,n){const[i,o]=rS.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)));i&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(3)}}),e.Undo=new class extends AS{constructor(){super(Ju)}runDOMCommand(e){e.ownerDocument.execCommand("undo")}runEditorCommand(e,t,n){if(t.hasModel()&&!0!==t.getOption(91))return t.getModel().undo()}},e.Redo=new class extends AS{constructor(){super(ec)}runDOMCommand(e){e.ownerDocument.execCommand("redo")}runEditorCommand(e,t,n){if(t.hasModel()&&!0!==t.getOption(91))return t.getModel().redo()}}}(FS||(FS={}));class WS extends Bu{constructor(e,t,n){super({id:e,precondition:void 0,metadata:n}),this._handlerId=t}runCommand(e,t){const n=e.get(ud).getFocusedCodeEditor();n&&n.trigger("keyboard",this._handlerId,t)}}function VS(e,t){OS(new WS("default:"+e,e)),OS(new WS(e,e,t))}VS("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),VS("replacePreviousChar"),VS("compositionType"),VS("compositionStart"),VS("compositionEnd"),VS("paste"),VS("cut");class HS{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const n=this._selection.startLineNumber,i=this._selection.startColumn,o=this._selection.endColumn;if((!this._isMovingLeft||1!==i)&&(this._isMovingLeft||o!==e.getLineMaxColumn(n)))if(this._isMovingLeft){const s=new nc(n,i-1,n,i),r=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new nc(n,o,n,o),r)}else{const s=new nc(n,o,n,o+1),r=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new nc(n,i,n,i),r)}}computeCursorState(e,t){return this._isMovingLeft?new ic(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new ic(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class zS extends zu{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const n=[],i=t.getSelections();for(const e of i)n.push(new HS(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}$u(class extends zS{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:_(0,"Move Selected Text Left"),alias:"Move Selected Text Left",precondition:oc.writable})}}),$u(class extends zS{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:_(0,"Move Selected Text Right"),alias:"Move Selected Text Right",precondition:oc.writable})}}),$u(class extends zu{constructor(){super({id:"editor.action.transposeLetters",label:_(0,"Transpose Letters"),alias:"Transpose Letters",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const n=t.getModel(),i=[],o=t.getSelections();for(const e of o){if(!e.isEmpty())continue;const t=e.startLineNumber,o=e.startColumn,s=n.getLineMaxColumn(t);if(1===t&&(1===o||2===o&&2===s))continue;const r=o===s?e.getPosition():sS.rightPosition(n,e.getPosition().lineNumber,e.getPosition().column),l=sS.leftPosition(n,r),a=sS.leftPosition(n,l),d=n.getValueInRange(nc.fromPositions(a,l)),u=n.getValueInRange(nc.fromPositions(l,r)),c=nc.fromPositions(a,r);i.push(new Qy(c,u+d))}i.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}});class US{get event(){return this.emitter.event}constructor(e,t,n){const i=e=>this.emitter.fire(e);this.emitter=new Ct({onWillAddFirstListener:()=>e.addEventListener(t,i,n),onDidRemoveLastListener:()=>e.removeEventListener(t,i,n)})}dispose(){this.emitter.dispose()}}!function(e){const t={total:0,min:Number.MAX_VALUE,max:0},n={...t},i={...t},o={...t};let s=0;const r={keydown:0,input:0,render:0};function l(){1===r.keydown&&(performance.mark("keydown/end"),r.keydown=2)}function a(){performance.mark("input/start"),r.input=1,c()}function d(){1===r.input&&(performance.mark("input/end"),r.input=2)}function u(){1===r.render&&(performance.mark("render/end"),r.render=2)}function c(){setTimeout(h)}function h(){2===r.keydown&&2===r.input&&2===r.render&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),g("keydown",t),g("input",n),g("render",i),g("inputlatency",o),s++,performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),r.keydown=0,r.input=0,r.render=0)}function g(e,t){const n=performance.getEntriesByName(e)[0].duration;t.total+=n,t.min=Math.min(t.min,n),t.max=Math.max(t.max,n)}function p(e){return{average:e.total/s,max:e.max,min:e.min}}function m(e){e.total=0,e.min=Number.MAX_VALUE,e.max=0}e.onKeyDown=function(){h(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(l)},e.onBeforeInput=a,e.onInput=function(){0===r.input&&a(),queueMicrotask(d)},e.onKeyUp=function(){h()},e.onSelectionChange=function(){h()},e.onRenderStart=function(){2===r.keydown&&2===r.input&&0===r.render&&(performance.mark("render/start"),r.render=1,queueMicrotask(u),c())},e.getAndClearMeasurements=function(){if(0===s)return;const e={keydown:p(t),input:p(n),render:p(i),total:p(o),sampleCount:s};return m(t),m(n),m(i),m(o),s=0,e}}(BS||(BS={}));class KS{constructor(e,t,n,i,o){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selection=i,this.newlineCountBeforeSelection=o}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const n=e.getValue(),i=e.getSelectionStart(),o=e.getSelectionEnd();let s;return t&&n.substring(0,i)===t.value.substring(0,t.selectionStart)&&(s=t.newlineCountBeforeSelection),new KS(n,i,o,null,s)}collapseSelection(){return this.selectionStart===this.value.length?this:new KS(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,n){t.setValue(e,this.value),n&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){var t,n,i,o,s,r,l,a;if(e<=this.selectionStart){const i=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(null!==(n=null===(t=this.selection)||void 0===t?void 0:t.getStartPosition())&&void 0!==n?n:null,i,-1)}if(e>=this.selectionEnd){const t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(null!==(o=null===(i=this.selection)||void 0===i?void 0:i.getEndPosition())&&void 0!==o?o:null,t,1)}const d=this.value.substring(this.selectionStart,e);if(-1===d.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(null!==(r=null===(s=this.selection)||void 0===s?void 0:s.getStartPosition())&&void 0!==r?r:null,d,1);const u=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(null!==(a=null===(l=this.selection)||void 0===l?void 0:l.getEndPosition())&&void 0!==a?a:null,u,-1)}_finishDeduceEditorPosition(e,t,n){let i=0,o=-1;for(;-1!==(o=t.indexOf("\n",o+1));)i++;return[e,n*t.length,i]}static deduceInput(e,t,n){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const i=Math.min(xi(e.value,t.value),e.selectionStart,t.selectionStart),o=Math.min(ki(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd),s=(e.value.substring(i,e.value.length-o),t.value.substring(i,t.value.length-o)),r=e.selectionStart-i,l=e.selectionEnd-i;if(t.selectionStart-i===t.selectionEnd-i){return{text:s,replacePrevCharCnt:e.selectionStart-i,replaceNextCharCnt:0,positionDelta:0}}return{text:s,replacePrevCharCnt:l-r,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const n=Math.min(xi(e.value,t.value),e.selectionEnd),i=Math.min(ki(e.value,t.value),e.value.length-e.selectionEnd),o=e.value.substring(n,e.value.length-i),s=t.value.substring(n,t.value.length-i),r=(e.selectionStart,e.selectionEnd-n),l=(t.selectionStart,t.selectionEnd-n);return{text:s,replacePrevCharCnt:r,replaceNextCharCnt:o.length-r,positionDelta:l-s.length}}}KS.EMPTY=new KS("",0,0,null,void 0);class jS{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const n=e*t;return new nc(n+1,1,n+t+1,1)}static fromEditorSelection(e,t,n,i){const o=500,s=jS._getPageOfLine(t.startLineNumber,n),r=jS._getRangeForPage(s,n),l=jS._getPageOfLine(t.endLineNumber,n),a=jS._getRangeForPage(l,n);let d=r.intersectRanges(new nc(1,1,t.startLineNumber,t.startColumn));if(i&&e.getValueLengthInRange(d,1)>o){const t=e.modifyPosition(d.getEndPosition(),-500);d=nc.fromPositions(t,d.getEndPosition())}const u=e.getValueInRange(d,1),c=e.getLineCount(),h=e.getLineMaxColumn(c);let g=a.intersectRanges(new nc(t.endLineNumber,t.endColumn,c,h));if(i&&e.getValueLengthInRange(g,1)>o){const t=e.modifyPosition(g.getStartPosition(),o);g=nc.fromPositions(g.getStartPosition(),t)}const p=e.getValueInRange(g,1);let m;if(s===l||s+1===l)m=e.getValueInRange(t,1);else{const n=r.intersectRanges(t),i=a.intersectRanges(t);m=e.getValueInRange(n,1)+String.fromCharCode(8230)+e.getValueInRange(i,1)}return i&&m.length>1e3&&(m=m.substring(0,o)+String.fromCharCode(8230)+m.substring(m.length-o,m.length)),new KS(u+m+p,u.length,u.length+m.length,t,d.endLineNumber-d.startLineNumber)}}const qS=dd("accessibilityService"),$S=new ou("accessibilityModeEnabled",!1);var GS,ZS=function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.Tap="-monaco-textarea-synthetic-tap"}(GS||(GS={}));const YS={forceCopyWithSyntaxHighlighting:!1};class XS{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}XS.INSTANCE=new XS;class QS{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){const t={text:e=e||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let JS=class extends lt{get textAreaState(){return this._textAreaState}constructor(e,t,n,i,o,s){super(),this._host=e,this._textArea=t,this._OS=n,this._browser=i,this._accessibilityService=o,this._logService=s,this._onFocus=this._register(new Ct),this.onFocus=this._onFocus.event,this._onBlur=this._register(new Ct),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new Ct),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new Ct),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new Ct),this.onCut=this._onCut.event,this._onPaste=this._register(new Ct),this.onPaste=this._onPaste.event,this._onType=this._register(new Ct),this.onType=this._onType.event,this._onCompositionStart=this._register(new Ct),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new Ct),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new Ct),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new Ct),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new at),this._asyncTriggerCut=this._register(new jt((()=>this._onCut.fire()),0)),this._textAreaState=KS.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(ft.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new jt((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)):this._asyncFocusGainWriteScreenReaderContent.clear()}))),this._hasFocus=!1,this._currentComposition=null;let r=null;this._register(this._textArea.onKeyDown((e=>{const t=new Ue(e);(114===t.keyCode||this._currentComposition&&1===t.keyCode)&&t.stopPropagation(),t.equals(9)&&t.preventDefault(),r=t,this._onKeyDown.fire(t)}))),this._register(this._textArea.onKeyUp((e=>{const t=new Ue(e);this._onKeyUp.fire(t)}))),this._register(this._textArea.onCompositionStart((e=>{const t=new QS;if(this._currentComposition)this._currentComposition=t;else{if(this._currentComposition=t,2===this._OS&&r&&r.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&("ArrowRight"===r.code||"ArrowLeft"===r.code))return t.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:e.data});this._browser.isAndroid,this._onCompositionStart.fire({data:e.data})}}))),this._register(this._textArea.onCompositionUpdate((e=>{const t=this._currentComposition;if(!t)return;if(this._browser.isAndroid){const t=KS.readFromTextArea(this._textArea,this._textAreaState),n=KS.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(n),void this._onCompositionUpdate.fire(e)}const n=t.handleCompositionUpdate(e.data);this._textAreaState=KS.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(n),this._onCompositionUpdate.fire(e)}))),this._register(this._textArea.onCompositionEnd((e=>{const t=this._currentComposition;if(!t)return;if(this._currentComposition=null,this._browser.isAndroid){const e=KS.readFromTextArea(this._textArea,this._textAreaState),t=KS.deduceAndroidCompositionInput(this._textAreaState,e);return this._textAreaState=e,this._onType.fire(t),void this._onCompositionEnd.fire()}const n=t.handleCompositionUpdate(e.data);this._textAreaState=KS.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(n),this._onCompositionEnd.fire()}))),this._register(this._textArea.onInput((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=KS.readFromTextArea(this._textArea,this._textAreaState),n=KS.deduceInput(this._textAreaState,t,2===this._OS);(0!==n.replacePrevCharCnt||1!==n.text.length||!Li(n.text.charCodeAt(0))&&127!==n.text.charCodeAt(0))&&(this._textAreaState=t,""===n.text&&0===n.replacePrevCharCnt&&0===n.replaceNextCharCnt&&0===n.positionDelta||this._onType.fire(n))}))),this._register(this._textArea.onCut((e=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(e),this._asyncTriggerCut.schedule()}))),this._register(this._textArea.onCopy((e=>{this._ensureClipboardGetsEditorSelection(e)}))),this._register(this._textArea.onPaste((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),e.preventDefault(),!e.clipboardData)return;let[t,n]=ex.getTextData(e.clipboardData);t&&(n=n||XS.INSTANCE.get(t),this._onPaste.fire({text:t,metadata:n}))}))),this._register(this._textArea.onFocus((()=>{const e=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!e&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new jt((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())}))),this._register(this._textArea.onBlur((()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)}))),this._register(this._textArea.onSyntheticTap((()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())})))}_installSelectionChangeListener(){let e=0;return ms(this._textArea.ownerDocument,"selectionchange",(t=>{if(BS.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const n=Date.now(),i=n-e;if(e=n,i<5)return;const o=n-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),o<100)return;if(!this._textAreaState.selection)return;const s=this._textArea.getValue();if(this._textAreaState.value!==s)return;const r=this._textArea.getSelectionStart(),l=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===r&&this._textAreaState.selectionEnd===l)return;const a=this._textAreaState.deduceEditorPosition(r),d=this._host.deduceModelPosition(a[0],a[1],a[2]),u=this._textAreaState.deduceEditorPosition(l),c=this._host.deduceModelPosition(u[0],u[1],u[2]),h=new ic(d.lineNumber,d.column,c.lineNumber,c.column);this._onSelectionChangeRequest.fire(h)}))}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&"render"===e||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${e})`),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),n={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};XS.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,"\n"):t.text,n),e.preventDefault(),e.clipboardData&&ex.setTextData(e.clipboardData,t.text,t.html,n)}};JS=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([ZS(4,qS),ZS(5,Tu)],JS);const ex={getTextData(e){const t=e.getData(xg.text);let n=null;const i=e.getData("vscode-editor-data");if("string"==typeof i)try{n=JSON.parse(i),1!==n.version&&(n=null)}catch(e){}return 0===t.length&&null===n&&e.files.length>0?[Array.prototype.slice.call(e.files,0).map((e=>e.name)).join("\n"),null]:[t,n]},setTextData(e,t,n,i){e.setData(xg.text,t),"string"==typeof n&&e.setData("text/html",n),e.setData("vscode-editor-data",JSON.stringify(i))}};class tx extends lt{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new US(this._actual,"keydown")).event,this.onKeyUp=this._register(new US(this._actual,"keyup")).event,this.onCompositionStart=this._register(new US(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new US(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new US(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new US(this._actual,"beforeinput")).event,this.onInput=this._register(new US(this._actual,"input")).event,this.onCut=this._register(new US(this._actual,"cut")).event,this.onCopy=this._register(new US(this._actual,"copy")).event,this.onPaste=this._register(new US(this._actual,"paste")).event,this.onFocus=this._register(new US(this._actual,"focus")).event,this.onBlur=this._register(new US(this._actual,"blur")).event,this._onSyntheticTap=this._register(new Ct),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown((()=>BS.onKeyDown()))),this._register(this.onBeforeInput((()=>BS.onBeforeInput()))),this._register(this.onInput((()=>BS.onInput()))),this._register(this.onKeyUp((()=>BS.onKeyUp()))),this._register(ms(this._actual,GS.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const e=Ws(this._actual);return e?e.activeElement===this._actual:!!this._actual.isConnected&&Vs()===this._actual}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const n=this._actual;n.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),n.value=t)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,n){const i=this._actual;let o=null;const s=Ws(i);o=s?s.activeElement:Vs();const r=is(o),l=o===i,d=i.selectionStart,u=i.selectionEnd;if(l&&d===t&&u===n)a&&r.parent!==r&&i.focus();else{if(l)return this.setIgnoreSelectionChangeTime("setSelectionRange"),i.setSelectionRange(t,n),void(a&&r.parent!==r&&i.focus());try{const e=function(e){const t=[];for(let n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t}(i);this.setIgnoreSelectionChangeTime("setSelectionRange"),i.focus(),i.setSelectionRange(t,n),function(e,t){for(let n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode}(i,e)}catch(e){}}}}const nx=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let e;e="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(e){for(let t=0;te,asFile:()=>{},value:"string"==typeof e?e:void 0}}class ox{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 Ye.some(this,(([e,t])=>t.asFile()))&&t.push("files"),lx(sx(e),t)}get(e){var t;return null===(t=this._entries.get(this.toKey(e)))||void 0===t?void 0:t[0]}append(e,t){const n=this._entries.get(e);n?n.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 n of t)yield[e,n]}toKey(e){return sx(e)}}function sx(e){return e.toLowerCase()}function rx(e,t){return lx(sx(e),t.map(sx))}function lx(e,t){if("*/*"===e)return t.length>0;if(t.includes(e))return!0;const n=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!n)return!1;const[i,o,s]=n;return"*"===s&&t.some((e=>e.startsWith(o+"/")))}const ax=Object.freeze({create:e=>Vc(e.map((e=>e.toString()))).join("\r\n"),split:e=>e.split("\r\n"),parse:e=>ax.split(e).filter((e=>!e.startsWith("#")))});class dx{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+dx.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new dx((this.value?[this.value,...e]:e).join(dx.sep))}}dx.sep=".",dx.None=new dx("@@none@@"),dx.Empty=new dx("");const ux={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:xg.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"};fu.add("workbench.contributions.dragAndDrop",new class{});class cx{constructor(){}static getInstance(){return cx.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}}function hx(e){const t=new ox;for(const n of e.items){const e=n.type;if("string"===n.kind){const i=new Promise((e=>n.getAsString(e)));t.append(e,ix(i))}else if("file"===n.kind){const i=n.getAsFile();i&&t.append(e,gx(i))}}return t}function gx(e){const t=e.path?Io.parse(e.path):void 0;return function(e,t,n){const i={id:nx(),name:e,uri:t,data:n};return{asString:async()=>"",asFile:()=>i,value:void 0}}(e.name,t,(async()=>new Uint8Array(await e.arrayBuffer())))}cx.INSTANCE=new cx;const px=Object.freeze(["CodeEditors","CodeFiles",ux.RESOURCES,ux.INTERNAL_URI_LIST]);function mx(e,t=!1){const n=hx(e),i=n.get(ux.INTERNAL_URI_LIST);if(i)n.replace(xg.uriList,i);else if(t||!n.has(xg.uriList)){const t=[];for(const n of e.items){const e=n.getAsFile();if(e){const n=e.path;try{n?t.push(Io.file(n).toString()):t.push(Io.parse(e.name,!0).toString())}catch(e){}}}t.length&&n.replace(xg.uriList,ix(ax.create(t)))}for(const e of px)n.delete(e);return n}const fx=dd("IWorkspaceEditService");class _x{constructor(e){this.metadata=e}static convert(e){return e.edits.map((e=>{if(vx.is(e))return vx.lift(e);if(bx.is(e))return bx.lift(e);throw new Error("Unsupported edit")}))}}class vx extends _x{static is(e){return e instanceof vx||aa(e)&&Io.isUri(e.resource)&&aa(e.textEdit)}static lift(e){return e instanceof vx?e:new vx(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,n=void 0,i){super(i),this.resource=e,this.textEdit=t,this.versionId=n}}class bx extends _x{static is(e){return e instanceof bx||aa(e)&&(Boolean(e.newResource)||Boolean(e.oldResource))}static lift(e){return e instanceof bx?e:new bx(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,n={},i){super(i),this.oldResource=e,this.newResource=t,this.options=n}}const wx=dd("ILanguageFeaturesService");class Cx{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const e=this._value.charCodeAt(t);if(!(47===e||this._splitOnBackslash&&92===e))break}return this.next()}hasNext(){return this._to!1),t=(()=>!1)){return new Lx(new xx(e,t))}static forStrings(){return new Lx(new Cx)}static forConfigKeys(){return new Lx(new yx)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const n=this._iter.reset(e);let i;this._root||(this._root=new kx,this._root.segment=n.value());const o=[];for(i=this._root;;){const e=n.cmp(i.segment);if(e>0)i.left||(i.left=new kx,i.left.segment=n.value()),o.push([-1,i]),i=i.left;else if(e<0)i.right||(i.right=new kx,i.right.segment=n.value()),o.push([1,i]),i=i.right;else{if(!n.hasNext())break;n.next(),i.mid||(i.mid=new kx,i.mid.segment=n.value()),o.push([0,i]),i=i.mid}}const s=i.value;i.value=t,i.key=e;for(let e=o.length-1;e>=0;e--){const t=o[e][1];t.updateHeight();const n=t.balanceFactor();if(n<-1||n>1){const n=o[e][0],i=o[e+1][0];if(1===n&&1===i)o[e][1]=t.rotateLeft();else if(-1===n&&-1===i)o[e][1]=t.rotateRight();else if(1===n&&-1===i)t.right=o[e+1][1]=o[e+1][1].rotateRight(),o[e][1]=t.rotateLeft();else{if(-1!==n||1!==i)throw new Error;t.left=o[e+1][1]=o[e+1][1].rotateLeft(),o[e][1]=t.rotateRight()}if(e>0)switch(o[e-1][0]){case-1:o[e-1][1].left=o[e][1];break;case 1:o[e-1][1].right=o[e][1];break;case 0:o[e-1][1].mid=o[e][1]}else this._root=o[0][1]}}return s}get(e){var t;return null===(t=this._getNode(e))||void 0===t?void 0:t.value}_getNode(e){const t=this._iter.reset(e);let n=this._root;for(;n;){const e=t.cmp(n.segment);if(e>0)n=n.left;else if(e<0)n=n.right;else{if(!t.hasNext())break;t.next(),n=n.mid}}return n}has(e){const t=this._getNode(e);return!(void 0===(null==t?void 0:t.value)&&void 0===(null==t?void 0:t.mid))}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){var n;const i=this._iter.reset(e),o=[];let s=this._root;for(;s;){const e=i.cmp(s.segment);if(e>0)o.push([-1,s]),s=s.left;else if(e<0)o.push([1,s]),s=s.right;else{if(!i.hasNext())break;i.next(),o.push([0,s]),s=s.mid}}if(s){if(t?(s.left=void 0,s.mid=void 0,s.right=void 0,s.height=1):(s.key=void 0,s.value=void 0),!s.mid&&!s.value)if(s.left&&s.right){const e=this._min(s.right);if(e.key){const{key:t,value:n,segment:i}=e;this._delete(e.key,!1),s.key=t,s.value=n,s.segment=i}}else{const e=null!==(n=s.left)&&void 0!==n?n:s.right;if(o.length>0){const[t,n]=o[o.length-1];switch(t){case-1:n.left=e;break;case 0:n.mid=e;break;case 1:n.right=e}}else this._root=e}for(let e=o.length-1;e>=0;e--){const t=o[e][1];t.updateHeight();const n=t.balanceFactor();if(n>1?(t.right.balanceFactor()>=0||(t.right=t.right.rotateRight()),o[e][1]=t.rotateLeft()):n<-1&&(t.left.balanceFactor()<=0||(t.left=t.left.rotateLeft()),o[e][1]=t.rotateRight()),e>0)switch(o[e-1][0]){case-1:o[e-1][1].left=o[e][1];break;case 1:o[e-1][1].right=o[e][1];break;case 0:o[e-1][1].mid=o[e][1]}else this._root=o[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let n,i=this._root;for(;i;){const e=t.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!t.hasNext())break;t.next(),n=i.value||n,i=i.mid}}return i&&i.value||n}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const n=this._iter.reset(e);let i=this._root;for(;i;){const e=n.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!n.hasNext())return i.mid?this._entries(i.mid):t?i.value:void 0;n.next(),i=i.mid}}}forEach(e){for(const[t,n]of this)e(n,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const Dx=dd("contextService");function Nx(e){const t=e;return"string"==typeof(null==t?void 0:t.id)&&Io.isUri(t.uri)}const Ex={id:"empty-window"};class Ix{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const Mx=(_(0,"Code Workspace"),"4064f6ec-cb38-4ad0-af64-ee6467e63c82");var Tx=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Ax=function(e,t){return function(n,i){t(n,i,e)}};class Rx{async provideDocumentPasteEdits(e,t,n,i,o){const s=await this.getEdit(n,o);if(s)return{dispose(){},edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}]}}async provideDocumentOnDropEdits(e,t,n,i){const o=await this.getEdit(n,i);return o?[{insertText:o.insertText,title:o.title,kind:o.kind,handledMimeType:o.handledMimeType,yieldTo:o.yieldTo}]:void 0}}class Px extends Rx{constructor(){super(...arguments),this.kind=Px.kind,this.dropMimeTypes=[xg.text],this.pasteMimeTypes=[xg.text]}async getEdit(e,t){const n=e.get(xg.text);if(!n)return;if(e.has(xg.uriList))return;const i=await n.asString();return{handledMimeType:xg.text,title:_(0,"Insert Plain Text"),insertText:i,kind:this.kind}}}Px.id="text",Px.kind=new dx("text.plain");class Ox extends Rx{constructor(){super(...arguments),this.kind=new dx("uri.absolute"),this.dropMimeTypes=[xg.uriList],this.pasteMimeTypes=[xg.uriList]}async getEdit(e,t){const n=await Wx(e);if(!n.length||t.isCancellationRequested)return;let i=0;const o=n.map((({uri:e,originalText:t})=>e.scheme===Ho.file?e.fsPath:(i++,t))).join(" ");let s;return s=i>0?n.length>1?_(0,"Insert Uris"):_(0,"Insert Uri"):n.length>1?_(0,"Insert Paths"):_(0,"Insert Path"),{handledMimeType:xg.uriList,insertText:o,title:s,kind:this.kind}}}let Fx=class extends Rx{constructor(e){super(),this._workspaceContextService=e,this.kind=new dx("uri.relative"),this.dropMimeTypes=[xg.uriList],this.pasteMimeTypes=[xg.uriList]}async getEdit(e,t){const n=await Wx(e);if(!n.length||t.isCancellationRequested)return;const i=Oc(n.map((({uri:e})=>{const t=this._workspaceContextService.getWorkspaceFolder(e);return t?Za(t.uri,e):void 0})));return i.length?{handledMimeType:xg.uriList,insertText:i.join(" "),title:n.length>1?_(0,"Insert Relative Paths"):_(0,"Insert Relative Path"),kind:this.kind}:void 0}};Fx=Tx([Ax(0,Dx)],Fx);class Bx{constructor(){this.kind=new dx("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:xg.text}]}async provideDocumentPasteEdits(e,t,n,i,o){var s;if(i.triggerKind!==bC.PasteAs&&!(null===(s=i.only)||void 0===s?void 0:s.contains(this.kind)))return;const r=n.get("text/html"),l=await(null==r?void 0:r.asString());return l&&!o.isCancellationRequested?{dispose(){},edits:[{insertText:l,yieldTo:this._yieldTo,title:_(0,"Insert HTML"),kind:this.kind}]}:void 0}}async function Wx(e){const t=e.get(xg.uriList);if(!t)return[];const n=await t.asString(),i=[];for(const e of ax.parse(n))try{i.push({uri:Io.parse(e),originalText:e})}catch(e){}return i}let Vx=class extends lt{constructor(e,t){super(),this._register(e.documentOnDropEditProvider.register("*",new Px)),this._register(e.documentOnDropEditProvider.register("*",new Ox)),this._register(e.documentOnDropEditProvider.register("*",new Fx(t)))}};Vx=Tx([Ax(0,wx),Ax(1,Dx)],Vx);let Hx=class extends lt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Px)),this._register(e.documentPasteEditProvider.register("*",new Ox)),this._register(e.documentPasteEditProvider.register("*",new Fx(t))),this._register(e.documentPasteEditProvider.register("*",new Bx))}};Hx=Tx([Ax(0,wx),Ax(1,Dx)],Hx);class zx{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return 95===e||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,n=0,i=this.value.charCodeAt(e);if(t=zx._table[i],"number"==typeof t)return this.pos+=1,{type:t,pos:e,len:1};if(zx.isDigitCharacter(i)){t=8;do{n+=1,i=this.value.charCodeAt(e+n)}while(zx.isDigitCharacter(i));return this.pos+=n,{type:t,pos:e,len:n}}if(zx.isVariableCharacter(i)){t=9;do{i=this.value.charCodeAt(e+ ++n)}while(zx.isVariableCharacter(i)||zx.isDigitCharacter(i));return this.pos+=n,{type:t,pos:e,len:n}}t=10;do{n+=1,i=this.value.charCodeAt(e+n)}while(!isNaN(i)&&void 0===zx._table[i]&&!zx.isDigitCharacter(i)&&!zx.isVariableCharacter(i));return this.pos+=n,{type:t,pos:e,len:n}}}zx._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class Ux{constructor(){this._children=[]}appendChild(e){return e instanceof Kx&&this._children[this._children.length-1]instanceof Kx?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:n}=e,i=n.children.indexOf(e),o=n.children.slice(0);o.splice(i,1,...t),n._children=o,function e(t,n){for(const i of t)i.parent=n,e(i.children,i)}(t,n)}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 Qx)return e;e=e.parent}}toString(){return this.children.reduce(((e,t)=>e+t.toString()),"")}len(){return 0}}class Kx extends Ux{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new Kx(this.value)}}class jx extends Ux{}class qx extends jx{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof $x?this._children[0]:void 0}clone(){const e=new qx(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}class $x extends Ux{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Kx&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new $x;return this.options.forEach(e.appendChild,e),e}}class Gx extends Ux{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let n=!1,i=e.replace(this.regexp,(function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))}));return!n&&this._children.some((e=>e instanceof Zx&&Boolean(e.elseValue)))&&(i=this._replace([])),i}_replace(e){let t="";for(const n of this._children)if(n instanceof Zx){let i=e[n.index]||"";i=n.resolve(i),t+=i}else t+=n.toString();return t}toString(){return""}clone(){const e=new Gx;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map((e=>e.clone())),e}}class Zx extends Ux{constructor(e,t,n,i){super(),this.index=e,this.shorthandName=t,this.ifValue=n,this.elseValue=i}resolve(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":"pascalcase"===this.shorthandName?e?this._toPascalCase(e):"":"camelcase"===this.shorthandName?e?this._toCamelCase(e):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((e=>e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(((e,t)=>0===t?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}clone(){return new Zx(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Yx extends jx{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),void 0!==t&&(this._children=[new Kx(t)],!0)}clone(){const e=new Yx(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}function Xx(e,t){const n=[...e];for(;n.length>0;){const e=n.shift();if(!t(e))break;n.unshift(...e.children)}}class Qx extends Ux{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk((function(n){return n instanceof qx&&(e.push(n),t=!t||t.indexi===e?(n=!0,!1):(t+=i.len(),!0))),n?t:-1}fullLen(e){let t=0;return Xx([e],(e=>(t+=e.len(),!0))),t}enclosingPlaceholders(e){const t=[];let{parent:n}=e;for(;n;)n instanceof qx&&t.push(n),n=n.parent;return t}resolveVariables(e){return this.walk((t=>(t instanceof Yx&&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 Qx;return this._children=this.children.map((e=>e.clone())),e}walk(e){Xx(this.children,e)}}class Jx{constructor(){this._scanner=new zx,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,n){const i=new Qx;return this.parseFragment(e,i),this.ensureFinalTabstop(i,null!=n&&n,null!=t&&t),i}parseFragment(e,t){const n=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const i=new Map,o=[];t.walk((e=>(e instanceof qx&&(e.isFinalTabstop?i.set(0,void 0):!i.has(e.index)&&e.children.length>0?i.set(e.index,e.children):o.push(e)),!0)));const s=(e,n)=>{const o=i.get(e.index);if(!o)return;const r=new qx(e.index);r.transform=e.transform;for(const e of o){const t=e.clone();r.appendChild(t),t instanceof qx&&i.has(t.index)&&!n.has(t.index)&&(n.add(t.index),s(t,n),n.delete(t.index))}t.replace(e,[r])},r=new Set;for(const e of o)s(e,r);return t.children.slice(n)}ensureFinalTabstop(e,t,n){(t||n&&e.placeholders.length>0)&&(e.placeholders.find((e=>0===e.index))||e.appendChild(new qx(0)))}_accept(e,t){if(void 0===e||this._token.type===e){const e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}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(14===this._token.type)return!1;if(5===this._token.type){const e=this._scanner.next();if(0!==e.type&&4!==e.type&&5!==e.type)return!1}this._token=this._scanner.next()}const n=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),n}_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 Kx(t)),!0)}_parseTabstopOrVariableName(e){let t;const n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new qx(Number(t)):new Yx(t)),!0):this._backTo(n)}_parseComplexPlaceholder(e){let t;const n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);const i=new qx(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new Kx("${"+t+":")),i.children.forEach(e.appendChild,e),!0}else{if(!(i.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);{const t=new $x;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(i.appendChild(t),this._accept(4)))return e.appendChild(i),!0}return this._backTo(n),!1}}}}_parseChoiceElement(e){const t=this._token,n=[];for(;2!==this._token.type&&7!==this._token.type;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;n.push(e)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new Kx(n.join(""))),!0)}_parseComplexVariable(e){let t;const n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);const i=new Yx(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new Kx("${"+t+":")),i.children.forEach(e.appendChild,e),!0}}_parseTransform(e){const t=new Gx;let n="",i="";for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,n+=e;else{if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new Kx(e));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,i)}catch(e){return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let n=!1;this._accept(3)&&(n=!0);const i=this._accept(8,!0);if(!i)return this._backTo(t),!1;if(!n)return e.appendChild(new Zx(Number(i))),!0;if(this._accept(4))return e.appendChild(new Zx(Number(i))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){const n=this._accept(9,!0);return n&&this._accept(4)?(e.appendChild(new Zx(Number(i),n)),!0):(this._backTo(t),!1)}if(this._accept(11)){const t=this._until(4);if(t)return e.appendChild(new Zx(Number(i),void 0,t,void 0)),!0}else if(this._accept(12)){const t=this._until(4);if(t)return e.appendChild(new Zx(Number(i),void 0,void 0,t)),!0}else if(this._accept(13)){const t=this._until(1);if(t){const n=this._until(4);if(n)return e.appendChild(new Zx(Number(i),void 0,t,n)),!0}}else{const t=this._until(4);if(t)return e.appendChild(new Zx(Number(i),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return 14!==this._token.type&&(e.appendChild(new Kx(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}function ek(e,t,n){var i,o,s,r;return("string"==typeof n.insertText?""===n.insertText:""===n.insertText.snippet)?{edits:null!==(o=null===(i=n.additionalEdit)||void 0===i?void 0:i.edits)&&void 0!==o?o:[]}:{edits:[...t.map((t=>new vx(e,{range:t,text:"string"==typeof n.insertText?Jx.escape(n.insertText)+"$0":n.insertText.snippet,insertAsSnippet:!0}))),...null!==(r=null===(s=n.additionalEdit)||void 0===s?void 0:s.edits)&&void 0!==r?r:[]]}}function tk(e){var t;function n(e,t){return"mimeType"in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}const i=new Map;for(const o of e)for(const s of null!==(t=o.yieldTo)&&void 0!==t?t:[])for(const t of e)if(t!==o&&n(s,t)){let e=i.get(o);e||(e=[],i.set(o,e)),e.push(t)}if(!i.size)return Array.from(e);const o=new Set,s=[];return function e(t){if(!t.length)return[];const n=t[0];if(s.includes(n))return console.warn("Yield to cycle detected",n),t;if(o.has(n))return e(t.slice(1));let r=[];const l=i.get(n);return l&&(s.push(n),r=e(l),s.pop()),o.add(n),[...r,n,...e(t.slice(1))]}(Array.from(e))}const nk=dd("IEditorCancelService"),ik=new ou("cancellableOperation",!1,_(0,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));yg(nk,class{constructor(){this._tokens=new WeakMap}add(e,t){let n,i=this._tokens.get(e);return i||(i=e.invokeWithinContext((e=>({key:ik.bindTo(e.get(su)),tokens:new gt}))),this._tokens.set(e,i)),i.key.set(!0),n=i.tokens.push(t),()=>{n&&(n(),i.key.set(!i.tokens.isEmpty()),n=void 0)}}cancel(e){const t=this._tokens.get(e);if(!t)return;const n=t.tokens.pop();n&&(n.cancel(),t.key.set(!t.tokens.isEmpty()))}},1);class ok extends Tt{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext((t=>t.get(nk).add(e,this)))}dispose(){this._unregister(),super.dispose()}}qu(new class extends Hu{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:ik})}runEditorCommand(e,t){e.get(nk).cancel(t)}});class sk{constructor(e,t){if(this.flags=t,1&this.flags){const t=e.getModel();this.modelVersionId=t?oi("{0}#{1}",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;4&this.flags?this.position=e.getPosition():this.position=null,2&this.flags?this.selection=e.getSelection():this.selection=null,8&this.flags?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof sk))return!1;const t=e;return this.modelVersionId===t.modelVersionId&&this.scrollLeft===t.scrollLeft&&this.scrollTop===t.scrollTop&&!(!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position))&&!(!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new sk(e,this.flags))}}class rk extends ok{constructor(e,t,n,i){super(e,i),this._listener=new rt,4&t&&this._listener.add(e.onDidChangeCursorPosition((e=>{n&&nc.containsPosition(n,e.position)||this.cancel()}))),2&t&&this._listener.add(e.onDidChangeCursorSelection((e=>{n&&nc.containsRange(n,e.selection)||this.cancel()}))),8&t&&this._listener.add(e.onDidScrollChange((e=>this.cancel()))),1&t&&(this._listener.add(e.onDidChangeModel((e=>this.cancel()))),this._listener.add(e.onDidChangeModelContent((e=>this.cancel()))))}dispose(){this._listener.dispose(),super.dispose()}}class lk extends Tt{constructor(e,t){super(t),this._listener=e.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}var ak=n(8129),dk={};dk.styleTagTransform=Vr(),dk.setAttributes=Or(),dk.insert=Rr().bind(null,"head"),dk.domAPI=Tr(),dk.insertStyleElement=Br(),Ir()(ak.A,dk),ak.A&&ak.A.locals&&ak.A.locals;const uk=My.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:" ",inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class ck extends lt{constructor(e,t,n,i,o){super(),this.typeId=e,this.editor=t,this.range=n,this.delegate=o,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(i),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=mr(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=mr("span.icon");this.domNode.append(t),t.classList.add(...ka.asClassNameArray(Sa.loading),"codicon-modifier-spin");const n=()=>{const e=this.editor.getOption(67);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};n(),this._register(this.editor.onDidChangeConfiguration((e=>{(e.hasChanged(52)||e.hasChanged(67))&&n()}))),this._register(ms(this.domNode,or.CLICK,(e=>{this.delegate.cancel()})))}getId(){return ck.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)}}ck.baseId="editor.widget.inlineProgressWidget";let hk=class extends lt{constructor(e,t,n){super(),this.id=e,this._editor=t,this._instantiationService=n,this._showDelay=500,this._showPromise=this._register(new at),this._currentWidget=new at,this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}async showWhile(e,t,n){const i=this._operationIdPool++;this._currentOperation=i,this.clear(),this._showPromise.value=Ht((()=>{const i=nc.fromPositions(e);this._currentDecorations.set([{range:i,options:uk}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(ck,this.id,this._editor,i,t,n))}),this._showDelay);try{return await n}finally{this._currentOperation===i&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};function gk(e,t={}){const n=pk(t);return fk(n,function(e,t){const n={type:1,children:[]};let i=0,o=n;const s=[],r=new mk(e);for(;!r.eos();){let e=r.next();const n="\\"===e&&0!==_k(r.peek(),t);if(n&&(e=r.next()),n||0===_k(e,t)||e!==r.peek())if("\n"===e)2===o.type&&(o=s.pop()),o.children.push({type:8});else if(2!==o.type){const t={type:2,content:e};o.children.push(t),s.push(o),o=t}else o.content+=e;else{r.advance(),2===o.type&&(o=s.pop());const n=_k(e,t);if(o.type===n||5===o.type&&6===n)o=s.pop();else{const e={type:n,children:[]};5===n&&(e.index=i,i++),o.children.push(e),s.push(o),o=e}}}return 2===o.type&&(o=s.pop()),s.length,n}(e,!!t.renderCodeSegments),t.actionHandler,t.renderCodeSegments),n}function pk(e){const t=e.inline?"span":"div",n=document.createElement(t);return e.className&&(n.className=e.className),n}hk=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,ad)],hk);class mk{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function fk(e,t,n,i){let o;if(2===t.type)o=document.createTextNode(t.content||"");else if(3===t.type)o=document.createElement("b");else if(4===t.type)o=document.createElement("i");else if(7===t.type&&i)o=document.createElement("code");else if(5===t.type&&n){const e=document.createElement("a");n.disposables.add(_s(e,"click",(e=>{n.callback(String(t.index),e)}))),o=e}else 8===t.type?o=document.createElement("br"):1===t.type&&(o=e);o&&e!==o&&e.appendChild(o),o&&Array.isArray(t.children)&&t.children.forEach((e=>{fk(o,e,n,i)}))}function _k(e,t){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return t?7:0;default:return 0}}const vk=new RegExp(`(\\\\)?\\$\\((${ka.iconNameExpression}(?:${ka.iconModifierExpression})?)\\)`,"g");function bk(e){const t=new Array;let n,i=0,o=0;for(;null!==(n=vk.exec(e));){o=n.index||0,ie.length)&&(t=e.length);for(var n=0,i=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.defaults={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var s=/[&<>"']/,r=/[&<>"']/g,l=/[<>"']|&(?!#?\w+;)/,a=/[<>"']|&(?!#?\w+;)/g,d={"&":"&","<":"<",">":">",'"':""","'":"'"},u=function(e){return d[e]};function c(e,t){if(t){if(s.test(e))return e.replace(r,u)}else if(l.test(e))return e.replace(a,u);return e}var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function g(e){return e.replace(h,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var p=/(^|[^\[])\^/g;function m(e,t){e="string"==typeof e?e:e.source,t=t||"";var n={replace:function(t,i){return i=(i=i.source||i).replace(p,"$1"),e=e.replace(t,i),n},getRegex:function(){return new RegExp(e,t)}};return n}var f=/[^\w:]/g,_=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function v(e,t,n){if(e){var i;try{i=decodeURIComponent(g(n)).replace(f,"").toLowerCase()}catch(e){return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}t&&!_.test(n)&&(n=function(e,t){b[" "+e]||(w.test(e)?b[" "+e]=e+"/":b[" "+e]=L(e,"/",!0));var n=-1===(e=b[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(C,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(y,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}var b={},w=/^[^:]+:\/*[^/]*$/,C=/^([^:]+:)[\s\S]*$/,y=/^([^:]+:\/*[^/]*)[\s\S]*$/,S={exec:function(){}};function x(e){for(var t,n,i=1;i=0&&"\\"===n[o];)i=!i;return i?"|":" |"})).split(/ \|/),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function E(e,t,n,i){var o=t.href,s=t.title?c(t.title):null,r=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){i.state.inLink=!0;var l={type:"link",raw:n,href:o,title:s,text:r,tokens:i.inlineTokens(r)};return i.state.inLink=!1,l}return{type:"image",raw:n,href:o,title:s,text:c(r)}}var I=function(){function t(t){this.options=t||e.defaults}var n=t.prototype;return n.space=function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}},n.code=function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:L(n,"\n")}}},n.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],i=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var i=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=i.length?e.slice(i.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:i}}},n.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var i=L(n,"#");this.options.pedantic?n=i.trim():i&&!/ $/.test(i)||(n=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}},n.hr=function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}},n.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(n,[]),text:n}}},n.list=function(e){var t=this.rules.block.list.exec(e);if(t){var n,o,s,r,l,a,d,u,c,h,g,p,m=t[1].trim(),f=m.length>1,_={type:"list",raw:"",ordered:f,start:f?+m.slice(0,-1):"",loose:!1,items:[]};m=f?"\\d{1,9}\\"+m.slice(-1):"\\"+m,this.options.pedantic&&(m=f?m:"[*+-]");for(var v=new RegExp("^( {0,3}"+m+")((?:[\t ][^\\n]*)?(?:\\n|$))");e&&(p=!1,t=v.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),u=t[2].split("\n",1)[0],c=e.split("\n",1)[0],this.options.pedantic?(r=2,g=u.trimLeft()):(r=(r=t[2].search(/[^ ]/))>4?1:r,g=u.slice(r),r+=t[1].length),a=!1,!u&&/^ *$/.test(c)&&(n+=c+"\n",e=e.substring(c.length+1),p=!0),!p)for(var b=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),w=new RegExp("^ {0,"+Math.min(3,r-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),C=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:```|~~~)"),y=new RegExp("^ {0,"+Math.min(3,r-1)+"}#");e&&(u=h=e.split("\n",1)[0],this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!C.test(u))&&!y.test(u)&&!b.test(u)&&!w.test(e);){if(u.search(/[^ ]/)>=r||!u.trim())g+="\n"+u.slice(r);else{if(a)break;g+="\n"+u}a||u.trim()||(a=!0),n+=h+"\n",e=e.substring(h.length+1)}_.loose||(d?_.loose=!0:/\n *\n *$/.test(n)&&(d=!0)),this.options.gfm&&(o=/^\[[ xX]\] /.exec(g))&&(s="[ ] "!==o[0],g=g.replace(/^\[[ xX]\] +/,"")),_.items.push({type:"list_item",raw:n,task:!!o,checked:s,loose:!1,text:g}),_.raw+=n}_.items[_.items.length-1].raw=n.trimRight(),_.items[_.items.length-1].text=g.trimRight(),_.raw=_.raw.trimRight();var S=_.items.length;for(l=0;l1)return!0;return!1}));!_.loose&&x.length&&k&&(_.loose=!0,_.items[l].loose=!0)}return _}},n.html=function(e){var t=this.rules.block.html.exec(e);if(t){var n={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};if(this.options.sanitize){var i=this.options.sanitizer?this.options.sanitizer(t[0]):c(t[0]);n.type="paragraph",n.text=i,n.tokens=this.lexer.inline(i)}return n}},n.def=function(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{type:"def",tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}},n.table=function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:k(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var i,o,s,r,l=n.align.length;for(i=0;i/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):c(t[0]):t[0]}},n.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var i=L(n.slice(0,-1),"\\");if((n.length-i.length)%2==0)return}else{var o=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,i=0,o=0;o-1){var s=(0===t[0].indexOf("!")?5:4)+t[1].length+o;t[2]=t[2].substring(0,o),t[0]=t[0].substring(0,s).trim(),t[3]=""}}var r=t[2],l="";if(this.options.pedantic){var a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);a&&(r=a[1],l=a[3])}else l=t[3]?t[3].slice(1,-1):"";return r=r.trim(),/^$/.test(n)?r.slice(1):r.slice(1,-1)),E(t,{href:r?r.replace(this.rules.inline._escapes,"$1"):r,title:l?l.replace(this.rules.inline._escapes,"$1"):l},t[0],this.lexer)}},n.reflink=function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var i=(n[2]||n[1]).replace(/\s+/g," ");if(!(i=t[i.toLowerCase()])||!i.href){var o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return E(n,i,n[0],this.lexer)}},n.emStrong=function(e,t,n){void 0===n&&(n="");var i=this.rules.inline.emStrong.lDelim.exec(e);if(i&&(!i[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var o=i[1]||i[2]||"";if(!o||o&&(""===n||this.rules.inline.punctuation.exec(n))){var s,r,l=i[0].length-1,a=l,d=0,u="*"===i[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,t=t.slice(-1*e.length+l);null!=(i=u.exec(t));)if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6])if(r=s.length,i[3]||i[4])a+=r;else if(!((i[5]||i[6])&&l%3)||(l+r)%3){if(!((a-=r)>0)){if(r=Math.min(r,r+a+d),Math.min(l,r)%2){var c=e.slice(1,l+i.index+r);return{type:"em",raw:e.slice(0,l+i.index+r+1),text:c,tokens:this.lexer.inlineTokens(c)}}var h=e.slice(2,l+i.index+r-1);return{type:"strong",raw:e.slice(0,l+i.index+r+1),text:h,tokens:this.lexer.inlineTokens(h)}}}else d+=r}}},n.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),i=/[^ ]/.test(n),o=/^ /.test(n)&&/ $/.test(n);return i&&o&&(n=n.substring(1,n.length-1)),n=c(n,!0),{type:"codespan",raw:t[0],text:n}}},n.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},n.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}},n.autolink=function(e,t){var n,i,o=this.rules.inline.autolink.exec(e);if(o)return i="@"===o[2]?"mailto:"+(n=c(this.options.mangle?t(o[1]):o[1])):n=c(o[1]),{type:"link",raw:o[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}},n.url=function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var i,o;if("@"===n[2])o="mailto:"+(i=c(this.options.mangle?t(n[0]):n[0]));else{var s;do{s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(s!==n[0]);i=c(n[0]),o="www."===n[1]?"http://"+i:i}return{type:"link",raw:n[0],text:i,href:o,tokens:[{type:"text",raw:i,text:i}]}}},n.inlineText=function(e,t){var n,i=this.rules.inline.text.exec(e);if(i)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):c(i[0]):i[0]:c(this.options.smartypants?t(i[0]):i[0]),{type:"text",raw:i[0],text:n}},t}(),M={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:S,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};M.def=m(M.def).replace("label",M._label).replace("title",M._title).getRegex(),M.bullet=/(?:[*+-]|\d{1,9}[.)])/,M.listItemStart=m(/^( *)(bull) */).replace("bull",M.bullet).getRegex(),M.list=m(M.list).replace(/bull/g,M.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+M.def.source+")").getRegex(),M._tag="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|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",M._comment=/|$)/,M.html=m(M.html,"i").replace("comment",M._comment).replace("tag",M._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),M.paragraph=m(M._paragraph).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M._tag).getRegex(),M.blockquote=m(M.blockquote).replace("paragraph",M.paragraph).getRegex(),M.normal=x({},M),M.gfm=x({},M.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),M.gfm.table=m(M.gfm.table).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M._tag).getRegex(),M.gfm.paragraph=m(M._paragraph).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",M.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M._tag).getRegex(),M.pedantic=x({},M.normal,{html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",M._comment).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:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:S,paragraph:m(M.normal._paragraph).replace("hr",M.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",M.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var T={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:S,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:S,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),i+="&#"+n+";";return i}T._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",T.punctuation=m(T.punctuation).replace(/punctuation/g,T._punctuation).getRegex(),T.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,T.escapedEmSt=/\\\*|\\_/g,T._comment=m(M._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),T.emStrong.lDelim=m(T.emStrong.lDelim).replace(/punct/g,T._punctuation).getRegex(),T.emStrong.rDelimAst=m(T.emStrong.rDelimAst,"g").replace(/punct/g,T._punctuation).getRegex(),T.emStrong.rDelimUnd=m(T.emStrong.rDelimUnd,"g").replace(/punct/g,T._punctuation).getRegex(),T._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,T._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,T._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])?)+(?![-_])/,T.autolink=m(T.autolink).replace("scheme",T._scheme).replace("email",T._email).getRegex(),T._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,T.tag=m(T.tag).replace("comment",T._comment).replace("attribute",T._attribute).getRegex(),T._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,T._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,T._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,T.link=m(T.link).replace("label",T._label).replace("href",T._href).replace("title",T._title).getRegex(),T.reflink=m(T.reflink).replace("label",T._label).replace("ref",M._label).getRegex(),T.nolink=m(T.nolink).replace("ref",M._label).getRegex(),T.reflinkSearch=m(T.reflinkSearch,"g").replace("reflink",T.reflink).replace("nolink",T.nolink).getRegex(),T.normal=x({},T),T.pedantic=x({},T.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",T._label).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",T._label).getRegex()}),T.gfm=x({},T.normal,{escape:m(T.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),!(i=t[t.length-1])||"paragraph"!==i.type&&"text"!==i.type?t.push(n):(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),!(i=t[t.length-1])||"paragraph"!==i.type&&"text"!==i.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(i.raw+="\n"+n.raw,i.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else if(o=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),i=void 0;r.options.extensions.startBlock.forEach((function(e){"number"==typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}(),this.state.top&&(n=this.tokenizer.paragraph(o)))i=t[t.length-1],s&&"paragraph"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(n),s=o.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(n);else if(e){var l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}return this.state.top=!0,t},s.inline=function(e,t){return void 0===t&&(t=[]),this.inlineQueue.push({src:e,tokens:t}),t},s.inlineTokens=function(e,t){var n,i,o,s=this;void 0===t&&(t=[]);var r,l,a,d=e;if(this.tokens.links){var u=Object.keys(this.tokens.links);if(u.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(d));)u.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(d=d.slice(0,r.index)+"["+N("a",r[0].length-2)+"]"+d.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(d));)d=d.slice(0,r.index)+"["+N("a",r[0].length-2)+"]"+d.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.escapedEmSt.exec(d));)d=d.slice(0,r.index)+"++"+d.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(l||(a=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(i){return!!(n=i.call({lexer:s},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)}))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===n.type&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===n.type&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,d,a))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e,R))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e,R))){if(o=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;s.options.extensions.startInline.forEach((function(e){"number"==typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}(),n=this.tokenizer.inlineText(o,A))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(a=n.raw.slice(-1)),l=!0,(i=t[t.length-1])&&"text"===i.type?(i.raw+=n.raw,i.text+=n.text):t.push(n);else if(e){var c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}throw new Error(c)}}else e=e.substring(n.raw.length),t.push(n);return t},i=n,o=[{key:"rules",get:function(){return{block:M,inline:T}}}],null&&t(i.prototype,null),o&&t(i,o),Object.defineProperty(i,"prototype",{writable:!1}),n}(),O=function(){function t(t){this.options=t||e.defaults}var n=t.prototype;return n.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,i);null!=o&&o!==e&&(n=!0,e=o)}return e=e.replace(/\n$/,"")+"\n",i?'
    '+(n?e:c(e,!0))+"
    \n":"
    "+(n?e:c(e,!0))+"
    \n"},n.blockquote=function(e){return"
    \n"+e+"
    \n"},n.html=function(e){return e},n.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},n.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},n.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},n.listitem=function(e){return"
  • "+e+"
  • \n"},n.checkbox=function(e){return" "},n.paragraph=function(e){return"

    "+e+"

    \n"},n.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},n.tablerow=function(e){return"\n"+e+"\n"},n.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},n.strong=function(e){return""+e+""},n.em=function(e){return""+e+""},n.codespan=function(e){return""+e+""},n.br=function(){return this.options.xhtml?"
    ":"
    "},n.del=function(e){return""+e+""},n.link=function(e,t,n){if(null===(e=v(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"+n+""},n.image=function(e,t,n){if(null===(e=v(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">")},n.text=function(e){return e},t}(),F=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),B=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),W=function(){function t(t){this.options=t||e.defaults,this.options.renderer=this.options.renderer||new O,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new F,this.slugger=new B}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var n=t.prototype;return n.parse=function(e,t){void 0===t&&(t=!0);var n,i,o,s,r,l,a,d,u,c,h,p,m,f,_,v,b,w,C,y="",S=e.length;for(n=0;n0&&"paragraph"===_.tokens[0].type?(_.tokens[0].text=w+" "+_.tokens[0].text,_.tokens[0].tokens&&_.tokens[0].tokens.length>0&&"text"===_.tokens[0].tokens[0].type&&(_.tokens[0].tokens[0].text=w+" "+_.tokens[0].tokens[0].text)):_.tokens.unshift({type:"text",text:w}):f+=w),f+=this.parse(_.tokens,m),u+=this.renderer.listitem(f,b,v);y+=this.renderer.list(u,h,p);continue;case"html":y+=this.renderer.html(c.text);continue;case"paragraph":y+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(u=c.tokens?this.parseInline(c.tokens):c.text;n+1An error occurred:

    "+c(e.message+"",!0)+"
    ";throw e}try{var a=P.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(V.walkTokens(a,t.walkTokens)).then((function(){return W.parse(a,t)})).catch(l);V.walkTokens(a,t.walkTokens)}return W.parse(a,t)}catch(e){l(e)}}V.options=V.setOptions=function(t){var n;return x(V.defaults,t),n=V.defaults,e.defaults=n,V},V.getDefaults=o,V.defaults=e.defaults,V.use=function(){for(var e=arguments.length,t=new Array(e),n=0;nAn error occurred:

    "+c(e.message+"",!0)+"
    ";throw e}},V.Parser=W,V.parser=W.parse,V.Renderer=O,V.TextRenderer=F,V.Lexer=P,V.lexer=P.lex,V.Tokenizer=I,V.Slugger=B,V.parse=V;var H=V.options,z=V.setOptions,U=V.use,K=V.walkTokens,j=V.parseInline,q=V,$=W.parse,G=P.lex;e.Lexer=P,e.Parser=W,e.Renderer=O,e.Slugger=B,e.TextRenderer=F,e.Tokenizer=I,e.getDefaults=o,e.lexer=G,e.marked=V,e.options=H,e.parse=q,e.parseInline=j,e.parser=$,e.setOptions=z,e.use=U,e.walkTokens=K,Object.defineProperty(e,"__esModule",{value:!0})},e.amd?e(0,n):"object"==typeof exports?n(exports):n((t="undefined"!=typeof globalThis?globalThis:t||self).marked={})}(),Sk.Lexer||exports.Lexer,Sk.Parser||exports.Parser,Sk.Renderer||exports.Renderer,Sk.Slugger||exports.Slugger,Sk.TextRenderer||exports.TextRenderer,Sk.Tokenizer||exports.Tokenizer,Sk.getDefaults||exports.getDefaults,Sk.lexer||exports.lexer;var xk=Sk.marked||exports.marked;function kk(e){let t=JSON.parse(e);return t=Dk(t),t}function Lk(e,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function Dk(e,t=0){if(!e||t>200)return e;if("object"==typeof e){switch(e.$mid){case 1:return Io.revive(e);case 2:return new RegExp(e.source,e.flags);case 17:return new Date(e.source)}if(e instanceof Hh||e instanceof Uint8Array)return e;if(Array.isArray(e))for(let n=0;n{let i=[],o=[];return e&&(({href:e,dimensions:i}=function(e){const t=[],n=e.split("|").map((e=>e.trim()));e=n[0];const i=n[1];if(i){const e=/height=(\d+)/.exec(i),n=/width=(\d+)/.exec(i),o=e?e[1]:"",s=n?n[1]:"",r=isFinite(parseInt(s)),l=isFinite(parseInt(o));r&&t.push(`width="${s}"`),l&&t.push(`height="${o}"`)}return{href:e,dimensions:t}}(e)),o.push(`src="${id(e)}"`)),n&&o.push(`alt="${id(n)}"`),t&&o.push(`title="${id(t)}"`),i.length&&(o=o.concat(i)),""},paragraph:e=>`

    ${e}

    `,link:(e,t,n)=>"string"!=typeof e?"":(e===n&&(n=od(n)),t="string"==typeof t?id(od(t)):"",`/g,">").replace(/"/g,""").replace(/'/g,"'")}" title="${t||e}" draggable="false">${n}`)});function Ek(e,t={},n={}){var i,o;const s=new rt;let r=!1;const l=pk(t),a=function(t){let n;try{n=kk(decodeURIComponent(t))}catch(e){}return n?(n=pc(n,(t=>e.uris&&e.uris[t]?Io.revive(e.uris[t]):void 0)),encodeURIComponent(JSON.stringify(n))):t},d=function(t,n){const i=e.uris&&e.uris[t];let o=Io.revive(i);return n?t.startsWith(Ho.data+":")?t:(o||(o=Io.parse(t)),qo.uriToBrowserUri(o).toString(!0)):o?Io.parse(t).toString()===o.toString()?t:(o.query&&(o=o.with({query:a(o.query)})),o.toString()):t},u=new xk.Renderer;u.image=Nk.image,u.link=Nk.link,u.paragraph=Nk.paragraph;const c=[],h=[];if(t.codeBlockRendererSync?u.code=(e,n)=>{const i=yk.nextId(),o=t.codeBlockRendererSync(Ik(n),e);return h.push([i,o]),`
    ${si(e)}
    `}:t.codeBlockRenderer&&(u.code=(e,n)=>{const i=yk.nextId(),o=t.codeBlockRenderer(Ik(n),e);return c.push(o.then((e=>[i,e]))),`
    ${si(e)}
    `}),t.actionHandler){const n=function(n){let i=n.target;if("A"===i.tagName||(i=i.parentElement,i&&"A"===i.tagName))try{let o=i.dataset.href;o&&(e.baseUri&&(o=Mk(Io.from(e.baseUri),o)),t.actionHandler.callback(o,n))}catch(e){xe(e)}finally{n.preventDefault()}},i=t.actionHandler.disposables.add(new US(l,"click")),o=t.actionHandler.disposables.add(new US(l,"auxclick"));t.actionHandler.disposables.add(ft.any(i.event,o.event)((e=>{const t=new $e(is(l),e);(t.leftButton||t.middleButton)&&n(t)}))),t.actionHandler.disposables.add(ms(l,"keydown",(e=>{const t=new Ue(e);(t.equals(10)||t.equals(3))&&n(t)})))}e.supportHtml||(n.sanitizer=t=>(e.isTrusted?t.match(/^(]+>)|(<\/\s*span>)$/):void 0)?t:"",n.sanitize=!0,n.silent=!0),n.renderer=u;let g,p=null!==(i=e.value)&&void 0!==i?i:"";if(p.length>1e5&&(p=`${p.substr(0,1e5)}…`),e.supportThemeIcons&&(p=p.replace(Na,(e=>`\\${e}`))),t.fillInIncompleteTokens){const e={...xk.defaults,...n},t=function(e){let t,n;for(t=0;t"string"==typeof e?e:e.outerHTML)).join(""));const m=(new DOMParser).parseFromString(Tk(e,g),"text/html");if(m.body.querySelectorAll("img").forEach((t=>{const n=t.getAttribute("src");if(n){let i=n;try{e.baseUri&&(i=Mk(Io.from(e.baseUri),i))}catch(e){}t.src=d(i,!0)}})),m.body.querySelectorAll("a").forEach((t=>{const n=t.getAttribute("href");if(t.setAttribute("href",""),!n||/^data:|javascript:/i.test(n)||/^command:/i.test(n)&&!e.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(n))t.replaceWith(...t.childNodes);else{let i=d(n,!1);e.baseUri&&(i=Mk(Io.from(e.baseUri),n)),t.dataset.href=i}})),l.innerHTML=Tk(e,m.body.innerHTML),c.length>0)Promise.all(c).then((e=>{var n,i;if(r)return;const o=new Map(e),s=l.querySelectorAll("div[data-code]");for(const e of s){const t=o.get(null!==(n=e.dataset.code)&&void 0!==n?n:"");t&&cr(e,t)}null===(i=t.asyncRenderCallback)||void 0===i||i.call(t)}));else if(h.length>0){const e=new Map(h),t=l.querySelectorAll("div[data-code]");for(const n of t){const t=e.get(null!==(o=n.dataset.code)&&void 0!==o?o:"");t&&cr(n,t)}}if(t.asyncRenderCallback)for(const e of l.getElementsByTagName("img")){const n=s.add(ms(e,"load",(()=>{n.dispose(),t.asyncRenderCallback()})))}return{element:l,dispose:()=>{r=!0,s.dispose()}}}function Ik(e){if(!e)return"";const t=e.split(/[\s+|:|,|\{|\?]/,1);return t.length?t[0]:e}function Mk(e,t){return/^\w[\w\d+.-]*:/.test(t)?t:e.path.endsWith("/")?Ya(e,t).toString():Ya(qa(e),t).toString()}function Tk(e,t){const{config:n,allowedSchemes:i}=function(e){const t=[Ho.http,Ho.https,Ho.mailto,Ho.data,Ho.file,Ho.vscodeFileResource,Ho.vscodeRemote,Ho.vscodeRemoteResource];return e.isTrusted&&t.push(Ho.command),{config:{ALLOWED_TAGS:[...Sr],ALLOWED_ATTR:Ak,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:t}}(e);Xn("uponSanitizeAttribute",((e,t)=>{var n;if("style"!==t.attrName&&"class"!==t.attrName){if("INPUT"===e.tagName&&"checkbox"===(null===(n=e.attributes.getNamedItem("type"))||void 0===n?void 0:n.value)){if("type"===t.attrName&&"checkbox"===t.attrValue||"disabled"===t.attrName||"checked"===t.attrName)return void(t.keepAttr=!0);t.keepAttr=!1}}else{if("SPAN"===e.tagName){if("style"===t.attrName)return void(t.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(t.attrValue));if("class"===t.attrName)return void(t.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(t.attrValue))}t.keepAttr=!1}})),Xn("uponSanitizeElement",((e,t)=>{var n,i;"input"===t.tagName&&("checkbox"===(null===(n=e.attributes.getNamedItem("type"))||void 0===n?void 0:n.value)?e.setAttribute("disabled",""):null===(i=e.parentElement)||void 0===i||i.removeChild(e))}));const o=function(e,t=!1){const n=document.createElement("a");return Xn("afterSanitizeAttributes",(i=>{for(const o of["href","src"])if(i.hasAttribute(o)){const s=i.getAttribute(o);if("href"===o&&s.startsWith("#"))continue;if(n.href=s,!e.includes(n.protocol.replace(/:$/,""))){if(t&&"src"===o&&n.href.startsWith("data:"))continue;i.removeAttribute(o)}}})),st((()=>{Qn("afterSanitizeAttributes")}))}(i);try{return Yn(t,{...n,RETURN_TRUSTED_TYPE:!0})}finally{Qn("uponSanitizeAttribute"),o.dispose()}}const Ak=["align","autoplay","alt","checked","class","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","src","style","target","title","type","width","start"];const Rk=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]),Pk=new ei((()=>{const e=new xk.Renderer;return e.code=e=>e,e.blockquote=e=>e,e.html=e=>"",e.heading=(e,t,n)=>e+"\n",e.hr=()=>"",e.list=(e,t)=>e,e.listitem=e=>e+"\n",e.paragraph=e=>e+"\n",e.table=(e,t)=>e+t+"\n",e.tablerow=e=>e,e.tablecell=(e,t)=>e+" ",e.strong=e=>e,e.em=e=>e,e.codespan=e=>e,e.br=()=>"\n",e.del=e=>e,e.image=(e,t,n)=>"",e.text=e=>e,e.link=(e,t,n)=>n,e}));function Ok(e){let t="";return e.forEach((e=>{t+=e.raw})),t}function Fk(e){var t,n;for(let i=0;iBk(e.raw))))return Kk(e)}}}function Bk(e){return!!e.match(/^[^\[]*\]\([^\)]*$/)}function Wk(e,t){const n=Ok(e);return xk.lexer(n+`\n${t}`)}function Vk(e){return qk(e,"`")}function Hk(e){return qk(e,"_")}function zk(e){return qk(e,")")}function Uk(e){return qk(e,'")')}function Kk(e){return qk(e,"](about:blank)")}function jk(e){return qk(e,"__")}function qk(e,t){const n=Ok(Array.isArray(e)?e:[e]);return xk.lexer(n+t)[0]}function $k(e){const t=Ok(e),n=t.split("\n");let i,o=!1;for(let e=0;e0){const e=o?n.slice(0,-1).join("\n"):t,s=!!e.match(/\|\s*$/),r=e+(s?"":"|")+`\n|${" --- |".repeat(i)}`;return xk.lexer(r)}}var Gk=n(7201),Zk={};function Yk(e,t){var n;const i=globalThis.MonacoEnvironment;if(null==i?void 0:i.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(e,t)}catch(e){return void xe(e)}try{return null===(n=o.trustedTypes)||void 0===n?void 0:n.createPolicy(e,t)}catch(e){return void xe(e)}}Zk.styleTagTransform=Vr(),Zk.setAttributes=Or(),Zk.insert=Rr().bind(null,"head"),Zk.domAPI=Tr(),Zk.insertStyleElement=Br(),Ir()(Gk.A,Zk),Gk.A&&Gk.A.locals&&Gk.A.locals;var Xk=n(6835),Qk={};Qk.styleTagTransform=Vr(),Qk.setAttributes=Or(),Qk.insert=Rr().bind(null,"head"),Qk.domAPI=Tr(),Qk.insertStyleElement=Br(),Ir()(Xk.A,Qk),Xk.A&&Xk.A.locals&&Xk.A.locals;class Jk{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=eL(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=eL(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=eL(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=eL(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=eL(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=eL(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=eL(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=eL(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=eL(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=eL(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=eL(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function eL(e){return"number"==typeof e?`${e}px`:e}function tL(e){return new Jk(e)}function nL(e,t){e instanceof Jk?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px")}const iL={getInitialState:()=>TC,tokenizeEncoded:(e,t,n)=>RC(0,n)};function oL(e,t,n,i,o,s,r){let l="
    ",a=i,d=0,u=!0;for(let c=0,h=t.getCount();c0;)r&&u?(g+=" ",u=!1):(g+=" ",u=!0),e--;break}case 60:g+="<",u=!1;break;case 62:g+=">",u=!1;break;case 38:g+="&",u=!1;break;case 0:g+="�",u=!1;break;case 65279:case 8232:case 8233:case 133:g+="�",u=!1;break;case 13:g+="​",u=!1;break;case 32:r&&u?(g+=" ",u=!1):(g+=" ",u=!0);break;default:g+=String.fromCharCode(t),u=!1}}if(l+=`${g}`,h>o||a>=o)break}return l+="
    ",l}function sL(e,t,n){let i='
    ';const o=ci(e);let s=n.getInitialState();for(let e=0,r=o.length;e0&&(i+="
    ");const l=n.tokenizeEncoded(r,!0,s);BC.convertToEndOffset(l.tokens,r.length);const a=new BC(l.tokens,r,t).inflate();let d=0;for(let e=0,t=a.getCount();e${si(r.substring(d,n))}`,d=n}s=l.endState}return i+="
    ",i}const rL=dd("openerService");var lL,aL=function(e,t){return function(n,i){t(n,i,e)}};let dL=lL=class{constructor(e,t,n){this._options=e,this._languageService=t,this._openerService=n,this._onDidRenderAsync=new Ct,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,n){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const i=new rt,o=i.add(Ek(e,{...this._getRenderOptions(e,i),...t},n));return o.element.classList.add("rendered-markdown"),{element:o.element,dispose:()=>i.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(e,t)=>{var n,i,o;let s;e?s=this._languageService.getLanguageIdByLanguageName(e):this._options.editor&&(s=null===(n=this._options.editor.getModel())||void 0===n?void 0:n.getLanguageId()),s||(s=Kg);const r=await async function(e,t,n){if(!n)return sL(t,e.languageIdCodec,iL);const i=await IC.getOrCreate(n);return sL(t,e.languageIdCodec,i||iL)}(this._languageService,t,s),l=document.createElement("span");return l.innerHTML=null!==(o=null===(i=lL._ttpTokenizer)||void 0===i?void 0:i.createHTML(r))&&void 0!==o?o:r,this._options.editor?nL(l,this._options.editor.getOption(50)):this._options.codeBlockFontFamily&&(l.style.fontFamily=this._options.codeBlockFontFamily),void 0!==this._options.codeBlockFontSize&&(l.style.fontSize=this._options.codeBlockFontSize),l},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:t=>uL(this._openerService,t,e.isTrusted),disposables:t}}}};async function uL(e,t,n){try{return await e.open(t,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:cL(n)})}catch(e){return xe(e),!1}}function cL(e){return!0===e||!(!e||!Array.isArray(e.enabledCommands))&&e.enabledCommands}dL._ttpTokenizer=Yk("tokenizeToString",{createHTML:e=>e}),dL=lL=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([aL(1,Sh),aL(2,rL)],dL);var hL,gL=function(e,t){return function(n,i){t(n,i,e)}};let pL=hL=class{static get(e){return e.getContribution(hL.ID)}constructor(e,t,n){this._openerService=n,this._messageWidget=new at,this._messageListeners=new rt,this._mouseOverMessage=!1,this._editor=e,this._visible=hL.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;null===(e=this._message)||void 0===e||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){let n;Zr(nd(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=nd(e)?Ek(e,{actionHandler:{callback:t=>{this.closeMessage(),uL(this._openerService,t,nd(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new mL(this._editor,t,"string"==typeof e?e:this._message.element),this._messageListeners.add(ft.debounce(this._editor.onDidBlurEditorText,((e,t)=>t),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&Ps(Vs(),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(ms(this._messageWidget.value.getDomNode(),or.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(ms(this._messageWidget.value.getDomNode(),or.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((e=>{e.target.position&&(n?n.containsPosition(e.target.position)||this.closeMessage():n=new nc(t.lineNumber-3,1,e.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(mL.fadeOut(this._messageWidget.value))}};pL.ID="editor.contrib.messageController",pL.MESSAGE_VISIBLE=new ou("messageVisible",!1,_(0,"Whether the editor is currently showing an inline message")),pL=hL=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([gL(1,su),gL(2,rL)],pL),qu(new(Hu.bindToContribution(pL.get))({id:"leaveEditorMessage",precondition:pL.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));class mL{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(n),e.getDomNode().removeEventListener("animationend",t)},n=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:n},i){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const o=document.createElement("div");o.classList.add("anchor","top"),this._domNode.appendChild(o);const s=document.createElement("div");"string"==typeof i?(s.classList.add("message"),s.textContent=i):(i.classList.add("message"),s.appendChild(i)),this._domNode.appendChild(s);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),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",2===e)}}Zu(pL.ID,pL,4);const fL=dd("clipboardService"),_L=dd("progressService");Object.freeze({total(){},worked(){},done(){}});class vL{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}}vL.None=Object.freeze({report(){}});const bL=dd("editorProgressService"),wL={ctrlCmd:!1,alt:!1};var CL,yL;!function(e){e[e.Blur=1]="Blur",e[e.Gesture=2]="Gesture",e[e.Other=3]="Other"}(CL||(CL={})),function(e){e[e.NONE=0]="NONE",e[e.FIRST=1]="FIRST",e[e.SECOND=2]="SECOND",e[e.LAST=3]="LAST"}(yL||(yL={})),new class{constructor(e){this.options=e}};const SL=dd("quickInputService");function xL(e,t,n){let i=null,o=null;if("function"==typeof n.value?(i="value",o=n.value,0!==o.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof n.get&&(i="get",o=n.get),!o)throw new Error("not supported");const s=`$memoize$${t}`;n[i]=function(...e){return this.hasOwnProperty(s)||Object.defineProperty(this,s,{configurable:!1,enumerable:!1,writable:!1,value:o.apply(this,e)}),this[s]}}var kL;!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(kL||(kL={}));class LL extends lt{constructor(){super(),this.dispatched=!1,this.targets=new gt,this.ignoreTargets=new gt,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ft.runAndSubscribe(us,(({window:e,disposables:t})=>{t.add(ms(e.document,"touchstart",(e=>this.onTouchStart(e)),{passive:!1})),t.add(ms(e.document,"touchend",(t=>this.onTouchEnd(e,t)))),t.add(ms(e.document,"touchmove",(e=>this.onTouchMove(e)),{passive:!1}))}),{window:o,disposables:this._store}))}static addTarget(e){return LL.isTouchDevice()?(LL.INSTANCE||(LL.INSTANCE=tt(new LL)),st(LL.INSTANCE.targets.push(e))):lt.None}static ignoreTarget(e){return LL.isTouchDevice()?(LL.INSTANCE||(LL.INSTANCE=tt(new LL)),st(LL.INSTANCE.ignoreTargets.push(e))):lt.None}static isTouchDevice(){return"ontouchstart"in o||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let n=0,i=e.targetTouches.length;n=LL.HOLD_DELAY&&Math.abs(r.initialPageX-Ec(r.rollingPageX))<30&&Math.abs(r.initialPageY-Ec(r.rollingPageY))<30){const e=this.newGestureEvent(kL.Contextmenu,r.initialTarget);e.pageX=Ec(r.rollingPageX),e.pageY=Ec(r.rollingPageY),this.dispatchEvent(e)}else if(1===i){const t=Ec(r.rollingPageX),i=Ec(r.rollingPageY),o=Ec(r.rollingTimestamps)-r.rollingTimestamps[0],s=t-r.rollingPageX[0],l=i-r.rollingPageY[0],a=[...this.targets].filter((e=>r.initialTarget instanceof Node&&e.contains(r.initialTarget)));this.inertia(e,a,n,Math.abs(s)/o,s>0?1:-1,t,Math.abs(l)/o,l>0?1:-1,i)}this.dispatchEvent(this.newGestureEvent(kL.End,r.initialTarget)),delete this.activeTouches[s.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const n=document.createEvent("CustomEvent");return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(e){if(e.type===kL.Tap){const t=(new Date).getTime();let n=0;n=t-this._lastSetTapCountTime>LL.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=t,e.tapCount=n}else e.type!==kL.Change&&e.type!==kL.Contextmenu||(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const t of this.ignoreTargets)if(t.contains(e.initialTarget))return;const t=[];for(const n of this.targets)if(n.contains(e.initialTarget)){let i=0,o=e.initialTarget;for(;o&&o!==n;)i++,o=o.parentElement;t.push([i,n])}t.sort(((e,t)=>e[0]-t[0]));for(const[n,i]of t)i.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,n,i,o,s,r,l,a){this.handle=Cs(e,(()=>{const d=Date.now(),u=d-n;let c=0,h=0,g=!0;i+=LL.SCROLL_FRICTION*u,r+=LL.SCROLL_FRICTION*u,i>0&&(g=!1,c=o*i*u),r>0&&(g=!1,h=l*r*u);const p=this.newGestureEvent(kL.Change);p.translationX=c,p.translationY=h,t.forEach((e=>e.dispatchEvent(p))),g||this.inertia(e,t,d,i,o,s+c,r,l,a+h)}))}onTouchMove(e){const t=Date.now();for(let n=0,i=e.changedTouches.length;n3&&(o.rollingPageX.shift(),o.rollingPageY.shift(),o.rollingTimestamps.shift()),o.rollingPageX.push(i.pageX),o.rollingPageY.push(i.pageY),o.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}LL.SCROLL_FRICTION=-.005,LL.HOLD_DELAY=700,LL.CLEAR_TAP_COUNT_TIME=400,function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);s>3&&r&&Object.defineProperty(t,n,r)}([xL],LL,"isTouchDevice",null);let DL=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const NL=new ei((()=>DL("mouse",!1))),EL=new ei((()=>DL("element",!1)));function IL(e){return"element"===e?EL.value:NL.value}function ML(){return DL("element",!0)}class TL{constructor(e,t,n){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=n}async update(e,t,n){var i;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let o;if(void 0===e||la(e)||e instanceof HTMLElement)o=e;else if(va(e.markdown)){this._hoverWidget||this.show(_(0,"Loading..."),t),this._cancellationTokenSource=new Tt;const n=this._cancellationTokenSource.token;if(o=await e.markdown(n),void 0===o&&(o=e.markdownNotSupportedFallback),this.isDisposed||n.isCancellationRequested)return}else o=null!==(i=e.markdown)&&void 0!==i?i:e.markdownNotSupportedFallback;this.show(o,t,n)}show(e,t,n){const i=this._hoverWidget;if(this.hasContent(e)){const o={content:e,target:this.target,appearance:{showPointer:"element"===this.hoverDelegate.placement,skipFadeInAnimation:!this.fadeInAnimation||!!i},position:{hoverPosition:2},...n};this._hoverWidget=this.hoverDelegate.showHover(o,t)}null==i||i.dispose()}hasContent(e){return!(!e||nd(e)&&!e.value)}get isDisposed(){var e;return null===(e=this._hoverWidget)||void 0===e?void 0:e.isDisposed}dispose(){var e,t;null===(e=this._hoverWidget)||void 0===e||e.dispose(),null===(t=this._cancellationTokenSource)||void 0===t||t.dispose(!0),this._cancellationTokenSource=void 0}}function AL(e,t){for(t=null!=t?t:is(e).document.body;!e.hasAttribute("custom-hover")&&e!==t;)e=e.parentElement;return e}function RL(e,t,n,i){let o,s;t.setAttribute("custom-hover","true"),""!==t.title&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),console.trace("Stack trace:",t.title),t.title="");const r=(t,n)=>{var i;const r=void 0!==s;t&&(null==s||s.dispose(),s=void 0),n&&(null==o||o.dispose(),o=void 0),r&&(null===(i=e.onDidHideHover)||void 0===i||i.call(e),s=void 0)},l=(o,r,l)=>new Ut((async()=>{s&&!s.isDisposed||(s=new TL(e,l||t,o>0),await s.update("function"==typeof n?n():n,r,i))}),o);let a=!1;const d=ms(t,or.MOUSE_DOWN,(()=>{a=!0,r(!0,!0)}),!0),u=ms(t,or.MOUSE_UP,(()=>{a=!1}),!0),c=ms(t,or.MOUSE_LEAVE,(e=>{a=!1,r(!1,e.fromElement===t)}),!0),h=ms(t,or.MOUSE_OVER,(n=>{if(o)return;const i=new rt,s={targetElements:[t],dispose:()=>{}};if(void 0===e.placement||"mouse"===e.placement){const e=e=>{s.x=e.x+10,e.target instanceof HTMLElement&&AL(e.target,t)!==t&&r(!0,!0)};i.add(ms(t,or.MOUSE_MOVE,e,!0))}o=i,n.target instanceof HTMLElement&&AL(n.target,t)!==t||i.add(l(e.delay,!1,s))}),!0);let g;const p=t.tagName.toLowerCase();return"input"!==p&&"textarea"!==p&&(g=ms(t,or.FOCUS,(()=>{if(a||o)return;const n={targetElements:[t],dispose:()=>{}},i=new rt;i.add(ms(t,or.BLUR,(()=>r(!0,!0)),!0)),i.add(l(e.delay,!1,n)),o=i}),!0)),{show:e=>{r(!1,!0),l(0,e)},hide:()=>{r(!0,!0)},update:async(e,t)=>{n=e,await(null==s?void 0:s.update(n,void 0,t))},dispose:()=>{h.dispose(),c.dispose(),d.dispose(),u.dispose(),null==g||g.dispose(),r(!0,!0)}}}var PL=n(8880),OL={};OL.styleTagTransform=Vr(),OL.setAttributes=Or(),OL.insert=Rr().bind(null,"head"),OL.domAPI=Tr(),OL.insertStyleElement=Br(),Ir()(PL.A,OL),PL.A&&PL.A.locals&&PL.A.locals,lh.white.toString(),lh.white.toString();class FL extends lt{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new Ct),this._onDidEscape=this._register(new Ct),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const n=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,i=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=i||"",this._element.style.backgroundColor=n||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),"string"==typeof t.title&&this.setTitle(t.title),"string"==typeof t.ariaLabel&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(LL.addTarget(this._element)),[or.CLICK,kL.Tap].forEach((e=>{this._register(ms(this._element,e,(e=>{this.enabled?this._onDidClick.fire(e):rr(e)})))})),this._register(ms(this._element,or.KEY_DOWN,(e=>{const t=new Ue(e);let n=!1;this.enabled&&(t.equals(3)||t.equals(10))?(this._onDidClick.fire(e),n=!0):t.equals(9)&&(this._onDidEscape.fire(e),this._element.blur(),n=!0),n&&rr(t,!0)}))),this._register(ms(this._element,or.MOUSE_OVER,(e=>{this._element.classList.contains("disabled")||this.updateBackground(!0)}))),this._register(ms(this._element,or.MOUSE_OUT,(e=>{this.updateBackground(!1)}))),this.focusTracker=this._register(ar(this._element)),this._register(this.focusTracker.onDidFocus((()=>{this.enabled&&this.updateBackground(!0)}))),this._register(this.focusTracker.onDidBlur((()=>{this.enabled&&this.updateBackground(!1)})))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let n of bk(e))if("string"==typeof n){if(n=n.trim(),""===n)continue;const e=document.createElement("span");e.textContent=n,t.push(e)}else t.push(n);return t}updateBackground(e){let t;t=this.options.secondary?e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){var t,n,i;if(this._label===e)return;if(nd(this._label)&&nd(e)&&((n=this._label)===(i=e)||n&&i&&n.value===i.value&&n.isTrusted===i.isTrusted&&n.supportThemeIcons===i.supportThemeIcons&&n.supportHtml===i.supportHtml&&(n.baseUri===i.baseUri||n.baseUri&&i.baseUri&&za(Io.from(n.baseUri),Io.from(i.baseUri)))))return;this._element.classList.add("monaco-text-button");const o=this.options.supportShortLabel?this._labelElement:this._element;if(nd(e)){const n=Ek(e,{inline:!0});n.dispose();const i=null===(t=n.element.querySelector("p"))||void 0===t?void 0:t.innerHTML;if(i){const e=Yn(i,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});o.innerHTML=e}else cr(o)}else this.options.supportIcons?cr(o,...this.getContentElements(e)):o.textContent=e;let s="";"string"==typeof this.options.title?s=this.options.title:this.options.title&&(s=function(e){return"string"==typeof e?e:function(e){var t;let n=null!==(t=e.value)&&void 0!==t?t:"";n.length>1e5&&(n=`${n.substr(0,1e5)}…`);const i=xk.parse(n,{renderer:Pk.value}).replace(/&(#\d+|[a-zA-Z]+);/g,(e=>{var t;return null!==(t=Rk.get(e))&&void 0!==t?t:e}));return Tk({isTrusted:!1},i).toString()}(e)}(e)),this.setTitle(s),"string"==typeof this.options.ariaLabel?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",s),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...ka.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){var t;this._hover||""===e?this._hover&&this._hover.update(e):this._hover=this._register(RL(null!==(t=this.options.hoverDelegate)&&void 0!==t?t:IL("mouse"),this._element,e))}}var BL=n(9926),WL={};WL.styleTagTransform=Vr(),WL.setAttributes=Or(),WL.insert=Rr().bind(null,"head"),WL.domAPI=Tr(),WL.insertStyleElement=Br(),Ir()(BL.A,WL),BL.A&&BL.A.locals&&BL.A.locals;const VL=dd("contextViewService"),HL=dd("contextMenuService"),zL=dd("keybindingService");var UL,KL=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},jL=function(e,t){return function(n,i){t(n,i,e)}};let qL=UL=class extends lt{constructor(e,t,n,i,o,s,r,l,a,d){super(),this.typeId=e,this.editor=t,this.showCommand=i,this.range=o,this.edits=s,this.onSelectNewEdit=r,this._contextMenuService=l,this._keybindingService=d,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=n.bindTo(a),this.visibleContext.set(!0),this._register(st((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(st((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((e=>{o.containsPosition(e.position)||this.dispose()}))),this._register(ft.runAndSubscribe(d.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){var e;const t=null===(e=this._keybindingService.lookupKeybinding(this.showCommand.id))||void 0===e?void 0:e.getLabel();this.button.element.title=this.showCommand.label+(t?` (${t})`:"")}create(){this.domNode=mr(".post-edit-widget"),this.button=this._register(new FL(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(ms(this.domNode,or.CLICK,(()=>this.showSelector())))}getId(){return UL.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=Es(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map(((e,t)=>bd({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}})))})}};qL.baseId="editor.widget.postEditWidget",qL=UL=KL([jL(7,HL),jL(8,su),jL(9,zL)],qL);let $L=class extends lt{constructor(e,t,n,i,o,s){super(),this._id=e,this._editor=t,this._visibleContext=n,this._showCommand=i,this._instantiationService=o,this._bulkEditService=s,this._currentWidget=this._register(new at),this._register(ft.any(t.onDidChangeModel,t.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(e,t,n,i,o){const s=this._editor.getModel();if(!s||!e.length)return;const r=t.allEdits.at(t.activeEditIndex);if(!r)return;const l=await i(r,o),a=ek(s.uri,e,l),d=e[0],u=s.deltaDecorations([],[{range:d,options:{description:"paste-line-suffix",stickiness:0}}]);let c,h;try{c=await this._bulkEditService.apply(a,{editor:this._editor,token:o}),h=s.getDecorationRange(u[0])}finally{s.deltaDecorations(u,[])}n&&c.isApplied&&t.allEdits.length>1&&this.show(null!=h?h:d,t,(async s=>{const r=this._editor.getModel();r&&(await r.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:s,allEdits:t.allEdits},n,i,o))}))}show(e,t,n){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(qL,this._id,this._editor,this._visibleContext,this._showCommand,e,t,n))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;null===(e=this._currentWidget.value)||void 0===e||e.showSelector()}};$L=KL([jL(4,ad),jL(5,fx)],$L);var GL,ZL=function(e,t){return function(n,i){t(n,i,e)}};const YL="editor.changePasteType",XL=new ou("pasteWidgetVisible",!1,_(0,"Whether the paste widget is showing")),QL="application/vnd.code.copyMetadata";let JL=GL=class extends lt{static get(e){return e.getContribution(GL.ID)}constructor(e,t,n,i,o,s,r){super(),this._bulkEditService=n,this._clipboardService=i,this._languageFeaturesService=o,this._quickInputService=s,this._progressService=r,this._editor=e;const l=e.getContainerDomNode();this._register(ms(l,"copy",(e=>this.handleCopy(e)))),this._register(ms(l,"cut",(e=>this.handleCopy(e)))),this._register(ms(l,"paste",(e=>this.handlePaste(e)),!0)),this._pasteProgressManager=this._register(new hk("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance($L,"pasteIntoEditor",e,XL,{id:YL,label:_(0,"Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Us().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled&&!this._editor.getOption(91)}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var t,n;if(!this._editor.hasTextFocus())return;if(q&&this._clipboardService.writeResources([]),!e.clipboardData||!this.isPasteAsEnabled())return;const i=this._editor.getModel(),o=this._editor.getSelections();if(!i||!(null==o?void 0:o.length))return;const s=this._editor.getOption(37);let r=o;const l=1===o.length&&o[0].isEmpty();if(l){if(!s)return;r=[new nc(r[0].startLineNumber,1,r[0].startLineNumber,1+i.getLineLength(r[0].startLineNumber))]}const a=null===(t=this._editor._getViewModel())||void 0===t?void 0:t.getPlainTextToCopy(o,s,z),d={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:l,mode:null},u=this._languageFeaturesService.documentPasteEditProvider.ordered(i).filter((e=>!!e.prepareDocumentPaste));if(!u.length)return void this.setCopyMetadata(e.clipboardData,{defaultPastePayload:d});const c=hx(e.clipboardData),h=u.flatMap((e=>{var t;return null!==(t=e.copyMimeTypes)&&void 0!==t?t:[]})),g=nx();this.setCopyMetadata(e.clipboardData,{id:g,providerCopyMimeTypes:h,defaultPastePayload:d});const p=Pt((async e=>{const t=Oc(await Promise.all(u.map((async t=>{try{return await t.prepareDocumentPaste(i,r,c,e)}catch(e){return void console.error(e)}}))));t.reverse();for(const e of t)for(const[t,n]of e)c.replace(t,n);return c}));null===(n=GL._currentCopyOperation)||void 0===n||n.dataTransferPromise.cancel(),GL._currentCopyOperation={handle:g,dataTransferPromise:p}}async handlePaste(e){var t,n,i,o;if(!e.clipboardData||!this._editor.hasTextFocus())return;null===(t=pL.get(this._editor))||void 0===t||t.closeMessage(),null===(n=this._currentPasteOperation)||void 0===n||n.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),r=this._editor.getSelections();if(!(null==r?void 0:r.length)||!s)return;if(!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const l=this.fetchCopyMetadata(e),a=mx(e.clipboardData);a.delete(QL);const d=[...e.clipboardData.types,...null!==(i=null==l?void 0:l.providerCopyMimeTypes)&&void 0!==i?i:[],xg.uriList],u=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((e=>{var t,n;const i=null===(t=this._pasteAsActionContext)||void 0===t?void 0:t.preferred;return!(i&&e.providedPasteEditKinds&&!this.providerMatchesPreference(e,i))&&(null===(n=e.pasteMimeTypes)||void 0===n?void 0:n.some((e=>rx(e,d))))}));u.length?(e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,u,r,a,l):this.doPasteInline(u,r,a,l,e)):(null===(o=this._pasteAsActionContext)||void 0===o?void 0:o.preferred)&&this.showPasteAsNoEditMessage(r,this._pasteAsActionContext.preferred)}showPasteAsNoEditMessage(e,t){var n;null===(n=pL.get(this._editor))||void 0===n||n.showMessage(_(0,"No paste edits for '{0}' found",t instanceof dx?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,n,i,o){const s=Pt((async r=>{const l=this._editor;if(!l.hasModel())return;const a=l.getModel(),d=new rk(l,3,void 0,r);try{if(await this.mergeInDataFromCopy(n,i,d.token),d.token.isCancellationRequested)return;const s=e.filter((e=>this.isSupportedPasteProvider(e,n)));if(!s.length||1===s.length&&s[0]instanceof Px)return this.applyDefaultPasteHandler(n,i,d.token,o);const r={triggerKind:bC.Automatic},u=await this.getPasteEdits(s,n,a,t,r,d.token);if(d.token.isCancellationRequested)return;if(1===u.length&&u[0].provider instanceof Px)return this.applyDefaultPasteHandler(n,i,d.token,o);if(u.length){const e="afterPaste"===l.getOption(85).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:u},e,(async(e,t)=>{var n,i;const o=await(null===(i=(n=e.provider).resolveDocumentPasteEdit)||void 0===i?void 0:i.call(n,e,t));return o&&(e.additionalEdit=o.additionalEdit),e}),d.token)}await this.applyDefaultPasteHandler(n,i,d.token,o)}finally{d.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(t[0].getEndPosition(),_(0,"Running paste handlers. Click to cancel"),s),this._currentPasteOperation=s}showPasteAsPick(e,t,n,i,o){const s=Pt((async r=>{const l=this._editor;if(!l.hasModel())return;const a=l.getModel(),d=new rk(l,3,void 0,r);try{if(await this.mergeInDataFromCopy(i,o,d.token),d.token.isCancellationRequested)return;let s=t.filter((t=>this.isSupportedPasteProvider(t,i,e)));e&&(s=s.filter((t=>this.providerMatchesPreference(t,e))));const r={triggerKind:bC.PasteAs,only:e&&e instanceof dx?e:void 0};let l,u=await this.getPasteEdits(s,i,a,n,r,d.token);if(d.token.isCancellationRequested)return;if(e&&(u=u.filter((t=>e instanceof dx?e.contains(t.kind):e.providerId===t.provider.id))),!u.length)return void(r.only&&this.showPasteAsNoEditMessage(n,r.only));if(e)l=u.at(0);else{const e=await this._quickInputService.pick(u.map((e=>{var t;return{label:e.title,description:null===(t=e.kind)||void 0===t?void 0:t.value,edit:e}})),{placeHolder:_(0,"Select Paste Action")});l=null==e?void 0:e.edit}if(!l)return;const c=ek(a.uri,n,l);await this._bulkEditService.apply(c,{editor:this._editor})}finally{d.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:_(0,"Running paste handlers")},(()=>s))}setCopyMetadata(e,t){e.setData(QL,JSON.stringify(t))}fetchCopyMetadata(e){var t;if(!e.clipboardData)return;const n=e.clipboardData.getData(QL);if(n)try{return JSON.parse(n)}catch(e){return}const[i,o]=ex.getTextData(e.clipboardData);return o?{defaultPastePayload:{mode:o.mode,multicursorText:null!==(t=o.multicursorText)&&void 0!==t?t:null,pasteOnNewLine:!!o.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(e,t,n){var i;if((null==t?void 0:t.id)&&(null===(i=GL._currentCopyOperation)||void 0===i?void 0:i.handle)===t.id){const t=await GL._currentCopyOperation.dataTransferPromise;if(n.isCancellationRequested)return;for(const[n,i]of t)e.replace(n,i)}if(!e.has(xg.uriList)){const t=await this._clipboardService.readResources();if(n.isCancellationRequested)return;t.length&&e.append(xg.uriList,ix(ax.create(t)))}}async getPasteEdits(e,t,n,i,o,s){const r=await Ot(Promise.all(e.map((async e=>{var r,l;try{const a=await(null===(r=e.provideDocumentPasteEdits)||void 0===r?void 0:r.call(e,n,i,t,o,s));return null===(l=null==a?void 0:a.edits)||void 0===l?void 0:l.map((t=>({...t,provider:e})))}catch(e){console.error(e)}}))),s);return tk(Oc(null!=r?r:[]).flat().filter((e=>!o.only||o.only.contains(e.kind))))}async applyDefaultPasteHandler(e,t,n,i){var o,s,r,l;const a=null!==(o=e.get(xg.text))&&void 0!==o?o:e.get("text"),d=null!==(s=await(null==a?void 0:a.asString()))&&void 0!==s?s:"";if(n.isCancellationRequested)return;const u={clipboardEvent:i,text:d,pasteOnNewLine:null!==(r=null==t?void 0:t.defaultPastePayload.pasteOnNewLine)&&void 0!==r&&r,multicursorText:null!==(l=null==t?void 0:t.defaultPastePayload.multicursorText)&&void 0!==l?l:null,mode:null};this._editor.trigger("keyboard","paste",u)}isSupportedPasteProvider(e,t,n){var i;return!!(null===(i=e.pasteMimeTypes)||void 0===i?void 0:i.some((e=>t.matches(e))))&&(!n||this.providerMatchesPreference(e,n))}providerMatchesPreference(e,t){return t instanceof dx?!e.providedPasteEditKinds||e.providedPasteEditKinds.some((e=>t.contains(e))):e.id===t.providerId}};JL.ID="editor.contrib.copyPasteActionController",JL=GL=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([ZL(1,ad),ZL(2,fx),ZL(3,fL),ZL(4,wx),ZL(5,SL),ZL(6,_L)],JL);const eD="9_cutcopypaste",tD=j||document.queryCommandSupported("cut"),nD=j||document.queryCommandSupported("copy"),iD=void 0!==navigator.clipboard&&!a||document.queryCommandSupported("paste");function oD(e){return e.register(),e}const sD=tD?oD(new Wu({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:j?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Su.MenubarEditMenu,group:"2_ccp",title:_(0,"Cu&&t"),order:1},{menuId:Su.EditorContext,group:eD,title:_(0,"Cut"),when:oc.writable,order:1},{menuId:Su.CommandPalette,group:"",title:_(0,"Cut"),order:1},{menuId:Su.SimpleEditorContext,group:eD,title:_(0,"Cut"),when:oc.writable,order:1}]})):void 0,rD=nD?oD(new Wu({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:j?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Su.MenubarEditMenu,group:"2_ccp",title:_(0,"&&Copy"),order:2},{menuId:Su.EditorContext,group:eD,title:_(0,"Copy"),order:2},{menuId:Su.CommandPalette,group:"",title:_(0,"Copy"),order:1},{menuId:Su.SimpleEditorContext,group:eD,title:_(0,"Copy"),order:2}]})):void 0;Lu.appendMenuItem(Su.MenubarEditMenu,{submenu:Su.MenubarCopy,title:v(0,"Copy As"),group:"2_ccp",order:3}),Lu.appendMenuItem(Su.EditorContext,{submenu:Su.EditorContextCopy,title:v(0,"Copy As"),group:eD,order:3}),Lu.appendMenuItem(Su.EditorContext,{submenu:Su.EditorContextShare,title:v(0,"Share"),group:"11_share",order:-1,when:Bd.and(Bd.notEquals("resourceScheme","output"),oc.editorTextFocus)}),Lu.appendMenuItem(Su.EditorTitleContext,{submenu:Su.EditorTitleContextShare,title:v(0,"Share"),group:"11_share",order:-1}),Lu.appendMenuItem(Su.ExplorerContext,{submenu:Su.ExplorerContextShare,title:v(0,"Share"),group:"11_share",order:-1});const lD=iD?oD(new Wu({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:j?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Su.MenubarEditMenu,group:"2_ccp",title:_(0,"&&Paste"),order:4},{menuId:Su.EditorContext,group:eD,title:_(0,"Paste"),when:oc.writable,order:4},{menuId:Su.CommandPalette,group:"",title:_(0,"Paste"),order:1},{menuId:Su.SimpleEditorContext,group:eD,title:_(0,"Paste"),when:oc.writable,order:4}]})):void 0;function aD(e,t){e&&(e.addImplementation(1e4,"code-editor",((e,n)=>{const i=e.get(ud).getFocusedCodeEditor();if(i&&i.hasTextFocus()){const e=i.getOption(37),n=i.getSelection();return n&&n.isEmpty()&&!e||i.getContainerDomNode().ownerDocument.execCommand(t),!0}return!1})),e.addImplementation(0,"generic-dom",((e,n)=>(Us().execCommand(t),!0))))}aD(sD,"cut"),aD(rD,"copy"),lD&&(lD.addImplementation(1e4,"code-editor",((e,t)=>{var n,i;const o=e.get(ud),s=e.get(fL),r=o.getFocusedCodeEditor();return!(!r||!r.hasTextFocus())&&(r.getContainerDomNode().ownerDocument.execCommand("paste")?null!==(i=null===(n=JL.get(r))||void 0===n?void 0:n.finishedPaste())&&void 0!==i?i:Promise.resolve():!q||(async()=>{const e=await s.readText();if(""!==e){const t=XS.INSTANCE.get(e);let n=!1,i=null,o=null;t&&(n=r.getOption(37)&&!!t.isFromEmptySelection,i=void 0!==t.multicursorText?t.multicursorText:null,o=t.mode),r.trigger("keyboard","paste",{text:e,pasteOnNewLine:n,multicursorText:i,mode:o})}})())})),lD.addImplementation(0,"generic-dom",((e,t)=>(Us().execCommand("paste"),!0)))),nD&&$u(class extends zu{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:_(0,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,weight:100}})}run(e,t){t.hasModel()&&(!t.getOption(37)&&t.getSelection().isEmpty()||(YS.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),YS.forceCopyWithSyntaxHighlighting=!1))}});const dD={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0};class uD{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class cD{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class hD{constructor(e,t,n,i){this.id=e,this.name=t,this.defaultValue=n,this.schema=i}applyUpdate(e,t){return pD(e,t)}compute(e,t,n){return n}}class gD{constructor(e,t){this.newValue=e,this.didChange=t}}function pD(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new gD(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const n=Array.isArray(e)&&Array.isArray(t)&&Ic(e,t);return new gD(t,!n)}let n=!1;for(const i in t)if(t.hasOwnProperty(i)){const o=pD(e[i],t[i]);o.didChange&&(e[i]=o.newValue,n=!0)}return new gD(e,n)}class mD{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return pD(e,t)}validate(e){return this.defaultValue}}class fD{constructor(e,t,n,i){this.id=e,this.name=t,this.defaultValue=n,this.schema=i}applyUpdate(e,t){return pD(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,n){return n}}function _D(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class vD extends fD{constructor(e,t,n,i=void 0){void 0!==i&&(i.type="boolean",i.default=n),super(e,t,n,i)}validate(e){return _D(e,this.defaultValue)}}function bD(e,t,n,i){if(void 0===e)return t;let o=parseInt(e,10);return isNaN(o)?t:(o=Math.max(n,o),o=Math.min(i,o),0|o)}class wD extends fD{static clampedInt(e,t,n,i){return bD(e,t,n,i)}constructor(e,t,n,i,o,s=void 0){void 0!==s&&(s.type="integer",s.default=n,s.minimum=i,s.maximum=o),super(e,t,n,s),this.minimum=i,this.maximum=o}validate(e){return wD.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function CD(e,t,n,i){if(void 0===e)return t;const o=yD.float(e,t);return yD.clamp(o,n,i)}class yD extends fD{static clamp(e,t,n){return en?n:e}static float(e,t){if("number"==typeof e)return e;if(void 0===e)return t;const n=parseFloat(e);return isNaN(n)?t:n}constructor(e,t,n,i,o){void 0!==o&&(o.type="number",o.default=n),super(e,t,n,o),this.validationFn=i}validate(e){return this.validationFn(yD.float(e,this.defaultValue))}}class SD extends fD{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,n,i=void 0){void 0!==i&&(i.type="string",i.default=n),super(e,t,n,i)}validate(e){return SD.string(e,this.defaultValue)}}function xD(e,t,n,i){return"string"!=typeof e?t:i&&e in i?i[e]:-1===n.indexOf(e)?t:e}class kD extends fD{constructor(e,t,n,i,o=void 0){void 0!==o&&(o.type="string",o.enum=i,o.default=n),super(e,t,n,o),this._allowedValues=i}validate(e){return xD(e,this.defaultValue,this._allowedValues)}}class LD extends hD{constructor(e,t,n,i,o,s,r=void 0){void 0!==r&&(r.type="string",r.enum=o,r.default=i),super(e,t,n,r),this._allowedValues=o,this._convert=s}validate(e){return"string"!=typeof e||-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)}}var DD,ND;!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(DD||(DD={}));class ED extends hD{constructor(){super(51,"fontLigatures",ED.OFF,{anyOf:[{type:"boolean",description:_(0,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:_(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:_(0,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e||0===e.length?ED.OFF:"true"===e?ED.ON:e:Boolean(e)?ED.ON:ED.OFF}}ED.OFF='"liga" off, "calt" off',ED.ON='"liga" on, "calt" on';class ID extends hD{constructor(){super(54,"fontVariations",ID.OFF,{anyOf:[{type:"boolean",description:_(0,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:_(0,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:_(0,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?ID.OFF:"true"===e?ID.TRANSLATE:e:Boolean(e)?ID.TRANSLATE:ID.OFF}compute(e,t,n){return e.fontInfo.fontVariationSettings}}ID.OFF="normal",ID.TRANSLATE="translate";class MD extends hD{constructor(){super(53,"fontWeight",KD.fontWeight,{anyOf:[{type:"number",minimum:MD.MINIMUM_VALUE,maximum:MD.MAXIMUM_VALUE,errorMessage:_(0,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:MD.SUGGESTION_VALUES}],default:KD.fontWeight,description:_(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(wD.clampedInt(e,KD.fontWeight,MD.MINIMUM_VALUE,MD.MAXIMUM_VALUE))}}MD.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],MD.MINIMUM_VALUE=1,MD.MAXIMUM_VALUE=1e3;class TD extends mD{constructor(){super(145)}compute(e,t,n){return TD.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,n=Math.floor(e.paddingTop/e.lineHeight);let i=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(i=Math.max(i,t-1));const o=(n+e.viewLineCount+i)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:i,desiredRatio:o,minimapLineCount:Math.floor(e.viewLineCount/o)}}static _computeMinimapLayout(e,t){const n=e.outerWidth,i=e.outerHeight,o=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(o*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};const s=t.stableMinimapLayoutInput,r=s&&e.outerHeight===s.outerHeight&&e.lineHeight===s.lineHeight&&e.typicalHalfwidthCharacterWidth===s.typicalHalfwidthCharacterWidth&&e.pixelRatio===s.pixelRatio&&e.scrollBeyondLastLine===s.scrollBeyondLastLine&&e.paddingTop===s.paddingTop&&e.paddingBottom===s.paddingBottom&&e.minimap.enabled===s.minimap.enabled&&e.minimap.side===s.minimap.side&&e.minimap.size===s.minimap.size&&e.minimap.showSlider===s.minimap.showSlider&&e.minimap.renderCharacters===s.minimap.renderCharacters&&e.minimap.maxColumn===s.minimap.maxColumn&&e.minimap.scale===s.minimap.scale&&e.verticalScrollbarWidth===s.verticalScrollbarWidth&&e.isViewportWrapping===s.isViewportWrapping,l=e.lineHeight,a=e.typicalHalfwidthCharacterWidth,d=e.scrollBeyondLastLine,u=e.minimap.renderCharacters;let c=o>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const h=e.minimap.maxColumn,g=e.minimap.size,p=e.minimap.side,m=e.verticalScrollbarWidth,f=e.viewLineCount,_=e.remainingWidth,v=e.isViewportWrapping,b=u?2:3;let w=Math.floor(o*i);const C=w/o;let y=!1,S=!1,x=b*c,k=c/o,L=1;if("fill"===g||"fit"===g){const{typicalViewportLineCount:n,extraLinesBeforeFirstLine:s,extraLinesBeyondLastLine:a,desiredRatio:u,minimapLineCount:h}=TD.computeContainedMinimapLineCount({viewLineCount:f,scrollBeyondLastLine:d,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:i,lineHeight:l,pixelRatio:o});if(f/h>1)y=!0,S=!0,c=1,x=1,k=c/o;else{let i=!1,d=c+1;if("fit"===g){const e=Math.ceil((s+f+a)*x);v&&r&&_<=t.stableFitRemainingWidth?(i=!0,d=t.stableFitMaxMinimapScale):i=e>w}if("fill"===g||i){y=!0;const i=c;x=Math.min(l*o,Math.max(1,Math.floor(1/u))),v&&r&&_<=t.stableFitRemainingWidth&&(d=t.stableFitMaxMinimapScale),c=Math.min(d,Math.max(1,Math.floor(x/b))),c>i&&(L=Math.min(2,c/i)),k=c/o/L,w=Math.ceil(Math.max(n,s+f+a)*x),v?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=_,t.stableFitMaxMinimapScale=c):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const D=Math.floor(h*k),N=Math.min(D,Math.max(0,Math.floor((_-m-2)*k/(a+k)))+8);let E=Math.floor(o*N);const I=E/o;return E=Math.floor(E*L),{renderMinimap:u?1:2,minimapLeft:"left"===p?0:n-N-m,minimapWidth:N,minimapHeightIsEditorHeight:y,minimapIsSampling:S,minimapScale:c,minimapLineHeight:x,minimapCanvasInnerWidth:E,minimapCanvasInnerHeight:w,minimapCanvasOuterWidth:I,minimapCanvasOuterHeight:C}}static computeLayout(e,t){const n=0|t.outerWidth,i=0|t.outerHeight,o=0|t.lineHeight,s=0|t.lineNumbersDigitCount,r=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,a=t.pixelRatio,d=t.viewLineCount,u=e.get(137),c="inherit"===u?e.get(136):u,h="inherit"===c?e.get(132):c,g=e.get(135),p=t.isDominatedByLongLines,m=e.get(57),f=0!==e.get(68).renderType,_=e.get(69),v=e.get(105),b=e.get(84),w=e.get(73),C=e.get(103),y=C.verticalScrollbarSize,S=C.verticalHasArrows,x=C.arrowSize,k=C.horizontalScrollbarSize,L=e.get(43),D="never"!==e.get(110);let N=e.get(66);L&&D&&(N+=16);let E=0;if(f){const e=Math.max(s,_);E=Math.round(e*l)}let I=0;m&&(I=o*t.glyphMarginDecorationLaneCount);let M=0,T=M+I,A=T+E,R=A+N;const P=n-I-E-N;let O=!1,F=!1,B=-1;"inherit"===c&&p?(O=!0,F=!0):"on"===h||"bounded"===h?F=!0:"wordWrapColumn"===h&&(B=g);const W=TD._computeMinimapLayout({outerWidth:n,outerHeight:i,lineHeight:o,typicalHalfwidthCharacterWidth:r,pixelRatio:a,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:w,verticalScrollbarWidth:y,viewLineCount:d,remainingWidth:P,isViewportWrapping:F},t.memory||new cD);0!==W.renderMinimap&&0===W.minimapLeft&&(M+=W.minimapWidth,T+=W.minimapWidth,A+=W.minimapWidth,R+=W.minimapWidth);const V=P-W.minimapWidth,H=Math.max(1,Math.floor((V-y-2)/r)),z=S?x:0;return F&&(B=Math.max(1,H),"bounded"===h&&(B=Math.min(B,g))),{width:n,height:i,glyphMarginLeft:M,glyphMarginWidth:I,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:T,lineNumbersWidth:E,decorationsLeft:A,decorationsWidth:N,contentLeft:R,contentWidth:V,minimap:W,viewportColumn:H,isWordWrapMinified:O,isViewportWrapping:F,wrappingColumn:B,verticalScrollbarWidth:y,horizontalScrollbarHeight:k,overviewRuler:{top:z,width:y,height:i-2*z,right:0}}}}function AD(e){const t=e.get(98);return"editable"===t?e.get(91):"on"!==t}function RD(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(ND||(ND={}));const PD="inUntrustedWorkspace",OD="editor.unicodeHighlight.allowedCharacters",FD="editor.unicodeHighlight.invisibleCharacters",BD="editor.unicodeHighlight.nonBasicASCII",WD="editor.unicodeHighlight.ambiguousCharacters",VD="editor.unicodeHighlight.includeComments",HD="editor.unicodeHighlight.includeStrings",zD="editor.unicodeHighlight.allowedLocales";function UD(e,t,n){const i=n.indexOf(e);return-1===i?t:n[i]}const KD={fontFamily:U?"Menlo, Monaco, 'Courier New', monospace":K?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:U?12:14,lineHeight:0,letterSpacing:0},jD=[];function qD(e){return jD[e.id]=e,e}const $D={acceptSuggestionOnCommitCharacter:qD(new vD(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:_(0,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:qD(new kD(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",_(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:_(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:qD(new class extends hD{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[_(0,"Use platform APIs to detect when a Screen Reader is attached."),_(0,"Optimize for usage with a Screen Reader."),_(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:_(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,n){return 0===n?e.accessibilitySupport:n}}),accessibilityPageSize:qD(new wD(3,"accessibilityPageSize",10,1,1073741824,{description:_(0,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:qD(new SD(4,"ariaLabel",_(0,"Editor content"))),ariaRequired:qD(new vD(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:qD(new vD(8,"screenReaderAnnounceInlineSuggestion",!0,{description:_(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:qD(new kD(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_(0,"Use language configurations to determine when to autoclose brackets."),_(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:_(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:qD(new kD(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_(0,"Use language configurations to determine when to autoclose comments."),_(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:_(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:qD(new kD(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",_(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:_(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:qD(new kD(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",_(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:_(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:qD(new kD(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",_(0,"Use language configurations to determine when to autoclose quotes."),_(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:_(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:qD(new LD(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(e){switch(e){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[_(0,"The editor will not insert indentation automatically."),_(0,"The editor will keep the current line's indentation."),_(0,"The editor will keep the current line's indentation and honor language defined brackets."),_(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),_(0,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:_(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:qD(new vD(13,"automaticLayout",!1)),autoSurround:qD(new kD(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[_(0,"Use language configurations to determine when to automatically surround selections."),_(0,"Surround with quotes but not brackets."),_(0,"Surround with brackets but not quotes."),""],description:_(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:qD(new class extends hD{constructor(){const e={enabled:yh.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:yh.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:_(0,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:_(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:_D(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:qD(new class extends hD{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[_(0,"Enables bracket pair guides."),_(0,"Enables bracket pair guides only for the active bracket pair."),_(0,"Disables bracket pair guides.")],default:e.bracketPairs,description:_(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[_(0,"Enables horizontal guides as addition to vertical bracket pair guides."),_(0,"Enables horizontal guides only for the active bracket pair."),_(0,"Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:_(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:_(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:_(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[_(0,"Highlights the active indent guide."),_(0,"Highlights the active indent guide even if bracket guides are highlighted."),_(0,"Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:_(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{bracketPairs:UD(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:UD(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:_D(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:_D(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:UD(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:qD(new vD(116,"stickyTabStops",!1,{description:_(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:qD(new vD(17,"codeLens",!0,{description:_(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:qD(new SD(18,"codeLensFontFamily","",{description:_(0,"Controls the font family for CodeLens.")})),codeLensFontSize:qD(new wD(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:_(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:qD(new vD(20,"colorDecorators",!0,{description:_(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:qD(new kD(148,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[_(0,"Make the color picker appear both on click and hover of the color decorator"),_(0,"Make the color picker appear on hover of the color decorator"),_(0,"Make the color picker appear on click of the color decorator")],description:_(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:qD(new wD(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:_(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:qD(new vD(22,"columnSelection",!1,{description:_(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:qD(new class extends hD{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:_(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:_(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertSpace:_D(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:_D(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:qD(new vD(24,"contextmenu",!0)),copyWithSyntaxHighlighting:qD(new vD(25,"copyWithSyntaxHighlighting",!0,{description:_(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:qD(new LD(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(e){switch(e){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:_(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:qD(new kD(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[_(0,"Smooth caret animation is disabled."),_(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),_(0,"Smooth caret animation is always enabled.")],description:_(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:qD(new LD(28,"cursorStyle",DD.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(e){switch(e){case"line":return DD.Line;case"block":return DD.Block;case"underline":return DD.Underline;case"line-thin":return DD.LineThin;case"block-outline":return DD.BlockOutline;case"underline-thin":return DD.UnderlineThin}}),{description:_(0,"Controls the cursor style.")})),cursorSurroundingLines:qD(new wD(29,"cursorSurroundingLines",0,0,1073741824,{description:_(0,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:qD(new kD(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[_(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),_(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:_(0,"Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:qD(new wD(31,"cursorWidth",0,0,1073741824,{markdownDescription:_(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:qD(new vD(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:qD(new vD(33,"disableMonospaceOptimizations",!1)),domReadOnly:qD(new vD(34,"domReadOnly",!1)),dragAndDrop:qD(new vD(35,"dragAndDrop",!0,{description:_(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:qD(new class extends vD{constructor(){super(37,"emptySelectionClipboard",!0,{description:_(0,"Controls whether copying without a selection copies the current line.")})}compute(e,t,n){return n&&e.emptySelectionClipboard}}),dropIntoEditor:qD(new class extends hD{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:_(0,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:_(0,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[_(0,"Show the drop selector widget after a file is dropped into the editor."),_(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),showDropSelector:xD(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:qD(new class extends hD{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(115,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:_(0,"Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:_(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:_(0,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:_(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),maxLineCount:wD.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:xD(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:_D(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:qD(new kD(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[_(0,"Use a new rendering method with svgs."),_(0,"Use a new rendering method with font characters."),_(0,"Use the stable rendering method.")],description:_(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:qD(new SD(39,"extraEditorClassName","")),fastScrollSensitivity:qD(new yD(40,"fastScrollSensitivity",5,(e=>e<=0?5:e),{markdownDescription:_(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:qD(new class extends hD{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:_(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[_(0,"Never seed search string from the editor selection."),_(0,"Always seed search string from the editor selection, including word at cursor position."),_(0,"Only seed search string from the editor selection.")],description:_(0,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[_(0,"Never turn on Find in Selection automatically (default)."),_(0,"Always turn on Find in Selection automatically."),_(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:_(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:_(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:U},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:_(0,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:_(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{cursorMoveOnType:_D(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":xD(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":xD(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:_D(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:_D(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:_D(t.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:qD(new vD(42,"fixedOverflowWidgets",!1)),folding:qD(new vD(43,"folding",!0,{description:_(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:qD(new kD(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[_(0,"Use a language-specific folding strategy if available, else the indentation-based one."),_(0,"Use the indentation-based folding strategy.")],description:_(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:qD(new vD(45,"foldingHighlight",!0,{description:_(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:qD(new vD(46,"foldingImportsByDefault",!1,{description:_(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:qD(new wD(47,"foldingMaximumRegions",5e3,10,65e3,{description:_(0,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:qD(new vD(48,"unfoldOnClickAfterEndOfLine",!1,{description:_(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:qD(new SD(49,"fontFamily",KD.fontFamily,{description:_(0,"Controls the font family.")})),fontInfo:qD(new class extends mD{constructor(){super(50)}compute(e,t,n){return e.fontInfo}}),fontLigatures2:qD(new ED),fontSize:qD(new class extends fD{constructor(){super(52,"fontSize",KD.fontSize,{type:"number",minimum:6,maximum:100,default:KD.fontSize,description:_(0,"Controls the font size in pixels.")})}validate(e){const t=yD.float(e,this.defaultValue);return 0===t?KD.fontSize:yD.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}}),fontWeight:qD(new MD),fontVariations:qD(new ID),formatOnPaste:qD(new vD(55,"formatOnPaste",!1,{description:_(0,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:qD(new vD(56,"formatOnType",!1,{description:_(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:qD(new vD(57,"glyphMargin",!0,{description:_(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:qD(new class extends hD{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[_(0,"Show Peek view of the results (default)"),_(0,"Go to the primary result and show a Peek view"),_(0,"Go to the primary result and enable Peek-less navigation to others")]},n=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:_(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:_(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:_(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:_(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:_(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:_(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:n,description:_(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,n,i,o,s;if(!e||"object"!=typeof e)return this.defaultValue;const r=e;return{multiple:xD(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(t=r.multipleDefinitions)&&void 0!==t?t:xD(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(n=r.multipleTypeDefinitions)&&void 0!==n?n:xD(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(i=r.multipleDeclarations)&&void 0!==i?i:xD(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(o=r.multipleImplementations)&&void 0!==o?o:xD(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(s=r.multipleReferences)&&void 0!==s?s:xD(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:SD.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:SD.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:SD.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:SD.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:SD.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:qD(new vD(59,"hideCursorInOverviewRuler",!1,{description:_(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:qD(new class extends hD{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:_(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:_(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:_(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:_(0,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:_(0,"Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),delay:wD.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:_D(t.sticky,this.defaultValue.sticky),hidingDelay:wD.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:_D(t.above,this.defaultValue.above)}}}),inDiffEditor:qD(new vD(61,"inDiffEditor",!1)),letterSpacing:qD(new yD(64,"letterSpacing",KD.letterSpacing,(e=>yD.clamp(e,-5,20)),{description:_(0,"Controls the letter spacing in pixels.")})),lightbulb:qD(new class extends hD{constructor(){const e={enabled:ND.On};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[ND.Off,ND.OnCode,ND.On],default:e.enabled,enumDescriptions:[_(0,"Disable the code action menu."),_(0,"Show the code action menu when the cursor is on lines with code."),_(0,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:_(0,"Enables the Code Action lightbulb in the editor.")}})}validate(e){return e&&"object"==typeof e?{enabled:xD(e.enabled,this.defaultValue.enabled,[ND.Off,ND.OnCode,ND.On])}:this.defaultValue}}),lineDecorationsWidth:qD(new class extends hD{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return"string"==typeof e&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):wD.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,n){return n<0?wD.clampedInt(-n*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}}),lineHeight:qD(new class extends yD{constructor(){super(67,"lineHeight",KD.lineHeight,(e=>yD.clamp(e,0,150)),{markdownDescription:_(0,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,n){return e.fontInfo.lineHeight}}),lineNumbers:qD(new class extends hD{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[_(0,"Line numbers are not rendered."),_(0,"Line numbers are rendered as absolute number."),_(0,"Line numbers are rendered as distance in lines to cursor position."),_(0,"Line numbers are rendered every 10 lines.")],default:"on",description:_(0,"Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,n=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,n=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:n}}}),lineNumbersMinChars:qD(new wD(69,"lineNumbersMinChars",5,1,300)),linkedEditing:qD(new vD(70,"linkedEditing",!1,{description:_(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:qD(new vD(71,"links",!0,{description:_(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:qD(new kD(72,"matchBrackets","always",["always","near","never"],{description:_(0,"Highlight matching brackets.")})),minimap:qD(new class extends hD{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:_(0,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:_(0,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[_(0,"The minimap has the same size as the editor contents (and might scroll)."),_(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),_(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:_(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:_(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:_(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:_(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:_(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:_(0,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:_(0,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:_(0,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:_(0,"Controls the font size of section headers in the minimap.")}})}validate(e){var t;if(!e||"object"!=typeof e)return this.defaultValue;const n=e;return{enabled:_D(n.enabled,this.defaultValue.enabled),autohide:_D(n.autohide,this.defaultValue.autohide),size:xD(n.size,this.defaultValue.size,["proportional","fill","fit"]),side:xD(n.side,this.defaultValue.side,["right","left"]),showSlider:xD(n.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:_D(n.renderCharacters,this.defaultValue.renderCharacters),scale:wD.clampedInt(n.scale,1,1,3),maxColumn:wD.clampedInt(n.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:_D(n.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:_D(n.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:yD.clamp(null!==(t=n.sectionHeaderFontSize)&&void 0!==t?t:this.defaultValue.sectionHeaderFontSize,4,32)}}}),mouseStyle:qD(new kD(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:qD(new yD(75,"mouseWheelScrollSensitivity",1,(e=>0===e?1:e),{markdownDescription:_(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:qD(new vD(76,"mouseWheelZoom",!1,{markdownDescription:_(0,U?"Zoom the font of the editor when using mouse wheel and holding `Cmd`.":"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:qD(new vD(77,"multiCursorMergeOverlapping",!0,{description:_(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:qD(new LD(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(e){return"ctrlCmd"===e?U?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[_(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),_(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:_(0,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:qD(new kD(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[_(0,"Each cursor pastes a single line of the text."),_(0,"Each cursor pastes the full text.")],markdownDescription:_(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:qD(new wD(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:_(0,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:qD(new kD(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[_(0,"Does not highlight occurrences."),_(0,"Highlights occurrences only in the current file."),_(0,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:_(0,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:qD(new vD(82,"overviewRulerBorder",!0,{description:_(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:qD(new wD(83,"overviewRulerLanes",3,0,3)),padding:qD(new class extends hD{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:_(0,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:_(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{top:wD.clampedInt(t.top,0,0,1e3),bottom:wD.clampedInt(t.bottom,0,0,1e3)}}}),pasteAs:qD(new class extends hD{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:_(0,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:_(0,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[_(0,"Show the paste selector widget after content is pasted into the editor."),_(0,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),showPasteSelector:xD(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:qD(new class extends hD{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:_(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:_(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),cycle:_D(t.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:qD(new kD(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[_(0,"Focus the tree when opening peek"),_(0,"Focus the editor when opening peek")],description:_(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:qD(new vD(88,"definitionLinkOpensInPeek",!1,{description:_(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:qD(new class extends hD{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[_(0,"Quick suggestions show inside the suggest widget"),_(0,"Quick suggestions show as ghost text"),_(0,"Quick suggestions are disabled")]}];super(89,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:_(0,"Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:_(0,"Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:_(0,"Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:_(0,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=e}validate(e){if("boolean"==typeof e){const t=e?"on":"off";return{comments:t,strings:t,other:t}}if(!e||"object"!=typeof e)return this.defaultValue;const{other:t,comments:n,strings:i}=e,o=["on","inline","off"];let s,r,l;return s="boolean"==typeof t?t?"on":"off":xD(t,this.defaultValue.other,o),r="boolean"==typeof n?n?"on":"off":xD(n,this.defaultValue.comments,o),l="boolean"==typeof i?i?"on":"off":xD(i,this.defaultValue.strings,o),{other:s,comments:r,strings:l}}}),quickSuggestionsDelay:qD(new wD(90,"quickSuggestionsDelay",10,0,1073741824,{description:_(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:qD(new vD(91,"readOnly",!1)),readOnlyMessage:qD(new class extends hD{constructor(){super(92,"readOnlyMessage",void 0)}validate(e){return e&&"object"==typeof e?e:this.defaultValue}}),renameOnType:qD(new vD(93,"renameOnType",!1,{description:_(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:_(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:qD(new vD(94,"renderControlCharacters",!0,{description:_(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:qD(new kD(95,"renderFinalNewline",K?"dimmed":"on",["off","on","dimmed"],{description:_(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:qD(new kD(96,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",_(0,"Highlights both the gutter and the current line.")],description:_(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:qD(new vD(97,"renderLineHighlightOnlyWhenFocus",!1,{description:_(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:qD(new kD(98,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:qD(new kD(99,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",_(0,"Render whitespace characters except for single spaces between words."),_(0,"Render whitespace characters only on selected text."),_(0,"Render only trailing whitespace characters."),""],description:_(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:qD(new wD(100,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:qD(new vD(101,"roundedSelection",!0,{description:_(0,"Controls whether selections should have rounded corners.")})),rulers:qD(new class extends hD{constructor(){const e=[],t={type:"number",description:_(0,"Number of monospace characters at which this editor ruler will render.")};super(102,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:_(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:_(0,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const n of e)if("number"==typeof n)t.push({column:wD.clampedInt(n,0,0,1e4),color:null});else if(n&&"object"==typeof n){const e=n;t.push({column:wD.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort(((e,t)=>e.column-t.column)),t}return this.defaultValue}}),scrollbar:qD(new class extends hD{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(103,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[_(0,"The vertical scrollbar will be visible only when necessary."),_(0,"The vertical scrollbar will always be visible."),_(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:_(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[_(0,"The horizontal scrollbar will be visible only when necessary."),_(0,"The horizontal scrollbar will always be visible."),_(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:_(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:_(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:_(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:_(0,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:_(0,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e,n=wD.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),i=wD.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:wD.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:RD(t.vertical,this.defaultValue.vertical),horizontal:RD(t.horizontal,this.defaultValue.horizontal),useShadows:_D(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:_D(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:_D(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:_D(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:_D(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:wD.clampedInt(t.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:i,verticalSliderSize:wD.clampedInt(t.verticalSliderSize,i,0,1e3),scrollByPage:_D(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:_D(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:qD(new wD(104,"scrollBeyondLastColumn",4,0,1073741824,{description:_(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:qD(new vD(105,"scrollBeyondLastLine",!0,{description:_(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:qD(new vD(106,"scrollPredominantAxis",!0,{description:_(0,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:qD(new vD(107,"selectionClipboard",!0,{description:_(0,"Controls whether the Linux primary clipboard should be supported."),included:K})),selectionHighlight:qD(new vD(108,"selectionHighlight",!0,{description:_(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:qD(new vD(109,"selectOnLineNumbers",!0)),showFoldingControls:qD(new kD(110,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[_(0,"Always show the folding controls."),_(0,"Never show the folding controls and reduce the gutter size."),_(0,"Only show the folding controls when the mouse is over the gutter.")],description:_(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:qD(new vD(111,"showUnused",!0,{description:_(0,"Controls fading out of unused code.")})),showDeprecated:qD(new vD(140,"showDeprecated",!0,{description:_(0,"Controls strikethrough deprecated variables.")})),inlayHints:qD(new class extends hD{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(141,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:_(0,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[_(0,"Inlay hints are enabled"),_(0,"Inlay hints are showing by default and hide when holding {0}",U?"Ctrl+Option":"Ctrl+Alt"),_(0,"Inlay hints are hidden by default and show when holding {0}",U?"Ctrl+Option":"Ctrl+Alt"),_(0,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:_(0,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:_(0,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:_(0,"Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return"boolean"==typeof t.enabled&&(t.enabled=t.enabled?"on":"off"),{enabled:xD(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:wD.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:SD.string(t.fontFamily,this.defaultValue.fontFamily),padding:_D(t.padding,this.defaultValue.padding)}}}),snippetSuggestions:qD(new kD(112,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[_(0,"Show snippet suggestions on top of other suggestions."),_(0,"Show snippet suggestions below other suggestions."),_(0,"Show snippets suggestions with other suggestions."),_(0,"Do not show snippet suggestions.")],description:_(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:qD(new class extends hD{constructor(){super(113,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:_(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:_(0,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return e&&"object"==typeof e?{selectLeadingAndTrailingWhitespace:_D(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:_D(e.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:qD(new vD(114,"smoothScrolling",!1,{description:_(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:qD(new wD(117,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:qD(new class extends hD{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(118,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[_(0,"Insert suggestion without overwriting text right of the cursor."),_(0,"Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:_(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:_(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:_(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:_(0,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[_(0,"Always select a suggestion when automatically triggering IntelliSense."),_(0,"Never select a suggestion when automatically triggering IntelliSense."),_(0,"Select a suggestion only when triggering IntelliSense from a trigger character."),_(0,"Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:_(0,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:_(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:_(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:_(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:_(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:_(0,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:_(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:_(0,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:_(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertMode:xD(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:_D(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:_D(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:_D(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:_D(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:xD(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:_D(t.showIcons,this.defaultValue.showIcons),showStatusBar:_D(t.showStatusBar,this.defaultValue.showStatusBar),preview:_D(t.preview,this.defaultValue.preview),previewMode:xD(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:_D(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:_D(t.showMethods,this.defaultValue.showMethods),showFunctions:_D(t.showFunctions,this.defaultValue.showFunctions),showConstructors:_D(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:_D(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:_D(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:_D(t.showFields,this.defaultValue.showFields),showVariables:_D(t.showVariables,this.defaultValue.showVariables),showClasses:_D(t.showClasses,this.defaultValue.showClasses),showStructs:_D(t.showStructs,this.defaultValue.showStructs),showInterfaces:_D(t.showInterfaces,this.defaultValue.showInterfaces),showModules:_D(t.showModules,this.defaultValue.showModules),showProperties:_D(t.showProperties,this.defaultValue.showProperties),showEvents:_D(t.showEvents,this.defaultValue.showEvents),showOperators:_D(t.showOperators,this.defaultValue.showOperators),showUnits:_D(t.showUnits,this.defaultValue.showUnits),showValues:_D(t.showValues,this.defaultValue.showValues),showConstants:_D(t.showConstants,this.defaultValue.showConstants),showEnums:_D(t.showEnums,this.defaultValue.showEnums),showEnumMembers:_D(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:_D(t.showKeywords,this.defaultValue.showKeywords),showWords:_D(t.showWords,this.defaultValue.showWords),showColors:_D(t.showColors,this.defaultValue.showColors),showFiles:_D(t.showFiles,this.defaultValue.showFiles),showReferences:_D(t.showReferences,this.defaultValue.showReferences),showFolders:_D(t.showFolders,this.defaultValue.showFolders),showTypeParameters:_D(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:_D(t.showSnippets,this.defaultValue.showSnippets),showUsers:_D(t.showUsers,this.defaultValue.showUsers),showIssues:_D(t.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:qD(new class extends hD{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:_(0,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[_(0,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),_(0,"Show the inline suggestion toolbar when hovering over an inline suggestion."),_(0,"Never show the inline suggestion toolbar.")],description:_(0,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:_(0,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:_(0,"Controls the font family of the inline suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),mode:xD(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:xD(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:_D(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:_D(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:SD.string(t.fontFamily,this.defaultValue.fontFamily)}}}),inlineEdit:qD(new class extends hD{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1,backgroundColoring:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:_(0,"Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[_(0,"Show the inline edit toolbar whenever an inline suggestion is shown."),_(0,"Show the inline edit toolbar when hovering over an inline suggestion."),_(0,"Never show the inline edit toolbar.")],description:_(0,"Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:_(0,"Controls the font family of the inline edit.")},"editor.experimentalInlineEdit.backgroundColoring":{type:"boolean",default:e.backgroundColoring,description:_(0,"Controls whether to color the background of inline edits.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_D(t.enabled,this.defaultValue.enabled),showToolbar:xD(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:SD.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:_D(t.keepOnBlur,this.defaultValue.keepOnBlur),backgroundColoring:_D(t.backgroundColoring,this.defaultValue.backgroundColoring)}}}),inlineCompletionsAccessibilityVerbose:qD(new vD(149,"inlineCompletionsAccessibilityVerbose",!1,{description:_(0,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:qD(new wD(119,"suggestFontSize",0,0,1e3,{markdownDescription:_(0,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:qD(new wD(120,"suggestLineHeight",0,0,1e3,{markdownDescription:_(0,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:qD(new vD(121,"suggestOnTriggerCharacters",!0,{description:_(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:qD(new kD(122,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[_(0,"Always select the first suggestion."),_(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),_(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:_(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:qD(new kD(123,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[_(0,"Tab complete will insert the best matching suggestion when pressing tab."),_(0,"Disable tab completions."),_(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:_(0,"Enables tab completions.")})),tabIndex:qD(new wD(124,"tabIndex",0,-1,1073741824)),unicodeHighlight:qD(new class extends hD{constructor(){const e={nonBasicASCII:PD,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:PD,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(125,"unicodeHighlight",e,{[BD]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,PD],default:e.nonBasicASCII,description:_(0,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[FD]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:_(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[WD]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:_(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[VD]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,PD],default:e.includeComments,description:_(0,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[HD]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,PD],default:e.includeStrings,description:_(0,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[OD]:{restricted:!0,type:"object",default:e.allowedCharacters,description:_(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[zD]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:_(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let n=!1;t.allowedCharacters&&e&&(_c(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},n=!0)),t.allowedLocales&&e&&(_c(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},n=!0));const i=super.applyUpdate(e,t);return n?new gD(i.newValue,!0):i}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{nonBasicASCII:UD(t.nonBasicASCII,PD,[!0,!1,PD]),invisibleCharacters:_D(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:_D(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:UD(t.includeComments,PD,[!0,!1,PD]),includeStrings:UD(t.includeStrings,PD,[!0,!1,PD]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if("object"!=typeof e||!e)return t;const n={};for(const[t,i]of Object.entries(e))!0===i&&(n[t]=!0);return n}}),unusualLineTerminators:qD(new kD(126,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[_(0,"Unusual line terminators are automatically removed."),_(0,"Unusual line terminators are ignored."),_(0,"Unusual line terminators prompt to be removed.")],description:_(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:qD(new vD(127,"useShadowDOM",!0)),useTabStops:qD(new vD(128,"useTabStops",!0,{description:_(0,"Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:qD(new kD(129,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[_(0,"Use the default line break rule."),_(0,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:_(0,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:qD(new class extends hD{constructor(){super(130,"wordSegmenterLocales",[],{anyOf:[{description:_(0,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:_(0,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(e){if("string"==typeof e&&(e=[e]),Array.isArray(e)){const t=[];for(const n of e)if("string"==typeof n)try{Intl.Segmenter.supportedLocalesOf(n).length>0&&t.push(n)}catch(e){}return t}return this.defaultValue}}),wordSeparators:qD(new SD(131,"wordSeparators",xh,{description:_(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:qD(new kD(132,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[_(0,"Lines will never wrap."),_(0,"Lines will wrap at the viewport width."),_(0,"Lines will wrap at `#editor.wordWrapColumn#`."),_(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:_(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:qD(new SD(133,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:qD(new SD(134,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:qD(new wD(135,"wordWrapColumn",80,1,1073741824,{markdownDescription:_(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:qD(new kD(136,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:qD(new kD(137,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:qD(new class extends mD{constructor(){super(142)}compute(e,t,n){const i=["monaco-editor"];return t.get(39)&&i.push(t.get(39)),e.extraEditorClassName&&i.push(e.extraEditorClassName),"default"===t.get(74)?i.push("mouse-default"):"copy"===t.get(74)&&i.push("mouse-copy"),t.get(111)&&i.push("showUnused"),t.get(140)&&i.push("showDeprecated"),i.join(" ")}}),defaultColorDecorators:qD(new vD(147,"defaultColorDecorators",!1,{markdownDescription:_(0,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:qD(new class extends mD{constructor(){super(143)}compute(e,t,n){return e.pixelRatio}}),tabFocusMode:qD(new vD(144,"tabFocusMode",!1,{markdownDescription:_(0,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:qD(new TD),wrappingInfo:qD(new class extends mD{constructor(){super(146)}compute(e,t,n){const i=t.get(145);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:i.isWordWrapMinified,isViewportWrapping:i.isViewportWrapping,wrappingColumn:i.wrappingColumn}}}),wrappingIndent:qD(new class extends hD{constructor(){super(138,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[_(0,"No indentation. Wrapped lines begin at column 1."),_(0,"Wrapped lines get the same indentation as the parent."),_(0,"Wrapped lines get +1 indentation toward the parent."),_(0,"Wrapped lines get +2 indentation toward the parent.")],description:_(0,"Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,n){return 2===t.get(2)?0:n}}),wrappingStrategy:qD(new class extends hD{constructor(){super(139,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[_(0,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),_(0,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:_(0,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return xD(e,"simple",["simple","advanced"])}compute(e,t,n){return 2===t.get(2)?"advanced":n}})},GD=Object.freeze({id:"editor",order:5,type:"object",title:_(0,"Editor"),scope:5}),ZD={...GD,properties:{"editor.tabSize":{type:"number",default:yh.tabSize,minimum:1,markdownDescription:_(0,"The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:_(0,'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:yh.insertSpaces,markdownDescription:_(0,"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:yh.detectIndentation,markdownDescription:_(0,"Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:yh.trimAutoWhitespace,description:_(0,"Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:yh.largeFileOptimizations,description:_(0,"Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[_(0,"Turn off Word Based Suggestions."),_(0,"Only suggest words from the active document."),_(0,"Suggest words from all open documents of the same language."),_(0,"Suggest words from all open documents.")],description:_(0,"Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[_(0,"Semantic highlighting enabled for all color themes."),_(0,"Semantic highlighting disabled for all color themes."),_(0,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:_(0,"Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:_(0,"Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:_(0,"Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:_(0,"Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:_(0,"Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:_(0,"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:_(0,"Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:_(0,"The opening bracket character or string sequence.")},{type:"string",description:_(0,"The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:_(0,"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:_(0,"The opening bracket character or string sequence.")},{type:"string",description:_(0,"The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:dD.maxComputationTime,description:_(0,"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:dD.maxFileSize,description:_(0,"Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:dD.renderSideBySide,description:_(0,"Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:dD.renderSideBySideInlineBreakpoint,description:_(0,"If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:dD.useInlineViewWhenSpaceIsLimited,description:_(0,"If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:dD.renderMarginRevertIcon,description:_(0,"When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:dD.renderGutterMenu,description:_(0,"When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:dD.ignoreTrimWhitespace,description:_(0,"When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:dD.renderIndicators,description:_(0,"Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:dD.diffCodeLens,description:_(0,"Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:dD.diffWordWrap,markdownEnumDescriptions:[_(0,"Lines will never wrap."),_(0,"Lines will wrap at the viewport width."),_(0,"Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:dD.diffAlgorithm,markdownEnumDescriptions:[_(0,"Uses the legacy diffing algorithm."),_(0,"Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:dD.hideUnchangedRegions.enabled,markdownDescription:_(0,"Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:dD.hideUnchangedRegions.revealLineCount,markdownDescription:_(0,"Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:dD.hideUnchangedRegions.minimumLineCount,markdownDescription:_(0,"Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:dD.hideUnchangedRegions.contextLineCount,markdownDescription:_(0,"Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:dD.experimental.showMoves,markdownDescription:_(0,"Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:dD.experimental.showEmptyDecorations,description:_(0,"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}};for(const e of jD){const t=e.schema;if(void 0!==t)if(void 0!==(YD=t).type||void 0!==YD.anyOf)ZD.properties[`editor.${e.name}`]=t;else for(const e in t)Object.hasOwnProperty.call(t,e)&&(ZD.properties[e]=t[e])}var YD;let XD=null;function QD(){return null===XD&&(XD=Object.create(null),Object.keys(ZD.properties).forEach((e=>{XD[e]=!0}))),XD}var JD;fu.as(Dg).registerConfiguration(ZD),function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(JD||(JD={})),function(e){const t="error",n="warning",i="info";e.fromValue=function(o){return o?yi(t,o)?e.Error:yi(n,o)||yi("warn",o)?e.Warning:yi(i,o)?e.Info:e.Ignore:e.Ignore},e.toString=function(o){switch(o){case e.Error:return t;case e.Warning:return n;case e.Info:return i;default:return"ignore"}}}(JD||(JD={}));const eN=JD;var tN=eN;const nN=dd("notificationService"),iN=new class{constructor(){this.QuickFix=new dx("quickfix"),this.Refactor=new dx("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 dx("notebook"),this.Source=new dx("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var oN;function sN(e,t,n){return!(!t.contains(e)||n&&t.contains(n))}!function(e){e.Refactor="refactor",e.RefactorPreview="refactor preview",e.Lightbulb="lightbulb",e.Default="other (default)",e.SourceAction="source action",e.QuickFix="quick fix action",e.FixAll="fix all",e.OrganizeImports="organize imports",e.AutoFix="auto fix",e.QuickFixHover="quick fix hover window",e.OnSave="save participants",e.ProblemsView="problems view"}(oN||(oN={}));class rN{static fromUser(e,t){return e&&"object"==typeof e?new rN(rN.getKindFromUser(e,t.kind),rN.getApplyFromUser(e,t.apply),rN.getPreferredUser(e)):new rN(t.kind,t.apply,!1)}static getApplyFromUser(e,t){switch("string"==typeof e.apply?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return"string"==typeof e.kind?new dx(e.kind):t}static getPreferredUser(e){return"boolean"==typeof e.preferred&&e.preferred}constructor(e,t,n){this.kind=e,this.apply=t,this.preferred=n}}class lN{constructor(e,t,n){this.action=e,this.provider=t,this.highlightRange=n}async resolve(e){var t;if((null===(t=this.provider)||void 0===t?void 0:t.resolveCodeAction)&&!this.action.edit){let t;try{t=await this.provider.resolveCodeAction(this.action,e)}catch(e){ke(e)}t&&(this.action.edit=t.edit)}return this}}const aN="editor.action.codeAction",dN="editor.action.quickFix",uN="editor.action.autoFix",cN="editor.action.refactor",hN="editor.action.sourceAction",gN="editor.action.organizeImports",pN="editor.action.fixAll";class mN extends lt{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:Wc(e.diagnostics)?Wc(t.diagnostics)?mN.codeActionsPreferredComparator(e,t):-1:Wc(t.diagnostics)?1:mN.codeActionsPreferredComparator(e,t)}constructor(e,t,n){super(),this.documentation=t,this._register(n),this.allActions=[...e].sort(mN.codeActionsComparator),this.validActions=this.allActions.filter((({action:e})=>!e.disabled))}get hasAutoFix(){return this.validActions.some((({action:e})=>!!e.kind&&iN.QuickFix.contains(new dx(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 fN={actions:[],documentation:void 0};async function _N(e,t,n,i,o,s){var r;const l=i.filter||{},a={...l,excludes:[...l.excludes||[],iN.Notebook]},d={only:null===(r=l.include)||void 0===r?void 0:r.value,trigger:i.type},u=new lk(t,s),c=2===i.type,h=function(e,t,n){return e.all(t).filter((e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some((e=>function(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some((n=>sN(t,n,e.include)))||!e.includeSourceActions&&iN.Source.contains(t))}(n,new dx(e))))))}(e,t,c?a:l),g=new rt,p=h.map((async e=>{try{o.report(e);const i=await e.provideCodeActions(t,n,d,u.token);if(i&&g.add(i),u.token.isCancellationRequested)return fN;const s=((null==i?void 0:i.actions)||[]).filter((e=>e&&function(e,t){const n=t.kind?new dx(t.kind):void 0;return!(!(!e.include||n&&e.include.contains(n))||e.excludes&&n&&e.excludes.some((t=>sN(n,t,e.include)))||!e.includeSourceActions&&n&&iN.Source.contains(n)||e.onlyIncludePreferredActions&&!t.isPreferred)}(l,e))),r=function(e,t,n){if(!e.documentation)return;const i=e.documentation.map((e=>({kind:new dx(e.kind),command:e.command})));if(n){let e;for(const t of i)t.kind.contains(n)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return null==e?void 0:e.command}for(const e of t)if(e.kind)for(const t of i)if(t.kind.contains(new dx(e.kind)))return t.command}(e,s,l.include);return{actions:s.map((t=>new lN(t,e))),documentation:r}}catch(e){if(Ne(e))throw e;return ke(e),fN}})),m=e.onDidChange((()=>{Ic(e.all(t),h)||u.cancel()}));try{const n=await Promise.all(p),o=n.map((e=>e.actions)).flat(),s=[...Oc(n.map((e=>e.documentation))),...vN(e,t,i,o)];return new mN(o,s,g)}finally{m.dispose(),u.dispose()}}function*vN(e,t,n,i){var o,s,r;if(t&&i.length)for(const l of e.all(t))l._getAdditionalMenuItems&&(yield*null===(o=l._getAdditionalMenuItems)||void 0===o?void 0:o.call(l,{trigger:n.type,only:null===(r=null===(s=n.filter)||void 0===s?void 0:s.include)||void 0===r?void 0:r.value},i.map((e=>e.action))))}var bN;async function wN(e,t,n,i,o=It.None){var s;const r=e.get(fx),l=e.get(wd),a=e.get(Mu),d=e.get(nN);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:n}),await t.resolve(o),!o.isCancellationRequested){if((null===(s=t.action.edit)||void 0===s?void 0:s.edits.length)&&!(await r.apply(t.action.edit,{editor:null==i?void 0:i.editor,label:t.action.title,quotableLabel:t.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:n!==bN.OnSave,showPreview:null==i?void 0:i.preview})).isApplied)return;if(t.action.command)try{await l.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(e){const t=function(e){return"string"==typeof e?e:e instanceof Error&&"string"==typeof e.message?e.message:void 0}(e);d.error("string"==typeof t?t:_(0,"An unknown error occurred while applying the code action"))}}}!function(e){e.OnSave="onSave",e.FromProblemsView="fromProblemsView",e.FromCodeActions="fromCodeActions",e.FromAILightbulb="fromAILightbulb"}(bN||(bN={})),Cd.registerCommand("_executeCodeActionProvider",(async function(e,t,n,i,o){if(!(t instanceof Io))throw Ie();const{codeActionProvider:s}=e.get(wx),r=e.get(hd).getModel(t);if(!r)throw Ie();const l=ic.isISelection(n)?ic.liftSelection(n):nc.isIRange(n)?r.validateRange(n):void 0;if(!l)throw Ie();const a="string"==typeof i?new dx(i):void 0,d=await _N(s,r,l,{type:1,triggerAction:oN.Default,filter:{includeSourceActions:!0,include:a}},vL.None,It.None),u=[],c=Math.min(d.validActions.length,"number"==typeof o?o:0);for(let e=0;ee.action))}finally{setTimeout((()=>d.dispose()),100)}}));var CN;let yN=CN=class{constructor(e){this.keybindingService=e}getResolver(){const e=new ei((()=>this.keybindingService.getKeybindings().filter((e=>CN.codeActionCommands.indexOf(e.command)>=0)).filter((e=>e.resolvedKeybinding)).map((e=>{let t=e.commandArgs;return e.command===gN?t={kind:iN.SourceOrganizeImports.value}:e.command===pN&&(t={kind:iN.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...rN.fromUser(t,{kind:dx.None,apply:"never"})}}))));return t=>{if(t.kind){const n=this.bestKeybindingForCodeAction(t,e.value);return null==n?void 0:n.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const n=new dx(e.kind);return t.filter((e=>e.kind.contains(n))).filter((t=>!t.preferred||e.isPreferred)).reduceRight(((e,t)=>e?e.kind.contains(t.kind)?t:e:t),void 0)}};yN.codeActionCommands=[cN,aN,hN,gN,pN],yN=CN=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,zL)],yN);var SN=n(2171),xN={};xN.styleTagTransform=Vr(),xN.setAttributes=Or(),xN.insert=Rr().bind(null,"head"),xN.domAPI=Tr(),xN.insertStyleElement=Br(),Ir()(SN.A,xN),SN.A&&SN.A.locals&&SN.A.locals;var kN=n(714),LN={};LN.styleTagTransform=Vr(),LN.setAttributes=Or(),LN.insert=Rr().bind(null,"head"),LN.domAPI=Tr(),LN.insertStyleElement=Br(),Ir()(kN.A,LN),kN.A&&kN.A.locals&&kN.A.locals;var DN=n(1029),NN={};NN.styleTagTransform=Vr(),NN.setAttributes=Or(),NN.insert=Rr().bind(null,"head"),NN.domAPI=Tr(),NN.insertStyleElement=Br(),Ir()(DN.A,NN),DN.A&&DN.A.locals&&DN.A.locals,km("symbolIcon.arrayForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.booleanForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_(0,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.colorForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.constantForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_(0,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_(0,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},_(0,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.fileForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.folderForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_(0,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.keyForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.keywordForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},_(0,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.moduleForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.namespaceForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.nullForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.numberForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.objectForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.operatorForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.packageForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.propertyForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.referenceForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.snippetForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.stringForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.structForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.textForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.typeParameterForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.unitForeground",{dark:Pm,light:Pm,hcDark:Pm,hcLight:Pm},_(0,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),km("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},_(0,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const EN=Object.freeze({kind:dx.Empty,title:_(0,"More Actions...")}),IN=Object.freeze([{kind:iN.QuickFix,title:_(0,"Quick Fix")},{kind:iN.RefactorExtract,title:_(0,"Extract"),icon:Sa.wrench},{kind:iN.RefactorInline,title:_(0,"Inline"),icon:Sa.wrench},{kind:iN.RefactorRewrite,title:_(0,"Rewrite"),icon:Sa.wrench},{kind:iN.RefactorMove,title:_(0,"Move"),icon:Sa.wrench},{kind:iN.SurroundWith,title:_(0,"Surround With"),icon:Sa.surroundWith},{kind:iN.Source,title:_(0,"Source Action"),icon:Sa.symbolFile},EN]);var MN=n(4169),TN={};TN.styleTagTransform=Vr(),TN.setAttributes=Or(),TN.insert=Rr().bind(null,"head"),TN.domAPI=Tr(),TN.insertStyleElement=Br(),Ir()(MN.A,TN),MN.A&&MN.A.locals&&MN.A.locals;var AN,RN,PN=function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.Hidden={type:0},e.Showing=class{constructor(e,t,n,i){this.actions=e,this.trigger=t,this.editorPosition=n,this.widgetPosition=i,this.type=1}}}(RN||(RN={}));let ON=AN=class extends lt{constructor(e,t,n){var i,o,s;super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Ct),this.onClick=this._onClick.event,this._state=RN.Hidden,this._iconClasses=[],this._domNode=mr("div.lightBulbWidget"),this._register(LL.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((e=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()}))),this._register((i=this._domNode,o=e=>{if(1!==this.state.type)return;this._editor.focus(),e.preventDefault();const{top:t,height:n}=Es(this._domNode),i=this._editor.getOption(67);let o=Math.floor(i/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1&~e.buttons||this.hide()}))),this._register(ft.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{var e,t,n,i;this._preferredKbLabel=null!==(t=null===(e=this._keybindingService.lookupKeybinding(uN))||void 0===e?void 0:e.getLabel())&&void 0!==t?t:void 0,this._quickFixKbLabel=null!==(i=null===(n=this._keybindingService.lookupKeybinding(dN))||void 0===n?void 0:n.getLabel())&&void 0!==i?i:void 0,this._updateLightBulbTitleAndIcon()})))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(e,t,n){if(e.validActions.length<=0)return this.hide();if(!this._editor.getOptions().get(65).enabled)return this.hide();const i=this._editor.getModel();if(!i)return this.hide();const{lineNumber:o,column:s}=i.validatePosition(n),r=i.getOptions().tabSize,l=this._editor.getOptions().get(50),a=Xb(i.getLineContent(o),r),d=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1);let u=o,c=1;if(!(l.spaceWidth*a>22)){if(o>1&&!d(o-1))u-=1;else if(o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([PN(1,zL),PN(2,wd)],ON);class FN{constructor(e){this.spliceables=e}splice(e,t,n){this.spliceables.forEach((i=>i.splice(e,t,n)))}}function BN(e,t,n){return Math.min(Math.max(e,t),n)}class WN{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class VN{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n{try{e.releasePointerCapture(t)}catch(e){}})))}catch(t){s=is(e)}this._hooks.add(ms(s,or.POINTER_MOVE,(e=>{e.buttons===n?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)}))),this._hooks.add(ms(s,or.POINTER_UP,(e=>this.stopMonitoring(!0))))}}class jN extends lt{onclick(e,t){this._register(ms(e,or.CLICK,(n=>t(new $e(is(e),n)))))}onmousedown(e,t){this._register(ms(e,or.MOUSE_DOWN,(n=>t(new $e(is(e),n)))))}onmouseover(e,t){this._register(ms(e,or.MOUSE_OVER,(n=>t(new $e(is(e),n)))))}onmouseleave(e,t){this._register(ms(e,or.MOUSE_LEAVE,(n=>t(new $e(is(e),n)))))}onkeydown(e,t){this._register(ms(e,or.KEY_DOWN,(e=>t(new Ue(e)))))}onkeyup(e,t){this._register(ms(e,or.KEY_UP,(e=>t(new Ue(e)))))}oninput(e,t){this._register(ms(e,or.INPUT,t))}onblur(e,t){this._register(ms(e,or.BLUR,t))}onfocus(e,t){this._register(ms(e,or.FOCUS,t))}ignoreGesture(e){return LL.ignoreTarget(e)}}class qN extends jN{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",void 0!==e.top&&(this.bgDomNode.style.top="0px"),void 0!==e.left&&(this.bgDomNode.style.left="0px"),void 0!==e.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==e.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...ka.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px",void 0!==e.top&&(this.domNode.style.top=e.top+"px"),void 0!==e.left&&(this.domNode.style.left=e.left+"px"),void 0!==e.bottom&&(this.domNode.style.bottom=e.bottom+"px"),void 0!==e.right&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new KN),this._register(_s(this.bgDomNode,or.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._register(_s(this.domNode,or.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._pointerdownRepeatTimer=this._register(new ys),this._pointerdownScheduleRepeatTimer=this._register(new Ut)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,is(e))}),200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),e.preventDefault())}}class $N extends lt{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Ut)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{var e;null===(e=this._domNode)||void 0===e||e.setClassName(this._visibleClassName)}),0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,null===(t=this._domNode)||void 0===t||t.setClassName(this._invisibleClassName+(e?" fade":"")))}}class GN extends jN{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new $N(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new KN),this._shouldRender=!0,this.domNode=tL(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(ms(this.domNode.domNode,or.POINTER_DOWN,(e=>this._domNodePointerDown(e))))}_createArrow(e){const t=this._register(new qN(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,i){this.slider=tL(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof n&&this.slider.setWidth(n),"number"==typeof i&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(ms(this.slider.domNode,or.POINTER_DOWN,(e=>{0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}))),this.onclick(this.slider.domNode,(e=>{e.leftButton&&e.stopPropagation()}))}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),i=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderPointerPosition(e);n<=o&&o<=i?0===e.button&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&"number"==typeof e.offsetX&&"number"==typeof e.offsetY)t=e.offsetX,n=e.offsetY;else{const i=Es(this.domNode.domNode);t=e.pageX-i.left,n=e.pageY-i.top}const i=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(i):this._scrollbarState.getDesiredScrollPositionFromOffset(i)),0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),i=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{const o=this._sliderOrthogonalPointerPosition(e),s=Math.abs(o-n);if(z&&s>140)return void this._setDesiredScrollPositionNow(i.getScrollPosition());const r=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(i.getDesiredScrollPositionFromDelta(r))}),(()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class ZN{constructor(e,t,n,i,o,s){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=i,this._scrollSize=o,this._scrollPosition=s,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new ZN(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,i,o){const s=Math.max(0,n-e),r=Math.max(0,s-2*t),l=i>0&&i>n;if(!l)return{computedAvailableSize:Math.round(s),computedIsNeeded:l,computedSliderSize:Math.round(r),computedSliderRatio:0,computedSliderPosition:0};const a=Math.round(Math.max(20,Math.floor(n*r/i))),d=(r-a)/(i-n),u=o*d;return{computedAvailableSize:Math.round(s),computedIsNeeded:l,computedSliderSize:Math.round(a),computedSliderRatio:d,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){const e=ZN._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let n=this._scrollPosition;return tthis._host.onMouseWheel(new Ge(null,1,0))}),this._createArrow({className:"scra",icon:Sa.scrollbarButtonRight,top:n,left:void 0,bottom:void 0,right:e,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new Ge(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(2===e.horizontal?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class XN extends GN{constructor(e,t,n){const i=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new ZN(t.verticalHasArrows?t.arrowSize:0,2===t.vertical?0:t.verticalScrollbarSize,0,i.height,i.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const e=(t.arrowSize-11)/2,n=(t.verticalScrollbarSize-11)/2;this._createArrow({className:"scra",icon:Sa.scrollbarButtonUp,top:e,left:n,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new Ge(null,0,1))}),this._createArrow({className:"scra",icon:Sa.scrollbarButtonDown,top:void 0,left:n,bottom:e,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new Ge(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class QN{constructor(e,t,n,i,o,s,r){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,i|=0,o|=0,s|=0,r|=0),this.rawScrollLeft=i,this.rawScrollTop=r,t<0&&(t=0),i+t>n&&(i=n-t),i<0&&(i=0),o<0&&(o=0),r+o>s&&(r=s-o),r<0&&(r=0),this.width=t,this.scrollWidth=n,this.scrollLeft=i,this.height=o,this.scrollHeight=s,this.scrollTop=r}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new QN(this._forceIntegerValues,void 0!==e.width?e.width:this.width,void 0!==e.scrollWidth?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,void 0!==e.height?e.height:this.height,void 0!==e.scrollHeight?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new QN(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==e.scrollTop?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const n=this.width!==e.width,i=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,s=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,l=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:i,scrollLeftChanged:o,heightChanged:s,scrollHeightChanged:r,scrollTopChanged:l}}}class JN extends lt{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new Ct),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new QN(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var n;const i=this._state.withScrollDimensions(e,t);this._setState(i,Boolean(this._smoothScrolling)),null===(n=this._smoothScrolling)||void 0===n||n.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};const n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let i;i=t?new nE(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=i}else{const t=this._state.withScrollPosition(e);this._smoothScrolling=nE.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);return this._setState(t,!0),this._smoothScrolling?e.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(e,t){const n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}}class eE{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}}function tE(e,t){const n=t-e;return function(t){return e+n*(1-(i=1-t,Math.pow(i,3)));var i}}class nE{constructor(e,t,n,i){this.from=e,this.to=t,this.duration=i,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,n){if(Math.abs(e-t)>2.5*n){let r,l;return e0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if(this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(n+=.25),t){const i=Math.abs(e.deltaX),o=Math.abs(e.deltaY),s=Math.abs(t.deltaX),r=Math.abs(t.deltaY),l=Math.max(Math.min(i,s),1),a=Math.max(Math.min(o,r),1),d=Math.max(i,s),u=Math.max(o,r);d%l==0&&u%a==0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}lE.INSTANCE=new lE;class aE extends jN{get options(){return this._options}constructor(e,t,n){super(),this._onScroll=this._register(new Ct),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new Ct),e.style.overflow="hidden",this._options=function(e){const t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:void 0===e.scrollPredominantAxis||e.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:1,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:1,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:void 0!==e.scrollByPage&&e.scrollByPage};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,U&&(t.className+=" mac"),t}(t),this._scrollable=n,this._register(this._scrollable.onScroll((e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)})));const i={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new XN(this._scrollable,this._options,i)),this._horizontalScrollbar=this._register(new YN(this._scrollable,this._options,i)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=tL(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=tL(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=tL(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(e=>this._onMouseOver(e))),this.onmouseleave(this._listenOnDomNode,(e=>this._onMouseLeave(e))),this._hideTimeout=this._register(new Ut),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=it(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,U&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){void 0!==e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),void 0!==e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),void 0!==e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),void 0!==e.horizontal&&(this._options.horizontal=e.horizontal),void 0!==e.vertical&&(this._options.vertical=e.vertical),void 0!==e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),void 0!==e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),void 0!==e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new Ge(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=it(this._mouseWheelToDispose),e)){const e=e=>{this._onMouseWheel(new Ge(e))};this._mouseWheelToDispose.push(ms(this._listenOnDomNode,or.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){var t;if(null===(t=e.browserEvent)||void 0===t?void 0:t.defaultPrevented)return;const n=lE.INSTANCE;n.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let t=e.deltaY*this._options.mouseWheelScrollSensitivity,o=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&o+t===0?o=t=0:Math.abs(t)>=Math.abs(o)?o=0:t=0),this._options.flipAxes&&([t,o]=[o,t]);const s=!U&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!s||o||(o=t,t=0),e.browserEvent&&e.browserEvent.altKey&&(o*=this._options.fastScrollSensitivity,t*=this._options.fastScrollSensitivity);const r=this._scrollable.getFutureScrollPosition();let l={};if(t){const e=50*t,n=r.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(l,n)}if(o){const e=50*o,t=r.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(l,t)}l=this._scrollable.validateScrollPosition(l),(r.scrollLeft!==l.scrollLeft||r.scrollTop!==l.scrollTop)&&(this._options.mouseWheelSmoothScroll&&n.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(l):this._scrollable.setScrollPositionNow(l),i=!0)}let o=i;!o&&this._options.alwaysConsumeMouseWheel&&(o=!0),!o&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(o=!0),o&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,i=n?" left":"",o=t?" top":"",s=n||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${i}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${s}${o}${i}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}class dE extends aE{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const n=new JN({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>Cs(is(e),t)});super(e,t,n),this._register(n)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class uE extends aE{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class cE extends aE{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const n=new JN({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>Cs(is(e),t)});super(e,t,n),this._register(n),this._element=e,this._register(this.onScroll((e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)}))),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function hE(e,t){const n=[];for(const i of t){if(e.start>=i.range.end)continue;if(e.end=t.end||t.start>=e.end)return{start:0,end:0};const n=Math.max(e.start,t.start),i=Math.min(e.end,t.end);return i-n<=0?{start:0,end:0}:{start:n,end:i}}function n(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=n,e.intersects=function(e,i){return!n(t(e,i))},e.relativeComplement=function(e,t){const i=[],o={start:e.start,end:Math.min(t.start,e.end)},s={start:Math.max(t.end,e.start),end:e.end};return n(o)||i.push(o),n(s)||i.push(s),i}}(iE||(iE={}));class pE{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=null!=e?e:0,this._size=this._paddingTop}splice(e,t,n=[]){const i=n.length-t,o=hE({start:0,end:e},this.groups),s=hE({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map((e=>({range:gE(e.range,i),size:e.size}))),r=n.map(((t,n)=>({range:{start:e+n,end:e+n+1},size:t.size})));this.groups=function(...e){return function(e){const t=[];let n=null;for(const i of e){const e=i.range.start,o=i.range.end,s=i.size;n&&s===n.size?n.range.end=o:(n={range:{start:e,end:o},size:s},t.push(n))}return t}(e.reduce(((e,t)=>e.concat(t)),[]))}(o,r,s),this._size=this._paddingTop+this.groups.reduce(((e,t)=>e+t.size*(t.range.end-t.range.start)),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const n of e)this.getRenderer(t).disposeTemplate(n.templateData),n.templateData=null})),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var fE=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r};const _E={CurrentDragAndDropData:void 0},vE={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:e=>[e],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class bE{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class wE{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class CE{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;tn,(null==e?void 0:e.getPosInSet)?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(e,t)=>t+1,(null==e?void 0:e.getRole)?this.getRole=e.getRole.bind(e):this.getRole=e=>"listitem",(null==e?void 0:e.isChecked)?this.isChecked=e.isChecked.bind(e):this.isChecked=e=>{}}}class SE{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const e of this.items)this.measureItemWidth(e);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:Ts(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,n,i=vE){var o,s,r,l,a,d,u,c,h,g,p,m,f;if(this.virtualDelegate=t,this.domId="list_id_"+ ++SE.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Bt(50),this.splicing=!1,this.dragOverAnimationStopDisposable=lt.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=lt.None,this.onDragLeaveTimeout=lt.None,this.disposables=new rt,this._onDidChangeContentHeight=new Ct,this._onDidChangeContentWidth=new Ct,this.onDidChangeContentHeight=ft.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,i.horizontalScrolling&&i.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(null!==(o=i.paddingTop)&&void 0!==o?o:0);for(const e of n)this.renderers.set(e.templateId,e);this.cache=this.disposables.add(new mE(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support","boolean"!=typeof i.mouseSupport||i.mouseSupport),this._horizontalScrolling=null!==(s=i.horizontalScrolling)&&void 0!==s?s:vE.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=void 0===i.paddingBottom?0:i.paddingBottom,this.accessibilityProvider=new yE(i.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(null!==(r=i.transformOptimization)&&void 0!==r?r:vE.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(LL.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new JN({forceIntegerValues:!0,smoothScrollDuration:null!==(l=i.smoothScrolling)&&void 0!==l&&l?125:0,scheduleAtNextAnimationFrame:e=>Cs(is(this.domNode),e)})),this.scrollableElement=this.disposables.add(new uE(this.rowsContainer,{alwaysConsumeMouseWheel:null!==(a=i.alwaysConsumeMouseWheel)&&void 0!==a?a:vE.alwaysConsumeMouseWheel,horizontal:1,vertical:null!==(d=i.verticalScrollMode)&&void 0!==d?d:vE.verticalScrollMode,useShadows:null!==(u=i.useShadows)&&void 0!==u?u:vE.useShadows,mouseWheelScrollSensitivity:i.mouseWheelScrollSensitivity,fastScrollSensitivity:i.fastScrollSensitivity,scrollByPage:i.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(ms(this.rowsContainer,kL.Change,(e=>this.onTouchChange(e)))),this.disposables.add(ms(this.scrollableElement.getDomNode(),"scroll",(e=>e.target.scrollTop=0))),this.disposables.add(ms(this.domNode,"dragover",(e=>this.onDragOver(this.toDragEvent(e))))),this.disposables.add(ms(this.domNode,"drop",(e=>this.onDrop(this.toDragEvent(e))))),this.disposables.add(ms(this.domNode,"dragleave",(e=>this.onDragLeave(this.toDragEvent(e))))),this.disposables.add(ms(this.domNode,"dragend",(e=>this.onDragEnd(e)))),this.setRowLineHeight=null!==(c=i.setRowLineHeight)&&void 0!==c?c:vE.setRowLineHeight,this.setRowHeight=null!==(h=i.setRowHeight)&&void 0!==h?h:vE.setRowHeight,this.supportDynamicHeights=null!==(g=i.supportDynamicHeights)&&void 0!==g?g:vE.supportDynamicHeights,this.dnd=null!==(p=i.dnd)&&void 0!==p?p:this.disposables.add(vE.dnd),this.layout(null===(m=i.initialSize)||void 0===m?void 0:m.height,null===(f=i.initialSize)||void 0===f?void 0:f.width)}updateOptions(e){let t;if(void 0!==e.paddingBottom&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==e.smoothScrolling&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),void 0!==e.horizontalScrolling&&(this.horizontalScrolling=e.horizontalScrolling),void 0!==e.scrollByPage&&(t={...null!=t?t:{},scrollByPage:e.scrollByPage}),void 0!==e.mouseWheelScrollSensitivity&&(t={...null!=t?t:{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),void 0!==e.fastScrollSensitivity&&(t={...null!=t?t:{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),void 0!==e.paddingTop&&e.paddingTop!==this.rangeMap.paddingTop){const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(t,Math.max(0,this.lastRenderTop+n),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new pE(e)}splice(e,t,n=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,n)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,n=[]){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),o={start:e,end:e+t},s=iE.intersect(i,o),r=new Map;for(let e=s.end-1;e>=s.start;e--){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){let n=r.get(t.templateId);n||(n=[],r.set(t.templateId,n));const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),n.push(t.row)}t.row=null,t.stale=!0}const l={start:e+t,end:this.items.length},a=iE.intersect(l,i),d=iE.relativeComplement(l,i),u=n.map((e=>({id:String(this.itemId++),element:e,templateId:this.virtualDelegate.getTemplateId(e),size:this.virtualDelegate.getHeight(e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(e),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:lt.None,checkedDisposable:lt.None,stale:!1})));let c;0===e&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,u),c=this.items,this.items=u):(this.rangeMap.splice(e,t,u),c=this.items.splice(e,t,...u));const h=n.length-t,g=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),p=gE(a,h),m=iE.intersect(g,p);for(let e=m.start;egE(e,h))),v=[{start:e,end:e+n.length},..._].map((e=>iE.intersect(g,e))).reverse();for(const e of v)for(let t=e.end-1;t>=e.start;t--){const e=this.items[t],n=r.get(e.templateId),i=null==n?void 0:n.pop();this.insertItemInDOM(t,i)}for(const e of r.values())for(const t of e)this.cache.release(t);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),c.map((e=>e.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=Cs(is(this.domNode),(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth())):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)void 0!==t.width&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:0===e?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex((t=>t.element===e))}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const n={height:"number"==typeof e?e:As(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,n.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(n),void 0!==t&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof t?t:Ts(this.domNode)})}render(e,t,n,i,o,s=!1){const r=this.getRenderRange(t,n),l=iE.relativeComplement(r,e).reverse(),a=iE.relativeComplement(e,r);if(s){const t=iE.intersect(e,r);for(let e=t.start;e{for(const e of a)for(let t=e.start;t=e.start;t--)this.insertItemInDOM(t)})),void 0!==i&&(this.rowsContainer.style.left=`-${i}px`),this.rowsContainer.style.top=`-${t}px`,this.horizontalScrolling&&void 0!==o&&(this.rowsContainer.style.width=`${Math.max(o,this.renderWidth)}px`),this.lastRenderTop=t,this.lastRenderHeight=n}insertItemInDOM(e,t){var n,i,o;const s=this.items[e];if(!s.row)if(t)s.row=t,s.stale=!0;else{const e=this.cache.alloc(s.templateId);s.row=e.row,s.stale||(s.stale=e.isReusingConnectedDomNode)}const r=this.accessibilityProvider.getRole(s.element)||"listitem";s.row.domNode.setAttribute("role",r);const l=this.accessibilityProvider.isChecked(s.element);if("boolean"==typeof l)s.row.domNode.setAttribute("aria-checked",String(!!l));else if(l){const e=e=>s.row.domNode.setAttribute("aria-checked",String(!!e));e(l.value),s.checkedDisposable=l.onDidChange(e)}if(s.stale||!s.row.domNode.parentElement){const t=null!==(o=null===(i=null===(n=this.items.at(e+1))||void 0===n?void 0:n.row)||void 0===i?void 0:i.domNode)&&void 0!==o?o:null;this.rowsContainer.insertBefore(s.row.domNode,t),s.stale=!1}this.updateItemInDOM(s,e);const a=this.renderers.get(s.templateId);if(!a)throw new Error(`No renderer found for template id ${s.templateId}`);null==a||a.renderElement(s.element,e,s.row.templateData,s.size);const d=this.dnd.getDragURI(s.element);s.dragStartDisposable.dispose(),s.row.domNode.draggable=!!d,d&&(s.dragStartDisposable=ms(s.row.domNode,"dragstart",(e=>this.onDragStart(s.element,d,e)))),this.horizontalScrolling&&(this.measureItemWidth(s),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=Ts(e.row.domNode);const t=is(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2==0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const n=this.renderers.get(t.templateId);n&&n.disposeElement&&n.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return ft.map(this.disposables.add(new US(this.domNode,"click")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseDblClick(){return ft.map(this.disposables.add(new US(this.domNode,"dblclick")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseMiddleClick(){return ft.filter(ft.map(this.disposables.add(new US(this.domNode,"auxclick")).event,(e=>this.toMouseEvent(e)),this.disposables),(e=>1===e.browserEvent.button),this.disposables)}get onMouseDown(){return ft.map(this.disposables.add(new US(this.domNode,"mousedown")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOver(){return ft.map(this.disposables.add(new US(this.domNode,"mouseover")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOut(){return ft.map(this.disposables.add(new US(this.domNode,"mouseout")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onContextMenu(){return ft.any(ft.map(this.disposables.add(new US(this.domNode,"contextmenu")).event,(e=>this.toMouseEvent(e)),this.disposables),ft.map(this.disposables.add(new US(this.domNode,kL.Contextmenu)).event,(e=>this.toGestureEvent(e)),this.disposables))}get onTouchStart(){return ft.map(this.disposables.add(new US(this.domNode,"touchstart")).event,(e=>this.toTouchEvent(e)),this.disposables)}get onTap(){return ft.map(this.disposables.add(new US(this.rowsContainer,kL.Tap)).event,(e=>this.toGestureEvent(e)),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),n=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),n=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),n=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),n=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:n&&n.element,sector:this.getTargetSector(e,t)}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,n){var i,o;if(!n.dataTransfer)return;const s=this.dnd.getDragElements(e);if(n.dataTransfer.effectAllowed="copyMove",n.dataTransfer.setData(ux.TEXT,t),n.dataTransfer.setDragImage){let e;this.dnd.getDragLabel&&(e=this.dnd.getDragLabel(s,n)),void 0===e&&(e=String(s.length));const t=mr(".monaco-drag-image");t.textContent=e;const i=(e=>{for(;e&&!e.classList.contains("monaco-workbench");)e=e.parentElement;return e||this.domNode.ownerDocument})(this.domNode);i.appendChild(t),n.dataTransfer.setDragImage(t,-10,-10),setTimeout((()=>i.removeChild(t)),0)}this.domNode.classList.add("dragging"),this.currentDragData=new bE(s),_E.CurrentDragAndDropData=new wE(s),null===(o=(i=this.dnd).onDragStart)||void 0===o||o.call(i,this.currentDragData,n)}onDragOver(e){var t,n;if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),_E.CurrentDragAndDropData&&"vscode-ui"===_E.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(_E.CurrentDragAndDropData)this.currentDragData=_E.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new CE}const i=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop="boolean"==typeof i?i:i.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let o;e.browserEvent.dataTransfer.dropEffect="boolean"!=typeof i&&0===(null===(t=i.effect)||void 0===t?void 0:t.type)?"copy":"move",o="boolean"!=typeof i&&i.feedback?i.feedback:void 0===e.index?[-1]:[e.index],o=Vc(o).filter((e=>e>=-1&&ee-t)),o=-1===o[0]?[-1]:o;let s="boolean"!=typeof i&&i.effect&&i.effect.position?i.effect.position:"drop-target";if(r=this.currentDragFeedback,l=o,(Array.isArray(r)&&Array.isArray(l)?Ic(r,l):r===l)&&this.currentDragFeedbackPosition===s)return!0;var r,l;if(this.currentDragFeedback=o,this.currentDragFeedbackPosition=s,this.currentDragFeedbackDisposable.dispose(),-1===o[0])this.domNode.classList.add(s),this.rowsContainer.classList.add(s),this.currentDragFeedbackDisposable=st((()=>{this.domNode.classList.remove(s),this.rowsContainer.classList.remove(s)}));else{if(o.length>1&&"drop-target"!==s)throw new Error("Can't use multiple feedbacks with position different than 'over'");"drop-target-after"===s&&o[0]{var e;for(const t of o){const n=this.items[t];n.dropTarget=!1,null===(e=n.row)||void 0===e||e.domNode.classList.remove(s)}}))}return!0}onDragLeave(e){var t,n;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=Ht((()=>this.clearDragOverFeedback()),100,this.disposables),this.currentDragData&&(null===(n=(t=this.dnd).onDragLeave)||void 0===n||n.call(t,this.currentDragData,e.element,e.index,e.browserEvent))}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,_E.CurrentDragAndDropData=void 0,t&&e.browserEvent.dataTransfer&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){var t,n;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,_E.CurrentDragAndDropData=void 0,null===(n=(t=this.dnd).onDragEnd)||void 0===n||n.call(t,e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=lt.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const e=Ns(this.domNode).top;this.dragOverAnimationDisposable=function(e,t){const n=()=>{t(),i=Cs(e,n)};let i=Cs(e,n);return st((()=>i.dispose()))}(is(this.domNode),this.animateDragAndDropScrollTop.bind(this,e))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=Ht((()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}),1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(void 0===this.dragOverMouseY)return;const t=this.dragOverMouseY-e,n=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>n&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-n))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(void 0===t)return;const n=e.offsetY/this.items[t].size;return BN(Math.floor(n/.25),0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let n=e;for(;n instanceof HTMLElement&&n!==this.rowsContainer&&t.contains(n);){const e=n.getAttribute("data-index");if(e){const t=Number(e);if(!isNaN(t))return t}n=n.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,n){const i=this.getRenderRange(e,t);let o,s;e===this.elementTop(i.start)?(o=i.start,s=0):i.end-i.start>1&&(o=i.start+1,s=this.elementTop(o)-e);let r=0;for(;;){const l=this.getRenderRange(e,t);let a=!1;for(let e=l.start;e=e.start;t--)this.insertItemInDOM(t);for(let e=l.start;e{const e=EE(i);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());return t?`${this.debugName}.${t[2]}`:n?void 0:`${this.debugName} (mapped)`}},(e=>i(this.read(e),e)))}recomputeInitiallyAndOnChange(e,t){return e.add(IE(this,t)),this}}class PE extends RE{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function OE(e,t){const n=new WE(e,t);try{e(n)}finally{n.finish()}}function FE(e){if(AE)e(AE);else{const t=new WE(e,void 0);AE=t;try{e(t)}finally{t.finish(),AE=void 0}}}function BE(e,t,n){e?t(e):OE(t,n)}class WE{constructor(e,t){var n;this._fn=e,this._getDebugName=t,this.updatingObservers=[],null===(n=void 0)||void 0===n||n.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():EE(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){var e;const t=this.updatingObservers;for(let e=0;e{}),(()=>`Setting ${this.debugName}`)));try{const o=this._value;this._setValue(e),null===(i=void 0)||void 0===i||i.handleObservableChanged(this,{oldValue:o,newValue:e,change:n,didChange:!0,hadValue:!0});for(const e of this.observers)t.updateObserver(e,this),e.handleChange(this,n)}finally{o&&o.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function zE(e,t){return"string"==typeof e?new UE(void 0,e,t):new UE(e,void 0,t)}class UE extends HE{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){var e;null===(e=this._value)||void 0===e||e.dispose()}}const KE=(e,t)=>e===t;function jE(e,t){return void 0!==t?new ZE(new xE(e,void 0,t),t,void 0,void 0,void 0,KE):new ZE(new xE(void 0,void 0,e),e,void 0,void 0,void 0,KE)}function qE(e,t){var n;return new ZE(new xE(e.owner,e.debugName,e.debugReferenceFn),t,void 0,void 0,e.onLastObserverRemoved,null!==(n=e.equalityComparer)&&void 0!==n?n:KE)}function $E(e,t){let n,i;void 0===t?(n=e,i=void 0):(i=e,n=t);const o=new rt;return new ZE(new xE(i,void 0,n),(e=>(o.clear(),n(e,o))),void 0,void 0,(()=>o.dispose()),KE)}function GE(e,t){let n,i;void 0===t?(n=e,i=void 0):(i=e,n=t);const o=new rt;return new ZE(new xE(i,void 0,n),(e=>{o.clear();const t=n(e);return t&&o.add(t),t}),void 0,void 0,(()=>o.dispose()),KE)}!function(e){TE=e}(qE);class ZE extends PE{get debugName(){var e;return null!==(e=this._debugNameData.getDebugName(this))&&void 0!==e?e:"(anonymous)"}constructor(e,t,n,i,o=void 0,s){var r,l;super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=n,this._handleChange=i,this._handleLastObserverRemoved=o,this._equalityComparator=s,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=null===(r=this.createChangeSummary)||void 0===r?void 0:r.call(this),null===(l=void 0)||void 0===l||l.handleDerivedCreated(this)}onLastObserverRemoved(){var e;this.state=0,this.value=void 0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),null===(e=this._handleLastObserverRemoved)||void 0===e||e.call(this)}get(){var e;if(0===this.observers.size){const t=this._computeFn(this,null===(e=this.createChangeSummary)||void 0===e?void 0:e.call(this));return this.onLastObserverRemoved(),t}do{if(1===this.state)for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){var e,t;if(3===this.state)return;const n=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=n;const i=0!==this.state,o=this.value;this.state=3;const s=this.changeSummary;this.changeSummary=null===(e=this.createChangeSummary)||void 0===e?void 0:e.call(this);try{this.value=this._computeFn(this,s)}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}const r=i&&!this._equalityComparator(o,this.value);if(null===(t=void 0)||void 0===t||t.handleDerivedRecomputed(this,{oldValue:o,newValue:this.value,change:void 0,didChange:r,hadValue:i}),r)for(const e of this.observers)e.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const e of this.observers)e.handlePossibleChange(this);if(t)for(const e of this.observers)e.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}pu((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const n=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),i=3===this.state;if(n&&(1===this.state||i)&&(this.state=2,i))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function YE(e){return new eI(new xE(void 0,void 0,e),e,void 0,void 0)}function XE(e,t){var n;return new eI(new xE(e.owner,e.debugName,null!==(n=e.debugReferenceFn)&&void 0!==n?n:t),t,void 0,void 0)}function QE(e,t){var n;return new eI(new xE(e.owner,e.debugName,null!==(n=e.debugReferenceFn)&&void 0!==n?n:t),t,e.createEmptyChangeSummary,e.handleChange)}function JE(e){const t=new rt,n=XE({owner:void 0,debugName:void 0,debugReferenceFn:e},(n=>{t.clear(),e(n,t)}));return st((()=>{n.dispose(),t.dispose()}))}class eI{get debugName(){var e;return null!==(e=this._debugNameData.getDebugName(this))&&void 0!==e?e:"(anonymous)"}constructor(e,t,n,i){var o,s;this._debugNameData=e,this._runFn=t,this.createChangeSummary=n,this._handleChange=i,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=null===(o=this.createChangeSummary)||void 0===o?void 0:o.call(this),null===(s=void 0)||void 0===s||s.handleAutorunCreated(this),this._runIfNeeded(),Qe(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),Je(this)}_runIfNeeded(){var e,t,n;if(3===this.state)return;const i=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=i,this.state=3;const o=this.disposed;try{if(!o){null===(e=void 0)||void 0===e||e.handleAutorunTriggered(this);const n=this.changeSummary;this.changeSummary=null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this),this._runFn(this,n)}}finally{o||null===(n=void 0)||void 0===n||n.handleAutorunFinished(this);for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,pu((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}function tI(e){return new nI(e)}!function(e){e.Observer=eI}(YE||(YE={}));class nI extends RE{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}}function iI(e,t){return new oI(e,t)}class oI extends PE{constructor(e,t){super(),this.event=e,this._getValue=t,this.hasValue=!1,this.handleEvent=e=>{var t;const n=this._getValue(e),i=this.value,o=!this.hasValue||i!==n;let s=!1;o&&(this.value=n,this.hasValue&&(s=!0,BE(oI.globalTransaction,(e=>{var t;null===(t=void 0)||void 0===t||t.handleFromEventObservableTriggered(this,{oldValue:i,newValue:n,change:void 0,didChange:o,hadValue:this.hasValue});for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")}))),this.hasValue=!0),s||null===(t=void 0)||void 0===t||t.handleFromEventObservableTriggered(this,{oldValue:i,newValue:n,change:void 0,didChange:o,hadValue:this.hasValue})}}getDebugName(){return EE(this._getValue)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}function sI(e,t){return new rI(e,t)}!function(e){e.Observer=oI,e.batchEventsGlobally=function(e,t){let n=!1;void 0===oI.globalTransaction&&(oI.globalTransaction=e,n=!0);try{t()}finally{n&&(oI.globalTransaction=void 0)}}}(iI||(iI={}));class rI extends PE{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{OE((e=>{for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)}),(()=>this.debugName))}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function lI(e){return"string"==typeof e?new aI(e):new aI(void 0,e)}class aI extends PE{get debugName(){var e;return null!==(e=new xE(this._owner,this._debugName,void 0).getDebugName(this))&&void 0!==e?e:"Observable Signal"}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(e)for(const n of this.observers)e.updateObserver(n,this),n.handleChange(this,t);else OE((e=>{this.trigger(e,t)}),(()=>`Trigger signal ${this.debugName}`))}get(){}}function dI(e,t){const n=new uI(!0,t);return e.addObserver(n),t?t(e.get()):e.reportChanges(),st((()=>{e.removeObserver(n)}))}ME=function(e){const t=new uI(!1,void 0);return e.addObserver(t),st((()=>{e.removeObserver(t)}))},function(e){IE=e}(dI);class uI{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}class cI{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach((e=>e.store.dispose())),this._cache.clear()}setItems(e){const t=[],n=new Set(this._cache.keys());for(const i of e){const e=this._keySelector?this._keySelector(i):i;let o=this._cache.get(e);if(o)n.delete(e);else{const t=new rt;o={out:this._map(i,t),store:t},this._cache.set(e,o)}t.push(o.out)}for(const e of n)this._cache.get(e).store.dispose(),this._cache.delete(e);this._items=t}getItems(){return this._items}}var hI,gI,pI=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r};class mI{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,n){const i=this.renderedElements.findIndex((e=>e.templateData===n));if(i>=0){const e=this.renderedElements[i];this.trait.unrender(n),e.index=t}else{const e={index:t,templateData:n};this.renderedElements.push(e)}this.trait.renderIndex(t,n)}splice(e,t,n){const i=[];for(const o of this.renderedElements)o.index=e+t&&i.push({index:o.index+n-t,templateData:o.templateData});this.renderedElements=i}renderIndexes(e){for(const{index:t,templateData:n}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,n)}disposeTemplate(e){const t=this.renderedElements.findIndex((t=>t.templateData===e));t<0||this.renderedElements.splice(t,1)}}class fI{get name(){return this._trait}get renderer(){return new mI(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new Ct,this.onChange=this._onChange.event}splice(e,t,n){const i=n.length-t,o=e+t,s=[];let r=0;for(;r=o;)s.push(this.sortedIndexes[r++]+i);this.renderer.splice(e,t,n.length),this._set(s,s)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(FI),t)}_set(e,t,n){const i=this.indexes,o=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const s=OI(o,e);return this.renderer.renderIndexes(s),this._onChange.fire({indexes:e,browserEvent:n}),i}get(){return this.indexes}contains(e){return Mc(this.sortedIndexes,e,FI)>=0}dispose(){it(this._onChange)}}pI([xL],fI.prototype,"renderer",null);class _I extends fI{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class vI{constructor(e,t,n){this.trait=e,this.view=t,this.identityProvider=n}splice(e,t,n){if(!this.identityProvider)return this.trait.splice(e,t,new Array(n.length).fill(!1));const i=this.trait.get().map((e=>this.identityProvider.getId(this.view.element(e)).toString()));if(0===i.length)return this.trait.splice(e,t,new Array(n.length).fill(!1));const o=new Set(i),s=n.map((e=>o.has(this.identityProvider.getId(e).toString())));this.trait.splice(e,t,s)}}function bI(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function wI(e,t){return!!e.classList.contains(t)||!e.classList.contains("monaco-list")&&!!e.parentElement&&wI(e.parentElement,t)}function CI(e){return wI(e,"monaco-editor")}function yI(e){return wI(e,"monaco-tree-sticky-row")}function SI(e){return e.classList.contains("monaco-tree-sticky-container")}function xI(e){return!!("A"===e.tagName&&e.classList.contains("monaco-button")||"DIV"===e.tagName&&e.classList.contains("monaco-button-dropdown"))||!e.classList.contains("monaco-list")&&!!e.parentElement&&xI(e.parentElement)}class kI{get onKeyDown(){return ft.chain(this.disposables.add(new US(this.view.domNode,"keydown")).event,(e=>e.filter((e=>!bI(e.target))).map((e=>new Ue(e)))))}constructor(e,t,n){this.list=e,this.view=t,this.disposables=new rt,this.multipleSelectionDisposables=new rt,this.multipleSelectionSupport=n.multipleSelectionSupport,this.disposables.add(this.onKeyDown((e=>{switch(e.keyCode){case 3:return this.onEnter(e);case 16:return this.onUpArrow(e);case 18:return this.onDownArrow(e);case 11:return this.onPageUpArrow(e);case 12:return this.onPageDownArrow(e);case 9:return this.onEscape(e);case 31:this.multipleSelectionSupport&&(U?e.metaKey:e.ctrlKey)&&this.onCtrlA(e)}})))}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(zc(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}pI([xL],kI.prototype,"onKeyDown",null),function(e){e[e.Automatic=0]="Automatic",e[e.Trigger=1]="Trigger"}(hI||(hI={})),function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(gI||(gI={}));const LI=new class{mightProducePrintableCharacter(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=98&&e.keyCode<=107||e.keyCode>=85&&e.keyCode<=95)}};class DI{constructor(e,t,n,i,o){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=n,this.keyboardNavigationEventFilter=i,this.delegate=o,this.enabled=!1,this.state=gI.Idle,this.mode=hI.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new rt,this.disposables=new rt,this.updateOptions(e.options)}updateOptions(e){var t,n;null===(t=e.typeNavigationEnabled)||void 0===t||t?this.enable():this.disable(),this.mode=null!==(n=e.typeNavigationMode)&&void 0!==n?n:hI.Automatic}enable(){if(this.enabled)return;let e=!1;const t=ft.chain(this.enabledDisposables.add(new US(this.view.domNode,"keydown")).event,(t=>t.filter((e=>!bI(e.target))).filter((()=>this.mode===hI.Automatic||this.triggered)).map((e=>new Ue(e))).filter((t=>e||this.keyboardNavigationEventFilter(t))).filter((e=>this.delegate.mightProducePrintableCharacter(e))).forEach((e=>rr(e,!0))).map((e=>e.browserEvent.key)))),n=ft.debounce(t,(()=>null),800,void 0,void 0,void 0,this.enabledDisposables);ft.reduce(ft.any(t,n),((e,t)=>null===t?null:(e||"")+t),void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),n(this.onClear,this,this.enabledDisposables),t((()=>e=!0),void 0,this.enabledDisposables),n((()=>e=!1),void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var e;const t=this.list.getFocus();if(t.length>0&&t[0]===this.previouslyFocused){const n=null===(e=this.list.options.accessibilityProvider)||void 0===e?void 0:e.getAriaLabel(this.list.element(t[0]));"string"==typeof n?Zr(n):n&&Zr(n.get())}this.previouslyFocused=-1}onInput(e){if(!e)return this.state=gI.Idle,void(this.triggered=!1);const t=this.list.getFocus(),n=t.length>0?t[0]:0,i=this.state===gI.Idle?1:0;this.state=gI.Typing;for(let t=0;t1&&1===t.length)return this.previouslyFocused=n,this.list.setFocus([o]),void this.list.reveal(o)}}else if(void 0===r||pl(e,r))return this.previouslyFocused=n,this.list.setFocus([o]),void this.list.reveal(o)}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class NI{constructor(e,t){this.list=e,this.view=t,this.disposables=new rt;const n=ft.chain(this.disposables.add(new US(t.domNode,"keydown")).event,(e=>e.filter((e=>!bI(e.target))).map((e=>new Ue(e))))),i=ft.chain(n,(e=>e.filter((e=>!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)))));i(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(0===t.length)return;const n=this.view.domElement(t[0]);if(!n)return;const i=n.querySelector("[tabIndex]");if(!(i&&i instanceof HTMLElement&&-1!==i.tabIndex))return;const o=is(i).getComputedStyle(i);"hidden"!==o.visibility&&"none"!==o.display&&(e.preventDefault(),e.stopPropagation(),i.focus())}dispose(){this.disposables.dispose()}}function EI(e){return U?e.browserEvent.metaKey:e.browserEvent.ctrlKey}function II(e){return e.browserEvent.shiftKey}const MI={isSelectionSingleChangeEvent:EI,isSelectionRangeChangeEvent:II};class TI{constructor(e){this.list=e,this.disposables=new rt,this._onPointer=new Ct,this.onPointer=this._onPointer.event,!1!==e.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||MI),this.mouseSupport=void 0===e.options.mouseSupport||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(LL.addTarget(e.getHTMLElement()))),ft.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||MI))}isSelectionSingleChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(e)}isSelectionRangeChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(e)}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){CI(e.browserEvent.target)||Vs()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(bI(e.browserEvent.target)||CI(e.browserEvent.target))return;const t=void 0===e.index?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport)return;if(bI(e.browserEvent.target)||CI(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;return void 0===t?(this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionChangeEvent(e)?this.changeSelection(e):(this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),nr(n=e.browserEvent)&&2===n.button||this.list.setSelection([t],e.browserEvent),void this._onPointer.fire(e));var n}onDoubleClick(e){if(bI(e.browserEvent.target)||CI(e.browserEvent.target))return;if(this.isSelectionChangeEvent(e))return;if(e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let n=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(void 0===n){const e=this.list.getFocus()[0];n=null!=e?e:t,this.list.setAnchor(n)}const i=zc(Math.min(n,t),Math.max(n,t)+1),o=this.list.getSelection(),s=function(e,t){const n=e.indexOf(t);if(-1===n)return[];const i=[];let o=n-1;for(;o>=0&&e[o]===t-(n-o);)i.push(e[o--]);for(i.reverse(),o=n;o=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){i++,o++;continue}e[i]e!==t));this.list.setFocus([t]),this.list.setAnchor(t),n.length===i.length?this.list.setSelection([...i,t],e.browserEvent):this.list.setSelection(i,e.browserEvent)}}dispose(){this.disposables.dispose()}}class AI{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){var t,n;const i=this.selectorSuffix&&`.${this.selectorSuffix}`,o=[];e.listBackground&&o.push(`.monaco-list${i} .monaco-list-rows { background: ${e.listBackground}; }`),e.listFocusBackground&&(o.push(`.monaco-list${i}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),o.push(`.monaco-list${i}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&o.push(`.monaco-list${i}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(o.push(`.monaco-list${i}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),o.push(`.monaco-list${i}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&o.push(`.monaco-list${i}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&o.push(`.monaco-list${i}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&o.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${i}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }\n\t\t\t`),e.listFocusAndSelectionForeground&&o.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${i}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }\n\t\t\t`),e.listInactiveFocusForeground&&(o.push(`.monaco-list${i} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),o.push(`.monaco-list${i} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&o.push(`.monaco-list${i} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(o.push(`.monaco-list${i} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),o.push(`.monaco-list${i} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(o.push(`.monaco-list${i} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),o.push(`.monaco-list${i} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&o.push(`.monaco-list${i} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&o.push(`.monaco-list${i}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&o.push(`.monaco-list${i}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const s=yr(e.listFocusAndSelectionOutline,yr(e.listSelectionOutline,null!==(t=e.listFocusOutline)&&void 0!==t?t:""));s&&o.push(`.monaco-list${i}:focus .monaco-list-row.focused.selected { outline: 1px solid ${s}; outline-offset: -1px;}`),e.listFocusOutline&&o.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${i}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${i}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const r=yr(e.listSelectionOutline,null!==(n=e.listInactiveFocusOutline)&&void 0!==n?n:"");r&&o.push(`.monaco-list${i} .monaco-list-row.focused.selected { outline: 1px dotted ${r}; outline-offset: -1px; }`),e.listSelectionOutline&&o.push(`.monaco-list${i} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&o.push(`.monaco-list${i} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&o.push(`.monaco-list${i} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&o.push(`\n\t\t\t\t.monaco-list${i}.drop-target,\n\t\t\t\t.monaco-list${i} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${i} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; }\n\t\t\t`),e.listDropBetweenBackground&&(o.push(`\n\t\t\t.monaco-list${i} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n\t\t\t.monaco-list${i} .monaco-list-row.drop-target-before::before {\n\t\t\t\tcontent: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`),o.push(`\n\t\t\t.monaco-list${i} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n\t\t\t.monaco-list${i} .monaco-list-row.drop-target-after::after {\n\t\t\t\tcontent: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${e.listDropBetweenBackground};\n\t\t\t}`)),e.tableColumnsBorder&&o.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${e.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),e.tableOddRowsBackgroundColor&&o.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${e.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=o.join("\n")}}const RI={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:lh.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:lh.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:lh.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0},PI={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}}};function OI(e,t){const n=[];let i=0,o=0;for(;i=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){n.push(e[i]),i++,o++;continue}e[i]e-t;class BI{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map((t=>t.renderTemplate(e)))}renderElement(e,t,n,i){let o=0;for(const s of this.renderers)s.renderElement(e,t,n[o++],i)}disposeElement(e,t,n,i){var o;let s=0;for(const r of this.renderers)null===(o=r.disposeElement)||void 0===o||o.call(r,e,t,n[s],i),s+=1}disposeTemplate(e){let t=0;for(const n of this.renderers)n.disposeTemplate(e[t++])}}class WI{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new rt}}renderElement(e,t,n){const i=this.accessibilityProvider.getAriaLabel(e),o=i&&"string"!=typeof i?i:tI(i);n.disposables.add(YE((e=>{this.setAriaLabel(e.readObservable(o),n.container)})));const s=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);"number"==typeof s?n.container.setAttribute("aria-level",`${s}`):n.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,n,i){n.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class VI{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){var n,i;null===(i=(n=this.dnd).onDragStart)||void 0===i||i.call(n,e,t)}onDragOver(e,t,n,i,o){return this.dnd.onDragOver(e,t,n,i,o)}onDragLeave(e,t,n,i){var o,s;null===(s=(o=this.dnd).onDragLeave)||void 0===s||s.call(o,e,t,n,i)}onDragEnd(e){var t,n;null===(n=(t=this.dnd).onDragEnd)||void 0===n||n.call(t,e)}drop(e,t,n,i,o){this.dnd.drop(e,t,n,i,o)}dispose(){this.dnd.dispose()}}class HI{get onDidChangeFocus(){return ft.map(this.eventBufferer.wrapEvent(this.focus.onChange),(e=>this.toListEvent(e)),this.disposables)}get onDidChangeSelection(){return ft.map(this.eventBufferer.wrapEvent(this.selection.onChange),(e=>this.toListEvent(e)),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=ft.chain(this.disposables.add(new US(this.view.domNode,"keydown")).event,(t=>t.map((e=>new Ue(e))).filter((t=>e=58===t.keyCode||t.shiftKey&&68===t.keyCode)).map((e=>rr(e,!0))).filter((()=>!1)))),n=ft.chain(this.disposables.add(new US(this.view.domNode,"keyup")).event,(t=>t.forEach((()=>e=!1)).map((e=>new Ue(e))).filter((e=>58===e.keyCode||e.shiftKey&&68===e.keyCode)).map((e=>rr(e,!0))).map((({browserEvent:e})=>{const t=this.getFocus(),n=t.length?t[0]:void 0;return{index:n,element:void 0!==n?this.view.element(n):void 0,anchor:void 0!==n?this.view.domElement(n):this.view.domNode,browserEvent:e}})))),i=ft.chain(this.view.onContextMenu,(t=>t.filter((t=>!e)).map((({element:e,index:t,browserEvent:n})=>({element:e,index:t,anchor:new $e(is(this.view.domNode),n),browserEvent:n})))));return ft.any(t,n,i)}get onKeyDown(){return this.disposables.add(new US(this.view.domNode,"keydown")).event}get onDidFocus(){return ft.signal(this.disposables.add(new US(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return ft.signal(this.disposables.add(new US(this.view.domNode,"blur",!0)).event)}constructor(e,t,n,i,o=PI){var s,r,l,a;this.user=e,this._options=o,this.focus=new fI("focused"),this.anchor=new fI("anchor"),this.eventBufferer=new Dt,this._ariaLabel="",this.disposables=new rt,this._onDidDispose=new Ct,this.onDidDispose=this._onDidDispose.event;const d=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?null===(s=this._options.accessibilityProvider)||void 0===s?void 0:s.getWidgetRole():"list";this.selection=new _I("listbox"!==d);const u=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=o.accessibilityProvider,this.accessibilityProvider&&(u.push(new WI(this.accessibilityProvider)),null===(l=(r=this.accessibilityProvider).onDidChangeActiveDescendant)||void 0===l||l.call(r,this.onDidChangeActiveDescendant,this,this.disposables)),i=i.map((e=>new BI(e.templateId,[...u,e])));const c={...o,dnd:o.dnd&&new VI(this,o.dnd)};if(this.view=this.createListView(t,n,i,c),this.view.domNode.setAttribute("role",d),o.styleController)this.styleController=o.styleController(this.view.domId);else{const e=$s(this.view.domNode);this.styleController=new AI(e,this.view.domId)}if(this.spliceable=new FN([new vI(this.focus,this.view,o.identityProvider),new vI(this.selection,this.view,o.identityProvider),new vI(this.anchor,this.view,o.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new NI(this,this.view)),("boolean"!=typeof o.keyboardSupport||o.keyboardSupport)&&(this.keyboardController=new kI(this,this.view,o),this.disposables.add(this.keyboardController)),o.keyboardNavigationLabelProvider){const e=o.keyboardNavigationDelegate||LI;this.typeNavigationController=new DI(this,this.view,o.keyboardNavigationLabelProvider,null!==(a=o.keyboardNavigationEventFilter)&&void 0!==a?a:()=>!0,e),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(o),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,n,i){return new SE(e,t,n,i)}createMouseController(e){return new TI(this)}updateOptions(e={}){var t,n;this._options={...this._options,...e},null===(t=this.typeNavigationController)||void 0===t||t.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),null===(n=this.keyboardController)||void 0===n||n.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,n=[]){if(e<0||e>this.view.length)throw new UN(this.user,`Invalid start index: ${e}`);if(t<0)throw new UN(this.user,`Invalid delete count: ${t}`);0===t&&0===n.length||this.eventBufferer.bufferEvents((()=>this.spliceable.splice(e,t,n)))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const t of e)if(t<0||t>=this.length)throw new UN(this.user,`Invalid index ${t}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((e=>this.view.element(e)))}setAnchor(e){if(void 0!==e){if(e<0||e>=this.length)throw new UN(this.user,`Invalid index ${e}`);this.anchor.set([e])}else this.anchor.set([])}getAnchor(){return Hc(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return void 0===e?void 0:this.element(e)}setFocus(e,t){for(const t of e)if(t<0||t>=this.length)throw new UN(this.user,`Invalid index ${t}`);this.focus.set(e,t)}focusNext(e=1,t=!1,n,i){if(0===this.length)return;const o=this.focus.get(),s=this.findNextIndex(o.length>0?o[0]+e:0,t,i);s>-1&&this.setFocus([s],n)}focusPrevious(e=1,t=!1,n,i){if(0===this.length)return;const o=this.focus.get(),s=this.findPreviousIndex(o.length>0?o[0]-e:0,t,i);s>-1&&this.setFocus([s],n)}async focusNextPage(e,t){let n=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);n=0===n?0:n-1;const i=this.getFocus()[0];if(i!==n&&(void 0===i||n>i)){const o=this.findPreviousIndex(n,!1,t);o>-1&&i!==o?this.setFocus([o],e):this.setFocus([n],e)}else{const o=this.view.getScrollTop();let s=o+this.view.renderHeight;n>i&&(s-=this.view.elementHeight(n)),this.view.setScrollTop(s),this.view.getScrollTop()!==o&&(this.setFocus([]),await Vt(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,n=(()=>0)){let i;const o=n(),s=this.view.getScrollTop()+o;i=0===s?this.view.indexAt(s):this.view.indexAfter(s-1);const r=this.getFocus()[0];if(r!==i&&(void 0===r||r>=i)){const n=this.findNextIndex(i,!1,t);n>-1&&r!==n?this.setFocus([n],e):this.setFocus([i],e)}else{const i=s;this.view.setScrollTop(s-this.view.renderHeight-o),this.view.getScrollTop()+n()!==i&&(this.setFocus([]),await Vt(0),await this.focusPreviousPage(e,t,n))}}focusLast(e,t){if(0===this.length)return;const n=this.findPreviousIndex(this.length-1,!1,t);n>-1&&this.setFocus([n],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,n){if(0===this.length)return;const i=this.findNextIndex(e,!1,n);i>-1&&this.setFocus([i],t)}findNextIndex(e,t=!1,n){for(let i=0;i=this.length&&!t)return-1;if(e%=this.length,!n||n(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,n){for(let i=0;ithis.view.element(e)))}reveal(e,t,n=0){if(e<0||e>=this.length)throw new UN(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),o=this.view.elementTop(e),s=this.view.elementHeight(e);if(ua(t)){const e=s-this.view.renderHeight+n;this.view.setScrollTop(e*BN(t,0,1)+o-n)}else{const e=o+s,t=i+this.view.renderHeight;o=t||(o=t&&s>=this.view.renderHeight?this.view.setScrollTop(o-n):e>=t&&this.view.setScrollTop(e-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new UN(this.user,`Invalid index ${e}`);const n=this.view.getScrollTop(),i=this.view.elementTop(e),o=this.view.elementHeight(e);if(in+this.view.renderHeight)return null;const s=o-this.view.renderHeight+t;return Math.abs((n+t-i)/s)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map((e=>this.view.element(e))),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var e;const t=this.focus.get();if(t.length>0){let n;(null===(e=this.accessibilityProvider)||void 0===e?void 0:e.getActiveDescendantId)&&(n=this.accessibilityProvider.getActiveDescendantId(this.view.element(t[0]))),this.view.domNode.setAttribute("aria-activedescendant",n||this.view.getElementDomId(t[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===e.length),this.view.domNode.classList.toggle("selection-single",1===e.length),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}pI([xL],HI.prototype,"onDidChangeFocus",null),pI([xL],HI.prototype,"onDidChangeSelection",null),pI([xL],HI.prototype,"onContextMenu",null),pI([xL],HI.prototype,"onKeyDown",null),pI([xL],HI.prototype,"onDidFocus",null),pI([xL],HI.prototype,"onDidBlur",null);var zI=n(7619),UI={};UI.styleTagTransform=Vr(),UI.setAttributes=Or(),UI.insert=Rr().bind(null,"head"),UI.domAPI=Tr(),UI.insertStyleElement=Br(),Ir()(zI.A,UI),zI.A&&zI.A.locals&&zI.A.locals;const KI=mr,jI="selectOption.entry.template";class qI{get templateId(){return jI}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=dr(e,KI(".option-text")),t.detail=dr(e,KI(".option-detail")),t.decoratorRight=dr(e,KI(".option-decorator-right")),t}renderElement(e,t,n){const i=n,o=e.text,s=e.detail,r=e.decoratorRight,l=e.isDisabled;i.text.textContent=o,i.detail.textContent=s||"",i.decoratorRight.innerText=r||"",l?i.root.classList.add("option-disabled"):i.root.classList.remove("option-disabled")}disposeTemplate(e){}}class $I extends lt{constructor(e,t,n,i,o){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=i,this.selectBoxOptions=o||Object.create(null),"number"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=$I.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding","string"==typeof this.selectBoxOptions.ariaLabel&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),"string"==typeof this.selectBoxOptions.ariaDescription&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new Ct,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(n),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(RL(IL("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return jI}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=mr(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=dr(this.selectDropDownContainer,KI(".select-box-details-pane"));const t=dr(this.selectDropDownContainer,KI(".select-box-dropdown-container-width-control")),n=dr(t,KI(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",dr(n,this.widthControlElement),this._dropDownPosition=0,this.styleElement=$s(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(ms(this.selectDropDownContainer,or.DRAG_START,(e=>{rr(e,!0)})))}registerListeners(){let e;this._register(_s(this.selectElement,"change",(e=>{this.selected=e.target.selectedIndex,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}))),this._register(ms(this.selectElement,or.CLICK,(e=>{rr(e),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(ms(this.selectElement,or.MOUSE_DOWN,(e=>{rr(e)}))),this._register(ms(this.selectElement,"touchstart",(t=>{e=this._isVisible}))),this._register(ms(this.selectElement,"touchend",(t=>{rr(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(ms(this.selectElement,or.KEY_DOWN,(e=>{const t=new Ue(e);let n=!1;U?18!==t.keyCode&&16!==t.keyCode&&10!==t.keyCode&&3!==t.keyCode||(n=!0):(18===t.keyCode&&t.altKey||16===t.keyCode&&t.altKey||10===t.keyCode||3===t.keyCode)&&(n=!0),n&&(this.showSelectDropDown(),rr(e,!0))})))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){Ic(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach(((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled)),"string"==typeof e.description&&(this._hasDetails=!0)}))),void 0!==t&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){var e;null===(e=this.selectList)||void 0===e||e.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),e.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&e.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join("\n")}styleSelectElement(){var e,t,n;const i=null!==(e=this.styles.selectBackground)&&void 0!==e?e:"",o=null!==(t=this.styles.selectForeground)&&void 0!==t?t:"",s=null!==(n=this.styles.selectBorder)&&void 0!==n?n:"";this.selectElement.style.backgroundColor=i,this.selectElement.style.color=o,this.selectElement.style.borderColor=s}styleList(){var e,t;const n=null!==(e=this.styles.selectBackground)&&void 0!==e?e:"",i=yr(this.styles.selectListBackground,n);this.selectDropDownListContainer.style.backgroundColor=i,this.selectionDetailsPane.style.backgroundColor=i;const o=null!==(t=this.styles.focusBorder)&&void 0!==t?t:"";this.selectDropDownContainer.style.outlineColor=o,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,n){const i=document.createElement("option");return i.value=e,i.text=e,i.disabled=!!n,i}showSelectDropDown(){this.selectionDetailsPane.innerText="",this.contextViewProvider&&!this._isVisible&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{try{e.removeChild(this.selectDropDownContainer)}catch(e){}}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach(((t,n)=>{this.updateDetail(n),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)})),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=is(this.selectElement),n=Es(this.selectElement),i=is(this.selectElement).getComputedStyle(this.selectElement),o=parseFloat(i.getPropertyValue("--dropdown-padding-top"))+parseFloat(i.getPropertyValue("--dropdown-padding-bottom")),s=t.innerHeight-n.top-n.height-(this.selectBoxOptions.minBottomMargin||0),r=n.top-$I.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,l=this.selectElement.offsetWidth,a=this.setWidthControlElement(this.widthControlElement),d=Math.max(a,Math.round(l)).toString()+"px";this.selectDropDownContainer.style.width=d,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let u=this.selectList.contentHeight;this._hasDetails&&void 0===this._cachedMaxDetailsHeight&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const c=this._hasDetails?this._cachedMaxDetailsHeight:0,h=u+o+c,g=Math.floor((s-o-c)/this.getHeight()),p=Math.floor((r-o-c)/this.getHeight());if(e)return!(n.top+n.height>t.innerHeight-22||n.top<$I.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||g<1&&p<1||(g<$I.DEFAULT_MINIMUM_VISIBLE_OPTIONS&&p>g&&this.options.length>g?(this._dropDownPosition=1,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),0));if(n.top+n.height>t.innerHeight-22||n.top<$I.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||0===this._dropDownPosition&&g<1||1===this._dropDownPosition&&p<1)return this.hideSelectDropDown(!0),!1;if(0===this._dropDownPosition){if(this._isVisible&&g+p<1)return this.hideSelectDropDown(!0),!1;h>s&&(u=g*this.getHeight())}else h>r&&(u=p*this.getHeight());return this.selectList.layout(u),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=u+o+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=u+o+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=d,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}return!1}setWidthControlElement(e){let t=0;if(e){let n=0,i=0;this.options.forEach(((e,t)=>{const o=e.detail?e.detail.length:0,s=e.decoratorRight?e.decoratorRight.length:0,r=e.text.length+o+s;r>i&&(n=t,i=r)})),e.textContent=this.options[n].text+(this.options[n].decoratorRight?this.options[n].decoratorRight+" ":""),t=Ms(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=dr(e,KI(".select-box-dropdown-list-container")),this.listRenderer=new qI,this.selectList=new HI("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:e=>{let t=e.text;return e.detail&&(t+=`. ${e.detail}`),e.decoratorRight&&(t+=`. ${e.decoratorRight}`),e.description&&(t+=`. ${e.description}`),t},getWidgetAriaLabel:()=>_(0,"Select Box"),getRole:()=>U?"":"option",getWidgetRole:()=>"listbox"}}),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new US(this.selectDropDownListContainer,"keydown")),n=ft.chain(t.event,(e=>e.filter((()=>this.selectList.length>0)).map((e=>new Ue(e)))));this._register(ft.chain(n,(e=>e.filter((e=>3===e.keyCode))))(this.onEnter,this)),this._register(ft.chain(n,(e=>e.filter((e=>2===e.keyCode))))(this.onEnter,this)),this._register(ft.chain(n,(e=>e.filter((e=>9===e.keyCode))))(this.onEscape,this)),this._register(ft.chain(n,(e=>e.filter((e=>16===e.keyCode))))(this.onUpArrow,this)),this._register(ft.chain(n,(e=>e.filter((e=>18===e.keyCode))))(this.onDownArrow,this)),this._register(ft.chain(n,(e=>e.filter((e=>12===e.keyCode))))(this.onPageDown,this)),this._register(ft.chain(n,(e=>e.filter((e=>11===e.keyCode))))(this.onPageUp,this)),this._register(ft.chain(n,(e=>e.filter((e=>14===e.keyCode))))(this.onHome,this)),this._register(ft.chain(n,(e=>e.filter((e=>13===e.keyCode))))(this.onEnd,this)),this._register(ft.chain(n,(e=>e.filter((e=>e.keyCode>=21&&e.keyCode<=56||e.keyCode>=85&&e.keyCode<=113))))(this.onCharacter,this)),this._register(ms(this.selectList.getHTMLElement(),or.POINTER_UP,(e=>this.onPointerUp(e)))),this._register(this.selectList.onMouseOver((e=>void 0!==e.index&&this.selectList.setFocus([e.index])))),this._register(this.selectList.onDidChangeFocus((e=>this.onListFocus(e)))),this._register(ms(this.selectDropDownContainer,or.FOCUS_OUT,(e=>{this._isVisible&&!Ps(e.relatedTarget,this.selectDropDownContainer)&&this.onListBlur()}))),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;rr(e);const t=e.target;if(!t)return;if(t.classList.contains("slider"))return;const n=t.closest(".monaco-list-row");if(!n)return;const i=Number(n.getAttribute("data-index")),o=n.classList.contains("option-disabled");i>=0&&i{for(let t=0;tthis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){this.selected>0&&(rr(e,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(e){rr(e),this.selectList.focusPreviousPage(),setTimeout((()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)}),1)}onHome(e){rr(e),this.options.length<2||(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){rr(e),this.options.length<2||(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=Ce.toString(e.keyCode);let n=-1;for(let i=0;i{this._register(ms(this.selectElement,e,(e=>{this.selectElement.focus()})))})),this._register(_s(this.selectElement,"click",(e=>{rr(e,!0)}))),this._register(_s(this.selectElement,"change",(e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})}))),this._register(_s(this.selectElement,"keydown",(e=>{let t=!1;U?18!==e.keyCode&&16!==e.keyCode&&10!==e.keyCode||(t=!0):(18===e.keyCode&&e.altKey||10===e.keyCode||3===e.keyCode)&&(t=!0),t&&e.stopPropagation()})))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){this.options&&Ic(this.options,e)||(this.options=e,this.selectElement.options.length=0,this.options.forEach(((e,t)=>{this.selectElement.add(this.createOption(e.text,t,e.isDisabled))}))),void 0!==t&&this.select(t)}select(e){0===this.options.length?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(e)})))}handleActionChangeEvent(e){void 0!==e.enabled&&this.updateEnabled(),void 0!==e.checked&&this.updateChecked(),void 0!==e.class&&this.updateClass(),void 0!==e.label&&(this.updateLabel(),this.updateTooltip()),void 0!==e.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new md)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(LL.addTarget(e));const n=this.options&&this.options.draggable;n&&(e.draggable=!0,a&&this._register(ms(e,or.DRAG_START,(e=>{var t;return null===(t=e.dataTransfer)||void 0===t?void 0:t.setData(ux.TEXT,this._action.label)})))),this._register(ms(t,kL.Tap,(e=>this.onClick(e,!0)))),this._register(ms(t,or.MOUSE_DOWN,(e=>{n||rr(e,!0),this._action.enabled&&0===e.button&&t.classList.add("active")}))),U&&this._register(ms(t,or.CONTEXT_MENU,(e=>{0===e.button&&!0===e.ctrlKey&&this.onClick(e)}))),this._register(ms(t,or.CLICK,(e=>{rr(e,!0),this.options&&this.options.isMenu||this.onClick(e)}))),this._register(ms(t,or.DBLCLICK,(e=>{rr(e,!0)}))),[or.MOUSE_UP,or.MOUSE_OUT].forEach((e=>{this._register(ms(t,e,(e=>{rr(e),t.classList.remove("active")})))}))}onClick(e,t=!1){var n;rr(e,!0);const i=ma(this._context)?(null===(n=this.options)||void 0===n?void 0:n.useEventAsContext)?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,i)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var e,t,n;if(!this.element)return;const i=null!==(e=this.getTooltip())&&void 0!==e?e:"";if(this.updateAriaLabel(),null===(t=this.options.hoverDelegate)||void 0===t?void 0:t.showNativeHover)this.element.title=i;else if(this.customHover||""===i)this.customHover&&this.customHover.update(i);else{const e=null!==(n=this.options.hoverDelegate)&&void 0!==n?n:IL("element");this.customHover=this._store.add(RL(e,this.element,i))}}updateAriaLabel(){var e;if(this.element){const t=null!==(e=this.getTooltip())&&void 0!==e?e:"";this.element.setAttribute("aria-label",t)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class tM extends eM{constructor(e,t,n){super(e,t,n),this.options=n,this.options.icon=void 0!==n.icon&&n.icon,this.options.label=void 0===n.label||n.label,this.cssClass=""}render(e){super.render(e),fa(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const e=document.createElement("span");e.classList.add("keybinding"),e.textContent=this.options.keybinding,this.element.appendChild(e)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===fd.ID?"presentation":this.options.isMenu?"menuitem":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=_(0,"{0} ({1})",e,this.options.keybinding))),null!=e?e:void 0}updateClass(){var e;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):null===(e=this.label)||void 0===e||e.classList.remove("codicon")}updateEnabled(){var e,t;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),null===(e=this.element)||void 0===e||e.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),null===(t=this.element)||void 0===t||t.classList.add("disabled"))}updateAriaLabel(){var e;if(this.label){const t=null!==(e=this.getTooltip())&&void 0!==e?e:"";this.label.setAttribute("aria-label",t)}}updateChecked(){this.label&&(void 0!==this.action.checked?(this.label.classList.toggle("checked",this.action.checked),this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox")):(this.label.classList.remove("checked"),this.label.removeAttribute("aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class nM extends eM{constructor(e,t,n,i,o,s,r){super(e,t),this.selectBox=new XI(n,i,o,s,r),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect((e=>this.runAction(e.selected,e.index))))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){var e;null===(e=this.selectBox)||void 0===e||e.focus()}blur(){var e;null===(e=this.selectBox)||void 0===e||e.blur()}render(e){this.selectBox.render(e)}}class iM extends lt{constructor(e,t={}){var n,i,o,s,r,l,a;let d,u;switch(super(),this._actionRunnerDisposables=this._register(new rt),this.viewItemDisposables=this._register(new ct),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new Ct),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new Ct({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new Ct),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new Ct),this.onWillRun=this._onWillRun.event,this.options=t,this._context=null!==(n=t.context)&&void 0!==n?n:null,this._orientation=null!==(i=this.options.orientation)&&void 0!==i?i:0,this._triggerKeys={keyDown:null!==(s=null===(o=this.options.triggerKeys)||void 0===o?void 0:o.keyDown)&&void 0!==s&&s,keys:null!==(l=null===(r=this.options.triggerKeys)||void 0===r?void 0:r.keys)&&void 0!==l?l:[3,10]},this._hoverDelegate=null!==(a=t.hoverDelegate)&&void 0!==a?a:this._register(ML()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new md,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e)))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",this._orientation){case 0:d=[15],u=[17];break;case 1:d=[16],u=[18],this.domNode.className+=" vertical"}this._register(ms(this.domNode,or.KEY_DOWN,(e=>{const t=new Ue(e);let n=!0;const i="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;d&&(t.equals(d[0])||t.equals(d[1]))?n=this.focusPrevious():u&&(t.equals(u[0])||t.equals(u[1]))?n=this.focusNext():t.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():t.equals(14)?n=this.focusFirst():t.equals(13)?n=this.focusLast():t.equals(2)&&i instanceof eM&&i.trapsArrowNavigation?n=this.focusNext():this.isTriggerKeyEvent(t)?this._triggerKeys.keyDown?this.doTrigger(t):this.triggerKeyDown=!0:n=!1,n&&(t.preventDefault(),t.stopPropagation())}))),this._register(ms(this.domNode,or.KEY_UP,(e=>{const t=new Ue(e);this.isTriggerKeyEvent(t)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(t)),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026)||t.equals(16)||t.equals(18)||t.equals(15)||t.equals(17))&&this.updateFocusedItem()}))),this.focusTracker=this._register(ar(this.domNode)),this._register(this.focusTracker.onDidBlur((()=>{Vs()!==this.domNode&&Ps(Vs(),this.domNode)||(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)}))),this._register(this.focusTracker.onDidFocus((()=>this.updateFocusedItem()))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const e=this.viewItems.find((e=>e instanceof eM&&e.isEnabled()));e instanceof eM&&e.setFocusable(!0)}else this.viewItems.forEach((e=>{e instanceof eM&&e.setFocusable(!1)}))}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach((n=>{t=t||e.equals(n)})),t}updateFocusedItem(){var e,t;for(let n=0;nt.setActionContext(e)))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e)))),this.viewItems.forEach((t=>t.actionRunner=e))}getContainer(){return this.domNode}getAction(e){var t;if("number"==typeof e)return null===(t=this.viewItems[e])||void 0===t?void 0:t.action;if(e instanceof HTMLElement){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let t=0;t{const n=document.createElement("li");let o;n.className="action-item",n.setAttribute("role","presentation");const s={hoverDelegate:this._hoverDelegate,...t};this.options.actionViewItemProvider&&(o=this.options.actionViewItemProvider(e,s)),o||(o=new tM(this.context,e,s)),this.options.allowContextMenu||this.viewItemDisposables.set(o,ms(n,or.CONTEXT_MENU,(e=>{rr(e,!0)}))),o.actionRunner=this._actionRunner,o.setActionContext(this.context),o.render(n),this.focusable&&o instanceof eM&&0===this.viewItems.length&&o.setFocusable(!0),null===i||i<0||i>=this.actionsList.children.length?(this.actionsList.appendChild(n),this.viewItems.push(o)):(this.actionsList.insertBefore(n,this.actionsList.children[i]),this.viewItems.splice(i,0,o),i++)})),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=it(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),gs(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return 0===this.viewItems.length}focus(e){let t,n=!1;if(void 0===e?n=!0:"number"==typeof e?t=e:"boolean"==typeof e&&(n=e),n&&void 0===this.focusedItem){const e=this.viewItems.findIndex((e=>e.isEnabled()));this.focusedItem=-1===e?void 0:e,this.updateFocus(void 0,void 0,!0)}else void 0!==t&&(this.focusedItem=t),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let n;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=t,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,n=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===fd.ID));return this.updateFocus(),!0}focusPrevious(e){if(void 0===this.focusedItem)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let n;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}n=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!n.isEnabled()||n.action.id===fd.ID));return this.updateFocus(!0),!0}updateFocus(e,t,n=!1){var i,o;void 0===this.focusedItem&&this.actionsList.focus({preventScroll:t}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&(null===(i=this.viewItems[this.previouslyFocusedItem])||void 0===i||i.blur());const s=void 0!==this.focusedItem?this.viewItems[this.focusedItem]:void 0;if(s){let i=!0;va(s.focus)||(i=!1),this.options.focusOnlyEnabledItems&&va(s.isEnabled)&&!s.isEnabled()&&(i=!1),s.action.id===fd.ID&&(i=!1),i?(n||this.previouslyFocusedItem!==this.focusedItem)&&(s.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),i&&(null===(o=s.showHover)||void 0===o||o.call(s))}}doTrigger(e){if(void 0===this.focusedItem)return;const t=this.viewItems[this.focusedItem];if(t instanceof eM){const n=null===t._context||void 0===t._context?e:t._context;this.run(t._action,n)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=it(this.viewItems),this.getContainer().remove(),super.dispose()}}var oM=n(6745),sM={};sM.styleTagTransform=Vr(),sM.setAttributes=Or(),sM.insert=Rr().bind(null,"head"),sM.domAPI=Tr(),sM.insertStyleElement=Br(),Ir()(oM.A,sM),oM.A&&oM.A.locals&&oM.A.locals;class rM{constructor(e,t,n=t){this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=n}toLabel(e,t,n){if(0===t.length)return null;const i=[];for(let o=0,s=t.length;o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},MM=function(e,t){return function(n,i){t(n,i,e)}};const TM="acceptSelectedCodeAction",AM="previewSelectedCodeAction";class RM{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,n){var i,o;n.text.textContent=null!==(o=null===(i=e.group)||void 0===i?void 0:i.title)&&void 0!==o?o:""}disposeTemplate(e){}}let PM=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 n=document.createElement("span");return n.className="title",e.append(n),{container:e,icon:t,text:n,keybinding:new fM(e,ee)}}renderElement(e,t,n){var i,o,s;if((null===(i=e.group)||void 0===i?void 0:i.icon)?(n.icon.className=ka.asClassName(e.group.icon),e.group.icon.color&&(n.icon.style.color=ym(e.group.icon.color.id))):(n.icon.className=ka.asClassName(Sa.lightBulb),n.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;n.text.textContent=VM(e.label),n.keybinding.set(e.keybinding),function(e,...t){e?fr(...t):_r(...t)}(!!e.keybinding,n.keybinding.element);const r=null===(o=this._keybindingService.lookupKeybinding(TM))||void 0===o?void 0:o.getLabel(),l=null===(s=this._keybindingService.lookupKeybinding(AM))||void 0===s?void 0:s.getLabel();n.container.classList.toggle("option-disabled",e.disabled),e.disabled?n.container.title=e.label:r&&l?this._supportsPreview&&e.canPreview?n.container.title=_(0,"{0} to Apply, {1} to Preview",r,l):n.container.title=_(0,"{0} to Apply",r):n.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};PM=IM([MM(1,zL)],PM);class OM extends UIEvent{constructor(){super("acceptSelectedAction")}}class FM extends UIEvent{constructor(){super("previewSelectedAction")}}function BM(e){if("action"===e.kind)return e.label}let WM=class extends lt{constructor(e,t,n,i,o,s){super(),this._delegate=i,this._contextViewService=o,this._keybindingService=s,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Tt),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const r={getHeight:e=>"header"===e.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:e=>e.kind};this._list=this._register(new HI(e,this.domNode,r,[new PM(t,this._keybindingService),new RM],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:BM},accessibilityProvider:{getAriaLabel:e=>{if("action"===e.kind){let t=e.label?VM(null==e?void 0:e.label):"";return e.disabled&&(t=_(0,"{0}, Disabled Reason: {1}",t,e.disabled)),t}return null},getWidgetAriaLabel:()=>_(0,"Action Widget"),getRole:e=>"action"===e.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(xM),this._register(this._list.onMouseClick((e=>this.onListClick(e)))),this._register(this._list.onMouseOver((e=>this.onListHover(e)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((e=>this.onListSelection(e)))),this._allMenuItems=n,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&"action"===e.kind}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter((e=>"header"===e.kind)).length,n=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(n);let i=e;if(this._allMenuItems.length>=50)i=380;else{const t=this._allMenuItems.map(((e,t)=>{const n=this.domNode.ownerDocument.getElementById(this._list.getElementID(t));if(n){n.style.width="auto";const e=n.getBoundingClientRect().width;return n.style.width="",e}return 0}));i=Math.max(...t,e)}const o=Math.min(n,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(o,i),this.domNode.style.height=`${o}px`,this._list.domFocus(),i}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(0===t.length)return;const n=t[0],i=this._list.element(n);if(!this.focusCondition(i))return;const o=e?new FM:new OM;this._list.setSelection([n],o)}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 FM):this._list.setSelection([])}onFocus(){var e,t;const n=this._list.getFocus();if(0===n.length)return;const i=n[0],o=this._list.element(i);null===(t=(e=this._delegate).onFocus)||void 0===t||t.call(e,o.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&"action"===t.kind){const e=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=e?e.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus("number"==typeof e.index?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};function VM(e){return e.replace(/\r\n|\r|\n/g," ")}WM=IM([MM(4,VL),MM(5,zL)],WM);var HM=function(e,t){return function(n,i){t(n,i,e)}};km("actionBar.toggledBackground",{dark:d_,light:d_,hcDark:d_,hcLight:d_},_(0,"Background color for toggled action items in action bar."));const zM={Visible:new ou("codeActionMenuVisible",!1,_(0,"Whether the action widget list is visible"))},UM=dd("actionWidgetService");let KM=class extends lt{get isVisible(){return zM.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,n){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=n,this._list=this._register(new at)}show(e,t,n,i,o,s,r){const l=zM.Visible.bindTo(this._contextKeyService),a=this._instantiationService.createInstance(WM,e,t,n,i);this._contextViewService.showContextView({getAnchor:()=>o,render:e=>(l.set(!0),this._renderWidget(e,a,null!=r?r:[])),onHide:e=>{l.reset(),this._onWidgetClosed(e)}},s,!1)}acceptSelected(e){var t;null===(t=this._list.value)||void 0===t||t.acceptSelected(e)}focusPrevious(){var e,t;null===(t=null===(e=this._list)||void 0===e?void 0:e.value)||void 0===t||t.focusPrevious()}focusNext(){var e,t;null===(t=null===(e=this._list)||void 0===e?void 0:e.value)||void 0===t||t.focusNext()}hide(){var e;null===(e=this._list.value)||void 0===e||e.hide(),this._list.clear()}_renderWidget(e,t,n){var i;const o=document.createElement("div");if(o.classList.add("action-widget"),e.appendChild(o),this._list.value=t,!this._list.value)throw new Error("List has no value");o.appendChild(this._list.value.domNode);const s=new rt,r=document.createElement("div"),l=e.appendChild(r);l.classList.add("context-view-block"),s.add(ms(l,or.MOUSE_DOWN,(e=>e.stopPropagation())));const a=document.createElement("div"),d=e.appendChild(a);d.classList.add("context-view-pointerBlock"),s.add(ms(d,or.POINTER_MOVE,(()=>d.remove()))),s.add(ms(d,or.MOUSE_DOWN,(()=>d.remove())));let u=0;if(n.length){const e=this._createActionBar(".action-widget-action-bar",n);e&&(o.appendChild(e.getContainer().parentElement),s.add(e),u=e.getContainer().offsetWidth)}const c=null===(i=this._list.value)||void 0===i?void 0:i.layout(u);o.style.width=`${c}px`;const h=s.add(ar(e));return s.add(h.onDidBlur((()=>this.hide()))),s}_createActionBar(e,t){if(!t.length)return;const n=mr(e),i=new iM(n);return i.push(t,{icon:!1,label:!0}),i}_onWidgetClosed(e){var t;null===(t=this._list.value)||void 0===t||t.hide(e)}};KM=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([HM(0,VL),HM(1,su),HM(2,ad)],KM),yg(UM,KM,1);const jM=1100;var qM,$M;Iu(class extends Eu{constructor(){super({id:"hideCodeActionWidget",title:v(0,"Hide action widget"),precondition:zM.Visible,keybinding:{weight:jM,primary:9,secondary:[1033]}})}run(e){e.get(UM).hide()}}),Iu(class extends Eu{constructor(){super({id:"selectPrevCodeAction",title:v(0,"Select previous action"),precondition:zM.Visible,keybinding:{weight:jM,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){const t=e.get(UM);t instanceof KM&&t.focusPrevious()}}),Iu(class extends Eu{constructor(){super({id:"selectNextCodeAction",title:v(0,"Select next action"),precondition:zM.Visible,keybinding:{weight:jM,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){const t=e.get(UM);t instanceof KM&&t.focusNext()}}),Iu(class extends Eu{constructor(){super({id:TM,title:v(0,"Accept selected action"),precondition:zM.Visible,keybinding:{weight:jM,primary:3,secondary:[2137]}})}run(e){const t=e.get(UM);t instanceof KM&&t.acceptSelected()}}),Iu(class extends Eu{constructor(){super({id:AM,title:v(0,"Preview selected action"),precondition:zM.Visible,keybinding:{weight:jM,primary:2051}})}run(e){const t=e.get(UM);t instanceof KM&&t.acceptSelected(!0)}}),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(qM||(qM={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=_(0,"Error"),t[e.Warning]=_(0,"Warning"),t[e.Info]=_(0,"Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case eN.Error:return e.Error;case eN.Warning:return e.Warning;case eN.Info:return e.Info;case eN.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return eN.Error;case e.Warning:return eN.Warning;case e.Info:return eN.Info;case e.Hint:return eN.Ignore}}}(qM||(qM={})),function(e){const t="";function n(e,n){const i=[t];return e.source?i.push(e.source.replace("¦","\\¦")):i.push(t),e.code?"string"==typeof e.code?i.push(e.code.replace("¦","\\¦")):i.push(e.code.value.replace("¦","\\¦")):i.push(t),void 0!==e.severity&&null!==e.severity?i.push(qM.toString(e.severity)):i.push(t),e.message&&n?i.push(e.message.replace("¦","\\¦")):i.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?i.push(e.startLineNumber.toString()):i.push(t),void 0!==e.startColumn&&null!==e.startColumn?i.push(e.startColumn.toString()):i.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?i.push(e.endLineNumber.toString()):i.push(t),void 0!==e.endColumn&&null!==e.endColumn?i.push(e.endColumn.toString()):i.push(t),i.push(t),i.join("¦")}e.makeKey=function(e){return n(e,!0)},e.makeKeyOptionalMessage=n}($M||($M={}));const GM=dd("markerService"),ZM=new ou("supportedCodeAction",""),YM="_typescript.applyFixAllCodeAction";class XM extends lt{constructor(e,t,n,i=250){super(),this._editor=e,this._markerService=t,this._signalChange=n,this._delay=i,this._autoTriggerTimer=this._register(new Ut),this._register(this._markerService.onMarkerChanged((e=>this._onMarkerChanges(e)))),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((e=>za(e,t.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:oN.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(1===e.type)return t;const n=this._editor.getOption(65).enabled;if(n!==ND.Off){if(n===ND.On)return t;if(n===ND.OnCode){if(!t.isEmpty())return t;const e=this._editor.getModel(),{lineNumber:n,column:i}=t.getPosition(),o=e.getLineContent(n);if(0===o.length)return;if(1===i){if(/\s/.test(o[0]))return}else if(i===e.getLineMaxColumn(n)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[i-2])&&/\s/.test(o[i-1]))return}return t}}}var QM;!function(e){e.Empty={type:0},e.Triggered=class{constructor(e,t,n){this.trigger=e,this.position=t,this._cancellablePromise=n,this.type=1,this.actions=n.catch((e=>{if(Ne(e))return JM;throw e}))}cancel(){this._cancellablePromise.cancel()}}}(QM||(QM={}));const JM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class eT extends lt{constructor(e,t,n,i,o,s){super(),this._editor=e,this._registry=t,this._markerService=n,this._progressService=o,this._configurationService=s,this._codeActionOracle=this._register(new at),this._state=QM.Empty,this._onDidChangeState=this._register(new Ct),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=ZM.bindTo(i),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((e=>{e.hasChanged(65)&&this._update()}))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(QM.Empty,!0))}_settingEnabledNearbyQuickfixes(){var e;const t=null===(e=this._editor)||void 0===e?void 0:e.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:null==t?void 0:t.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(QM.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(91)){const t=this._registry.all(e).flatMap((e=>{var t;return null!==(t=e.providedCodeActionKinds)&&void 0!==t?t:[]}));this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new XM(this._editor,this._markerService,(t=>{var n;if(!t)return void this.setState(QM.Empty);const i=t.selection.getStartPosition(),o=Pt((async n=>{var i,o,s,r,l,a,d,u,c,h;if(this._settingEnabledNearbyQuickfixes()&&1===t.trigger.type&&(t.trigger.triggerAction===oN.QuickFix||(null===(o=null===(i=t.trigger.filter)||void 0===i?void 0:i.include)||void 0===o?void 0:o.contains(iN.QuickFix)))){const i=await _N(this._registry,e,t.selection,t.trigger,vL.None,n),o=[...i.allActions];if(n.isCancellationRequested)return JM;const g=null===(s=i.validActions)||void 0===s?void 0:s.some((e=>!!e.action.kind&&iN.QuickFix.contains(new dx(e.action.kind)))),p=this._markerService.read({resource:e.uri});if(g){for(const e of i.validActions)(null===(l=null===(r=e.action.command)||void 0===r?void 0:r.arguments)||void 0===l?void 0:l.some((e=>"string"==typeof e&&e.includes(YM))))&&(e.action.diagnostics=[...p.filter((e=>e.relatedInformation))]);return{validActions:i.validActions,allActions:o,documentation:i.documentation,hasAutoFix:i.hasAutoFix,hasAIFix:i.hasAIFix,allAIFixes:i.allAIFixes,dispose:()=>{i.dispose()}}}if(!g&&p.length>0){const s=t.selection.getPosition();let r=s,l=Number.MAX_VALUE;const g=[...i.validActions];for(const m of p){const f=m.endColumn,_=m.endLineNumber,v=m.startLineNumber;if(_===s.lineNumber||v===s.lineNumber){r=new cd(_,f);const m={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:(null===(a=t.trigger.filter)||void 0===a?void 0:a.include)?null===(d=t.trigger.filter)||void 0===d?void 0:d.include:iN.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:(null===(u=t.trigger.context)||void 0===u?void 0:u.notAvailableMessage)||"",position:r}},v=new ic(r.lineNumber,r.column,r.lineNumber,r.column),b=await _N(this._registry,e,v,m,vL.None,n);if(0!==b.validActions.length){for(const e of b.validActions)(null===(h=null===(c=e.action.command)||void 0===c?void 0:c.arguments)||void 0===h?void 0:h.some((e=>"string"==typeof e&&e.includes(YM))))&&(e.action.diagnostics=[...p.filter((e=>e.relatedInformation))]);0===i.allActions.length&&o.push(...b.allActions),Math.abs(s.column-f)n.findIndex((t=>t.action.title===e.action.title))===t));return m.sort(((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0)),{validActions:m,allActions:o,documentation:i.documentation,hasAutoFix:i.hasAutoFix,hasAIFix:i.hasAIFix,allAIFixes:i.allAIFixes,dispose:()=>{i.dispose()}}}}return _N(this._registry,e,t.selection,t.trigger,vL.None,n)}));1===t.trigger.type&&(null===(n=this._progressService)||void 0===n||n.showWhile(o,250));const s=new QM.Triggered(t.trigger,i,o);let r=!1;1===this._state.type&&(r=1===this._state.trigger.type&&1===s.type&&2===s.trigger.type&&this._state.position!==s.position),r||this.setState(s)}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:oN.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;null===(t=this._codeActionOracle.value)||void 0===t||t.trigger(e)}setState(e,t){e!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=e,t||this._disposed||this._onDidChangeState.fire(e))}}var tT,nT=function(e,t){return function(n,i){t(n,i,e)}};let iT=tT=class extends lt{static get(e){return e.getContribution(tT.ID)}constructor(e,t,n,i,o,s,r,l,a,d){super(),this._commandService=r,this._configurationService=l,this._actionWidgetService=a,this._instantiationService=d,this._activeCodeActions=this._register(new at),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new eT(this._editor,o.codeActionProvider,t,n,s,l)),this._register(this._model.onDidChangeState((e=>this.update(e)))),this._lightBulbWidget=new ei((()=>{const e=this._editor.getContribution(ON.ID);return e&&this._register(e.onClick((e=>this.showCodeActionsFromLightbulb(e.actions,e)))),e})),this._resolver=i.createInstance(yN),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&1===e.validActions.length){const t=e.validActions[0],n=t.action.command;return n&&"inlineChat.start"===n.id&&n.arguments&&n.arguments.length>=1&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),void await this._applyCodeAction(t,!1,!1,bN.FromAILightbulb)}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,n){return this.showCodeActionList(t,n,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,n,i){var o;if(!this._editor.hasModel())return;null===(o=pL.get(this._editor))||void 0===o||o.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:n,autoApply:i,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,n,i){try{await this._instantiationService.invokeFunction(wN,e,i,{preview:n,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:oN.QuickFix,filter:{}})}}async update(e){var t,n,i,o,s,r,l;if(1!==e.type)return void(null===(t=this._lightBulbWidget.rawValue)||void 0===t||t.hide());let a;try{a=await e.actions}catch(e){return void xe(e)}if(!this._disposed)if(null===(n=this._lightBulbWidget.value)||void 0===n||n.update(a,e.trigger,e.position),1===e.trigger.type){if(null===(i=e.trigger.filter)||void 0===i?void 0:i.include){const t=this.tryGetValidActionToApply(e.trigger,a);if(t){try{null===(o=this._lightBulbWidget.value)||void 0===o||o.hide(),await this._applyCodeAction(t,!1,!1,bN.FromCodeActions)}finally{a.dispose()}return}if(e.trigger.context){const t=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,a);if(t&&t.action.disabled)return null===(s=pL.get(this._editor))||void 0===s||s.showMessage(t.action.disabled,e.trigger.context.position),void a.dispose()}}const t=!!(null===(r=e.trigger.filter)||void 0===r?void 0:r.include);if(e.trigger.context&&(!a.allActions.length||!t&&!a.validActions.length))return null===(l=pL.get(this._editor))||void 0===l||l.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=a,void a.dispose();this._activeCodeActions.value=a,this.showCodeActionList(a,this.toCoords(e.position),{includeDisabledActions:t,fromLightbulb:!1})}else this._actionWidgetService.isVisible?a.dispose():this._activeCodeActions.value=a}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length)return"first"===e.autoApply&&0===t.validActions.length||"ifSingle"===e.autoApply&&1===t.allActions.length?t.allActions.find((({action:e})=>e.disabled)):void 0}tryGetValidActionToApply(e,t){if(t.validActions.length)return"first"===e.autoApply&&t.validActions.length>0||"ifSingle"===e.autoApply&&1===t.validActions.length?t.validActions[0]:void 0}async showCodeActionList(e,t,n){const i=this._editor.createDecorationsCollection(),o=this._editor.getDomNode();if(!o)return;const s=n.includeDisabledActions&&(this._showDisabled||0===e.validActions.length)?e.allActions:e.validActions;if(!s.length)return;const r=cd.isIPosition(t)?this.toCoords(t):t,l={onSelect:async(e,t)=>{this._applyCodeAction(e,!0,!!t,bN.FromCodeActions),this._actionWidgetService.hide(),i.clear()},onHide:()=>{var e;null===(e=this._editor)||void 0===e||e.focus(),i.clear()},onHover:async(e,t)=>{var n;if(t.isCancellationRequested)return;let i=!1;const o=e.action.kind;if(o){const e=new dx(o);i=[iN.RefactorExtract,iN.RefactorInline,iN.RefactorRewrite].some((t=>t.contains(e)))}return{canPreview:i||!!(null===(n=e.action.edit)||void 0===n?void 0:n.edits.length)}},onFocus:e=>{var t,n;if(e&&e.action){const o=e.action.ranges,s=e.action.diagnostics;if(i.clear(),o&&o.length>0){const e=s&&(null==s?void 0:s.length)>1?s.map((e=>({range:e,options:tT.DECORATION}))):o.map((e=>({range:e,options:tT.DECORATION})));i.set(e)}else if(s&&s.length>0){const e=s.map((e=>({range:e,options:tT.DECORATION})));i.set(e);const o=s[0];o.startLineNumber&&o.startColumn&&Yr(_(0,"Context: {0} at line {1} and column {2}.",null===(n=null===(t=this._editor.getModel())||void 0===t?void 0:t.getWordAtPosition({lineNumber:o.startLineNumber,column:o.startColumn}))||void 0===n?void 0:n.word,o.startLineNumber,o.startColumn))}}else i.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(e,t,n){if(!t)return e.map((e=>{var t;return{kind:"action",item:e,group:EN,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!(null===(t=e.action.edit)||void 0===t?void 0:t.edits.length)}}));const i=IN.map((e=>({group:e,actions:[]})));for(const t of e){const e=t.action.kind?new dx(t.action.kind):dx.None;for(const n of i)if(n.group.kind.contains(e)){n.actions.push(t);break}}const o=[];for(const e of i)if(e.actions.length){o.push({kind:"header",group:e.group});for(const t of e.actions){const i=e.group;o.push({kind:"action",item:t,group:t.action.isAI?{title:i.title,kind:i.kind,icon:Sa.sparkle}:i,label:t.action.title,disabled:!!t.action.disabled,keybinding:n(t.action)})}}return o}(s,this._shouldShowHeaders(),this._resolver.getResolver()),l,r,o,this._getActionBarActions(e,t,n))}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),n=Es(this._editor.getDomNode());return{x:n.left+t.left,y:n.top+t.top+t.height}}_shouldShowHeaders(){var e;const t=null===(e=this._editor)||void 0===e?void 0:e.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:null==t?void 0:t.uri})}_getActionBarActions(e,t,n){if(n.fromLightbulb)return[];const i=e.documentation.map((e=>{var t;return{id:e.id,label:e.title,tooltip:null!==(t=e.tooltip)&&void 0!==t?t:"",class:void 0,enabled:!0,run:()=>{var t;return this._commandService.executeCommand(e.id,...null!==(t=e.arguments)&&void 0!==t?t:[])}}}));return n.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&i.push(this._showDisabled?{id:"hideMoreActions",label:_(0,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,n))}:{id:"showMoreActions",label:_(0,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,n))}),i}};function oT(e){return Bd.regex(ZM.keys()[0],new RegExp("(\\s|^)"+ri(e.value)+"\\b"))}iT.ID="editor.contrib.codeActionController",iT.DECORATION=My.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"}),iT=tT=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([nT(1,GM),nT(2,su),nT(3,ad),nT(4,wx),nT(5,bL),nT(6,wd),nT(7,pg),nT(8,UM),nT(9,ad)],iT),Fv(((e,t)=>{((e,n)=>{n&&t.addRule(`.monaco-editor .quickfix-edit-highlight { background-color: ${n}; }`)})(0,e.getColor(gf));const n=e.getColor(pf);n&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Iv(e.type)?"dotted":"solid"} ${n}; box-sizing: border-box; }`)}));const sT={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:_(0,"Kind of the code action to run.")},apply:{type:"string",description:_(0,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[_(0,"Always apply the first returned code action."),_(0,"Apply the first returned code action if it is the only one."),_(0,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:_(0,"Controls if only preferred code actions should be returned.")}}};function rT(e,t,n,i,o=oN.Default){if(e.hasModel()){const s=iT.get(e);null==s||s.manualTriggerAtCurrentPosition(t,o,n,i)}}Zu(iT.ID,iT,3),Zu(ON.ID,ON,4),$u(class extends zu{constructor(){super({id:dN,label:_(0,"Quick Fix..."),alias:"Quick Fix...",precondition:Bd.and(oc.writable,oc.hasCodeActionsProvider),kbOpts:{kbExpr:oc.textInputFocus,primary:2137,weight:100}})}run(e,t){return rT(t,_(0,"No code actions available"),void 0,void 0,oN.QuickFix)}}),$u(class extends zu{constructor(){super({id:cN,label:_(0,"Refactor..."),alias:"Refactor...",precondition:Bd.and(oc.writable,oc.hasCodeActionsProvider),kbOpts:{kbExpr:oc.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Bd.and(oc.writable,oT(iN.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:sT}]}})}run(e,t,n){const i=rN.fromUser(n,{kind:iN.Refactor,apply:"never"});return rT(t,"string"==typeof(null==n?void 0:n.kind)?i.preferred?_(0,"No preferred refactorings for '{0}' available",n.kind):_(0,"No refactorings for '{0}' available",n.kind):i.preferred?_(0,"No preferred refactorings available"):_(0,"No refactorings available"),{include:iN.Refactor.contains(i.kind)?i.kind:dx.None,onlyIncludePreferredActions:i.preferred},i.apply,oN.Refactor)}}),$u(class extends zu{constructor(){super({id:hN,label:_(0,"Source Action..."),alias:"Source Action...",precondition:Bd.and(oc.writable,oc.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Bd.and(oc.writable,oT(iN.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:sT}]}})}run(e,t,n){const i=rN.fromUser(n,{kind:iN.Source,apply:"never"});return rT(t,"string"==typeof(null==n?void 0:n.kind)?i.preferred?_(0,"No preferred source actions for '{0}' available",n.kind):_(0,"No source actions for '{0}' available",n.kind):i.preferred?_(0,"No preferred source actions available"):_(0,"No source actions available"),{include:iN.Source.contains(i.kind)?i.kind:dx.None,includeSourceActions:!0,onlyIncludePreferredActions:i.preferred},i.apply,oN.SourceAction)}}),$u(class extends zu{constructor(){super({id:gN,label:_(0,"Organize Imports"),alias:"Organize Imports",precondition:Bd.and(oc.writable,oT(iN.SourceOrganizeImports)),kbOpts:{kbExpr:oc.textInputFocus,primary:1581,weight:100}})}run(e,t){return rT(t,_(0,"No organize imports action available"),{include:iN.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",oN.OrganizeImports)}}),$u(class extends zu{constructor(){super({id:uN,label:_(0,"Auto Fix..."),alias:"Auto Fix...",precondition:Bd.and(oc.writable,oT(iN.QuickFix)),kbOpts:{kbExpr:oc.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return rT(t,_(0,"No auto fixes available"),{include:iN.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",oN.AutoFix)}}),$u(class extends zu{constructor(){super({id:pN,label:_(0,"Fix All"),alias:"Fix All",precondition:Bd.and(oc.writable,oT(iN.SourceFixAll))})}run(e,t){return rT(t,_(0,"No fix all action available"),{include:iN.SourceFixAll,includeSourceActions:!0},"ifSingle",oN.FixAll)}}),qu(new class extends Hu{constructor(){super({id:aN,precondition:Bd.and(oc.writable,oc.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:sT}]}})}runEditorCommand(e,t,n){const i=rN.fromUser(n,{kind:dx.Empty,apply:"ifSingle"});return rT(t,"string"==typeof(null==n?void 0:n.kind)?i.preferred?_(0,"No preferred code actions for '{0}' available",n.kind):_(0,"No code actions for '{0}' available",n.kind):i.preferred?_(0,"No preferred code actions available"):_(0,"No code actions available"),{include:i.kind,includeSourceActions:!0,onlyIncludePreferredActions:i.preferred},i.apply)}}),fu.as(Dg).registerConfiguration({...GD,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:_(0,"Enable/disable showing group headers in the Code Action menu."),default:!0}}}),fu.as(Dg).registerConfiguration({...GD,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:_(0,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});const lT=dd("markerDecorationsService");let aT=class{constructor(e,t){}dispose(){}};aT.ID="editor.contrib.markerDecorations",aT=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,lT)],aT),Zu(aT.ID,aT,0);var dT=n(6049),uT={};uT.styleTagTransform=Vr(),uT.setAttributes=Or(),uT.insert=Rr().bind(null,"head"),uT.domAPI=Tr(),uT.insertStyleElement=Br(),Ir()(dT.A,uT),dT.A&&dT.A.locals&&dT.A.locals;class cT extends lt{constructor(e,t){super(),this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let n=!1,i=!1;const o=()=>{if(n&&!i)try{n=!1,i=!0,t()}finally{Cs(is(this._referenceDomElement),(()=>{i=!1,o()}))}};this._resizeObserver=new ResizeObserver((t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,n=!0,o()})),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,i=0;t?(n=t.width,i=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,i=this._referenceDomElement.clientHeight),n=Math.max(5,n),i=Math.max(5,i),this._width===n&&this._height===i||(this._width=n,this._height=i,e&&this._onDidChange.fire())}}class hT extends lt{constructor(e){super(),this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){var n;null===(n=this._mediaQueryList)||void 0===n||n.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class gT extends lt{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new hT(e));this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)})))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d");return(e.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}const pT=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=ls(e);let n=this.mapWindowIdToPixelRatioMonitor.get(t);return n||(n=tt(new gT(e)),this.mapWindowIdToPixelRatioMonitor.set(t,n),tt(ft.once(hs)((({vscodeWindowId:e})=>{e===t&&(null==n||n.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})))),n}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}};class mT{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class fT{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),e.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");nL(t,this._bareFontInfo),e.appendChild(t);const n=document.createElement("div");nL(n,this._bareFontInfo),n.style.fontWeight="bold",e.appendChild(n);const i=document.createElement("div");nL(i,this._bareFontInfo),i.style.fontStyle="italic",e.appendChild(i);const o=[];for(const e of this._requests){let s;0===e.type&&(s=t),2===e.type&&(s=n),1===e.type&&(s=i),s.appendChild(document.createElement("br"));const r=document.createElement("span");fT._render(r,e),s.appendChild(r),o.push(r)}this._container=e,this._testElements=o}static _render(e,t){if(" "===t.chr){let t=" ";for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;ethis._values[e]))}}const yT=new class extends lt{constructor(){super(...arguments),this._cache=new Map,this._evictUntrustedReadingsTimeout=-1,this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}_ensureCache(e){const t=ls(e);let n=this._cache.get(t);return n||(n=new CT,this._cache.set(t,n)),n}_writeToCache(e,t,n){this._ensureCache(e).put(t,n),n.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=e.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)}),5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),n=t.getValues();let i=!1;for(const e of n)e.isTrusted||(i=!0,t.remove(e));i&&this._onDidChange.fire()}readFontInfo(e,t){const n=this._ensureCache(e);if(!n.has(t)){let n=this._actualReadFontInfo(e,t);(n.typicalHalfwidthCharacterWidth<=2||n.typicalFullwidthCharacterWidth<=2||n.spaceWidth<=2||n.maxDigitWidth<=2)&&(n=new wT({pixelRatio:pT.getInstance(e).value,fontFamily:n.fontFamily,fontWeight:n.fontWeight,fontSize:n.fontSize,fontFeatureSettings:n.fontFeatureSettings,fontVariationSettings:n.fontVariationSettings,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,isMonospace:n.isMonospace,typicalHalfwidthCharacterWidth:Math.max(n.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(n.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:n.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(n.spaceWidth,5),middotWidth:Math.max(n.middotWidth,5),wsmiddotWidth:Math.max(n.wsmiddotWidth,5),maxDigitWidth:Math.max(n.maxDigitWidth,5)},!1)),this._writeToCache(e,t,n)}return n.get(t)}_createRequest(e,t,n,i){const o=new mT(e,t);return n.push(o),null==i||i.push(o),o}_actualReadFontInfo(e,t){const n=[],i=[],o=this._createRequest("n",0,n,i),s=this._createRequest("m",0,n,null),r=this._createRequest(" ",0,n,i),l=this._createRequest("0",0,n,i),a=this._createRequest("1",0,n,i),d=this._createRequest("2",0,n,i),u=this._createRequest("3",0,n,i),c=this._createRequest("4",0,n,i),h=this._createRequest("5",0,n,i),g=this._createRequest("6",0,n,i),p=this._createRequest("7",0,n,i),m=this._createRequest("8",0,n,i),f=this._createRequest("9",0,n,i),_=this._createRequest("→",0,n,i),v=this._createRequest("→",0,n,null),b=this._createRequest("·",0,n,i),w=this._createRequest(String.fromCharCode(11825),0,n,null),C="|/-_ilm%";for(let e=0,t=8;e.001){S=!1;break}}let k=!0;return S&&v.width!==x&&(k=!1),v.width>_.width&&(k=!1),new wT({pixelRatio:pT.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:S,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:s.width,canUseHalfwidthRightwardsArrow:k,spaceWidth:r.width,middotWidth:b.width,wsmiddotWidth:w.width,maxDigitWidth:y},!0)}};class ST{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=ST._read(e,this.key);this.migrate(t,(t=>ST._read(e,t)),((t,n)=>ST._write(e,t,n)))}static _read(e,t){if(void 0===e)return;const n=t.indexOf(".");if(n>=0){const i=t.substring(0,n);return this._read(e[i],t.substring(n+1))}return e[t]}static _write(e,t,n){const i=t.indexOf(".");if(i>=0){const o=t.substring(0,i);return e[o]=e[o]||{},void this._write(e[o],t.substring(i+1),n)}e[t]=n}}function xT(e,t){ST.items.push(new ST(e,t))}function kT(e,t){xT(e,((n,i,o)=>{if(void 0!==n)for(const[i,s]of t)if(n===i)return void o(e,s)}))}ST.items=[],kT("wordWrap",[[!0,"on"],[!1,"off"]]),kT("lineNumbers",[[!0,"on"],[!1,"off"]]),kT("cursorBlinking",[["visible","solid"]]),kT("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),kT("renderLineHighlight",[[!0,"line"],[!1,"none"]]),kT("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),kT("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),kT("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),kT("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),kT("autoIndent",[[!1,"advanced"],[!0,"full"]]),kT("matchBrackets",[[!0,"always"],[!1,"never"]]),kT("renderFinalNewline",[[!0,"on"],[!1,"off"]]),kT("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),kT("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),kT("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),xT("autoClosingBrackets",((e,t,n)=>{!1===e&&(n("autoClosingBrackets","never"),void 0===t("autoClosingQuotes")&&n("autoClosingQuotes","never"),void 0===t("autoSurround")&&n("autoSurround","never"))})),xT("renderIndentGuides",((e,t,n)=>{void 0!==e&&(n("renderIndentGuides",void 0),void 0===t("guides.indentation")&&n("guides.indentation",!!e))})),xT("highlightActiveIndentGuide",((e,t,n)=>{void 0!==e&&(n("highlightActiveIndentGuide",void 0),void 0===t("guides.highlightActiveIndentation")&&n("guides.highlightActiveIndentation",!!e))}));const LT={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};xT("suggest.filteredTypes",((e,t,n)=>{if(e&&"object"==typeof e){for(const i of Object.entries(LT))!1===e[i[0]]&&void 0===t(`suggest.${i[1]}`)&&n(`suggest.${i[1]}`,!1);n("suggest.filteredTypes",void 0)}})),xT("quickSuggestions",((e,t,n)=>{if("boolean"==typeof e){const t=e?"on":"off";n("quickSuggestions",{comments:t,strings:t,other:t})}})),xT("experimental.stickyScroll.enabled",((e,t,n)=>{"boolean"==typeof e&&(n("experimental.stickyScroll.enabled",void 0),void 0===t("stickyScroll.enabled")&&n("stickyScroll.enabled",e))})),xT("experimental.stickyScroll.maxLineCount",((e,t,n)=>{"number"==typeof e&&(n("experimental.stickyScroll.maxLineCount",void 0),void 0===t("stickyScroll.maxLineCount")&&n("stickyScroll.maxLineCount",e))})),xT("codeActionsOnSave",((e,t,n)=>{if(e&&"object"==typeof e){let t=!1;const i={};for(const n of Object.entries(e))"boolean"==typeof n[1]?(t=!0,i[n[0]]=n[1]?"explicit":"never"):i[n[0]]=n[1];t&&n("codeActionsOnSave",i)}})),xT("codeActionWidget.includeNearbyQuickfixes",((e,t,n)=>{"boolean"==typeof e&&(n("codeActionWidget.includeNearbyQuickfixes",void 0),void 0===t("codeActionWidget.includeNearbyQuickFixes")&&n("codeActionWidget.includeNearbyQuickFixes",e))})),xT("lightbulb.enabled",((e,t,n)=>{"boolean"==typeof e&&n("lightbulb.enabled",e?void 0:"off")}));const DT=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new Ct,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}};let NT=class extends lt{constructor(e,t,n,i){super(),this._accessibilityService=i,this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new Ct),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new cD,this.isSimpleWidget=e,this._containerObserver=this._register(new cT(n,t.dimension)),this._targetWindowId=is(n).vscodeWindowId,this._rawOptions=AT(t),this._validatedOptions=TT.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(_T.onDidChangeZoomLevel((()=>this._recomputeOptions()))),this._register(DT.onDidChangeTabFocus((()=>this._recomputeOptions()))),this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions()))),this._register(yT.onDidChange((()=>this._recomputeOptions()))),this._register(pT.getInstance(is(n)).onDidChange((()=>this._recomputeOptions()))),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const e=this._computeOptions(),t=TT.checkEquals(this.options,e);null!==t&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=bT.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),n=this._readFontInfo(t),i={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:n,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:DT.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return TT.computeOptions(this._validatedOptions,i)}_readEnvConfiguration(){return{extraEditorClassName:ET(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:d||a,pixelRatio:pT.getInstance(as(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return yT.readFontInfo(as(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=AT(e);TT.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=TT.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=function(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};function ET(){let e="";return c||h||(e+="no-user-select "),c&&(e+="no-minimap-shadow ",e+="enable-user-select "),U&&(e+="mac "),e}NT=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,qS)],NT);class IT{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class MT{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class TT{static validateOptions(e){const t=new IT;for(const n of jD){const i="_never_"===n.name?void 0:e[n.name];t._write(n.id,n.validate(i))}return t}static computeOptions(e,t){const n=new MT;for(const i of jD)n._write(i.id,i.compute(t,n,e._read(i.id)));return n}static _deepEquals(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return!(!Array.isArray(e)||!Array.isArray(t))&&Ic(e,t);if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!TT._deepEquals(e[n],t[n]))return!1;return!0}static checkEquals(e,t){const n=[];let i=!1;for(const o of jD){const s=!TT._deepEquals(e._read(o.id),t._read(o.id));n[o.id]=s,s&&(i=!0)}return i?new uD(n):null}static applyUpdate(e,t){let n=!1;for(const i of jD)if(t.hasOwnProperty(i.name)){const o=i.applyUpdate(e[i.name],t[i.name]);e[i.name]=o.newValue,n=n||o.didChange}return n}}function AT(e){const t=hc(e);return function(e){ST.items.forEach((t=>t.apply(e)))}(t),t}class RT{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new PT(this.x-e.scrollX,this.y-e.scrollY)}}class PT{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new RT(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class OT{constructor(e,t,n,i){this.x=e,this.y=t,this.width=n,this.height=i,this._editorPagePositionBrand=void 0}}class FT{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function BT(e){const t=Es(e);return new OT(t.left,t.top,t.width,t.height)}function WT(e,t,n){const i=t.width/e.offsetWidth,o=t.height/e.offsetHeight,s=(n.x-t.x)/i,r=(n.y-t.y)/o;return new FT(s,r)}class VT extends $e{constructor(e,t,n){super(is(n),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new RT(this.posx,this.posy),this.editorPos=BT(n),this.relativePos=WT(n,this.editorPos,this.pos)}}class HT{constructor(e){this._editorViewDomNode=e}_create(e){return new VT(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return ms(e,"contextmenu",(e=>{t(this._create(e))}))}onMouseUp(e,t){return ms(e,"mouseup",(e=>{t(this._create(e))}))}onMouseDown(e,t){return ms(e,or.MOUSE_DOWN,(e=>{t(this._create(e))}))}onPointerDown(e,t){return ms(e,or.POINTER_DOWN,(e=>{t(this._create(e),e.pointerId)}))}onMouseLeave(e,t){return ms(e,or.MOUSE_LEAVE,(e=>{t(this._create(e))}))}onMouseMove(e,t){return ms(e,"mousemove",(e=>t(this._create(e))))}}class zT{constructor(e){this._editorViewDomNode=e}_create(e){return new VT(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return ms(e,"pointerup",(e=>{t(this._create(e))}))}onPointerDown(e,t){return ms(e,or.POINTER_DOWN,(e=>{t(this._create(e),e.pointerId)}))}onPointerLeave(e,t){return ms(e,or.POINTER_LEAVE,(e=>{t(this._create(e))}))}onPointerMove(e,t){return ms(e,"pointermove",(e=>t(this._create(e))))}}class UT extends lt{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new KN),this._keydownListener=null}startMonitoring(e,t,n,i,o){this._keydownListener=_s(e.ownerDocument,"keydown",(e=>{e.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,e.browserEvent)}),!0),this._globalPointerMoveMonitor.startMonitoring(e,t,n,(e=>{i(new VT(e,!0,this._editorViewDomNode))}),(e=>{this._keydownListener.dispose(),o(e)}))}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class KT{constructor(e){this._editor=e,this._instanceId=++KT._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new jt((()=>this.garbageCollect()),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let n=this._rules.get(t);if(!n){const i=this._counter++;n=new jT(t,`dyn-rule-${this._instanceId}-${i}`,Bs(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,n)}return n}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}KT._idPool=0;class jT{constructor(e,t,n,i){this.key=e,this.className=t,this.properties=i,this._referenceCount=0,this._styleElementDisposables=new rt,this._styleElement=$s(n,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let n=`.${e} {`;for(const e in t){const i=t[e];let o;o="object"==typeof i?ym(i.id):i,n+=`\n\t${qT(e)}: ${o};`}return n+="\n}",n}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function qT(e){return e.replace(/(^[A-Z])/,(([e])=>e.toLowerCase())).replace(/([A-Z])/g,(([e])=>`-${e.toLowerCase()}`))}class $T extends lt{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let n=0,i=e.length;n=s.left?i.width=Math.max(i.width,s.left+s.width-i.left):(t[n++]=i,i=s)}return t[n++]=i,t}static _createHorizontalRangesFromClientRects(e,t,n){if(!e||0===e.length)return null;const i=[];for(let o=0,s=e.length;or)return null;if((t=Math.min(r,Math.max(0,t)))===(i=Math.min(r,Math.max(0,i)))&&n===o&&0===n&&!e.children[t].firstChild){const n=e.children[t].getClientRects();return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(n,s.clientRectDeltaLeft,s.clientRectScale)}t!==i&&i>0&&0===o&&(i--,o=1073741824);let l=e.children[t].firstChild,a=e.children[i].firstChild;if(l&&a||(!l&&0===n&&t>0&&(l=e.children[t-1].firstChild,n=1073741824),!a&&0===o&&i>0&&(a=e.children[i-1].firstChild,o=1073741824)),!l||!a)return null;n=Math.min(l.textContent.length,Math.max(0,n)),o=Math.min(a.textContent.length,Math.max(0,o));const d=this._readClientRects(l,n,a,o,s.endNode);return s.markDidDomLayout(),this._createHorizontalRangesFromClientRects(d,s.clientRectDeltaLeft,s.clientRectScale)}}class oA{constructor(e,t,n,i){this.startColumn=e,this.endColumn=t,this.className=n,this.type=i,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const n=e.length;if(n!==t.length)return!1;for(let i=0;i=o||(r[l++]=new oA(Math.max(1,t.startColumn-i+1),Math.min(s+1,t.endColumn-i+1),t.className,t.type));return r}static filter(e,t,n,i){if(0===e.length)return[];const o=[];let s=0;for(let r=0,l=e.length;rt)continue;if(a.isEmpty()&&(0===l.type||3===l.type))continue;const d=a.startLineNumber===t?a.startColumn:n,u=a.endLineNumber===t?a.endColumn:i;o[s++]=new oA(d,u,l.inlineClassName,l.type)}return o}static _typeCompare(e,t){const n=[2,0,1,3];return n[e]-n[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const n=oA._typeCompare(e.type,t.type);return 0!==n?n:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(i,0,e),this.classNames.splice(i,0,t),this.metadata.splice(i,0,n);break}this.count++}}class lA{static normalize(e,t){if(0===t.length)return[];const n=[],i=new rA;let o=0;for(let s=0,r=t.length;s1&&Li(e.charCodeAt(l-2))&&l--,a>1&&Li(e.charCodeAt(a-2))&&a--;const c=l-1,h=a-2;o=i.consumeLowerThan(c,o,n),0===i.count&&(o=c),i.insert(h,d,u)}return i.consumeLowerThan(1073741824,o,n),n}}class aA{constructor(e,t,n,i){this.endIndex=e,this.type=t,this.metadata=n,this.containsRTL=i,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class dA{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class uA{constructor(e,t,n,i,o,s,r,l,a,d,u,c,h,g,p,m,f,_,v){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=i,this.isBasicASCII=o,this.containsRTL=s,this.fauxIndentLength=r,this.lineTokens=l,this.lineDecorations=a.sort(oA.compare),this.tabSize=d,this.startVisibleColumn=u,this.spaceWidth=c,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===m?4:"boundary"===m?1:"selection"===m?2:"trailing"===m?3:0,this.renderControlCharacters=f,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort(((e,t)=>e.startOffset>>16}static getCharIndex(e){return(65535&e)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,n,i){const o=(t<<16|n)>>>0;this._data[e-1]=o,this._horizontalOffset[e-1]=i}getHorizontalOffset(e){return 0===this._horizontalOffset.length?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),n=hA.getPartIndex(t),i=hA.getCharIndex(t);return new cA(n,i)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,n){if(0===this.length)return 0;const i=(e<<16|n)>>>0;let o=0,s=this.length-1;for(;o+1>>1,t=this._data[e];if(t===i)return e;t>i?s=e:o=e}if(o===s)return o;const r=this._data[o],l=this._data[s];if(r===i)return o;if(l===i)return s;const a=hA.getPartIndex(r),d=hA.getCharIndex(r);let u;return u=a!==hA.getPartIndex(l)?t:hA.getCharIndex(l),n-d<=u-n?o:s}}class gA{constructor(e,t,n){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n}}function pA(e,t){if(0===e.lineContent.length){if(e.lineDecorations.length>0){t.appendString("");let n=0,i=0,o=0;for(const s of e.lineDecorations)1!==s.type&&2!==s.type||(t.appendString(''),1===s.type&&(o|=1,n++),2===s.type&&(o|=2,i++));t.appendString("");const s=new hA(1,n+i);return s.setColumnInfo(1,n,0,0),new gA(s,!1,o)}return t.appendString(""),new gA(new hA(0,0),!1,0)}return function(e,t){const n=e.fontIsMonospace,i=e.canUseHalfwidthRightwardsArrow,o=e.containsForeignElements,s=e.lineContent,r=e.len,l=e.isOverflowing,a=e.overflowingCharCount,d=e.parts,u=e.fauxIndentLength,c=e.tabSize,h=e.startVisibleColumn,g=e.containsRTL,p=e.spaceWidth,m=e.renderSpaceCharCode,f=e.renderWhitespace,v=e.renderControlCharacters,b=new hA(r+1,d.length);let w=!1,C=0,y=h,S=0,x=0,k=0;g?t.appendString(''):t.appendString("");for(let e=0,l=d.length;e=u&&(t+=i)}}for(L&&(t.appendString(' style="width:'),t.appendString(String(p*n)),t.appendString('px"')),t.appendASCIICharCode(62);C1?t.appendCharCode(8594):t.appendCharCode(65515);for(let e=2;e<=o;e++)t.appendCharCode(160)}else n=2,o=1,t.appendCharCode(m),t.appendCharCode(8204);S+=n,x+=o,C>=u&&(y+=o)}}else for(t.appendASCIICharCode(62);C=u&&(y+=o)}D?k++:k=0,C>=r&&!w&&l.isPseudoAfter()&&(w=!0,b.setColumnInfo(C+1,e,S,x)),t.appendString("")}return w||b.setColumnInfo(r+1,d.length-1,S,x),l&&(t.appendString(''),t.appendString(_(0,"Show more ({0})",function(e){return e<1024?_(0,"{0} chars",e):e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}(a))),t.appendString("")),t.appendString(""),new gA(b,g,o)}(function(e){const t=e.lineContent;let n,i,o;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(s[r++]=new aA(i,"",0,!1));let l=i;for(let a=0,d=n.getCount();a=o){const n=!!t&&Pi(e.substring(l,o));s[r++]=new aA(o,u,0,n);break}const c=!!t&&Pi(e.substring(l,d));s[r++]=new aA(d,u,0,c),l=d}return s}(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,o);e.renderControlCharacters&&!e.isBasicASCII&&(s=function(e,t){const n=[];let i=new aA(0,"",0,!1),o=0;for(const s of t){const t=s.endIndex;for(;oi.endIndex&&(i=new aA(o,s.type,s.metadata,s.containsRTL),n.push(i)),i=new aA(o+1,"mtkcontrol",s.metadata,!1),n.push(i));o>i.endIndex&&(i=new aA(t,s.type,s.metadata,s.containsRTL),n.push(i))}return n}(t,s)),(4===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine||3===e.renderWhitespace&&!e.continuesWithWrappedLine)&&(s=function(e,t,n,i){const o=e.continuesWithWrappedLine,s=e.fauxIndentLength,r=e.tabSize,l=e.startVisibleColumn,a=e.useMonospaceOptimizations,d=e.selectionsOnLine,u=1===e.renderWhitespace,c=3===e.renderWhitespace,h=e.renderSpaceWidth!==e.spaceWidth,g=[];let p=0,m=0,f=i[m].type,_=i[m].containsRTL,v=i[m].endIndex;const b=i.length;let w,C=!1,y=hi(t);-1===y?(C=!0,y=n,w=n):w=pi(t);let S=!1,x=0,k=d&&d[x],L=l%r;for(let e=s;e=k.endOffset&&(x++,k=d&&d[x]),ew)l=!0;else if(9===o)l=!0;else if(32===o)if(u)if(S)l=!0;else{const i=e+1e),l&&c&&(l=C||e>w),l&&_&&e>=y&&e<=w&&(l=!1),S){if(!l||!a&&L>=r){if(h)for(let t=(p>0?g[p-1].endIndex:s)+1;t<=e;t++)g[p++]=new aA(t,"mtkw",1,!1);else g[p++]=new aA(e,"mtkw",1,!1);L%=r}}else(e===v||l&&e>s)&&(g[p++]=new aA(e,f,0,_),L%=r);for(9===o?L=r:Vi(o)?L+=2:L++,S=l;e===v&&(m++,m0?t.charCodeAt(n-1):0,i=n>1?t.charCodeAt(n-2):0;32===e&&32!==i&&9!==i||(D=!0)}else D=!0;if(D)if(h)for(let e=(p>0?g[p-1].endIndex:s)+1;e<=n;e++)g[p++]=new aA(e,"mtkw",1,!1);else g[p++]=new aA(n,"mtkw",1,!1);else g[p++]=new aA(n,f,0,_);return g}(e,t,o,s));let r=0;if(e.lineDecorations.length>0){for(let t=0,n=e.lineDecorations.length;td&&(d=e.startOffset,l[a++]=new aA(d,u,c,h)),!(e.endOffset+1<=i)){d=i,l[a++]=new aA(d,u+" "+e.className,c|e.metadata,h);break}d=e.endOffset+1,l[a++]=new aA(d,u+" "+e.className,c|e.metadata,h),r++}i>d&&(d=i,l[a++]=new aA(d,u,c,h))}const u=n[n.length-1].endIndex;if(r=50&&(o[s++]=new aA(d+1,t,n,a),u=d+1,d=-1);u!==l&&(o[s++]=new aA(l,t,n,a))}else o[s++]=r;i=l}else for(let e=0,n=t.length;e50){const e=n.type,t=n.metadata,a=n.containsRTL,d=Math.ceil(l/50);for(let n=1;n=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||1564===e}const bA=!!j||!(K||a||c);let wA=!0;class CA{constructor(e,t){this.themeType=t;const n=e.options,i=n.get(50),o=n.get(38);this.renderWhitespace="off"===o?n.get(99):"none",this.renderControlCharacters=n.get(94),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.useMonospaceOptimizations=i.isMonospace&&!n.get(33),this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=n.get(67),this.stopRenderingLineAfter=n.get(117),this.fontLigatures=n.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class yA{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=tL(e)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return!(!Iv(this._options.themeType)&&"selection"!==this._options.renderWhitespace||(this._isMaybeInvalid=!0,0))}renderLine(e,t,n,i,o){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const s=i.getViewLineRenderingData(e),r=this._options,l=oA.filter(s.inlineDecorations,e,s.minColumn,s.maxColumn);let a=null;if(Iv(r.themeType)||"selection"===this._options.renderWhitespace){const t=i.selections;for(const n of t){if(n.endLineNumbere)continue;const t=n.startLineNumber===e?n.startColumn:s.minColumn,i=n.endLineNumber===e?n.endColumn:s.maxColumn;t');const u=pA(d,o);o.appendString("");let c=null;return wA&&bA&&s.isBasicASCII&&r.useMonospaceOptimizations&&0===u.containsForeignElements&&(c=new SA(this._renderedViewLine?this._renderedViewLine.domNode:null,d,u.characterMapping)),c||(c=LA(this._renderedViewLine?this._renderedViewLine.domNode:null,d,u.characterMapping,u.containsRTL,u.containsForeignElements)),this._renderedViewLine=c,!0}layoutLine(e,t,n){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(n))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof SA}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof SA?this._renderedViewLine.monospaceAssumptionsAreValid():wA}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof SA&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,n,i){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),n=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,n));const o=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==o&&t>o+1&&n>o+1)return new nA(!0,[new eA(this.getWidth(i),0)]);-1!==o&&t>o+1&&(t=o+1),-1!==o&&n>o+1&&(n=o+1);const s=this._renderedViewLine.getVisibleRangesForRange(e,t,n,i);return s&&s.length>0?new nA(!1,s):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}yA.CLASS_NAME="view-line";class SA{constructor(e,t,n){this._cachedWidth=-1,this.domNode=e,this.input=t;const i=Math.floor(t.lineContent.length/300);if(i>0){this._keyColumnPixelOffsetCache=new Float32Array(i);for(let e=0;e=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),wA=!1)}return wA}toSlowRenderedLine(){return LA(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,n,i){const o=this._getColumnPixelOffset(e,t,i),s=this._getColumnPixelOffset(e,n,i);return[new eA(o,s-o)]}_getColumnPixelOffset(e,t,n){if(t<=300){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const i=Math.floor((t-1)/300)-1,o=300*(i+1)+1;let s=-1;if(this._keyColumnPixelOffsetCache&&(s=this._keyColumnPixelOffsetCache[i],-1===s&&(s=this._actualReadPixelOffset(e,o,n),this._keyColumnPixelOffsetCache[i]=s)),-1===s){const e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}const r=this._characterMapping.getHorizontalOffset(o),l=this._characterMapping.getHorizontalOffset(t);return s+this._charWidth*(l-r)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,n){if(!this.domNode)return-1;const i=this._characterMapping.getDomPosition(t),o=iA.readHorizontalRanges(this._getReadingTarget(this.domNode),i.partIndex,i.charIndex,i.partIndex,i.charIndex,n);return o&&0!==o.length?o[0].left:-1}getColumnOfNodeOffset(e,t){return DA(this._characterMapping,e,t)}}class xA{constructor(e,t,n,i,o){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!i||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,null==e||e.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(e,t,n,i){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const o=this._readPixelOffset(this.domNode,e,t,i);if(-1===o)return null;const s=this._readPixelOffset(this.domNode,e,n,i);return-1===s?null:[new eA(o,s-o)]}return this._readVisibleRangesForRange(this.domNode,e,t,n,i)}_readVisibleRangesForRange(e,t,n,i,o){if(n===i){const i=this._readPixelOffset(e,t,n,o);return-1===i?null:[new eA(i,0)]}return this._readRawVisibleRangesForRange(e,n,i,o)}_readPixelOffset(e,t,n,i){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(i);const t=this._getReadingTarget(e);return t.firstChild?(i.markDidDomLayout(),t.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){const o=this._pixelOffsetCache[n];if(-1!==o)return o;const s=this._actualReadPixelOffset(e,t,n,i);return this._pixelOffsetCache[n]=s,s}return this._actualReadPixelOffset(e,t,n,i)}_actualReadPixelOffset(e,t,n,i){if(0===this._characterMapping.length){const t=iA.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,i);return t&&0!==t.length?t[0].left:-1}if(n===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(i);const o=this._characterMapping.getDomPosition(n),s=iA.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,o.partIndex,o.charIndex,i);if(!s||0===s.length)return-1;const r=s[0].left;if(this.input.isBasicASCII){const e=this._characterMapping.getHorizontalOffset(n),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-r)<=1)return t}return r}_readRawVisibleRangesForRange(e,t,n,i){if(1===t&&n===this._characterMapping.length)return[new eA(0,this.getWidth(i))];const o=this._characterMapping.getDomPosition(t),s=this._characterMapping.getDomPosition(n);return iA.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,s.partIndex,s.charIndex,i)}getColumnOfNodeOffset(e,t){return DA(this._characterMapping,e,t)}}class kA extends xA{_readVisibleRangesForRange(e,t,n,i,o){const s=super._readVisibleRangesForRange(e,t,n,i,o);if(!s||0===s.length||n===i||1===n&&i===this._characterMapping.length)return s;if(!this.input.containsRTL){const n=this._readPixelOffset(e,t,i,o);if(-1!==n){const e=s[s.length-1];e.left=4&&3===e[0]&&8===e[3]}static isStrictChildOfViewLines(e){return e.length>4&&3===e[0]&&8===e[3]}static isChildOfScrollableElement(e){return e.length>=2&&3===e[0]&&6===e[1]}static isChildOfMinimap(e){return e.length>=2&&3===e[0]&&9===e[1]}static isChildOfContentWidgets(e){return e.length>=4&&3===e[0]&&1===e[3]}static isChildOfOverflowGuard(e){return e.length>=1&&3===e[0]}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&2===e[0]}static isChildOfOverlayWidgets(e){return e.length>=2&&3===e[0]&&4===e[1]}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&5===e[0]}}class RA{constructor(e,t,n){this.viewModel=e.viewModel;const i=e.configuration.options;this.layoutInfo=i.get(145),this.viewDomNode=t.viewDomNode,this.lineHeight=i.get(67),this.stickyTabStops=i.get(116),this.typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=n,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return RA.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){const i=n.verticalOffset+n.height/2,o=e.viewModel.getLineCount();let s,r=null,l=null;return n.afterLineNumber!==o&&(l=new cd(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(r=new cd(n.afterLineNumber,e.viewModel.getLineMaxColumn(n.afterLineNumber))),s=null===l?r:null===r?l:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,WA._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class OA extends PA{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=ZT.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,n,i,o){super(e,t,n,i),this.hitTestResult=new ei((()=>WA.doHitTest(this._ctx,this))),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=o;const s=Boolean(this._eventTarget);this._useHitTestTarget=!s}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&null!==this.hitTestResult.value.hitTarget&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columns.contentLeft+s.width)continue;const n=e.getVerticalOffsetForLineNumber(s.position.lineNumber);if(n<=o&&o<=n+s.height)return t.fulfillContentText(s.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){const e=t.isInContentArea?8:5;return t.fulfillViewZone(e,n.position,n)}return null}static _hitTestTextArea(e,t){return AA.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),i=n.range.getStartPosition();let o=Math.abs(t.relativePos.x);const s={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};if(o-=e.layoutInfo.glyphMarginLeft,o<=e.layoutInfo.glyphMarginWidth){const r=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(n.range.getStartPosition()),l=e.viewModel.glyphLanes.getLanesAtLine(r.lineNumber);return s.glyphMarginLane=l[Math.floor(o/e.lineHeight)],t.fulfillMargin(2,i,n.range,s)}return o-=e.layoutInfo.glyphMarginWidth,o<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,i,n.range,s):(o-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,i,n.range,s))}return null}static _hitTestViewLines(e,t){if(!AA.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new cd(1,1),FA);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const n=e.viewModel.getLineCount(),i=e.viewModel.getLineMaxColumn(n);return t.fulfillContentEmpty(new cd(n,i),FA)}if(AA.isStrictChildOfViewLines(t.targetPath)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(0===e.viewModel.getLineLength(n)){const i=e.getLineWidth(n),o=BA(t.mouseContentHorizontalOffset-i);return t.fulfillContentEmpty(new cd(n,1),o)}const i=e.getLineWidth(n);if(t.mouseContentHorizontalOffset>=i){const o=BA(t.mouseContentHorizontalOffset-i),s=new cd(n,e.viewModel.getLineMaxColumn(n));return t.fulfillContentEmpty(s,o)}}const n=t.hitTestResult.value;return 1===n.type?WA.createMouseTargetFromHitTestPosition(e,t,n.spanNode,n.position,n.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(AA.isChildOfMinimap(t.targetPath)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new cd(n,i))}return null}static _hitTestScrollbarSlider(e,t){if(AA.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){const n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new cd(n,i))}}return null}static _hitTestScrollbar(e,t){if(AA.isChildOfScrollableElement(t.targetPath)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new cd(n,i))}return null}getMouseColumn(e){const t=this._context.configuration.options,n=t.get(145),i=this._context.viewLayout.getCurrentScrollLeft()+e.x-n.contentLeft;return WA._getMouseColumn(i,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,n,i,o){const s=i.lineNumber,r=i.column,l=e.getLineWidth(s);if(t.mouseContentHorizontalOffset>l){const e=BA(t.mouseContentHorizontalOffset-l);return t.fulfillContentEmpty(i,e)}const a=e.visibleRangeForPosition(s,r);if(!a)return t.fulfillUnknown(i);const d=a.left;if(Math.abs(t.mouseContentHorizontalOffset-d)<1)return t.fulfillContentText(i,null,{mightBeForeignElement:!!o,injectedText:o});const u=[];if(u.push({offset:a.left,column:r}),r>1){const t=e.visibleRangeForPosition(s,r-1);t&&u.push({offset:t.left,column:r-1})}if(re.offset-t.offset));const c=t.pos.toClientCoordinates(is(e.viewDomNode)),h=n.getBoundingClientRect(),g=h.left<=c.clientX&&c.clientX<=h.right;let p=null;for(let e=1;eo)){const n=Math.floor((i+o)/2);let s=t.pos.y+(n-t.mouseVerticalOffset);s<=t.editorPos.y&&(s=t.editorPos.y+1),s>=t.editorPos.y+t.editorPos.height&&(s=t.editorPos.y+t.editorPos.height-1);const r=new RT(t.pos.x,s),l=this._actualDoHitTestWithCaretRangeFromPoint(e,r.toClientCoordinates(is(e.viewDomNode)));if(1===l.type)return l}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(is(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const n=Ws(e.viewDomNode);let i;if(i=n?void 0===n.caretRangeFromPoint?function(e,t,n){const i=document.createRange();let o=e.elementFromPoint(t,n);if(null!==o){for(;o&&o.firstChild&&o.firstChild.nodeType!==o.firstChild.TEXT_NODE&&o.lastChild&&o.lastChild.firstChild;)o=o.lastChild;const e=o.getBoundingClientRect(),n=is(o),s=`${n.getComputedStyle(o,null).getPropertyValue("font-style")} ${n.getComputedStyle(o,null).getPropertyValue("font-variant")} ${n.getComputedStyle(o,null).getPropertyValue("font-weight")} ${n.getComputedStyle(o,null).getPropertyValue("font-size")}/${n.getComputedStyle(o,null).getPropertyValue("line-height")} ${n.getComputedStyle(o,null).getPropertyValue("font-family")}`,r=o.innerText;let l,a=e.left,d=0;if(t>e.left+e.width)d=r.length;else{const e=VA.getInstance();for(let n=0;nthis._createMouseTarget(e,t)),(e=>this._getMouseColumn(e)))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(145).height;const i=new HT(this.viewHelper.viewDomNode);this._register(i.onContextMenu(this.viewHelper.viewDomNode,(e=>this._onContextMenu(e,!0)))),this._register(i.onMouseMove(this.viewHelper.viewDomNode,(e=>{this._onMouseMove(e),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=ms(this.viewHelper.viewDomNode.ownerDocument,"mousemove",(e=>{this.viewHelper.viewDomNode.contains(e.target)||this._onMouseLeave(new VT(e,!1,this.viewHelper.viewDomNode))})))}))),this._register(i.onMouseUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(i.onMouseLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e))));let o=0;this._register(i.onPointerDown(this.viewHelper.viewDomNode,((e,t)=>{o=t}))),this._register(ms(this.viewHelper.viewDomNode,or.POINTER_UP,(e=>{this._mouseDownOperation.onPointerUp()}))),this._register(i.onMouseDown(this.viewHelper.viewDomNode,(e=>this._onMouseDown(e,o)))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=lE.INSTANCE;let t=0,n=_T.getZoomLevel(),i=!1,o=0;function s(e){return U?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}this._register(ms(this.viewHelper.viewDomNode,or.MOUSE_WHEEL,(r=>{if(this.viewController.emitMouseWheel(r),!this._context.configuration.options.get(76))return;const l=new Ge(r);if(e.acceptStandardWheelEvent(l),e.isPhysicalMouseWheel()){if(s(r)){const e=_T.getZoomLevel(),t=l.deltaY>0?1:-1;_T.setZoomLevel(e+t),l.preventDefault(),l.stopPropagation()}}else Date.now()-t>50&&(n=_T.getZoomLevel(),i=s(r),o=0),t=Date.now(),o+=l.deltaY,i&&(_T.setZoomLevel(n+o/5),l.preventDefault(),l.stopPropagation())}),{capture:!0,passive:!1}))}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(145)){const e=this._context.configuration.options.get(145).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const n=new PT(e,t).toPageCoordinates(is(this.viewHelper.viewDomNode)),i=BT(this.viewHelper.viewDomNode);if(n.yi.y+i.height||n.xi.x+i.width)return null;const o=WT(this.viewHelper.viewDomNode,i,n);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),i,n,o,null)}_createMouseTarget(e,t){let n=e.target;if(!this.viewHelper.viewDomNode.contains(n)){const t=Ws(this.viewHelper.viewDomNode);t&&(n=t.elementsFromPoint(e.posx,e.posy).find((e=>this.viewHelper.viewDomNode.contains(e))))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?n:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),this._mouseDownOperation.isActive()||e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(d&&(i||s&&r))u(),this._mouseDownOperation.start(n.type,e,t);else if(o)e.preventDefault();else if(l){const i=n.detail;d&&this.viewHelper.shouldSuppressMouseDownOnViewZone(i.viewZoneId)&&(u(),this._mouseDownOperation.start(n.type,e,t),e.preventDefault())}else a&&this.viewHelper.shouldSuppressMouseDownOnWidget(n.detail)&&(u(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:n})}}class zA extends lt{constructor(e,t,n,i,o,s){super(),this._context=e,this._viewController=t,this._viewHelper=n,this._mouseTargetFactory=i,this._createMouseTarget=o,this._getMouseColumn=s,this._mouseMoveMonitor=this._register(new UT(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new UA(this._context,this._viewHelper,this._mouseTargetFactory,((e,t,n)=>this._dispatchMouse(e,t,n)))),this._mouseState=new jA,this._currentSelection=new ic(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):13!==t.type||"above"!==t.outsidePosition&&"below"!==t.outsidePosition?(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)):this._topBottomDragScrolling.start(t,e))}start(e,t,n){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(3===e),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const i=this._findMousePosition(t,!0);if(!i||!i.position)return;this._mouseState.trySetCount(t.detail,i.position),t.detail=this._mouseState.count;const o=this._context.configuration.options;if(!o.get(91)&&o.get(35)&&!o.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===i.type&&i.position&&this._currentSelection.containsPosition(i.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,(e=>this._onMouseDownThenMove(e)),(e=>{const t=this._findMousePosition(this._lastMouseEvent,!1);ir(e)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(i,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,(e=>this._onMouseDownThenMove(e)),(()=>this._stop())))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,n=this._context.viewModel,i=this._context.viewLayout,o=this._getMouseColumn(e);if(e.posyt.y+t.height){const s=e.posy-t.y-t.height,r=i.getCurrentScrollTop()+e.relativePos.y,l=RA.getZoneAtCoord(this._context,r);if(l){const e=this._helpPositionJumpOverViewZone(l);if(e)return TA.createOutsideEditor(o,e,"below",s)}const a=i.getLineNumberAtVerticalOffset(r);return TA.createOutsideEditor(o,new cd(a,n.getLineMaxColumn(a)),"below",s)}const s=i.getLineNumberAtVerticalOffset(i.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const i=e.posx-t.x-t.width;return TA.createOutsideEditor(o,new cd(s,n.getLineMaxColumn(s)),"right",i)}return null}_findMousePosition(e,t){const n=this._getPositionOutsideEditor(e);if(n)return n;const i=this._createMouseTarget(e,t);if(!i.position)return null;if(8===i.type||5===i.type){const e=this._helpPositionJumpOverViewZone(i.detail);if(e)return TA.createViewZone(i.type,i.element,i.mouseColumn,e,i.detail)}return i}_helpPositionJumpOverViewZone(e){const t=new cd(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,i=e.positionAfter;return n&&i?n.isBefore(t)?n:i:null}_dispatchMouse(e,t,n){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:n,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:6===e.type&&null!==e.detail.injectedText})}}class UA extends lt{constructor(e,t,n,i){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=n,this._dispatchMouse=i,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new KA(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class KA extends lt{constructor(e,t,n,i,o,s){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=n,this._dispatchMouse=i,this._position=o,this._mouseEvent=s,this._lastTime=Date.now(),this._animationFrameDisposable=Cs(is(s.browserEvent),(()=>this._execute()))}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(145).height/e,n=this._position.outsideDistance/e;return n<=1.5?Math.max(30,t*(1+n)):n<=3?Math.max(60,t*(2+n)):Math.max(200,t*(7+n))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed()*(this._tick()/1e3)*e,n="above"===this._position.outsidePosition?-t:t;this._context.viewModel.viewLayout.deltaScrollNow(0,n),this._viewHelper.renderNow();const i=this._context.viewLayout.getLinesViewportData(),o="above"===this._position.outsidePosition?i.startLineNumber:i.endLineNumber;let s;{const e=BT(this._viewHelper.viewDomNode),t=this._context.configuration.options.get(145).horizontalScrollbarHeight,n=new RT(this._mouseEvent.pos.x,e.y+e.height-t-.1),i=WT(this._viewHelper.viewDomNode,e,n);s=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),e,n,i,null)}s.position&&s.position.lineNumber===o||(s="above"===this._position.outsidePosition?TA.createOutsideEditor(this._position.mouseColumn,new cd(o,1),"above",this._position.outsideDistance):TA.createOutsideEditor(this._position.mouseColumn,new cd(o,this._context.viewModel.getLineMaxColumn(o)),"below",this._position.outsideDistance)),this._dispatchMouse(s,!0,2),this._animationFrameDisposable=Cs(is(s.element),(()=>this._execute()))}}class jA{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const n=(new Date).getTime();n-this._lastSetMouseDownCountTime>jA.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=n,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}jA.CLEAR_MOUSE_DOWN_COUNT_TIME=400;class qA extends HA{constructor(e,t,n){super(e,t,n),this._register(LL.addTarget(this.viewHelper.linesContentDomNode)),this._register(ms(this.viewHelper.linesContentDomNode,kL.Tap,(e=>this.onTap(e)))),this._register(ms(this.viewHelper.linesContentDomNode,kL.Change,(e=>this.onChange(e)))),this._register(ms(this.viewHelper.linesContentDomNode,kL.Contextmenu,(e=>this._onContextMenu(new VT(e,!1,this.viewHelper.viewDomNode),!1)))),this._lastPointerType="mouse",this._register(ms(this.viewHelper.linesContentDomNode,"pointerdown",(e=>{const t=e.pointerType;this._lastPointerType="mouse"!==t?"touch"===t?"touch":"pen":"mouse"})));const i=new zT(this.viewHelper.viewDomNode);this._register(i.onPointerMove(this.viewHelper.viewDomNode,(e=>this._onMouseMove(e)))),this._register(i.onPointerUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(i.onPointerLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e)))),this._register(i.onPointerDown(this.viewHelper.viewDomNode,((e,t)=>this._onMouseDown(e,t))))}onTap(e){e.initialTarget&&this.viewHelper.linesContentDomNode.contains(e.initialTarget)&&(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),"pen"===this._lastPointerType&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const n=this._createMouseTarget(new VT(e,!1,this.viewHelper.viewDomNode),!1);n.position&&this.viewController.dispatchMouse({position:n.position,mouseColumn:n.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===n.type&&null!==n.detail.injectedText})}_onMouseDown(e,t){"touch"!==e.browserEvent.pointerType&&super._onMouseDown(e,t)}}class $A extends HA{constructor(e,t,n){super(e,t,n),this._register(LL.addTarget(this.viewHelper.linesContentDomNode)),this._register(ms(this.viewHelper.linesContentDomNode,kL.Tap,(e=>this.onTap(e)))),this._register(ms(this.viewHelper.linesContentDomNode,kL.Change,(e=>this.onChange(e)))),this._register(ms(this.viewHelper.linesContentDomNode,kL.Contextmenu,(e=>this._onContextMenu(new VT(e,!1,this.viewHelper.viewDomNode),!1))))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new VT(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const e=document.createEvent("CustomEvent");e.initEvent(GS.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(e),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class GA extends lt{constructor(e,t,n){super(),(G||ae&&Z)&&de?this.handler=this._register(new qA(e,t,n)):o.TouchEvent?this.handler=this._register(new $A(e,t,n)):this.handler=this._register(new HA(e,t,n))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}var ZA=n(6307),YA={};YA.styleTagTransform=Vr(),YA.setAttributes=Or(),YA.insert=Rr().bind(null,"head"),YA.domAPI=Tr(),YA.insertStyleElement=Br(),Ir()(ZA.A,YA),ZA.A&&ZA.A.locals&&ZA.A.locals;var XA=n(6953),QA={};QA.styleTagTransform=Vr(),QA.setAttributes=Or(),QA.insert=Rr().bind(null,"head"),QA.domAPI=Tr(),QA.insertStyleElement=Br(),Ir()(XA.A,QA),XA.A&&XA.A.locals&&XA.A.locals;class JA extends $T{}class eR extends JA{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new cd(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(95);const n=e.get(145);this._lineNumbersLeft=n.lineNumbersLeft,this._lineNumbersWidth=n.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let n=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,n=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(n=!0),n}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cd(e,1));if(1!==t.column)return"";const n=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(2===this._renderLineNumbers){const e=Math.abs(this._lastCursorModelPosition.lineNumber-n);return 0===e?''+n+"":String(e)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===n||n%10==0||n===this._context.viewModel.getLineCount()?String(n):"":String(n)}prepareRender(e){if(0===this._renderLineNumbers)return void(this._renderResult=null);const t=K?this._lineHeight%2==0?" lh-even":" lh-odd":"",n=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,o=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter((e=>!!e.options.lineNumberClassName));o.sort(((e,t)=>nc.compareRangesUsingEnds(e.range,t.range)));let s=0;const r=this._context.viewModel.getLineCount(),l=[];for(let e=n;e<=i;e++){const i=e-n;let a=this._getLineRenderLineNumber(e),d="";for(;s${a}`):l[i]=""}this._renderResult=l}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}eR.CLASS_NAME="line-numbers",Fv(((e,t)=>{const n=e.getColor(Gv),i=e.getColor(ub);i?t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${i}; }`):n&&t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${n.transparent(.4)}; }`)}));var tR=n(8731),nR={};nR.styleTagTransform=Vr(),nR.setAttributes=Or(),nR.insert=Rr().bind(null,"head"),nR.domAPI=Tr(),nR.insertStyleElement=Br(),Ir()(tR.A,nR),tR.A&&tR.A.locals&&tR.A.locals;class iR extends GT{constructor(e){super(e);const t=this._context.configuration.options,n=t.get(145);this._canUseLayerHinting=!t.get(32),this._contentLeft=n.contentLeft,this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,this._domNode=tL(document.createElement("div")),this._domNode.setClassName(iR.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=tL(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(iR.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(145);return this._canUseLayerHinting=!t.get(32),this._contentLeft=n.contentLeft,this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const n=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(n),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(n)}}iR.CLASS_NAME="glyph-margin",iR.OUTER_CLASS_NAME="margin";var oR=n(266),sR={};sR.styleTagTransform=Vr(),sR.setAttributes=Or(),sR.insert=Rr().bind(null,"head"),sR.domAPI=Tr(),sR.insertStyleElement=Br(),Ir()(oR.A,sR),oR.A&&oR.A.locals&&oR.A.locals;const rR="monaco-mouse-cursor-text",lR=new class{constructor(){this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}};var aR=function(e,t){return function(n,i){t(n,i,e)}};class dR{constructor(e,t,n,i,o){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=n,this.widthOfHiddenLineTextBefore=i,this.distanceToModelLineEnd=o,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new cd(this.modelLineNumber,this.distanceToModelLineStart+1),n=new cd(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(this._previousPresentation=e||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const uR=a;let cR=class extends GT{constructor(e,t,n,i,o){super(e),this._keybindingService=i,this._instantiationService=o,this._primaryCursorPosition=new cd(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=n,this._scrollLeft=0,this._scrollTop=0;const s=this._context.configuration.options,r=s.get(145);this._setAccessibilityOptions(s),this._contentLeft=r.contentLeft,this._contentWidth=r.contentWidth,this._contentHeight=r.height,this._fontInfo=s.get(50),this._lineHeight=s.get(67),this._emptySelectionClipboard=s.get(37),this._copyWithSyntaxHighlighting=s.get(25),this._visibleTextArea=null,this._selections=[new ic(1,1,1,1)],this._modelSelections=[new ic(1,1,1,1)],this._lastRenderPosition=null,this.textArea=tL(document.createElement("textarea")),ZT.write(this.textArea,7),this.textArea.setClassName(`inputarea ${rR}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:l}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=l*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(s)),this.textArea.setAttribute("aria-required",s.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(s.get(124))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",_(0,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",s.get(91)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=tL(document.createElement("div")),this.textAreaCover.setPosition("absolute");const d={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:e=>this._context.viewModel.getLineMaxColumn(e),getValueInRange:(e,t)=>this._context.viewModel.getValueInRange(e,t),getValueLengthInRange:(e,t)=>this._context.viewModel.getValueLengthInRange(e,t),modifyPosition:(e,t)=>this._context.viewModel.modifyPosition(e,t)},h={getDataToCopy:()=>{const e=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,z),t=this._context.viewModel.model.getEOL(),n=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),i=Array.isArray(e)?e:null,o=Array.isArray(e)?e.join(t):e;let s,r=null;if(YS.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&o.length<65536){const e=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);e&&(s=e.html,r=e.mode)}return{isFromEmptySelection:n,multicursorText:i,text:o,html:s,mode:r}},getScreenReaderContent:()=>{if(1===this._accessibilitySupport){const e=this._selections[0];if(U&&e.isEmpty()){const t=e.getStartPosition();let n=this._getWordBeforePosition(t);if(0===n.length&&(n=this._getCharacterBeforePosition(t)),n.length>0)return new KS(n,n.length,n.length,nc.fromPositions(t),0)}const t=500;if(U&&!e.isEmpty()&&d.getValueLengthInRange(e,0)0)return new KS(n,i,i,nc.fromPositions(t),0)}return KS.EMPTY}return jS.fromEditorSelection(d,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(e,t,n)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(e,t,n)},p=this._register(new tx(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(JS,h,p,ee,{isAndroid:g,isChrome:u,isFirefox:a,isSafari:c})),this._register(this._textAreaInput.onKeyDown((e=>{this._viewController.emitKeyDown(e)}))),this._register(this._textAreaInput.onKeyUp((e=>{this._viewController.emitKeyUp(e)}))),this._register(this._textAreaInput.onPaste((e=>{let t=!1,n=null,i=null;e.metadata&&(t=this._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection,n=void 0!==e.metadata.multicursorText?e.metadata.multicursorText:null,i=e.metadata.mode),this._viewController.paste(e.text,t,n,i)}))),this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()}))),this._register(this._textAreaInput.onType((e=>{e.replacePrevCharCnt||e.replaceNextCharCnt||e.positionDelta?this._viewController.compositionType(e.text,e.replacePrevCharCnt,e.replaceNextCharCnt,e.positionDelta):this._viewController.type(e.text)}))),this._register(this._textAreaInput.onSelectionChangeRequest((e=>{this._viewController.setSelection(e)}))),this._register(this._textAreaInput.onCompositionStart((e=>{const t=this.textArea.domNode,n=this._modelSelections[0],{distanceToModelLineStart:i,widthOfHiddenTextBefore:o}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),i=e.lastIndexOf("\n"),o=e.substring(i+1),s=o.lastIndexOf("\t"),r=o.length-s-1,l=n.getStartPosition(),a=Math.min(l.column-1,r),d=l.column-1-a,u=o.substring(0,o.length-a),{tabSize:c}=this._context.viewModel.model.getOptions(),h=function(e,t,n,i){if(0===t.length)return 0;const o=e.createElement("div");o.style.position="absolute",o.style.top="-50000px",o.style.width="50000px";const s=e.createElement("span");nL(s,n),s.style.whiteSpace="pre",s.style.tabSize=i*n.spaceWidth+"px",s.append(t),o.appendChild(s),e.body.appendChild(o);const r=s.offsetWidth;return e.body.removeChild(o),r}(this.textArea.domNode.ownerDocument,u,this._fontInfo,c);return{distanceToModelLineStart:d,widthOfHiddenTextBefore:h}})(),{distanceToModelLineEnd:s}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),i=e.indexOf("\n"),o=-1===i?e:e.substring(0,i),s=o.indexOf("\t"),r=-1===s?o.length:o.length-s-1,l=n.getEndPosition(),a=Math.min(this._context.viewModel.model.getLineMaxColumn(l.lineNumber)-l.column,r);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(l.lineNumber)-l.column-a}})();this._context.viewModel.revealRange("keyboard",!0,nc.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new dR(this._context,n.startLineNumber,i,o,s),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${rR} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()}))),this._register(this._textAreaInput.onCompositionUpdate((e=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())}))),this._register(this._textAreaInput.onCompositionEnd((()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${rR}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}))),this._register(this._textAreaInput.onFocus((()=>{this._context.viewModel.setHasFocus(!0)}))),this._register(this._textAreaInput.onBlur((()=>{this._context.viewModel.setHasFocus(!1)}))),this._register(lR.onDidChange((()=>{this._ensureReadOnlyAttribute()})))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),n=Gw('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',[]);let i=!0,o=e.column,s=!0,r=e.column,l=0;for(;l<50&&(i||s);){if(i&&o<=1&&(i=!1),i){const e=t.charCodeAt(o-2);0!==n.get(e)?i=!1:o--}if(s&&r>t.length&&(s=!1),s){const e=t.charCodeAt(r-1);0!==n.get(e)?s=!1:r++}l++}return[t.substring(o-1,r-1),e.column-o]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),n=Gw(this._context.configuration.options.get(131),[]);let i=e.column,o=0;for(;i>1;){const s=t.charCodeAt(i-2);if(0!==n.get(s)||o>50)return t.substring(i-1,e.column-1);o++,i--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const t=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!Li(t.charCodeAt(0)))return t}return""}_getAriaLabel(e){var t,n,i;if(1===e.get(2)){const e=null===(t=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))||void 0===t?void 0:t.getAriaLabel(),o=null===(n=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))||void 0===n?void 0:n.getAriaLabel(),s=null===(i=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))||void 0===i?void 0:i.getAriaLabel(),r=_(0,"The editor is not accessible at this time.");return e?_(0,"{0} To enable screen reader optimized mode, use {1}",r,e):o?_(0,"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",r,o):s?_(0,"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",r,s):r}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);2===this._accessibilitySupport&&t===$D.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const n=e.get(145).wrappingColumn;if(-1!==n&&1!==this._accessibilitySupport){const t=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(n*t.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=uR?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(145);this._setAccessibilityOptions(t),this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,this._contentHeight=n.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:i}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=i*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(124))),(e.hasChanged(34)||e.hasChanged(91))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!lR.enabled||e.get(34)&&e.get(91)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){var t;this._primaryCursorPosition=new cd(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),null===(t=this._visibleTextArea)||void 0===t||t.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var e;if(this._visibleTextArea){const e=this._visibleTextArea.visibleTextareaStart,t=this._visibleTextArea.visibleTextareaEnd,n=this._visibleTextArea.startPosition,i=this._visibleTextArea.endPosition;if(n&&i&&e&&t&&t.left>=this._scrollLeft&&e.left<=this._scrollLeft+this._contentWidth){const o=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,s=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let r=this._visibleTextArea.widthOfHiddenLineTextBefore,l=this._contentLeft+e.left-this._scrollLeft,a=t.left-e.left+1;if(lthis._contentWidth&&(a=this._contentWidth);const d=this._context.viewModel.getViewLineData(n.lineNumber),u=d.tokens.findTokenIndexAtOffset(n.column-1),c=u===d.tokens.findTokenIndexAtOffset(i.column-1),h=this._visibleTextArea.definePresentation(c?d.tokens.getPresentation(u):null);this.textArea.domNode.scrollTop=s*this._lineHeight,this.textArea.domNode.scrollLeft=r,this._doRender({lastRenderPosition:null,top:o,left:l,width:a,height:this._lineHeight,useCover:!1,color:(IC.getColorMap()||[])[h.foreground],italic:h.italic,bold:h.bold,underline:h.underline,strikethrough:h.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const t=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(tthis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const n=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(n<0||n>this._contentHeight)this._renderAtTopLeft();else if(U||2===this._accessibilitySupport){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:n,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const i=null!==(e=this._textAreaInput.textAreaState.newlineCountBeforeSelection)&&void 0!==e?e:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=i*this._lineHeight}else this._doRender({lastRenderPosition:this._primaryCursorPosition,top:n,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:uR?0:1,useCover:!1})}_newlinecount(e){let t=0,n=-1;for(;n=e.indexOf("\n",n+1),-1!==n;)t++;return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:uR?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,n=this.textAreaCover;nL(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?lh.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),n.setTop(e.useCover?e.top:0),n.setLeft(e.useCover?e.left:0),n.setWidth(e.useCover?e.width:0),n.setHeight(e.useCover?e.height:0);const i=this._context.configuration.options;i.get(57)?n.setClassName("monaco-editor-background textAreaCover "+iR.OUTER_CLASS_NAME):0!==i.get(68).renderType?n.setClassName("monaco-editor-background textAreaCover "+eR.CLASS_NAME):n.setClassName("monaco-editor-background textAreaCover")}};cR=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([aR(3,zL),aR(4,ad)],cR);class hR{constructor(e,t,n,i){this.configuration=e,this.viewModel=t,this.userInputEvents=n,this.commandDelegate=i}paste(e,t,n,i){this.commandDelegate.paste(e,t,n,i)}type(e){this.commandDelegate.type(e)}compositionType(e,t,n,i){this.commandDelegate.compositionType(e,t,n,i)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){TS.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey||i?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){TS.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){TS.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,n){e=this._validateViewColumn(e),TS.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:n})}_createCursor(e,t){e=this._validateViewColumn(e),TS.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){TS.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){TS.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){TS.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){TS.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){TS.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){TS.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){TS.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){TS.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){TS.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class gR{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new Re("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;const n=this.getStartLineNumber(),i=this.getEndLineNumber();if(ti)return null;let o=0,s=0;for(let r=n;r<=i;r++){const n=r-this._rendLineNumberStart;e<=r&&r<=t&&(0===s?(o=n,s=1):s++)}if(e=i&&t<=o&&(this._lines[t-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(e,t){if(0===this.getCount())return null;const n=t-e+1,i=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=i)return this._rendLineNumberStart+=n,null;if(e>o)return null;if(n+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);const s=[];for(let e=0;en)continue;const r=Math.max(t,s.fromLineNumber),l=Math.min(n,s.toLineNumber);for(let e=r;e<=l;e++){const t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),i=!0}}return i}}class pR{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new gR((()=>this._host.createVisibleLine()))}_createDomNode(){const e=tL(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(145)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,n=t.length;et){const e=t,s=Math.min(n,o.rendLineNumberStart-1);e<=s&&(this._insertLinesBefore(o,e,s,i,t),o.linesLength+=s-e+1)}else if(o.rendLineNumberStart0&&(this._removeLinesBefore(o,e),o.linesLength-=e)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1n){const e=Math.max(0,n-o.rendLineNumberStart+1),t=o.linesLength-1-e+1;t>0&&(this._removeLinesAfter(o,t),o.linesLength-=t)}return this._finishRendering(o,!1,i),o}_renderUntouchedLines(e,t,n,i,o){const s=e.rendLineNumberStart,r=e.lines;for(let e=t;e<=n;e++){const t=s+e;r[e].layoutLine(t,i[t-o],this.viewportData.lineHeight)}}_insertLinesBefore(e,t,n,i,o){const s=[];let r=0;for(let e=t;e<=n;e++)s[r++]=this.host.createVisibleLine();e.lines=s.concat(e.lines)}_removeLinesBefore(e,t){for(let n=0;n=0;t--){const n=e.lines[t];i[t]&&(n.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(e,t,n){const i=document.createElement("div");mR._ttPolicy&&(t=mR._ttPolicy.createHTML(t)),i.innerHTML=t;for(let t=0;te}),mR._sb=new eg(1e5);class fR extends GT{constructor(e){super(e),this._visibleLines=new pR(this),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);nL(this.domNode,t),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ee.shouldRender()));for(let n=0,i=t.length;n'),o.appendString(s),o.appendString(""),!0)}layoutLine(e,t,n){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(n))}}class vR extends fR{constructor(e){super(e);const t=this._context.configuration.options.get(145);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const t=this._context.configuration.options.get(145);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class bR extends fR{constructor(e){super(e);const t=this._context.configuration.options,n=t.get(145);this._contentLeft=n.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),nL(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;nL(this.domNode,t.get(50));const n=t.get(145);return this._contentLeft=n.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class wR{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){var t;null===(t=this.onKeyDown)||void 0===t||t.call(this,e)}emitKeyUp(e){var t;null===(t=this.onKeyUp)||void 0===t||t.call(this,e)}emitContextMenu(e){var t;null===(t=this.onContextMenu)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var t;null===(t=this.onMouseMove)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var t;null===(t=this.onMouseLeave)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var t;null===(t=this.onMouseDown)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var t;null===(t=this.onMouseUp)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var t;null===(t=this.onMouseDrag)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var t;null===(t=this.onMouseDrop)||void 0===t||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var e;null===(e=this.onMouseDropCanceled)||void 0===e||e.call(this)}emitMouseWheel(e){var t;null===(t=this.onMouseWheel)||void 0===t||t.call(this,e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return wR.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const n={...e};return n.position&&(n.position=t.convertViewPositionToModelPosition(n.position)),n.range&&(n.range=t.convertViewRangeToModelRange(n.range)),5!==n.type&&8!==n.type||(n.detail=this.convertViewToModelViewZoneData(n.detail,t)),n}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new cd(e.afterLineNumber,1)).lineNumber}}}var CR=n(2035),yR={};yR.styleTagTransform=Vr(),yR.setAttributes=Or(),yR.insert=Rr().bind(null,"head"),yR.domAPI=Tr(),yR.insertStyleElement=Br(),Ir()(CR.A,yR),CR.A&&CR.A.locals&&CR.A.locals;class SR extends GT{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=tL(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const t=this._context.configuration.options.get(145),n=t.contentWidth-t.verticalScrollbarWidth;this.contentWidth!==n&&(this.contentWidth=n,e=!0);const i=t.contentLeft;return this.contentLeft!==i&&(this.contentLeft=i,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){var t;let n=0;const i=e.getDecorationsInViewport();for(const o of i){if(!o.options.blockClassName)continue;let i,s,r=this.blocks[n];r||(r=this.blocks[n]=tL(document.createElement("div")),this.domNode.appendChild(r)),o.options.blockIsAfterEnd?(i=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!1),s=e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0)):(i=e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!0),s=o.range.isEmpty()&&!o.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(o.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(o.range.endLineNumber,!0));const[l,a,d,u]=null!==(t=o.options.blockPadding)&&void 0!==t?t:[0,0,0,0];r.setClassName("blockDecorations-block "+o.options.blockClassName),r.setLeft(this.contentLeft-u),r.setWidth(this.contentWidth+u+a),r.setTop(i-e.scrollTop-l),r.setHeight(s-i+l+d),n++}for(let e=n;e0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,n,i){const o=e.top,s=o,r=e.top+e.height,l=o-n,a=s>=n,d=r,u=i.viewportHeight-r>=n;let c=e.left;return c+t>i.scrollLeft+i.viewportWidth&&(c=i.scrollLeft+i.viewportWidth-t),cr){const e=a-(r-i);a-=e,n-=e}if(a=22,_=h+n<=g.height-22;return this._fixedOverflowWidgets?{fitsAbove:f,aboveTop:Math.max(c,22),fitsBelow:_,belowTop:h,left:m}:{fitsAbove:f,aboveTop:r,fitsBelow:_,belowTop:l,left:p}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new DR(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){var t,n;return{primary:i(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:i((null===(t=this._secondaryAnchor.viewPosition)||void 0===t?void 0:t.lineNumber)===(null===(n=this._primaryAnchor.viewPosition)||void 0===n?void 0:n.lineNumber)?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function i(t,n,i){if(!t)return null;const o=e.visibleRangeForPosition(t);if(!o)return null;const s=1===t.column&&3===n?0:o.left,r=e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop;return new NR(r,s,i)}}_reduceAnchorCoordinates(e,t,n){if(!t)return e;const i=this._context.configuration.options.get(50);let o=t.left;return o=oe.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&ER(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&ER(this._actual.afterRender,this._actual,this._renderData.position)}}class LR{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class DR{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class NR{constructor(e,t,n){this.top=e,this.left=t,this.height=n,this._anchorCoordinateBrand=void 0}}function ER(e,t,...n){try{return e.call(t,...n)}catch(e){return null}}var IR=n(8405),MR={};MR.styleTagTransform=Vr(),MR.setAttributes=Or(),MR.insert=Rr().bind(null,"head"),MR.domAPI=Tr(),MR.insertStyleElement=Br(),Ir()(IR.A,MR),IR.A&&IR.A.locals&&IR.A.locals;class TR extends JA{constructor(e){super(),this._context=e;const t=this._context.configuration.options,n=t.get(145);this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=n.isViewportWrapping,this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new ic(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const e of this._selections)t.add(e.positionLineNumber);const n=Array.from(t);n.sort(((e,t)=>e-t)),Ic(this._cursorLineNumbers,n)||(this._cursorLineNumbers=n,e=!0);const i=this._selections.every((e=>e.isEmpty()));return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(145);return this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=n.isViewportWrapping,this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis())return void(this._renderData=null);const t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,i=[];for(let e=t;e<=n;e++)i[e-t]="";if(this._wordWrap){const o=this._renderOne(e,!1);for(const e of this._cursorLineNumbers){const s=this._context.viewModel.coordinatesConverter,r=s.convertViewPositionToModelPosition(new cd(e,1)).lineNumber,l=s.convertModelPositionToViewPosition(new cd(r,1)).lineNumber,a=s.convertModelPositionToViewPosition(new cd(r,this._context.viewModel.model.getLineMaxColumn(r))).lineNumber,d=Math.max(l,t),u=Math.min(a,n);for(let e=d;e<=u;e++)i[e-t]=o}}const o=this._renderOne(e,!0);for(const e of this._cursorLineNumbers)en||(i[e-t]=o);this._renderData=i}render(e,t){if(!this._renderData)return"";const n=t-e;return n>=this._renderData.length?"":this._renderData[n]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class AR extends TR{_renderOne(e,t){return`
    `}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class RR extends TR{_renderOne(e,t){return`
    `}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}Fv(((e,t)=>{const n=e.getColor(Wv);if(n&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${n}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${n}; border: none; }`)),!n||n.isTransparent()||e.defines(Vv)){const n=e.getColor(Vv);n&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${n}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${n}; }`),Iv(e.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}}));var PR=n(3093),OR={};OR.styleTagTransform=Vr(),OR.setAttributes=Or(),OR.insert=Rr().bind(null,"head"),OR.domAPI=Tr(),OR.insertStyleElement=Br(),Ir()(PR.A,OR),PR.A&&PR.A.locals&&PR.A.locals;class FR extends JA{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let n=[],i=0;for(let e=0,o=t.length;e{if(e.options.zIndext.options.zIndex)return 1;const n=e.options.className,i=t.options.className;return ni?1:nc.compareRangesUsingStarts(e.range,t.range)}));const o=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,r=[];for(let e=o;e<=s;e++)r[e-o]="";this._renderWholeLineDecorations(e,n,r),this._renderNormalDecorations(e,n,r),this._renderResult=r}_renderWholeLineDecorations(e,t,n){const i=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber;for(let e=0,s=t.length;e',l=Math.max(s.range.startLineNumber,i),a=Math.min(s.range.endLineNumber,o);for(let e=l;e<=a;e++)n[e-i]+=r}}_renderNormalDecorations(e,t,n){var i;const o=e.visibleRange.startLineNumber;let s=null,r=!1,l=null,a=!1;for(let d=0,u=t.length;d';r[a]+=d}}}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}class BR extends GT{constructor(e,t,n,i){super(e);const o=this._context.configuration.options,s=o.get(103),r=o.get(75),l=o.get(40),a=o.get(106),d={listenOnDomNode:n.domNode,className:"editor-scrollable "+Rv(e.theme.type),useShadows:!1,lazyRender:!0,vertical:s.vertical,horizontal:s.horizontal,verticalHasArrows:s.verticalHasArrows,horizontalHasArrows:s.horizontalHasArrows,verticalScrollbarSize:s.verticalScrollbarSize,verticalSliderSize:s.verticalSliderSize,horizontalScrollbarSize:s.horizontalScrollbarSize,horizontalSliderSize:s.horizontalSliderSize,handleMouseWheel:s.handleMouseWheel,alwaysConsumeMouseWheel:s.alwaysConsumeMouseWheel,arrowSize:s.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:l,scrollPredominantAxis:a,scrollByPage:s.scrollByPage};this.scrollbar=this._register(new uE(t.domNode,d,this._context.viewLayout.getScrollable())),ZT.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=tL(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const u=(e,t,n)=>{const i={};if(t){const t=e.scrollTop;t&&(i.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(n){const t=e.scrollLeft;t&&(i.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(i,1)};this._register(ms(n.domNode,"scroll",(e=>u(n.domNode,!0,!0)))),this._register(ms(t.domNode,"scroll",(e=>u(t.domNode,!0,!1)))),this._register(ms(i.domNode,"scroll",(e=>u(i.domNode,!0,!1)))),this._register(ms(this.scrollbarDomNode.domNode,"scroll",(e=>u(this.scrollbarDomNode.domNode,!0,!1))))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(145);this.scrollbarDomNode.setLeft(t.contentLeft),"right"===e.get(73).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(103)||e.hasChanged(75)||e.hasChanged(40)){const e=this._context.configuration.options,t=e.get(103),n=e.get(75),i=e.get(40),o=e.get(106),s={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:n,fastScrollSensitivity:i,scrollPredominantAxis:o};this.scrollbar.updateOptions(s)}return e.hasChanged(145)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+Rv(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}var WR=n(8081),VR={};VR.styleTagTransform=Vr(),VR.setAttributes=Or(),VR.insert=Rr().bind(null,"head"),VR.domAPI=Tr(),VR.insertStyleElement=Br(),Ir()(WR.A,VR),WR.A&&WR.A.locals&&WR.A.locals;class HR{constructor(e,t,n,i,o){this.startLineNumber=e,this.endLineNumber=t,this.className=n,this.tooltip=i,this._decorationToRenderBrand=void 0,this.zIndex=null!=o?o:0}}class zR{constructor(e,t,n){this.className=e,this.zIndex=t,this.tooltip=n}}class UR{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class KR extends JA{_render(e,t,n){const i=[];for(let n=e;n<=t;n++)i[n-e]=new UR;if(0===n.length)return i;n.sort(((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.classNamei)continue;const l=Math.max(s,n),a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cd(l,0)),d=this._context.viewModel.glyphLanes.getLanesAtLine(a.lineNumber).indexOf(e.preference.lane);t.push(new $R(l,d,e.preference.zIndex,e))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.laneIndex===t.laneIndex?e.zIndex===t.zIndex?t.type===e.type?0===e.type&&0===t.type?e.className0;){const e=t.peek();if(!e)break;const i=t.takeWhile((t=>t.lineNumber===e.lineNumber&&t.laneIndex===e.laneIndex));if(!i||0===i.length)break;const o=i[0];if(0===o.type){const e=[];for(const t of i){if(t.zIndex!==o.zIndex||t.type!==o.type)break;0!==e.length&&e[e.length-1]===t.className||e.push(t.className)}n.push(o.accept(e.join(" ")))}else o.widget.renderInfo={lineNumber:o.lineNumber,laneIndex:o.laneIndex}}this._decorationGlyphsToRender=n}render(e){if(!this._glyphMargin){for(const e of Object.values(this._widgets))e.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const e=this._managedDomNodes.pop();null==e||e.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const n of Object.values(this._widgets))if(n.renderInfo){const i=e.viewportData.relativeVerticalOffset[n.renderInfo.lineNumber-e.viewportData.startLineNumber],o=this._glyphMarginLeft+n.renderInfo.laneIndex*this._lineHeight;n.domNode.setDisplay("block"),n.domNode.setTop(i),n.domNode.setLeft(o),n.domNode.setWidth(t),n.domNode.setHeight(this._lineHeight)}else n.domNode.setDisplay("none");for(let n=0;nthis._decorationGlyphsToRender.length;){const e=this._managedDomNodes.pop();null==e||e.domNode.remove()}}}class qR{constructor(e,t,n,i){this.lineNumber=e,this.laneIndex=t,this.zIndex=n,this.className=i,this.type=0}accept(e){return new GR(this.lineNumber,this.laneIndex,e)}}class $R{constructor(e,t,n,i){this.lineNumber=e,this.laneIndex=t,this.zIndex=n,this.widget=i,this.type=1}}class GR{constructor(e,t,n){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=n}}var ZR=n(3777),YR={};YR.styleTagTransform=Vr(),YR.setAttributes=Or(),YR.insert=Rr().bind(null,"head"),YR.domAPI=Tr(),YR.insertStyleElement=Br(),Ir()(ZR.A,YR),ZR.A&&ZR.A.locals&&ZR.A.locals;class XR extends JA{constructor(e){super(),this._context=e,this._primaryPosition=null;const t=this._context.configuration.options,n=t.get(146),i=t.get(50);this._spaceWidth=i.spaceWidth,this._maxIndentLeft=-1===n.wrappingColumn?-1:n.wrappingColumn*i.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(146),i=t.get(50);return this._spaceWidth=i.spaceWidth,this._maxIndentLeft=-1===n.wrappingColumn?-1:n.wrappingColumn*i.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){var t;const n=e.selections[0].getPosition();return!(null===(t=this._primaryPosition)||void 0===t?void 0:t.equals(n))&&(this._primaryPosition=n,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){var t,n,i,o;if(!this._bracketPairGuideOptions.indentation&&!1===this._bracketPairGuideOptions.bracketPairs)return void(this._renderResult=null);const s=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,l=e.scrollWidth,a=this._primaryPosition,d=this.getGuidesByLine(s,Math.min(r+1,this._context.viewModel.getLineCount()),a),u=[];for(let a=s;a<=r;a++){const r=a-s,c=d[r];let h="";const g=null!==(n=null===(t=e.visibleRangeForPosition(new cd(a,1)))||void 0===t?void 0:t.left)&&void 0!==n?n:0;for(const t of c){const n=-1===t.column?g+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new cd(a,t.column)).left;if(n>l||this._maxIndentLeft>0&&n>this._maxIndentLeft)break;const s=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=t.horizontalLine?(null!==(o=null===(i=e.visibleRangeForPosition(new cd(a,t.horizontalLine.endColumn)))||void 0===i?void 0:i.left)&&void 0!==o?o:n+this._spaceWidth)-n:this._spaceWidth;h+=`
    `}u[r]=h}this._renderResult=u}getGuidesByLine(e,t,n){const i=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,n,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?Qb.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?Qb.EnabledForActive:Qb.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,o=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let s=0,r=0,l=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&n){const i=this._context.viewModel.getActiveIndentGuide(n.lineNumber,e,t);s=i.startLineNumber,r=i.endLineNumber,l=i.indent}const{indentSize:a}=this._context.viewModel.model.getOptions(),d=[];for(let n=e;n<=t;n++){const t=new Array;d.push(t);const u=i?i[n-e]:[],c=new eh(u),h=o?o[n-e]:0;for(let e=1;e<=h;e++){const i=(e-1)*a+1,o=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===u.length)&&s<=n&&n<=r&&e===l;t.push(...c.takeWhile((e=>e.visibleColumn!0))||[])}return d}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}function QR(e){if(!e||!e.isTransparent())return e}Fv(((e,t)=>{const n=[{bracketColor:bb,guideColor:Lb,guideColorActive:Tb},{bracketColor:wb,guideColor:Db,guideColorActive:Ab},{bracketColor:Cb,guideColor:Nb,guideColorActive:Rb},{bracketColor:yb,guideColor:Eb,guideColorActive:Pb},{bracketColor:Sb,guideColor:Ib,guideColorActive:Ob},{bracketColor:xb,guideColor:Mb,guideColorActive:Fb}],i=new nw,o=[{indentColor:Xv,indentColorActive:ib},{indentColor:Qv,indentColorActive:ob},{indentColor:Jv,indentColorActive:sb},{indentColor:eb,indentColorActive:rb},{indentColor:tb,indentColorActive:lb},{indentColor:nb,indentColorActive:ab}],s=n.map((t=>{var n,i;const o=e.getColor(t.bracketColor),s=e.getColor(t.guideColor),r=e.getColor(t.guideColorActive),l=QR(null!==(n=QR(s))&&void 0!==n?n:null==o?void 0:o.transparent(.3)),a=QR(null!==(i=QR(r))&&void 0!==i?i:o);if(l&&a)return{guideColor:l,guideColorActive:a}})).filter(pa),r=o.map((t=>{const n=e.getColor(t.indentColor),i=e.getColor(t.indentColorActive),o=QR(n),s=QR(i);if(o&&s)return{indentColor:o,indentColorActive:s}})).filter(pa);if(s.length>0){for(let e=0;e<30;e++){const n=s[e%s.length];t.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${n.guideColor}; --guide-color-active: ${n.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${i.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${i.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${i.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let e=0;e<30;e++){const n=r[e%r.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${e} { --indent-color: ${n.indentColor}; --indent-color-active: ${n.indentColorActive}; }`)}t.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),t.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}));var JR=n(5876),eP={};eP.styleTagTransform=Vr(),eP.setAttributes=Or(),eP.insert=Rr().bind(null,"head"),eP.domAPI=Tr(),eP.insertStyleElement=Br(),Ir()(JR.A,eP),JR.A&&JR.A.locals&&JR.A.locals;class tP{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class nP{constructor(){this._currentVisibleRange=new nc(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class iP{constructor(e,t,n,i,o,s,r){this.minimalReveal=e,this.lineNumber=t,this.startColumn=n,this.endColumn=i,this.startScrollTop=o,this.stopScrollTop=s,this.scrollType=r,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class oP{constructor(e,t,n,i,o){this.minimalReveal=e,this.selections=t,this.startScrollTop=n,this.stopScrollTop=i,this.scrollType=o,this.type="selections";let s=t[0].startLineNumber,r=t[0].endLineNumber;for(let e=1,n=t.length;e{this._updateLineWidthsSlow()}),200),this._asyncCheckMonospaceFontAssumptions=new jt((()=>{this._checkMonospaceFontAssumptions()}),2e3),this._lastRenderedData=new nP,this._horizontalRevealRequest=null,this._stickyScrollEnabled=i.get(115).enabled,this._maxNumberStickyLines=i.get(115).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new yA(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(146)&&(this._maxLineWidth=0);const t=this._context.configuration.options,n=t.get(50),i=t.get(146);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._isViewportWrapping=i.isViewportWrapping,this._revealHorizontalRightPadding=t.get(100),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(115).enabled,this._maxNumberStickyLines=t.get(115).maxLineCount,nL(this.domNode,n),this._onOptionsMaybeChanged(),e.hasChanged(145)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new CA(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const e=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let t=e;t<=n;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();let i=!1;for(let e=t;e<=n;e++)i=this._visibleLines.getVisibleLine(e).onSelectionChanged()||i;return i}onDecorationsChanged(e){{const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let n=e;n<=t;n++)this._visibleLines.getVisibleLine(n).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new iP(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new oP(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const i=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(n,i),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopn)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const n=this._getViewLineDomNode(e);if(null===n)return null;const i=this._getLineNumberFor(n);if(-1===i)return null;if(i<1||i>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(i))return new cd(i,1);const o=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(is)return null;let r=this._visibleLines.getVisibleLine(i).getColumnOfNodeOffset(e,t);const l=this._context.viewModel.getLineMinColumn(i);return rn)return-1;const i=new tP(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getWidth(i);return this._updateLineWidthsSlowIfDomDidLayout(i),o}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const n=e.endLineNumber,i=nc.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!i)return null;const o=[];let s=0;const r=new tP(this.domNode.domNode,this._textRangeRestingSpot);let l=0;t&&(l=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cd(i.startLineNumber,1)).lineNumber);const a=this._visibleLines.getStartLineNumber(),d=this._visibleLines.getEndLineNumber();for(let e=i.startLineNumber;e<=i.endLineNumber;e++){if(ed)continue;const u=e===i.startLineNumber?i.startColumn:1,c=e!==i.endLineNumber,h=c?this._context.viewModel.getLineMaxColumn(e):i.endColumn,g=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,u,h,r);if(g){if(t&&ethis._visibleLines.getEndLineNumber())return null;const i=new tP(this.domNode.domNode,this._textRangeRestingSpot),o=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,n,i);return this._updateLineWidthsSlowIfDomDidLayout(i),o}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new tA(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();let i=1,o=!0;for(let s=t;s<=n;s++){const t=this._visibleLines.getVisibleLine(s);!e||t.getWidthIsFast()?i=Math.max(i,t.getWidth(null)):o=!1}return o&&1===t&&n===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(i),o}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let o=n;o<=i;o++){const n=this._visibleLines.getVisibleLine(o);if(n.needsMonospaceFontCheck()){const i=n.getWidth(null);i>t&&(t=i,e=o)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let e=n;e<=i;e++)this._visibleLines.getVisibleLine(e).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),K&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let n=e;n<=t;n++)if(this._visibleLines.getVisibleLine(n).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let e=o[0].startLineNumber,t=o[0].endLineNumber;for(let n=1,i=o.length;nl){if(!d)return-1;h=u}else if(5===s||6===s)if(6===s&&r<=u&&c<=a)h=r;else{const e=u-Math.max(5*this._lineHeight,.2*l),t=c-l;h=Math.max(t,e)}else if(1===s||2===s)if(2===s&&r<=u&&c<=a)h=r;else{const e=(u+c)/2;h=Math.max(0,e-l/2)}else h=this._computeMinimumScrolling(r,a,u,c,3===s,4===s);return h}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),n=this._context.configuration.options.get(145),i=t.left,o=i+t.width-n.verticalScrollbarWidth;let s=1073741824,r=0;if("range"===e.type){const t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(const e of t.ranges)s=Math.min(s,Math.round(e.left)),r=Math.max(r,Math.round(e.left+e.width))}else for(const t of e.selections){if(t.startLineNumber!==t.endLineNumber)return null;const e=this._visibleRangesForLineRange(t.startLineNumber,t.startColumn,t.endColumn);if(!e)return null;for(const t of e.ranges)s=Math.min(s,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}return e.minimalReveal||(s=Math.max(0,s-sP.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===e.type&&r-s>t.width?null:{scrollLeft:this._computeMinimumScrolling(i,o,s,r),maxHorizontalOffset:r}}_computeMinimumScrolling(e,t,n,i,o,s){o=!!o,s=!!s;const r=(t|=0)-(e|=0);return(i|=0)-(n|=0)t?Math.max(0,i-r):e:n}}sP.HORIZONTAL_EXTRA_PX=30;var rP=n(7375),lP={};lP.styleTagTransform=Vr(),lP.setAttributes=Or(),lP.insert=Rr().bind(null,"head"),lP.domAPI=Tr(),lP.insertStyleElement=Br(),Ir()(rP.A,lP),rP.A&&rP.A.locals&&rP.A.locals;class aP extends KR{constructor(e){super(),this._context=e;const t=this._context.configuration.options.get(145);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options.get(145);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){var t,n;const i=e.getDecorationsInViewport(),o=[];let s=0;for(let e=0,r=i.length;e',s=[];for(let e=t;e<=n;e++){const n=e-t,r=i[n].getDecorations();let l="";for(const e of r){let t='
    ';o[n]=r}this._renderResult=o}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}var hP=n(6493),gP={};gP.styleTagTransform=Vr(),gP.setAttributes=Or(),gP.insert=Rr().bind(null,"head"),gP.domAPI=Tr(),gP.insertStyleElement=Br(),Ir()(hP.A,gP),hP.A&&hP.A.locals&&hP.A.locals;class pP{constructor(e,t,n,i){this._rgba8Brand=void 0,this.r=pP._clamp(e),this.g=pP._clamp(t),this.b=pP._clamp(n),this.a=pP._clamp(i)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:0|e}}pP.Empty=new pP(0,0,0,0);class mP extends lt{static getInstance(){return this._INSTANCE||(this._INSTANCE=tt(new mP)),this._INSTANCE}constructor(){super(),this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(IC.onDidChange((e=>{e.changedColorMap&&this._updateColorMap()})))}_updateColorMap(){const e=IC.getColorMap();if(!e)return this._colors=[pP.Empty],void(this._backgroundIsLight=!0);this._colors=[pP.Empty];for(let t=1;t=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}mP._INSTANCE=null;class fP{constructor(e,t,n,i){this._viewportBrand=void 0,this.top=0|e,this.left=0|t,this.width=0|n,this.height=0|i}}class _P{constructor(e,t){this.tabSize=e,this.data=t}}class vP{constructor(e,t,n,i,o,s,r){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=n,this.maxColumn=i,this.startVisibleColumn=o,this.tokens=s,this.inlineDecorations=r}}class bP{constructor(e,t,n,i,o,s,r,l,a,d){this.minColumn=e,this.maxColumn=t,this.content=n,this.continuesWithWrappedLine=i,this.isBasicASCII=bP.isBasicASCII(n,s),this.containsRTL=bP.containsRTL(n,this.isBasicASCII,o),this.tokens=r,this.inlineDecorations=l,this.tabSize=a,this.startVisibleColumn=d}static isBasicASCII(e,t){return!t||Fi(e)}static containsRTL(e,t,n){return!(t||!n)&&Pi(e)}}class wP{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}}class CP{constructor(e,t,n,i){this.startOffset=e,this.endOffset=t,this.inlineClassName=n,this.inlineClassNameAffectsLetterSpacing=i}toInlineDecoration(e){return new wP(new nc(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class yP{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class SP{constructor(e,t,n){this.color=e,this.zIndex=t,this.data=n}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&Ic(e.data,t.data)}static equalsArr(e,t){return Ic(e,t,SP.equals)}}const xP=(()=>{const e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})();class kP{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=kP.soften(e,.8),this.charDataLight=kP.soften(e,50/60)}static soften(e,t){const n=new Uint8ClampedArray(e.length);for(let i=0,o=e.length;ie.width||n+g>e.height)return void console.warn("bad render request outside image data");const p=d?this.charDataLight:this.charDataNormal,m=((e,t)=>(e-=32)<0||e>96?t<=2?(e+96)%96:95:e)(i,a),f=4*e.width,_=r.r,v=r.g,b=r.b,w=o.r-_,C=o.g-v,y=o.b-b,S=Math.max(s,l),x=e.data;let k=m*c*h,L=n*f+4*t;for(let e=0;ee.width||n+u>e.height)return void console.warn("bad render request outside image data");const c=4*e.width,h=o/255*.5,g=s.r,p=s.g,m=s.b,f=g+(i.r-g)*h,_=p+(i.g-p)*h,v=m+(i.b-m)*h,b=Math.max(o,r),w=e.data;let C=n*c+4*t;for(let e=0;e{const t=new Uint8ClampedArray(e.length/2);for(let n=0;n>1]=LP[e[n]]<<4|15&LP[e[n+1]];return t},NP={1:Ze((()=>DP("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:Ze((()=>DP("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))};class EP{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let n;return n=NP[e]?new kP(NP[e](),e):EP.createFromSampleData(EP.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=n,n}static createSampleData(e){const t=document.createElement("canvas"),n=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",n.fillStyle="#ffffff",n.font=`bold 16px ${e}`,n.textBaseline="middle";let i=0;for(const e of xP)n.fillText(String.fromCharCode(e),i,8),i+=10;return n.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw new Error("Unexpected source in MinimapCharRenderer");const n=EP._downsample(e,t);return new kP(n,t)}static _downsampleChar(e,t,n,i,o){const s=1*o,r=2*o;let l=i,a=0;for(let i=0;i0){const e=255/l;for(let t=0;tEP.create(this.fontScale,l.fontFamily))),this.defaultBackgroundColor=n.getColor(2),this.backgroundColor=MP._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=MP._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const n=e.getColor(i_);return n?new pP(n.rgba.r,n.rgba.g,n.rgba.b,Math.round(255*n.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(o_);return t?pP._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const n=e.getColor(Zm);return n?new pP(n.rgba.r,n.rgba.g,n.rgba.b,Math.round(255*n.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class TP{constructor(e,t,n,i,o,s,r,l,a){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=n,this._computedSliderRatio=i,this.sliderTop=o,this.sliderHeight=s,this.topPaddingLineCount=r,this.startLineNumber=l,this.endLineNumber=a}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),n=Math.min(this.endLineNumber,e.endLineNumber);return t>n?null:[t,n]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,n,i,o,s,r,l,a,d,u){const c=e.pixelRatio,h=e.minimapLineHeight,g=Math.floor(e.canvasInnerHeight/h),p=e.lineHeight;if(e.minimapHeightIsEditorHeight){let t=l*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(t+=Math.max(0,o-e.lineHeight-e.paddingBottom));const n=Math.max(1,Math.floor(o*o/t)),i=Math.max(0,e.minimapHeight-n),s=i/(d-o),u=a*s,c=i>0,h=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),g=Math.floor(e.paddingTop/e.lineHeight);return new TP(a,d,c,s,u,n,g,1,Math.min(r,h))}let m;if(s&&n!==r){const e=n-t+1;m=Math.floor(e*h/c)}else{const e=o/p;m=Math.floor(e*h/c)}const f=Math.floor(e.paddingTop/p);let _,v=Math.floor(e.paddingBottom/p);if(e.scrollBeyondLastLine){const e=o/p;v=Math.max(v,e-1)}_=v>0?(f+r+v-o/p-1)*h/c:Math.max(0,(f+r)*h/c-m),_=Math.min(e.minimapHeight-m,_);const b=_/(d-o),w=a*b;if(g>=f+r+v)return new TP(a,d,_>0,b,w,m,f,1,r);{let n,o;n=t>1?t+f:Math.max(1,a/p);let s=Math.max(1,Math.floor(n-w*c/h));sa&&(s=Math.min(s,u.startLineNumber),o=Math.max(o,u.topPaddingLineCount)),u.scrollTop=e.paddingTop?(t-s+o+_)*h/c:a/e.paddingTop*(o+_)*h/c,new TP(a,d,!0,b,v,m,o,s,l)}}}class AP{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}AP.INVALID=new AP(-1);class RP{constructor(e,t,n){this.renderedLayout=e,this._imageData=t,this._renderedLines=new gR((()=>AP.INVALID)),this._renderedLines._set(e.startLineNumber,n)}linesEquals(e){if(!this.scrollEquals(e))return!1;const t=this._renderedLines._get().lines;for(let e=0,n=t.length;e1){for(let t=0,n=i-1;t0&&this.minimapLines[n-1]>=e;)n--;let i=this.modelLineToMinimapLine(t)-1;for(;i+1t)return null}return[n+1,i+1]}decorationLineRangeToMinimapLineRange(e,t){let n=this.modelLineToMinimapLine(e),i=this.modelLineToMinimapLine(t);return e!==t&&i===n&&(i===this.minimapLines.length?n>1&&n--:i++),[n,i]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let n=this.minimapLines.length,i=0;for(let o=this.minimapLines.length-1;o>=0&&!(this.minimapLines[o]=0&&!(this.minimapLines[n]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:n,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(i)}_recreateLineSampling(){this._minimapSelections=null;const e=Boolean(this._samplingState),[t,n]=OP.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const e of n)switch(e.type){case"deleted":this._actual.onLinesDeleted(e.deleteFromLineNumber,e.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(e.insertFromLineNumber,e.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,n){if(this._samplingState){const i=[];for(let o=0,s=t-e+1;o{var t;return!(null===(t=e.options.minimap)||void 0===t?void 0:t.sectionHeaderStyle)}));if(this._samplingState){const e=[];for(const t of n){if(!t.options.minimap)continue;const n=t.range,i=this._samplingState.modelLineToMinimapLine(n.startLineNumber),o=this._samplingState.modelLineToMinimapLine(n.endLineNumber);e.push(new yP(new nc(i,n.startColumn,o,n.endColumn),t.options))}return e}return n}getSectionHeaderDecorationsInViewport(e,t){const n=this.options.minimapLineHeight,i=this.options.sectionHeaderFontSize/n;return e=Math.floor(Math.max(1,e-i)),this._getMinimapDecorationsInViewport(e,t).filter((e=>{var t;return!!(null===(t=e.options.minimap)||void 0===t?void 0:t.sectionHeaderStyle)}))}_getMinimapDecorationsInViewport(e,t){let n;if(this._samplingState){const i=this._samplingState.minimapLines[e-1],o=this._samplingState.minimapLines[t-1];n=new nc(i,1,o,this._context.viewModel.getLineMaxColumn(o))}else n=new nc(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(n)}getSectionHeaderText(e,t){var n;const i=null===(n=e.options.minimap)||void 0===n?void 0:n.sectionHeaderText;if(!i)return null;const o=this._sectionHeaderCache.get(i);if(o)return o;const s=t(i);return this._sectionHeaderCache.set(i,s),s}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new nc(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class BP extends lt{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(Jf),this._domNode=tL(document.createElement("div")),ZT.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=tL(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=tL(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=tL(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=tL(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=tL(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=_s(this._domNode.domNode,or.POINTER_DOWN,(e=>{if(e.preventDefault(),0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===e.button&&this._lastRenderData){const t=Es(this._slider.domNode),n=t.top+t.height/2;this._startSliderDragging(e,n,this._lastRenderData.renderedLayout)}return}const t=this._model.options.minimapLineHeight,n=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY;let i=Math.floor(n/t)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;i=Math.min(i,this._model.getLineCount()),this._model.revealLineNumber(i)})),this._sliderPointerMoveMonitor=new KN,this._sliderPointerDownListener=_s(this._slider.domNode,or.POINTER_DOWN,(e=>{e.preventDefault(),e.stopPropagation(),0===e.button&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)})),this._gestureDisposable=LL.addTarget(this._domNode.domNode),this._sliderTouchStartListener=ms(this._domNode.domNode,kL.Start,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))}),{passive:!1}),this._sliderTouchMoveListener=ms(this._domNode.domNode,kL.Change,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)}),{passive:!1}),this._sliderTouchEndListener=_s(this._domNode.domNode,kL.End,(e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)}))}_startSliderDragging(e,t,n){if(!(e.target&&e.target instanceof Element))return;const i=e.pageX;this._slider.toggleClassName("active",!0);const o=(e,o)=>{const s=Es(this._domNode.domNode),r=Math.min(Math.abs(o-i),Math.abs(o-s.left),Math.abs(o-s.left-s.width));if(z&&r>140)return void this._model.setScrollTop(n.scrollTop);const l=e-t;this._model.setScrollTop(n.getDesiredScrollTopFromDelta(l))};e.pageY!==t&&o(e.pageY,i),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>o(e.pageY,e.pageX)),(()=>{this._slider.toggleClassName("active",!1)}))}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,n=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(n)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return"always"===this._model.options.showSlider?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new PP(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){var n;return null===(n=this._lastRenderData)||void 0===n||n.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var n;return null===(n=this._lastRenderData)||void 0===n||n.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(Jf),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const t=TP.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(nc.compareRangesUsingStarts);const n=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);n.sort(((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0)));const{canvasInnerWidth:i,canvasInnerHeight:o}=this._model.options,s=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,l=this._model.getOptions().tabSize,a=this._decorationsCanvas.domNode.getContext("2d");a.clearRect(0,0,i,o);const d=new WP(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(a,t,d,e,s),this._renderDecorationsLineHighlights(a,n,d,e,s);const u=new WP(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(a,t,u,e,s,l,r,i),this._renderDecorationsHighlights(a,n,u,e,s,l,r,i),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,n,i,o){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let s=0,r=0;for(const l of t){const t=i.intersectWithViewport(l);if(!t)continue;const[a,d]=t;for(let e=a;e<=d;e++)n.set(e,!0);const u=i.getYForLineNumber(a,o),c=i.getYForLineNumber(d,o);r>=u||(r>s&&e.fillRect(8,s,e.canvas.width,r-s),s=u),r=c}r>s&&e.fillRect(8,s,e.canvas.width,r-s)}_renderDecorationsLineHighlights(e,t,n,i,o){const s=new Map;for(let r=t.length-1;r>=0;r--){const l=t[r],a=l.options.minimap;if(!a||1!==a.position)continue;const d=i.intersectWithViewport(l.range);if(!d)continue;const[u,c]=d,h=a.getColor(this._theme.value);if(!h||h.isTransparent())continue;let g=s.get(h.toString());g||(g=h.transparent(.5).toString(),s.set(h.toString(),g)),e.fillStyle=g;for(let t=u;t<=c;t++){if(n.has(t))continue;n.set(t,!0);const s=i.getYForLineNumber(u,o);e.fillRect(8,s,e.canvas.width,o)}}}_renderSelectionsHighlights(e,t,n,i,o,s,r,l){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const a of t){const t=i.intersectWithViewport(a);if(!t)continue;const[d,u]=t;for(let t=d;t<=u;t++)this.renderDecorationOnLine(e,n,a,this._selectionColor,i,t,o,o,s,r,l)}}_renderDecorationsHighlights(e,t,n,i,o,s,r,l){for(const a of t){const t=a.options.minimap;if(!t)continue;const d=i.intersectWithViewport(a.range);if(!d)continue;const[u,c]=d,h=t.getColor(this._theme.value);if(h&&!h.isTransparent())for(let d=u;d<=c;d++)switch(t.position){case 1:this.renderDecorationOnLine(e,n,a.range,h,i,d,o,o,s,r,l);continue;case 2:{const t=i.getYForLineNumber(d,o),n=2;this.renderDecoration(e,h,n,t,2,o);continue}}}}renderDecorationOnLine(e,t,n,i,o,s,r,l,a,d,u){const c=o.getYForLineNumber(s,l);if(c+r<0||c>this._model.options.canvasInnerHeight)return;const{startLineNumber:h,endLineNumber:g}=n,p=h===s?n.startColumn:1,m=g===s?n.endColumn:this._model.getLineMaxColumn(s),f=this.getXOffsetForPosition(t,s,p,a,d,u),_=this.getXOffsetForPosition(t,s,m,a,d,u);this.renderDecoration(e,i,f,c,_-f,r)}getXOffsetForPosition(e,t,n,i,o,s){if(1===n)return 8;if((n-1)*o>=s)return s;let r=e.get(t);if(!r){const n=this._model.getLineContent(t);r=[8];let l=8;for(let e=1;e=s){r[e]=s;break}r[e]=a,l=a}e.set(t,r)}return n-1e.range.startLineNumber-t.range.startLineNumber));const g=BP._fitSectionHeader.bind(null,c,s-8);for(const r of h){const a=e.getYForLineNumber(r.range.startLineNumber,n)+i,u=a-i,h=u+2,p=this._model.getSectionHeaderText(r,g);BP._renderSectionLabel(c,p,2===(null===(t=r.options.minimap)||void 0===t?void 0:t.sectionHeaderStyle),l,d,s,u,o,a,h)}}static _fitSectionHeader(e,t,n){if(!n)return n;const i=e.measureText(n).width,o=e.measureText("…").width;if(i<=t||i<=o)return n;const s=n.length,r=i/n.length,l=Math.floor((t-o)/r)-1;let a=Math.ceil(l/2);for(;a>0&&/\s/.test(n[a-1]);)--a;return n.substring(0,a)+"…"+n.substring(s-(l-a))}static _renderSectionLabel(e,t,n,i,o,s,r,l,a,d){t&&(e.fillStyle=i,e.fillRect(0,r,s,l),e.fillStyle=o,e.fillText(t,8,a)),n&&(e.beginPath(),e.moveTo(0,d),e.lineTo(s,d),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,n=e.endLineNumber,i=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const t=this._lastRenderData._get();return new RP(e,t.imageData,t.lines)}const o=this._getBuffer();if(!o)return null;const[s,r,l]=BP._renderUntouchedLines(o,e.topPaddingLineCount,t,n,i,this._lastRenderData),a=this._model.getMinimapLinesRenderingData(t,n,l),d=this._model.getOptions().tabSize,u=this._model.options.defaultBackgroundColor,c=this._model.options.backgroundColor,h=this._model.options.foregroundAlpha,g=this._model.tokensColorTracker,p=g.backgroundIsLight(),m=this._model.options.renderMinimap,f=this._model.options.charRenderer(),_=this._model.options.fontScale,v=this._model.options.minimapCharWidth,b=(1===m?2:3)*_,w=i>b?Math.floor((i-b)/2):0,C=c.a/255,y=new pP(Math.round((c.r-u.r)*C+u.r),Math.round((c.g-u.g)*C+u.g),Math.round((c.b-u.b)*C+u.b),255);let S=e.topPaddingLineCount*i;const x=[];for(let e=0,s=n-t+1;e=0&&i_)return;const r=m.charCodeAt(w);if(9===r){const e=c-(w+C)%c;C+=e-1,b+=e*s}else if(32===r)b+=s;else{const c=Vi(r)?2:1;for(let h=0;h_)return}}}}}class WP{constructor(e,t,n){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=n,this._values=[];for(let e=0,t=this._endLineNumber-this._startLineNumber+1;ethis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}var VP=n(213),HP={};HP.styleTagTransform=Vr(),HP.setAttributes=Or(),HP.insert=Rr().bind(null,"head"),HP.domAPI=Tr(),HP.insertStyleElement=Br(),Ir()(VP.A,HP),VP.A&&VP.A.locals&&VP.A.locals;class zP extends GT{constructor(e,t){super(e),this._viewDomNode=t;const n=this._context.configuration.options.get(145);this._widgets={},this._verticalScrollbarWidth=n.verticalScrollbarWidth,this._minimapWidth=n.minimap.minimapWidth,this._horizontalScrollbarHeight=n.horizontalScrollbarHeight,this._editorHeight=n.height,this._editorWidth=n.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=tL(document.createElement("div")),ZT.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=tL(document.createElement("div")),ZT.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options.get(145);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){const t=tL(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const n=this._widgets[e.getId()];return n.preference===t?(this._updateMaxMinWidth(),!1):(n.preference=t,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var e,t;let n=0;const i=Object.keys(this._widgets);for(let o=0,s=i.length;o=3){const t=Math.floor(i/3),n=Math.floor(i/3),o=i-t-n,s=e+t;return[[0,e,s,e,e+t+o,e,s,e],[0,t,o,t+o,n,t+o+n,o+n,t+o+n]]}if(2===n){const t=Math.floor(i/2),n=i-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,n,t+n,t+n,t+n]]}return[[0,e,e,e,e,e,e,e],[0,i,i,i,i,i,i,i]]}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&lh.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class KP extends GT{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=tL(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=IC.onDidChange((e=>{e.changedColorMap&&this._updateSettings(!0)})),this._cursorPositions=[{position:new cd(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new UP(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(t)||(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),0))}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,n=e.selections.length;t1&&(i=0===t?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:i})}return this._cursorPositions.sort(((e,t)=>cd.compare(e.position,t.position))),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return!!e.affectsOverviewRuler&&this._markRenderingIsMaybeNeeded()}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return!!e.scrollHeightChanged&&this._markRenderingIsNeeded()}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(0===this._settings.overviewRulerLanes)return this._domNode.setBackgroundColor(e?lh.Format.CSS.formatHexA(e):""),void this._domNode.setDisplay("none");const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(SP.compareByRenderingProps),1!==this._actualShouldRender||SP.equalsArr(this._renderedDecorations,t)||(this._actualShouldRender=2),1!==this._actualShouldRender||Ic(this._renderedCursorPositions,this._cursorPositions,((e,t)=>e.position.lineNumber===t.position.lineNumber&&e.color===t.color))||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const n=this._settings.canvasWidth,i=this._settings.canvasHeight,o=this._settings.lineHeight,s=this._context.viewLayout,r=i/this._context.viewLayout.getScrollHeight(),l=6*this._settings.pixelRatio|0,a=l/2|0,d=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(d.fillStyle=lh.Format.CSS.formatHexA(e),d.fillRect(0,0,n,i)):(d.clearRect(0,0,n,i),d.fillStyle=lh.Format.CSS.formatHexA(e),d.fillRect(0,0,n,i)):d.clearRect(0,0,n,i);const u=this._settings.x,c=this._settings.w;for(const e of t){const t=e.color,n=e.data;d.fillStyle=t;let h=0,g=0,p=0;for(let e=0,t=n.length/3;ei&&(e=i-a),_=e-a,v=e+a}_>p+1||t!==h?(0!==e&&d.fillRect(u[h],g,c[h],p-g),h=t,g=_,p=v):v>p&&(p=v)}d.fillRect(u[h],g,c[h],p-g)}if(!this._settings.hideCursor){const e=2*this._settings.pixelRatio|0,t=e/2|0,n=this._settings.x[7],o=this._settings.w[7];let l=-100,a=-100,u=null;for(let c=0,h=this._cursorPositions.length;ci&&(p=i-t);const m=p-t,f=m+e;m>a+1||h!==u?(0!==c&&u&&d.fillRect(n,l,o,a-l),l=m,a=f):f>a&&(a=f),u=h,d.fillStyle=h}u&&d.fillRect(n,l,o,a-l)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(d.beginPath(),d.lineWidth=1,d.strokeStyle=this._settings.borderColor,d.moveTo(0,0),d.lineTo(0,i),d.stroke(),d.moveTo(0,0),d.lineTo(n,0),d.stroke())}}class jP{constructor(e,t,n){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|n}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class qP{constructor(e,t,n,i){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=n,this.color=i,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colorn&&(h=n-g);const p=l.color;let m=this._color2Id[p];m||(m=++this._lastAssignedId,this._color2Id[p]=m,this._id2Color[m]=p);const f=new jP(h-g,h+g,m);l.setColorZone(f),s.push(f)}return this._colorZonesInvalid=!1,s.sort(jP.compare),s}}class GP extends $T{constructor(e,t){super(),this._context=e;const n=this._context.configuration.options;this._domNode=tL(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new $P((e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e))),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(n.get(67)),this._zoneManager.setPixelRatio(n.get(143)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(143)&&(this._zoneManager.setPixelRatio(t.get(143)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),n=this._zoneManager.resolveColorZones(),i=this._zoneManager.getId2Color(),o=this._domNode.domNode.getContext("2d");return o.clearRect(0,0,e,t),n.length>0&&this._renderOneLane(o,n,i,e),!0}_renderOneLane(e,t,n,i){let o=0,s=0,r=0;for(const l of t){const t=l.colorId,a=l.from,d=l.to;t!==o?(e.fillRect(0,s,i,r-s),o=t,e.fillStyle=n[o],s=a,r=d):r>=a?r=Math.max(r,d):(e.fillRect(0,s,i,r-s),s=a,r=d)}e.fillRect(0,s,i,r-s)}}var ZP=n(1637),YP={};YP.styleTagTransform=Vr(),YP.setAttributes=Or(),YP.insert=Rr().bind(null,"head"),YP.domAPI=Tr(),YP.insertStyleElement=Br(),Ir()(ZP.A,YP),ZP.A&&ZP.A.locals&&ZP.A.locals;class XP extends GT{constructor(e){super(e),this.domNode=tL(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const e=tL(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(i),this.domNode.appendChild(e),this._renderedRulers.push(e),o--}return}let n=e-t;for(;n>0;){const e=this._renderedRulers.pop();this.domNode.removeChild(e),n--}}render(e){this._ensureRulersCount();for(let t=0,n=this._rulers.length;t0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){const e=this._context.configuration.options.get(145);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){const t=this._context.configuration.options.get(103);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}var tO=n(8829),nO={};nO.styleTagTransform=Vr(),nO.setAttributes=Or(),nO.insert=Rr().bind(null,"head"),nO.domAPI=Tr(),nO.insertStyleElement=Br(),Ir()(tO.A,nO),tO.A&&tO.A.locals&&tO.A.locals;class iO{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class oO{constructor(e,t){this.lineNumber=e,this.ranges=t}}function sO(e){return new iO(e)}function rO(e){return new oO(e.lineNumber,e.ranges.map(sO))}class lO extends JA{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,n=e.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,n){const i=this._typicalHalfwidthCharacterWidth/4;let o=null,s=null;if(n&&n.length>0&&t.length>0){const i=t[0].lineNumber;if(i===e.startLineNumber)for(let e=0;!o&&e=0;e--)n[e].lineNumber===r&&(s=n[e].ranges[0]);o&&!o.startStyle&&(o=null),s&&!s.startStyle&&(s=null)}for(let e=0,n=t.length;e0){const n=t[e-1].ranges[0].left,o=t[e-1].ranges[0].left+t[e-1].ranges[0].width;aO(l-n)n&&(d.top=1),aO(a-o)'}_actualRenderOneSelection(e,t,n,i){if(0===i.length)return;const o=!!i[0].ranges[0].startStyle,s=i[0].lineNumber,r=i[i.length-1].lineNumber;for(let l=0,a=i.length;l1,r)}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t.map((([e,t])=>e+t))}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}function aO(e){return e<0?-e:e}lO.SELECTION_CLASS_NAME="selected-text",lO.SELECTION_TOP_LEFT="top-left-radius",lO.SELECTION_BOTTOM_LEFT="bottom-left-radius",lO.SELECTION_TOP_RIGHT="top-right-radius",lO.SELECTION_BOTTOM_RIGHT="bottom-right-radius",lO.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",lO.ROUNDED_PIECE_WIDTH=10,Fv(((e,t)=>{const n=e.getColor(uf);n&&!n.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${n}; }`)}));var dO,uO=n(2289),cO={};cO.styleTagTransform=Vr(),cO.setAttributes=Or(),cO.insert=Rr().bind(null,"head"),cO.domAPI=Tr(),cO.insertStyleElement=Br(),Ir()(uO.A,cO),uO.A&&uO.A.locals&&uO.A.locals;class hO{constructor(e,t,n,i,o,s,r){this.top=e,this.left=t,this.paddingLeft=n,this.width=i,this.height=o,this.textContent=s,this.textContentClassName=r}}!function(e){e[e.Single=0]="Single",e[e.MultiPrimary=1]="MultiPrimary",e[e.MultiSecondary=2]="MultiSecondary"}(dO||(dO={}));class gO{constructor(e,t){this._context=e;const n=this._context.configuration.options,i=n.get(50);this._cursorStyle=n.get(28),this._lineHeight=n.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(n.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=tL(document.createElement("div")),this._domNode.setClassName(`cursor ${rR}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),nL(this._domNode,i),this._domNode.setDisplay("none"),this._position=new cd(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case dO.Single:this._pluralityClass="";break;case dO.MultiPrimary:this._pluralityClass="cursor-primary";break;case dO.MultiSecondary:this._pluralityClass="cursor-secondary"}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,n=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),nL(this._domNode,n),!0}onCursorPositionChanged(e,t){return this._domNode.domNode.style.transitionProperty=t?"none":"",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,n=this._context.viewModel.getLineContent(e),[i,o]=function(e,t){t>0&&Di(e.charCodeAt(t))&&t--;const n=t+Ti(e,t);return[n-Ai(e,n),n]}(n,t-1);return[new cd(e,i+1),n.substring(i,o)]}_prepareRender(e){let t="",n="";const[i,o]=this._getGraphemeAwarePosition();if(this._cursorStyle===DD.Line||this._cursorStyle===DD.LineThin){const s=e.visibleRangeForPosition(i);if(!s||s.outsideRenderedLine)return null;const r=is(this._domNode.domNode);let l;this._cursorStyle===DD.Line?(l=vr(r,this._lineCursorWidth>0?this._lineCursorWidth:2),l>2&&(t=o,n=this._getTokenClassName(i))):l=vr(r,1);let a=s.left,d=0;l>=2&&a>=1&&(d=1,a-=d);const u=e.getVerticalOffsetForLineNumber(i.lineNumber)-e.bigNumbersDelta;return new hO(u,a,d,l,this._lineHeight,t,n)}const s=e.linesVisibleRangesForRange(new nc(i.lineNumber,i.column,i.lineNumber,i.column+o.length),!1);if(!s||0===s.length)return null;const r=s[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;const l=r.ranges[0],a="\t"===o||l.width<1?this._typicalHalfwidthCharacterWidth:l.width;this._cursorStyle===DD.Block&&(t=o,n=this._getTokenClassName(i));let d=e.getVerticalOffsetForLineNumber(i.lineNumber)-e.bigNumbersDelta,u=this._lineHeight;return this._cursorStyle!==DD.Underline&&this._cursorStyle!==DD.UnderlineThin||(d+=this._lineHeight-2,u=2),new hO(d,l.left,0,a,u,t,n)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),n=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(n)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${rR} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class pO extends GT{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new gO(this._context,dO.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=tL(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new Ut,this._cursorFlatBlinkInterval=new ys,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let t=0,n=this._secondaryCursors.length;tt.length){const e=this._secondaryCursors.length-t.length;for(let t=0;t{for(let n=0,i=e.ranges.length;n{this._isVisible?this._hide():this._show()}),pO.BLINK_INTERVAL,is(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=!0,this._updateDomClassName()}),pO.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case DD.Line:e+=" cursor-line-style";break;case DD.Block:e+=" cursor-block-style";break;case DD.Underline:e+=" cursor-underline-style";break;case DD.LineThin:e+=" cursor-line-thin-style";break;case DD.BlockOutline:e+=" cursor-block-outline-style";break;case DD.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return"on"!==this._cursorSmoothCaretAnimation&&"explicit"!==this._cursorSmoothCaretAnimation||(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const n=[{class:".cursor",foreground:Hv,background:zv},{class:".cursor-primary",foreground:Uv,background:Kv},{class:".cursor-secondary",foreground:jv,background:qv}];for(const i of n){const n=e.getColor(i.foreground);if(n){let o=e.getColor(i.background);o||(o=n.opposite()),t.addRule(`.monaco-editor .cursors-layer ${i.class} { background-color: ${n}; border-color: ${n}; color: ${o}; }`),Iv(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${i.class} { border-left: 1px solid ${o}; border-right: 1px solid ${o}; }`)}}}));const mO=()=>{throw new Error("Invalid change accessor")};class fO extends GT{constructor(e){super(e);const t=this._context.configuration.options,n=t.get(145);this._lineHeight=t.get(67),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,this.domNode=tL(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=tL(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const n of e)t.set(n.id,n);let n=!1;return this._context.viewModel.changeWhitespace((e=>{const i=Object.keys(this._zones);for(let o=0,s=i.length;o{const i={addZone:e=>(t=!0,this._addZone(n,e)),removeZone:e=>{e&&(t=this._removeZone(n,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(n,e)||t)}};!function(e,t){try{return e(t)}catch(e){xe(e)}}(e,i),i.addZone=mO,i.removeZone=mO,i.layoutZone=mO})),t}_addZone(e,t){const n=this._computeWhitespaceProps(t),i={whitespaceId:e.insertWhitespace(n.afterViewLineNumber,this._getZoneOrdinal(t),n.heightInPx,n.minWidthInPx),delegate:t,isInHiddenArea:n.isInHiddenArea,isVisible:!1,domNode:tL(t.domNode),marginDomNode:t.marginDomNode?tL(t.marginDomNode):null};return this._safeCallOnComputedHeight(i.delegate,n.heightInPx),i.domNode.setPosition("absolute"),i.domNode.domNode.style.width="100%",i.domNode.setDisplay("none"),i.domNode.setAttribute("monaco-view-zone",i.whitespaceId),this.domNode.appendChild(i.domNode),i.marginDomNode&&(i.marginDomNode.setPosition("absolute"),i.marginDomNode.domNode.style.width="100%",i.marginDomNode.setDisplay("none"),i.marginDomNode.setAttribute("monaco-view-zone",i.whitespaceId),this.marginDomNode.appendChild(i.marginDomNode)),this._zones[i.whitespaceId]=i,this.setShouldRender(),i.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const n=this._zones[t];return delete this._zones[t],e.removeWhitespace(n.whitespaceId),n.domNode.removeAttribute("monaco-visible-view-zone"),n.domNode.removeAttribute("monaco-view-zone"),n.domNode.domNode.parentNode.removeChild(n.domNode.domNode),n.marginDomNode&&(n.marginDomNode.removeAttribute("monaco-visible-view-zone"),n.marginDomNode.removeAttribute("monaco-view-zone"),n.marginDomNode.domNode.parentNode.removeChild(n.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const n=this._zones[t],i=this._computeWhitespaceProps(n.delegate);return n.isInHiddenArea=i.isInHiddenArea,e.changeOneWhitespace(n.whitespaceId,i.afterViewLineNumber,i.heightInPx),this._safeCallOnComputedHeight(n.delegate,i.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){if(this._zones.hasOwnProperty(e)){const t=this._zones[e];return Boolean(t.delegate.suppressMouseDown)}return!1}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){xe(e)}}_safeCallOnDomNodeTop(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){xe(e)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,n={};let i=!1;for(const e of t)this._zones[e.id].isInHiddenArea||(n[e.id]=e,i=!0);const o=Object.keys(this._zones);for(let t=0,i=o.length;tt)continue;const e=n.startLineNumber===t?n.startColumn:i.minColumn,o=n.endLineNumber===t?n.endColumn:i.maxColumn;e=S.endOffset&&(y++,S=n&&n[y]),9!==o&&32!==o)continue;if(c&&!w&&i<=v)continue;if(u&&i>=C&&i<=v&&32===o){const e=i-1>=0?r.charCodeAt(i-1):0,t=i+1=0?r.charCodeAt(i-1):0;if(32===o&&32!==e&&9!==e)continue}if(n&&(!S||S.startOffset>i||S.endOffset<=i))continue;const d=e.visibleRangeForPosition(new cd(t,i+1));d&&(s?(x=Math.max(x,d.left),b+=9===o?this._renderArrow(h,m,d.left):``):b+=9===o?`
    ${_?String.fromCharCode(65515):String.fromCharCode(8594)}
    `:`
    ${String.fromCharCode(f)}
    `)}return s?(x=Math.round(x+m),``+b+""):b}_renderArrow(e,t,n){const i=e/2,o=n,s={x:0,y:t/7/2},r={x:.8*t,y:s.y},l={x:r.x-.2*r.x,y:r.y+.2*r.x},a={x:l.x+.1*r.x,y:l.y+.1*r.x},d={x:a.x+.35*r.x,y:a.y-.35*r.x};return``}render(e,t){if(!this._renderResult)return"";const n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]}}class wO{constructor(e){const t=e.options,n=t.get(50),i=t.get(38);"off"===i?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===i?(this.renderWhitespace=t.get(99),this.renderWithSVG=!0):(this.renderWhitespace=t.get(99),this.renderWithSVG=!1),this.spaceWidth=n.spaceWidth,this.middotWidth=n.middotWidth,this.wsmiddotWidth=n.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=n.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(117)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class CO{constructor(e,t,n,i){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.lineHeight=0|t.lineHeight,this.whitespaceViewportData=n,this._model=i,this.visibleRange=new nc(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class yO{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class SO{constructor(e,t,n){this.configuration=e,this.theme=new yO(t),this.viewModel=n,this.viewLayout=n.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}let xO=class extends $T{constructor(e,t,n,i,o,s,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new ic(1,1,1,1)],this._renderAnimationFrame=null;const l=new hR(t,i,o,e);this._context=new SO(t,n,i),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(cR,this._context,l,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=tL(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=tL(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=tL(document.createElement("div")),ZT.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new BR(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new sP(this._context,this._linesContent),this._viewZones=new fO(this._context),this._viewParts.push(this._viewZones);const a=new KP(this._context);this._viewParts.push(a);const d=new eO(this._context);this._viewParts.push(d);const u=new vR(this._context);this._viewParts.push(u),u.addDynamicOverlay(new AR(this._context)),u.addDynamicOverlay(new lO(this._context)),u.addDynamicOverlay(new XR(this._context)),u.addDynamicOverlay(new FR(this._context)),u.addDynamicOverlay(new bO(this._context));const c=new bR(this._context);this._viewParts.push(c),c.addDynamicOverlay(new RR(this._context)),c.addDynamicOverlay(new cP(this._context)),c.addDynamicOverlay(new aP(this._context)),c.addDynamicOverlay(new eR(this._context)),this._glyphMarginWidgets=new jR(this._context),this._viewParts.push(this._glyphMarginWidgets);const h=new iR(this._context);h.getDomNode().appendChild(this._viewZones.marginDomNode),h.getDomNode().appendChild(c.getDomNode()),h.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(h),this._contentWidgets=new xR(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new pO(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new zP(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const g=new XP(this._context);this._viewParts.push(g);const p=new SR(this._context);this._viewParts.push(p);const m=new FP(this._context);if(this._viewParts.push(m),a){const e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(a.getDomNode(),e.insertBefore)}this._linesContent.appendChild(u.getDomNode()),this._linesContent.appendChild(g.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(h.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(d.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(m.getDomNode()),this._overflowGuardContainer.appendChild(p.domNode),this.domNode.appendChild(this._overflowGuardContainer),s?(s.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),s.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new GA(this._context,l,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let n=[],i=0;n=n.concat(e.getAllMarginDecorations().map((e=>{var t,n,o;const s=null!==(n=null===(t=e.options.glyphMargin)||void 0===t?void 0:t.position)&&void 0!==n?n:wc.Center;return i=Math.max(i,e.range.endLineNumber),{range:e.range,lane:s,persist:null===(o=e.options.glyphMargin)||void 0===o?void 0:o.persistLane}}))),n=n.concat(this._glyphMarginWidgets.getWidgets().map((t=>{const n=e.validateRange(t.preference.range);return i=Math.max(i,n.endLineNumber),{range:n,lane:t.preference.lane}}))),n.sort(((e,t)=>nc.compareRangesUsingStarts(e.range,t.range))),t.reset(i);for(const e of n)t.push(e.lane,e.range,e.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new MA(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new cd(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const e=this._context.configuration.options.get(145);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(142)+" "+Rv(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new Re;if(null===this._renderAnimationFrame){const e=this._createCoordinatedRendering();this._renderAnimationFrame=LO.INSTANCE.scheduleCoordinatedRendering({window:is(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new Re;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new Re;return e.renderText()},prepareRender:(t,n)=>{if(this._store.isDisposed)throw new Re;return e.prepareRender(t,n)},render:(t,n)=>{if(this._store.isDisposed)throw new Re;return e.render(t,n)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();kO((()=>e.prepareRenderText()));const t=kO((()=>e.renderText()));if(t){const[n,i]=t;kO((()=>e.prepareRender(n,i))),kO((()=>e.render(n,i)))}}_getViewPartsToRender(){const e=[];let t=0;for(const n of this._viewParts)n.shouldRender()&&(e[t++]=n);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}BS.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const n=new CO(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(n),this._viewLines.shouldRender()&&(this._viewLines.renderText(n),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new XT(this._context.viewLayout,n,this._viewLines)]},prepareRender:(e,t)=>{for(const n of e)n.prepareRender(t)},render:(e,t)=>{for(const n of e)n.render(t),n.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const n=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),i=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);this._flushAccumulatedAndRenderNow();const o=this._viewLines.visibleRangeForPosition(new cd(i.lineNumber,i.column));return o?o.left:-1}getTargetAtClientPoint(e,t){const n=this._pointerHandler.getTargetAtClientPoint(e,t);return n?wR.convertViewToModelMouseTarget(n,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new GP(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const e of this._viewParts)e.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){var t,n,i,o,s,r,l,a;this._contentWidgets.setWidgetPosition(e.widget,null!==(n=null===(t=e.position)||void 0===t?void 0:t.position)&&void 0!==n?n:null,null!==(o=null===(i=e.position)||void 0===i?void 0:i.secondaryPosition)&&void 0!==o?o:null,null!==(r=null===(s=e.position)||void 0===s?void 0:s.preference)&&void 0!==r?r:null,null!==(a=null===(l=e.position)||void 0===l?void 0:l.positionAffinity)&&void 0!==a?a:null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){const t=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function kO(e){try{return e()}catch(e){return xe(e),null}}xO=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(6,ad)],xO);class LO{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(-1!==t&&(this._coordinatedRenderings.splice(t,1),0===this._coordinatedRenderings.length)){for(const[e,t]of this._animationFrameRunners)t.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,ws(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const t of e)kO((()=>t.prepareRenderText()));const t=[];for(let n=0,i=e.length;ni.renderText()))}for(let n=0,i=e.length;ni.prepareRender(s,r)))}for(let n=0,i=e.length;ni.render(s,r)))}}}LO.INSTANCE=new LO;class DO{constructor(e,t,n,i,o){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=n,this.breakOffsetsVisibleColumn=i,this.wrappedTextIndentLength=o}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let n=this.breakOffsets[e]-t;return e>0&&(n+=this.wrappedTextIndentLength),n}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let n=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let e=0;ethis.injectionOffsets[e];e++)n0?this.breakOffsets[o-1]:0,0===t)if(e<=s)i=o-1;else{if(!(e>r))break;n=o+1}else if(e=r))break;n=o+1}}let r=e-s;return o>0&&(r+=this.wrappedTextIndentLength),new IO(o,r)}normalizeOutputPosition(e,t,n){if(null!==this.injectionOffsets){const i=this.outputPositionToOffsetInInputWithInjections(e,t),o=this.normalizeOffsetInInputWithInjectionsAroundInjections(i,n);if(o!==i)return this.offsetInInputWithInjectionsToOutputPosition(o,n)}if(0===n){if(e>0&&t===this.getMinOutputOffset(e))return new IO(e-1,this.getMaxOutputOffset(e-1))}else if(1===n&&e0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const n=this.getInjectedTextAtOffset(e);if(!n)return e;if(2===t){if(e===n.offsetInInputWithInjections+n.length&&NO(this.injectionOptions[n.injectedTextIndex].cursorStops))return n.offsetInInputWithInjections+n.length;{let e=n.offsetInInputWithInjections;if(EO(this.injectionOptions[n.injectedTextIndex].cursorStops))return e;let t=n.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[n.injectedTextIndex]&&!NO(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!EO(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===t){let e=n.offsetInInputWithInjections+n.length,t=n.injectedTextIndex;for(;t+1=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}hu()}getInjectedText(e,t){const n=this.outputPositionToOffsetInInputWithInjections(e,t),i=this.getInjectedTextAtOffset(n);return i?{options:this.injectionOptions[i.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,n=this.injectionOptions;if(null!==t){let i=0;for(let o=0;oe)break;if(e<=l)return{injectedTextIndex:o,offsetInInputWithInjections:r,length:s};i+=s}}}}function NO(e){return null==e||e===Cc.Right||e===Cc.Both}function EO(e){return null==e||e===Cc.Left||e===Cc.Both}class IO{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new cd(e+this.outputLineIndex,this.outputOffset+1)}}const MO=Yk("domLineBreaksComputer",{createHTML:e=>e});class TO{static create(e){return new TO(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,n,i,o){const s=[],r=[];return{addRequest:(e,t,n)=>{s.push(e),r.push(t)},finalize:()=>function(e,t,n,i,o,s,r,l){var a;function d(e){const n=l[e];if(n){const i=iy.applyInjectedText(t[e],n),o=n.map((e=>e.options)),s=n.map((e=>e.column-1));return new DO(s,o,[i.length],[],0)}return null}if(-1===o){const e=[];for(let n=0,i=t.length;nu?(r=0,a=0):d=u-e}const c=o.substr(r),h=AO(c,a,i,d,m,g);f[e]=r,_[e]=a,v[e]=c,b[e]=h[0],w[e]=h[1]}const C=m.build(),y=null!==(a=null==MO?void 0:MO.createHTML(C))&&void 0!==a?a:C;p.innerHTML=y,p.style.position="absolute",p.style.top="10000","keepAll"===r?(p.style.wordBreak="keep-all",p.style.overflowWrap="anywhere"):(p.style.wordBreak="inherit",p.style.overflowWrap="break-word"),e.document.body.appendChild(p);const S=document.createRange(),x=Array.prototype.slice.call(p.children,0),k=[];for(let e=0;ee.options)),a=u.map((e=>e.column-1))):(r=null,a=null),k[e]=new DO(a,r,t,s,i)}return e.document.body.removeChild(p),k}(_a(this.targetWindow.deref()),s,e,t,n,i,o,r)}}}function AO(e,t,n,i,o,s){if(0!==s){const e=String(s);o.appendString('
    ');const r=e.length;let l=t,a=0;const d=[],u=[];let c=0");for(let t=0;t"),d[t]=a,u[t]=l;const i=c;c=t+1"),d[e.length]=a,u[e.length]=l,o.appendString("
    "),[d,u]}function RO(e,t,n,i){if(n.length<=1)return null;const o=Array.prototype.slice.call(t.children,0),s=[];try{PO(e,o,i,0,null,n.length-1,null,s)}catch(e){return console.log(e),null}return 0===s.length?null:(s.push(n.length),s)}function PO(e,t,n,i,o,s,r,l){if(i===s)return;if(o=o||OO(e,t,n[i],n[i+1]),r=r||OO(e,t,n[s],n[s+1]),Math.abs(o[0].top-r[0].top)<=.1)return;if(i+1===s)return void l.push(s);const a=i+(s-i)/2|0,d=OO(e,t,n[a],n[a+1]);PO(e,t,n,i,o,a,d,l),PO(e,t,n,a,d,s,r,l)}function OO(e,t,n,i){return e.setStart(t[n/16384|0].firstChild,n%16384),e.setEnd(t[i/16384|0].firstChild,i%16384),e.getClientRects()}class FO extends lt{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new ct),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,n){this._editor=e,this._instantiationService=n;for(const e of t)this._pending.has(e.id)?xe(new Error(`Cannot have two contributions with the same id ${e.id}`)):this._pending.set(e.id,e);this._instantiateSome(0),this._register(vs(is(this._editor.getDomNode()),(()=>{this._instantiateSome(1)}))),this._register(vs(is(this._editor.getDomNode()),(()=>{this._instantiateSome(2)}))),this._register(vs(is(this._editor.getDomNode()),(()=>{this._instantiateSome(3)}),5e3))}saveViewState(){const e={};for(const[t,n]of this._instances)"function"==typeof n.saveViewState&&(e[t]=n.saveViewState());return e}restoreViewState(e){for(const[t,n]of this._instances)"function"==typeof n.restoreViewState&&n.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var e;return vs(is(null===(e=this._editor)||void 0===e?void 0:e.getDomNode()),(()=>{this._instantiateSome(1)}),50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const e of t)this._instantiateById(e.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,n]of this._pending)n.instantiation===e&&t.push(n);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const e=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,e),"function"==typeof e.restoreViewState&&0!==t.instantiation&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(e){xe(e)}}}}class BO{constructor(e,t,n,i,o,s,r){this.id=e,this.label=t,this.alias=n,this.metadata=i,this._precondition=o,this._run=s,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}const WO={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};class VO{static create(e){return new VO(e.get(134),e.get(133))}constructor(e,t){this.classifier=new HO(e,t)}createLineBreaksComputer(e,t,n,i,o){const s=[],r=[],l=[];return{addRequest:(e,t,n)=>{s.push(e),r.push(t),l.push(n)},finalize:()=>{const a=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,d=[];for(let e=0,u=s.length;e=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let zO=[],UO=[];function KO(e,t,n,i,o,s,r,l){if(-1===o)return null;const a=n.length;if(a<=1)return null;const d="keepAll"===l,u=t.breakOffsets,c=t.breakOffsetsVisibleColumn,h=ZO(n,i,o,s,r),g=o-h,p=zO,m=UO;let f=0,_=0,v=0,b=o;const w=u.length;let C=0;if(C>=0){let e=Math.abs(c[C]-b);for(;C+1=e)break;e=t,C++}}for(;Ct&&(t=_,o=v);let r=0,l=0,h=0,y=0;if(o<=b){let v=o,w=0===t?0:n.charCodeAt(t-1),C=0===t?0:e.get(w),S=!0;for(let o=t;o_&&GO(0,C,a,u,d)&&(r=t,l=v),v+=c,v>b){t>_?(h=t,y=v-c):(h=o+1,y=v),v-l>g&&(r=0),S=!1;break}w=a,C=u}if(S){f>0&&(p[f]=u[u.length-1],m[f]=c[u.length-1],f++);break}}if(0===r){let a=o,u=n.charCodeAt(t),c=e.get(u),p=!1;for(let i=t-1;i>=_;i--){const t=i+1,o=n.charCodeAt(i);if(9===o){p=!0;break}let m,f;if(Di(o)?(i--,m=0,f=2):(m=e.get(o),f=Vi(o)?s:1),a<=b){if(0===h&&(h=t,y=a),a<=b-g)break;if(GO(0,m,u,c,d)){r=t,l=a;break}}a-=f,u=o,c=m}if(0!==r){const e=g-(y-l);if(e<=i){const t=n.charCodeAt(h);let o;o=Li(t)?2:qO(t,y,i,s),e-o<0&&(r=0)}}if(p){C--;continue}}if(0===r&&(r=h,l=y),r<=_){const e=n.charCodeAt(_);Li(e)?(r=_+2,l=v+2):(r=_+1,l=v+qO(e,v,i,s))}for(_=r,p[f]=r,v=l,m[f]=l,f++,b=l+g;C<0||C=S)break;S=e,C++}}return 0===f?null:(p.length=f,m.length=f,zO=t.breakOffsets,UO=t.breakOffsetsVisibleColumn,t.breakOffsets=p,t.breakOffsetsVisibleColumn=m,t.wrappedTextIndentLength=h,t)}function jO(e,t,n,i,o,s,r,l){const a=iy.applyInjectedText(t,n);let d,u;if(n&&n.length>0?(d=n.map((e=>e.options)),u=n.map((e=>e.column-1))):(d=null,u=null),-1===o)return d?new DO(u,d,[a.length],[],0):null;const c=a.length;if(c<=1)return d?new DO(u,d,[a.length],[],0):null;const h="keepAll"===l,g=ZO(a,i,o,s,r),p=o-g,m=[],f=[];let _=0,v=0,b=0,w=o,C=a.charCodeAt(0),y=e.get(C),S=qO(C,0,i,s),x=1;Li(C)&&(S+=1,C=a.charCodeAt(1),y=e.get(C),x++);for(let t=x;tw&&((0===v||S-b>p)&&(v=n,b=S-l),m[_]=v,f[_]=b,_++,w=b+p,v=0),C=o,y=r}return 0!==_||n&&0!==n.length?(m[_]=c,f[_]=S,new DO(u,d,m,f,g)):null}function qO(e,t,n,i){return 9===e?n-t%n:Vi(e)||e<32?i:1}function $O(e,t){return t-e%t}function GO(e,t,n,i,o){return 32!==n&&(2===t&&2!==i||1!==t&&1===i||!o&&3===t&&2!==i||!o&&3===i&&1!==t)}function ZO(e,t,n,i,o){let s=0;if(0!==o){const r=hi(e);if(-1!==r){for(let n=0;nn&&(s=0)}}return s}class YO{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Gy(new nc(1,1,1,1),0,0,new cd(1,1),0),new Gy(new nc(1,1,1,1),0,0,new cd(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new jy(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?ic.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):ic.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,n){this._setState(e,t,n)}static _validatePositionWithCache(e,t,n,i){return t.equals(n)?i:e.normalizePosition(t,2)}static _validateViewState(e,t){const n=t.position,i=t.selectionStart.getStartPosition(),o=t.selectionStart.getEndPosition(),s=e.normalizePosition(n,2),r=this._validatePositionWithCache(e,i,n,s),l=this._validatePositionWithCache(e,o,i,r);return n.equals(s)&&i.equals(r)&&o.equals(l)?t:new Gy(nc.fromPositions(r,l),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+i.column-r.column,s,t.leftoverVisibleColumns+n.column-s.column)}_setState(e,t,n){if(n&&(n=YO._validateViewState(e.viewModel,n)),t){const n=e.model.validateRange(t.selectionStart),i=t.selectionStart.equalsRange(n)?t.selectionStartLeftoverVisibleColumns:0,o=e.model.validatePosition(t.position),s=t.position.equals(o)?t.leftoverVisibleColumns:0;t=new Gy(n,t.selectionStartKind,i,o,s)}else{if(!n)return;const i=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(n.selectionStart)),o=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(n.position));t=new Gy(i,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,o,n.leftoverVisibleColumns)}if(n){const i=e.coordinatesConverter.validateViewRange(n.selectionStart,t.selectionStart),o=e.coordinatesConverter.validateViewPosition(n.position,t.position);n=new Gy(i,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,o,t.leftoverVisibleColumns)}else{const i=e.coordinatesConverter.convertModelPositionToViewPosition(new cd(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),o=e.coordinatesConverter.convertModelPositionToViewPosition(new cd(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),s=new nc(i.lineNumber,i.column,o.lineNumber,o.column),r=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);n=new Gy(s,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,r,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=n,this._updateTrackedRange(e)}}class XO{constructor(e){this.context=e,this.cursors=[new YO(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map((e=>e.readSelectionFromMarkers(this.context)))}getAll(){return this.cursors.map((e=>e.asCursorState()))}getViewPositions(){return this.cursors.map((e=>e.viewState.position))}getTopMostViewPosition(){return function(e,t){return vh(e,((e,n)=>-t(e,n)))}(this.cursors,Yc((e=>e.viewState.position),cd.compare)).viewState.position}getBottomMostViewPosition(){return function(e,t){if(0===e.length)return;let n=e[0];for(let i=1;i=0&&(n=o)}return n}(this.cursors,Yc((e=>e.viewState.position),cd.compare)).viewState.position}getSelections(){return this.cursors.map((e=>e.modelState.selection))}getViewSelections(){return this.cursors.map((e=>e.viewState.selection))}setSelections(e){this.setStates(jy.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){null!==e&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,n=e.length;if(tn){const e=t-n;for(let t=0;t=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(1===this.cursors.length)return;const e=this.cursors.slice(0),t=[];for(let n=0,i=e.length;ne.selection),nc.compareRangesUsingStarts));for(let n=0;nl&&e.index--;e.splice(l,1),t.splice(r,1),this._removeSecondaryCursor(l-1),n--}}}}class QO{constructor(e,t,n,i){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=n,this.cursorConfig=i}}class JO{constructor(){this.type=0}}class eF{constructor(){this.type=1}}class tF{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class nF{constructor(e,t,n){this.selections=e,this.modelSelections=t,this.reason=n,this.type=3}}class iF{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class oF{constructor(){this.type=5}}class sF{constructor(e){this.type=6,this.isFocused=e}}class rF{constructor(){this.type=7}}class lF{constructor(){this.type=8}}class aF{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class dF{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class uF{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class cF{constructor(e,t,n,i,o,s,r){this.source=e,this.minimalReveal=t,this.range=n,this.selections=i,this.verticalType=o,this.revealHorizontal=s,this.scrollType=r,this.type=12}}class hF{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class gF{constructor(e){this.theme=e,this.type=14}}class pF{constructor(e){this.type=15,this.ranges=e}}class mF{constructor(){this.type=16}}class fF{constructor(){this.type=17}}class _F extends lt{constructor(){super(),this._onEvent=this._register(new Ct),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,n=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,n=this._eventHandlers.length;t0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const n of t)n.handleEvents(e)}}}class vF{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class bF{constructor(e,t,n,i){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=n,this.contentHeight=i,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new bF(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class wF{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new wF(this.oldHasFocus,e.hasFocus)}}class CF{constructor(e,t,n,i,o,s,r,l){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=n,this._oldScrollTop=i,this.scrollWidth=o,this.scrollLeft=s,this.scrollHeight=r,this.scrollTop=l,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!(this.scrollWidthChanged||this.scrollLeftChanged||this.scrollHeightChanged||this.scrollTopChanged)}attemptToMerge(e){return e.kind!==this.kind?null:new CF(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class yF{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class SF{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class xF{constructor(e,t,n,i,o,s,r){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=n,this.modelVersionId=i,this.source=o,this.reason=s,this.reachedMaxCursorCount=r}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const n=e.length;if(n!==t.length)return!1;for(let i=0;i0){const e=this._cursors.getSelections();for(let t=0;ts&&(i=i.slice(0,s),o=!0);const r=AF.from(this._model,this);return this._cursors.setStates(i),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,n,r,o)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,n,i,o,s){const r=this._cursors.getViewPositions();let l=null,a=null;r.length>1?a=this._cursors.getViewSelections():l=nc.fromPositions(r[0],r[0]),e.emitViewEvent(new cF(t,n,l,a,i,o,s))}revealPrimary(e,t,n,i,o,s){const r=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new cF(t,n,null,r,i,o,s))}saveState(){const e=[],t=this._cursors.getSelections();for(let n=0,i=t.length;n0){const t=jy.fromModelSelections(n.resultingSelection);this.setStates(e,"modelChange",n.isUndoing?5:n.isRedoing?6:2,t)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,jy.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),n=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:n.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,n)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,n,i){this.setStates(e,t,i,jy.fromModelSelections(n))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const n=[],i=[];for(let o=0,s=e.length;o0&&this._pushAutoClosedAction(n,i),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,n,i,o){const s=AF.from(this._model,this);if(s.equals(i))return!1;const r=this._cursors.getSelections(),l=this._cursors.getViewSelections();if(e.emitViewEvent(new nF(l,r,n)),!i||i.cursorState.length!==s.cursorState.length||s.cursorState.some(((e,t)=>!e.modelState.equals(i.cursorState[t].modelState)))){const l=i?i.cursorState.map((e=>e.modelState.selection)):null,a=i?i.modelVersionId:0;e.emitOutgoingEvent(new xF(l,r,a,s.modelVersionId,t||"keyboard",n,o))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let n=0,i=e.length;n=0)return null;const o=i.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!o)return null;const s=o[1],r=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(s);if(!r||1!==r.length)return null;const l=r[0].open,a=i.text.length-o[2].length-1,d=i.text.lastIndexOf(l,a-1);if(-1===d)return null;t.push([d,a])}return t}executeEdits(e,t,n,i){let o=null;"snippet"===t&&(o=this._findAutoClosingPairs(n)),o&&(n[0]._isTracked=!0);const s=[],r=[],l=this._model.pushEditOperations(this.getSelections(),n,(e=>{if(o)for(let t=0,n=o.length;t0&&this._pushAutoClosedAction(s,r)}_executeEdit(e,t,n,i=0){if(this.context.cursorConfig.readOnly)return;const o=AF.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){xe(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,i,o,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return RF.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new FF(this._model,this.getSelections())}endComposition(e,t){const n=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit((()=>{"keyboard"===t&&this._executeEditOperation(yS.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,n,this.getSelections(),this.getAutoClosedCharacters()))}),e,t)}type(e,t,n){this._executeEdit((()=>{if("keyboard"===n){const e=t.length;let n=0;for(;n{this._executeEditOperation(yS.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,i,o))}),e,s);else if(0!==o){const t=this.getSelections().map((e=>{const t=e.getPosition();return new ic(t.lineNumber,t.column+o,t.lineNumber,t.column+o)}));this.setSelections(e,s,t,0)}}paste(e,t,n,i,o){this._executeEdit((()=>{this._executeEditOperation(yS.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,i||[]))}),e,o,4)}cut(e,t){this._executeEdit((()=>{this._executeEditOperation(rS.cut(this.context.cursorConfig,this._model,this.getSelections()))}),e,t)}executeCommand(e,t,n){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Zy(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,n)}executeCommands(e,t,n){this._executeEdit((()=>{this._executeEditOperation(new Zy(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,n)}}class AF{static from(e,t){return new AF(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t=t.length)return!1;if(!t[n].strictContainsRange(e[n]))return!1}return!0}}class PF{static executeCommands(e,t,n){const i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},o=this._innerExecuteCommands(i,n);for(let e=0,t=i.trackedRanges.length;e0&&(s[0]._isTracked=!0);let r=e.model.pushEditOperations(e.selectionsBefore,s,(n=>{const i=[];for(let t=0;te.identifier.minor-t.identifier.minor,s=[];for(let n=0;n0?(i[n].sort(o),s[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>i[n],getTrackedSelection:t=>{const n=parseInt(t,10),i=e.model._getTrackedRange(e.trackedRanges[n]);return 0===e.trackedRangesDirection[n]?new ic(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn):new ic(i.endLineNumber,i.endColumn,i.startLineNumber,i.startColumn)}})):s[n]=e.selectionsBefore[n];return s}));r||(r=e.selectionsBefore);const l=[];for(const e in o)o.hasOwnProperty(e)&&l.push(parseInt(e,10));l.sort(((e,t)=>t-e));for(const e of l)r.splice(e,1);return r}static _arrayIsEmpty(e){for(let t=0,n=e.length;t{nc.isEmpty(e)&&""===s||i.push({identifier:{major:t,minor:o++},range:e,text:s,forceMoveMarkers:r,isAutoWhitespaceEdit:n.insertsAutoWhitespace})};let r=!1;const l={addEditOperation:s,addTrackedEditOperation:(e,t,n)=>{r=!0,s(e,t,n)},trackSelection:(t,n)=>{const i=ic.liftSelection(t);let o;if(i.isEmpty())if("boolean"==typeof n)o=n?2:3;else{const t=e.model.getLineMaxColumn(i.startLineNumber);o=i.startColumn===t?2:3}else o=1;const s=e.trackedRanges.length,r=e.model._setTrackedRange(null,i,o);return e.trackedRanges[s]=r,e.trackedRangesDirection[s]=i.getDirection(),s.toString()}};try{n.getEditOperations(e.model,l)}catch(e){return xe(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:i,hadTrackedEditOperation:r}}static _getLoserCursorMap(e){(e=e.slice(0)).sort(((e,t)=>-nc.compareRangesUsingEnds(e.range,t.range)));const t={};for(let n=1;no.identifier.major?i.identifier.major:o.identifier.major,t[s.toString()]=!0;for(let t=0;t0&&n--}}return t}}class OF{constructor(e,t,n){this.text=e,this.startSelection=t,this.endSelection=n}}class FF{static _capture(e,t){const n=[];for(const i of t){if(i.startLineNumber!==i.endLineNumber)return null;n.push(new OF(e.getLineContent(i.startLineNumber),i.startColumn-1,i.endColumn-1))}return n}constructor(e,t){this._original=FF._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const n=FF._capture(e,t);if(!n)return null;if(this._original.length!==n.length)return null;const i=[];for(let e=0,t=this._original.length;e>>1;t===e[s].afterLineNumber?n{t=!0,e|=0,n|=0,i|=0,o|=0;const s=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new WF(s,e,n,i,o)),s},changeOneWhitespace:(e,n,i)=>{t=!0,n|=0,i|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:i})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(const t of e)this._insertWhitespace(t);for(const e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(const e of n){const t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}const i=new Set;for(const e of n)i.add(e.id);const o=new Map;for(const e of t)o.set(e.id,e);const s=e=>{const t=[];for(const n of e)if(!i.has(n.id)){if(o.has(n.id)){const e=o.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},r=s(this._arr).concat(s(e));r.sort(((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber)),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=VF.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let n=0,i=t.length;nt&&(this._arr[n].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,i=this._arr.length;n=t.length||t[o+1].afterLineNumber>=e)return o;n=o+1|0}else i=o-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;const t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?this._lineHeight*(e-1):0,n+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){return this._checkPendingChanges(),e|=0,this._lineHeight*e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,n=this._arr.length;tthis.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;const t=0|this._lineCount,n=this._lineHeight;let i=1,o=t;for(;i=s+n)i=t+1;else{if(e>=s)return t;o=t}}return i>t?t:i}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const n=this._lineHeight,i=0|this.getLineNumberAtOrAfterVerticalOffset(e),o=0|this.getVerticalOffsetForLineNumber(i);let s=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(i);const l=0|this.getWhitespacesCount();let a,d;-1===r?(r=l,d=s+1,a=0):(d=0|this.getAfterLineNumberForWhitespaceIndex(r),a=0|this.getHeightForWhitespaceIndex(r));let u=o,c=u;const h=5e5;let g=0;o>=h&&(g=Math.floor(o/h)*h,g=Math.floor(g/n)*n,c-=g);const p=[],m=e+(t-e)/2;let f=-1;for(let e=i;e<=s;e++){for(-1===f&&(u<=m&&mm)&&(f=e),u+=n,p[e-i]=c,c+=n;d===e;)c+=a,u+=a,r++,r>=l?d=s+1:(d=0|this.getAfterLineNumberForWhitespaceIndex(r),a=0|this.getHeightForWhitespaceIndex(r));if(u>=t){s=e;break}}-1===f&&(f=s);const _=0|this.getVerticalOffsetForLineNumber(s);let v=i,b=s;return vt&&b--,{bigNumbersDelta:g,startLineNumber:i,endLineNumber:s,relativeVerticalOffset:p,centeredLineNumber:f,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:b,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let n,i;return n=t>=1?this._lineHeight*t:0,i=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+i+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(n)+this.getHeightForWhitespaceIndex(n))return-1;for(;t=o+this.getHeightForWhitespaceIndex(i))t=i+1;else{if(e>=o)return i;n=i}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this.getWhitespacesCount())return null;const n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;const i=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:i}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),i=this.getWhitespacesCount()-1;if(n<0)return[];const o=[];for(let e=n;e<=i;e++){const n=this.getVerticalOffsetForWhitespaceIndex(e),i=this.getHeightForWhitespaceIndex(e);if(n>=t)break;o.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:i})}return o}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}}VF.INSTANCE_COUNT=0;class HF{constructor(e,t,n,i){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(n|=0)<0&&(n=0),(i|=0)<0&&(i=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=i,this.scrollHeight=Math.max(n,i)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class zF extends lt{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new Ct),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new HF(0,0,0,0),this._scrollable=this._register(new JN({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const n=t.contentWidth!==e.contentWidth,i=t.contentHeight!==e.contentHeight;(n||i)&&this._onDidContentSizeChange.fire(new bF(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class UF extends lt{constructor(e,t,n){super(),this._configuration=e;const i=this._configuration.options,o=i.get(145),s=i.get(84);this._linesLayout=new VF(t,i.get(67),s.top,s.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new zF(0,n)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new HF(o.contentWidth,0,o.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(114)?125:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const e=t.get(84);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(145)){const e=t.get(145),n=e.contentWidth,i=e.height,o=this._scrollable.getScrollDimensions(),s=o.contentWidth;this._scrollable.setScrollDimensions(new HF(n,o.contentWidth,i,this._getContentHeight(n,i,s)))}else this._updateHeight();e.hasChanged(114)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const n=this._configuration.options.get(103);return 2===n.horizontal||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){const i=this._configuration.options;let o=this._linesLayout.getLinesTotalHeight();return i.get(105)?o+=Math.max(0,t-i.get(67)-i.get(84).bottom):i.get(103).ignoreHorizontalScrollbarInContentHeight||(o+=this._getHorizontalScrollbarHeight(e,n)),o}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,i=e.contentWidth;this._scrollable.setScrollDimensions(new HF(t,e.contentWidth,n,this._getContentHeight(t,n,i)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new fP(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new fP(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,n=e.get(146),i=e.get(50),o=e.get(145);if(n.isViewportWrapping){const n=e.get(73);return t>o.contentWidth+i.typicalHalfwidthCharacterWidth&&n.enabled&&"right"===n.side?t+o.verticalScrollbarWidth:t}{const n=e.get(104)*i.typicalHalfwidthCharacterWidth,s=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+o.verticalScrollbarWidth,s,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new HF(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}}class KF{constructor(e,t,n,i,o){this.editorId=e,this.model=t,this.configuration=n,this._linesCollection=i,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let n=this._decorationsCache[t];if(!n){const i=e.range,o=e.options;let s;if(o.isWholeLine){const e=this._coordinatesConverter.convertModelPositionToViewPosition(new cd(i.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new cd(i.endLineNumber,this.model.getLineMaxColumn(i.endLineNumber)),1);s=new nc(e.lineNumber,e.column,t.lineNumber,t.column)}else s=this._coordinatesConverter.convertModelRangeToViewRange(i,1);n=new yP(s,o),this._decorationsCache[t]=n}return n}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,n=!1){const i=new nc(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(i,t,n).inlineDecorations[0]}_getDecorationsInRange(e,t,n){const i=this._linesCollection.getDecorationsInRange(e,this.editorId,AD(this.configuration.options),t,n),o=e.startLineNumber,s=e.endLineNumber,r=[];let l=0;const a=[];for(let e=o;e<=s;e++)a[e-o]=[];for(let e=0,t=i.length;e1===e))}function $F(e,t){return GF(e,t.range,(e=>2===e))}function GF(e,t,n){for(let i=t.startLineNumber;i<=t.endLineNumber;i++){const o=e.tokenization.getLineTokens(i),s=i===t.startLineNumber,r=i===t.endLineNumber;let l=s?o.findTokenIndexAtOffset(t.startColumn-1):0;for(;lt.endColumn-1);){if(!n(o.getStandardTokenType(l)))return!1;l++}}return!0}function ZF(e,t){return null===e?t?XF.INSTANCE:QF.INSTANCE:new YF(e,t)}class YF{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();const i=n>0?this._projectionData.breakOffsets[n-1]:0,o=this._projectionData.breakOffsets[n];let s;if(null!==this._projectionData.injectionOffsets){const n=this._projectionData.injectionOffsets.map(((e,t)=>new iy(0,0,e+1,this._projectionData.injectionOptions[t],0)));s=iy.applyInjectedText(e.getLineContent(t),n).substring(i,o)}else s=e.getValueInRange({startLineNumber:t,startColumn:i+1,endLineNumber:t,endColumn:o+1});return n>0&&(s=eB(this._projectionData.wrappedTextIndentLength)+s),s}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n){const i=new Array;return this.getViewLinesData(e,t,n,1,0,[!0],i),i[0]}getViewLinesData(e,t,n,i,o,s,r){this._assertVisible();const l=this._projectionData,a=l.injectionOffsets,d=l.injectionOptions;let u,c=null;if(a){c=[];let e=0,t=0;for(let n=0;n0?l.breakOffsets[n-1]:0,s=l.breakOffsets[n];for(;ts)break;if(o0?l.wrappedTextIndentLength:0,r=t+Math.max(u-o,0),a=t+Math.min(c-o,s-o);r!==a&&i.push(new CP(r,a,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(!(c<=s))break;e+=r,t++}}}u=a?e.tokenization.getLineTokens(t).withInserted(a.map(((e,t)=>({offset:e,text:d[t].content,tokenMetadata:BC.defaultTokenMetadata})))):e.tokenization.getLineTokens(t);for(let e=n;e0?i.wrappedTextIndentLength:0,s=n>0?i.breakOffsets[n-1]:0,r=i.breakOffsets[n],l=e.sliceAndInflate(s,r,o);let a=l.getLineContent();n>0&&(a=eB(i.wrappedTextIndentLength)+a);const d=this._projectionData.getMinOutputOffset(n)+1,u=a.length+1,c=n+1=JF.length)for(let t=1;t<=e;t++)JF[t]=tB(t);return JF[e]}function tB(e){return new Array(e+1).join(" ")}class nB{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Uw(e);const n=this.values,i=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(n.length+o),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Uw(e),t=Uw(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;const o=n.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Uw(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,i=0,o=0,s=0;for(;t<=n;)if(i=t+(n-t)/2|0,o=this.prefixSum[i],s=o-this.values[i],e=o))break;t=i+1}return new oB(i,e-s)}}class iB{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),0===e?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],n=t>0?this._prefixSum[t-1]:0;return new oB(t,e-n)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=Uc(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let i=0;it.lineNumber===e+1));s.addRequest(n[e],i,t?t[e]:null)}const l=s.finalize(),a=[],d=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(nc.compareRangesUsingStarts);let u=1,c=0,h=-1,g=h+1=u&&t<=c,i=ZF(l[e],!n);a[e]=i.getViewLineCount(),this.modelLineProjections[e]=i}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new iB(a)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e)))}setHiddenAreas(e){const t=function(e){if(0===e.length)return[];const t=e.slice();t.sort(nc.compareRangesUsingStarts);const n=[];let i=t[0].startLineNumber,o=t[0].endLineNumber;for(let e=1,s=t.length;eo+1?(n.push(new nc(i,1,o,1)),i=s.startLineNumber,o=s.endLineNumber):s.endLineNumber>o&&(o=s.endLineNumber)}return n.push(new nc(i,1,o,1)),n}(e.map((e=>this.model.validateRange(e)))),n=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(nc.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let i=0;i({range:e,options:My.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,i);const o=t;let s=1,r=0,l=-1,a=l+1=s&&t<=r?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(d=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){const t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return d||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1||e>this.modelLineProjections.length)&&this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,i,o){const s=this.fontInfo.equals(e),r=this.wrappingStrategy===t,l=this.wrappingColumn===n,a=this.wrappingIndent===i,d=this.wordBreak===o;if(s&&r&&l&&a&&d)return!1;const u=s&&r&&!l&&a&&d;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=i,this.wordBreak=o;let c=null;if(u){c=[];for(let e=0,t=this.modelLineProjections.length;e2&&!this.modelLineProjections[t-2].isVisible(),s=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let r=0;const l=[],a=[];for(let e=0,t=i.length;er?(a=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,d=a+r-1,h=d+1,g=h+(o-r)-1,l=!0):ot?t:0|e}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),r=this.model.guides.getActiveIndentGuide(i.lineNumber,o.lineNumber,s.lineNumber),l=this.convertModelPositionToViewPosition(r.startLineNumber,1),a=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:l.lineNumber,endLineNumber:a.lineNumber,indent:r.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,i=t.remainder;return new rB(n+1,i)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),i=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new cd(e.modelLineNumber,i)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),i=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new cd(e.modelLineNumber,i)}getViewLineInfosGroupedByModelRanges(e,t){const n=this.getViewLineInfo(e),i=this.getViewLineInfo(t),o=new Array;let s=this.getModelStartPositionOfViewLine(n),r=new Array;for(let e=n.modelLineNumber;e<=i.modelLineNumber;e++){const t=this.modelLineProjections[e-1];if(t.isVisible()){const o=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,s=e===i.modelLineNumber?i.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=o;t{if(-1!==e.forWrappedLinesAfterColumn&&this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=i.modelLineWrappedLineIdx)return;if(-1!==e.forWrappedLinesBeforeOrAtColumn&&this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumberi.modelLineWrappedLineIdx)return}const n=this.convertModelPositionToViewPosition(i.modelLineNumber,e.horizontalLine.endColumn),o=this.modelLineProjections[i.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return o.lineNumber===i.modelLineWrappedLineIdx?new Jb(e.visibleColumn,t,e.className,new ew(e.horizontalLine.top,n.column),-1,-1):o.lineNumber!!e)))}}return s}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let o=[];const s=[],r=[],l=n.lineNumber-1,a=i.lineNumber-1;let d=null;for(let e=l;e<=a;e++){const t=this.modelLineProjections[e];if(t.isVisible()){const i=t.getViewLineNumberOfModelPosition(0,e===l?n.column:1),o=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),a=o-i+1;let u=0;a>1&&1===t.getViewLineMinColumn(this.model,e+1,o)&&(u=0===i?1:2),s.push(a),r.push(u),null===d&&(d=new cd(e+1,0))}else null!==d&&(o=o.concat(this.model.guides.getLinesIndentGuides(d.lineNumber,e)),d=null)}null!==d&&(o=o.concat(this.model.guides.getLinesIndentGuides(d.lineNumber,i.lineNumber)),d=null);const u=t-e+1,c=new Array(u);let h=0;for(let e=0,t=o.length;et&&(c=!0,u=t-o+1),a.getViewLinesData(this.model,i+1,d,u,o-e,n,l),o+=u,c)break}return l}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);const i=this.projectedModelLineLineCounts.getIndexOf(e-1),o=i.index,s=i.remainder,r=this.modelLineProjections[o],l=r.getViewLineMinColumn(this.model,o+1,s),a=r.getViewLineMaxColumn(this.model,o+1,s);ta&&(t=a);const d=r.getModelColumnOfViewPosition(s,t);return this.model.validatePosition(new cd(o+1,d)).equals(n)?new cd(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){const n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),i=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new nc(n.lineNumber,n.column,i.lineNumber,i.column)}convertViewPositionToModelPosition(e,t){const n=this.getViewLineInfo(e),i=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new cd(n.modelLineNumber,i))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new nc(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,i=!1,o=!1){const s=this.model.validatePosition(new cd(e,t)),r=s.lineNumber,l=s.column;let a=r-1,d=!1;if(o)for(;a0&&!this.modelLineProjections[a].isVisible();)a--,d=!0;if(0===a&&!this.modelLineProjections[a].isVisible())return new cd(i?0:1,1);const u=1+this.projectedModelLineLineCounts.getPrefixSum(a);let c;return c=d?o?this.modelLineProjections[a].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[a].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(a+1),n):this.modelLineProjections[r-1].getViewPositionOfModelPosition(u,l,n),c}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return nc.fromPositions(n)}{const t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new nc(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){const e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(0===n&&!this.modelLineProjections[n].isVisible())return 1;const i=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(i,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,i,o){const s=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),r=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(r.lineNumber-s.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new nc(s.lineNumber,1,r.lineNumber,r.column),t,n,i,o);let l=[];const a=s.lineNumber-1,d=r.lineNumber-1;let u=null;for(let e=a;e<=d;e++)if(this.modelLineProjections[e].isVisible())null===u&&(u=new cd(e+1,e===a?s.column:1));else if(null!==u){const o=this.model.getLineMaxColumn(e);l=l.concat(this.model.getDecorationsInRange(new nc(u.lineNumber,u.column,e,o),t,n,i)),u=null}null!==u&&(l=l.concat(this.model.getDecorationsInRange(new nc(u.lineNumber,u.column,r.lineNumber,r.column),t,n,i)),u=null),l.sort(((e,t)=>{const n=nc.compareRangesUsingStarts(e.range,t.range);return 0===n?e.idt.id?1:0:n}));const c=[];let h=0,g=null;for(const e of l){const t=e.id;g!==t&&(g=t,c[h++]=e)}return c}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}class rB{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class lB{constructor(e,t){this.modelRange=e,this.viewLines=t}}class aB{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,i){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,i)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class dB{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new uB(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,i){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,n,i)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new dF(t,n)}onModelLinesInserted(e,t,n,i){return new uF(t,n)}onModelLineChanged(e,t,n){return[!1,new aF(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const n=t-e+1,i=new Array(n);for(let e=0;et)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const cB=wc.Right;class hB{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*cB/8))}reset(e){const t=Math.ceil((e+1)*cB/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStart=pB.create(this.model),this.glyphLanes=new hB(0),this.model.isTooLargeForTokenization())this._lines=new dB(this.model);else{const e=this._configuration.options,t=e.get(50),n=e.get(139),s=e.get(146),r=e.get(138),l=e.get(129);this._lines=new sB(this._editorId,this.model,i,o,t,this.model.getOptions().tabSize,n,s.wrappingColumn,r,l)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new TF(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new UF(this._configuration,this.getLineCount(),s)),this._register(this.viewLayout.onDidScroll((e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new hF(e)),this._eventDispatcher.emitOutgoingEvent(new CF(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))}))),this._register(this.viewLayout.onDidContentSizeChange((e=>{this._eventDispatcher.emitOutgoingEvent(e)}))),this._decorations=new KF(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}}))),this._register(mP.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new mF)}))),this._register(this._themeService.onDidColorThemeChange((e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new gF(e))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new nc(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new sF(e)),this._eventDispatcher.emitOutgoingEvent(new wF(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new JO)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new eF)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new cd(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new vB(t,this._viewportStart.startLineDelta)}return new vB(null,0)}_onConfigurationChanged(e,t){const n=this._captureStableViewport(),i=this._configuration.options,o=i.get(50),s=i.get(139),r=i.get(146),l=i.get(138),a=i.get(129);this._lines.setWrappingSettings(o,s,r.wrappingColumn,l,a)&&(e.emitViewEvent(new oF),e.emitViewEvent(new lF),e.emitViewEvent(new iF(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(91)&&(this._decorations.reset(),e.emitViewEvent(new iF(null))),t.hasChanged(98)&&(this._decorations.reset(),e.emitViewEvent(new iF(null))),e.emitViewEvent(new tF(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),Ky.shouldRecreate(t)&&(this.cursorConfig=new Ky(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();let n=!1,i=!1;const o=e instanceof uy?e.rawContentChangedEvent.changes:e.changes,s=e instanceof uy?e.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(const e of o)switch(e.changeType){case 4:for(let t=0;t!e.ownerId||e.ownerId===this._editorId))),r.addRequest(n,i,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter((e=>!e.ownerId||e.ownerId===this._editorId))),r.addRequest(e.detail,t,null);break}}const l=r.finalize(),a=new eh(l);for(const e of o)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new oF),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),n=!0;break;case 3:{const i=this._lines.onModelLinesDeleted(s,e.fromLineNumber,e.toLineNumber);null!==i&&(t.emitViewEvent(i),this.viewLayout.onLinesDeleted(i.fromLineNumber,i.toLineNumber)),n=!0;break}case 4:{const i=a.takeCount(e.detail.length),o=this._lines.onModelLinesInserted(s,e.fromLineNumber,e.toLineNumber,i);null!==o&&(t.emitViewEvent(o),this.viewLayout.onLinesInserted(o.fromLineNumber,o.toLineNumber)),n=!0;break}case 2:{const n=a.dequeue(),[o,r,l,d]=this._lines.onModelLineChanged(s,e.lineNumber,n);i=o,r&&t.emitViewEvent(r),l&&(t.emitViewEvent(l),this.viewLayout.onLinesInserted(l.fromLineNumber,l.toLineNumber)),d&&(t.emitViewEvent(d),this.viewLayout.onLinesDeleted(d.fromLineNumber,d.toLineNumber));break}}null!==s&&this._lines.acceptVersionId(s),this.viewLayout.onHeightMaybeChanged(),!n&&i&&(t.emitViewEvent(new lF),t.emitViewEvent(new iF(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){const t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}try{const t=this._eventDispatcher.beginEmitViewEvents();e instanceof uy&&t.emitOutgoingEvent(new EF(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()}))),this._register(this.model.onDidChangeTokens((e=>{const t=[];for(let n=0,i=e.ranges.length;n{this._eventDispatcher.emitSingleViewEvent(new rF),this.cursorConfig=new Ky(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new NF(e))}))),this._register(this.model.onDidChangeLanguage((e=>{this.cursorConfig=new Ky(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new DF(e))}))),this._register(this.model.onDidChangeOptions((e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new oF),e.emitViewEvent(new lF),e.emitViewEvent(new iF(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new Ky(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new IF(e))}))),this._register(this.model.onDidChangeDecorations((e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new iF(e)),this._eventDispatcher.emitOutgoingEvent(new LF(e))})))}setHiddenAreas(e,t){var n;this.hiddenAreasModel.setHiddenAreas(t,e);const i=this.hiddenAreasModel.getMergedRanges();if(i===this.previousHiddenAreas)return;this.previousHiddenAreas=i;const o=this._captureStableViewport();let s=!1;try{const e=this._eventDispatcher.beginEmitViewEvents();s=this._lines.setHiddenAreas(i),s&&(e.emitViewEvent(new oF),e.emitViewEvent(new lF),e.emitViewEvent(new iF(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const t=null===(n=o.viewportStartModelPosition)||void 0===n?void 0:n.lineNumber,r=t&&i.some((e=>e.startLineNumber<=t&&t<=e.endLineNumber));r||o.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),s&&this._eventDispatcher.emitOutgoingEvent(new SF)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(145),t=this._configuration.options.get(67),n=Math.max(20,Math.round(e.height/t)),i=this.viewLayout.getLinesViewportData(),o=Math.max(1,i.completelyVisibleStartLineNumber-n),s=Math.min(this.getLineCount(),i.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new nc(o,this.getLineMinColumn(o),s,this.getLineMaxColumn(s)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(0===n.length)return[t];const i=[];let o=0,s=t.startLineNumber,r=t.startColumn;const l=t.endLineNumber,a=t.endColumn;for(let e=0,t=n.length;el||(st.toInlineDecoration(e)))]),new bP(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,n,i,s.tokens,t,o,s.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){const i=this._lines.getViewLinesData(e,t,n);return new _P(this.getTabSize(),i)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,AD(this._configuration.options)),n=new mB;for(const i of t){const t=i.options,o=t.overviewRuler;if(!o)continue;const s=o.position;if(0===s)continue;const r=o.getColor(e.value),l=this.coordinatesConverter.getViewLineNumberOfModelPosition(i.range.startLineNumber,i.range.startColumn),a=this.coordinatesConverter.getViewLineNumberOfModelPosition(i.range.endLineNumber,i.range.endColumn);n.accept(r,t.zIndex,l,a,s)}return n.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const e=t.options.overviewRuler;null==e||e.invalidateCachedColor();const n=t.options.minimap;null==n||n.invalidateCachedColor()}}getValueInRange(e,t){const n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){const n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){const n=this.coordinatesConverter.convertViewPositionToModelPosition(e),i=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(i)}deduceModelPositionRelativeToViewPosition(e,t,n){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=n:t+=n);const o=this.model.getOffsetAt(i)+t;return this.model.getPositionAt(o)}getPlainTextToCopy(e,t,n){const i=n?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(nc.compareRangesUsingStarts);let o=!1,s=!1;for(const t of e)t.isEmpty()?o=!0:s=!0;if(!s){if(!t)return"";const n=e.map((e=>e.startLineNumber));let o="";for(let e=0;e0&&n[e-1]===n[e]||(o+=this.model.getLineContent(n[e])+i);return o}if(o&&t){const t=[];let i=0;for(const o of e){const e=o.startLineNumber;o.isEmpty()?e!==i&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(o,n?2:0)),i=e}return 1===t.length?t[0]:t}const r=[];for(const t of e)t.isEmpty()||r.push(this.model.getValueInRange(t,n?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(e,t){const n=this.model.getLanguageId();if(n===Kg)return null;if(1!==e.length)return null;let i=e[0];if(i.isEmpty()){if(!t)return null;const e=i.startLineNumber;i=new nc(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}const o=this._configuration.options.get(50),s=this._getColorMap();let r;return/[:;\\\/<>]/.test(o.fontFamily)||o.fontFamily===KD.fontFamily?r=KD.fontFamily:(r=o.fontFamily,r=r.replace(/"/g,"'"),/[,']/.test(r)||/[+ ]/.test(r)&&(r=`'${r}'`),r=`${r}, ${KD.fontFamily}`),{mode:n,html:`
    `+this._getHTMLToCopy(i,s)+"
    "}}_getHTMLToCopy(e,t){const n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,s=e.endColumn,r=this.getTabSize();let l="";for(let e=n;e<=o;e++){const a=this.model.tokenization.getLineTokens(e),d=a.getLineContent(),u=e===n?i-1:0,c=e===o?s-1:d.length;l+=""===d?"
    ":oL(d,a.inflate(),t,u,c,r,z)}return l}_getColorMap(){const e=IC.getColorMap(),t=["#000000"];if(e)for(let n=1,i=e.length;nthis._cursor.setStates(i,e,t,n)))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector((i=>this._cursor.setSelections(i,e,t,n)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector((t=>this._cursor.restoreState(t,e)))}_executeCursorEdit(e){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new kF):this._withViewEventsCollector(e)}executeEdits(e,t,n){this._executeCursorEdit((i=>this._cursor.executeEdits(i,e,t,n)))}startComposition(){this._executeCursorEdit((e=>this._cursor.startComposition(e)))}endComposition(e){this._executeCursorEdit((t=>this._cursor.endComposition(t,e)))}type(e,t){this._executeCursorEdit((n=>this._cursor.type(n,e,t)))}compositionType(e,t,n,i,o){this._executeCursorEdit((s=>this._cursor.compositionType(s,e,t,n,i,o)))}paste(e,t,n,i){this._executeCursorEdit((o=>this._cursor.paste(o,e,t,n,i)))}cut(e){this._executeCursorEdit((t=>this._cursor.cut(t,e)))}executeCommand(e,t){this._executeCursorEdit((n=>this._cursor.executeCommand(n,e,t)))}executeCommands(e,t){this._executeCursorEdit((n=>this._cursor.executeCommands(n,e,t)))}revealAllCursors(e,t,n=!1){this._withViewEventsCollector((i=>this._cursor.revealAll(i,e,n,0,t,0)))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector((i=>this._cursor.revealPrimary(i,e,n,0,t,0)))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),n=new nc(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new cF(e,!1,n,null,0,!0,0))))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),n=new nc(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new cF(e,!1,n,null,0,!0,0))))}revealRange(e,t,n,i,o){this._withViewEventsCollector((s=>s.emitViewEvent(new cF(e,!1,n,null,i,t,o))))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new fF),this._eventDispatcher.emitOutgoingEvent(new yF))}_withViewEventsCollector(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}}class pB{static create(e){const t=e._setTrackedRange(null,new nc(1,1,1,1),1);return new pB(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,n,i,o){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=i,this._startLineDelta=o}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const n=e.coordinatesConverter.convertViewPositionToModelPosition(new cd(t,e.getLineMinColumn(t))),i=e.model._setTrackedRange(this._modelTrackedRange,new nc(n.lineNumber,n.column,n.lineNumber,n.column),1),o=e.viewLayout.getVerticalOffsetForLineNumber(t),s=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=i,this._startLineDelta=s-o}invalidate(){this._isValid=!1}}class mB{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,i,o){const s=this._asMap[e];if(s){const e=s.data,t=e[e.length-3],r=e[e.length-1];if(t===o&&r+1>=n)return void(i>r&&(e[e.length-1]=i));e.push(o,n,i)}else{const s=new SP(e,t,[o,n,i]);this._asMap[e]=s,this.asArray.push(s)}}}class fB{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const n=this.hiddenAreas.get(e);n&&_B(n,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce(((e,t)=>function(e,t){const n=[];let i=0,o=0;for(;i{this._onDidChangeConfiguration.fire(e);const t=this._configuration.options;if(e.hasChanged(145)){const e=t.get(145);this._onDidLayoutChange.fire(e)}}))),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=a,this._codeEditorService=o,this._commandService=s,this._themeService=l,this._register(new DB(this,this._contextKeyService)),this._register(new NB(this,this._contextKeyService,c)),this._instantiationService=i.createChild(new bB([su,this._contextKeyService])),this._modelData=null,this._focusTracker=new EB(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}))),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},p=Array.isArray(n.contributions)?n.contributions:Yu.getEditorContributions(),this._contributions.initialize(this,p,this._instantiationService);for(const e of Yu.getEditorActions()){if(this._actions.has(e.id)){xe(new Error(`Cannot have two actions with the same id ${e.id}`));continue}const t=new BO(e.id,e.label,e.alias,e.metadata,null!==(h=e.precondition)&&void 0!==h?h:void 0,(t=>this._instantiationService.invokeFunction((n=>Promise.resolve(e.runEditorCommand(n,this,t))))),this._contextKeyService);this._actions.set(t.id,t)}const m=()=>!this._configuration.options.get(91)&&this._configuration.options.get(36).enabled;this._register(new kr(this._domElement,{onDragOver:e=>{if(!m())return;const t=this.getTargetAtClientPoint(e.clientX,e.clientY);(null==t?void 0:t.position)&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!m())return;if(this.removeDropIndicator(),!e.dataTransfer)return;const t=this.getTargetAtClientPoint(e.clientX,e.clientY);(null==t?void 0:t.position)&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){var t;null===(t=this._modelData)||void 0===t||t.view.writeScreenReaderContent(e)}_createConfiguration(e,t,n){return new NT(e,t,this._domElement,n)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return WO.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?lS.getWordAtPosition(this._modelData.model,this._configuration.options.get(131),this._configuration.options.get(130),e):null}getValue(e=null){if(!this._modelData)return"";const t=!(!e||!e.preserveBOM);let n=0;return e&&e.lineEnding&&"\n"===e.lineEnding?n=1:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(n=2),this._modelData.model.getValue(n,t)}setValue(e){this._modelData&&this._modelData.model.setValue(e)}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){var t;const n=e;if(null===this._modelData&&null===n)return;if(this._modelData&&this._modelData.model===n)return;const i={oldModelUrl:(null===(t=this._modelData)||void 0===t?void 0:t.model.uri)||null,newModelUrl:(null==n?void 0:n.uri)||null};this._onWillChangeModel.fire(i);const o=this.hasTextFocus(),s=this._detachModel();this._attachModel(n),o&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(s),this._contributionsDisposable=this._contributions.onAfterModelAttached()}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const n in t)this._removeDecorationType(e+"-"+n)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,n,i){const o=e.model.validatePosition({lineNumber:t,column:n}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(s.lineNumber,i)}getTopForLineNumber(e,t=!1){return this._modelData?wB._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?wB._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,n,i=!1){const o=e.model.validatePosition({lineNumber:t,column:n}),s=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber,i)}getBottomForLineNumber(e,t=!1){return this._modelData?wB._getVerticalOffsetAfterPosition(this._modelData,e,1,t):-1}setHiddenAreas(e,t){var n;null===(n=this._modelData)||void 0===n||n.viewModel.setHiddenAreas(e.map((e=>nc.lift(e))),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),n=this._modelData.model.getOptions().tabSize;return dh.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,n)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!cd.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,n,i){if(!this._modelData)return;if(!nc.isIRange(e))throw new Error("Invalid arguments");const o=this._modelData.model.validateRange(e),s=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(o);this._modelData.viewModel.revealRange("api",n,s,t,i)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,n){if("number"!=typeof e)throw new Error("Invalid arguments");this._sendRevealRange(new nc(e,1,e,1),t,!1,n)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,n,i){if(!cd.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new nc(e.lineNumber,e.column,e.lineNumber,e.column),t,n,i)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const n=ic.isISelection(e),i=nc.isIRange(e);if(!n&&!i)throw new Error("Invalid arguments");if(n)this._setSelectionImpl(e,t);else if(i){const n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const n=new ic(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[n])}revealLines(e,t,n=0){this._revealLines(e,t,0,n)}revealLinesInCenter(e,t,n=0){this._revealLines(e,t,1,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._revealLines(e,t,2,n)}revealLinesNearTop(e,t,n=0){this._revealLines(e,t,5,n)}_revealLines(e,t,n,i){if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new nc(e,1,t,1),n,!1,i)}revealRange(e,t=0,n=!1,i=!0){this._revealRange(e,n?1:0,i,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,n,i){if(!nc.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(nc.lift(e),t,n,i)}setSelections(e,t="api",n=0){if(this._modelData){if(!e||0===e.length)throw new Error("Invalid arguments");for(let t=0,n=e.length;t0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});const n=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(n)}}handleInitialized(){var e;null===(e=this._getViewModel())||void 0===e||e.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter((e=>e.isSupported())),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,n){switch(n=n||{},t){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(e);case"type":{const t=n;return void this._type(e,t.text||"")}case"replacePreviousChar":{const t=n;return void this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0)}case"compositionType":{const t=n;return void this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0)}case"paste":{const t=n;return void this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent)}case"cut":return void this._cut(e)}const i=this.getAction(t);i?Promise.resolve(i.run(n)).then(void 0,xe):this._modelData&&(this._triggerEditorCommand(e,t,n)||this._triggerCommand(t,n))}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,n,i,o){this._modelData&&this._modelData.viewModel.compositionType(t,n,i,o,e)}_paste(e,t,n,i,o,s){if(!this._modelData)return;const r=this._modelData.viewModel,l=r.getSelection().getStartPosition();r.paste(t,n,i,e);const a=r.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({clipboardEvent:s,range:new nc(l.lineNumber,l.column,a.lineNumber,a.column),languageId:o})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,n){const i=Yu.getEditorCommand(t);return!!i&&((n=n||{}).source=e,this._instantiationService.invokeFunction((e=>{Promise.resolve(i.runEditorCommand(e,this,n)).then(void 0,xe)})),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&!this._configuration.options.get(91)&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!!this._modelData&&!this._configuration.options.get(91)&&(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,n){if(!this._modelData)return!1;if(this._configuration.options.get(91))return!1;let i;return i=n?Array.isArray(n)?()=>n:n:()=>null,this._modelData.viewModel.executeEdits(e,t,i),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new IB(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,AD(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,AD(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&0!==e.length&&this._modelData.model.changeDecorations((t=>{t.deltaDecorations(e,[])}))}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations((e=>e.deltaDecorations(t,[]))),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(145)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!(!this._modelData||!this._modelData.hasRealView)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id:"+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const n=this._contentWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(n)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){const t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const n=this._overlayWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(n)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){const t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const n=this._glyphMarginWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(n)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),n=this._configuration.options,i=n.get(145);return{top:wB._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+i.glyphMarginWidth+i.lineNumbersWidth+i.decorationsWidth-this.getScrollLeft(),height:n.get(67)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.view.render(!0,e)}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){nL(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e)return void(this._modelData=null);const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const n=e.onBeforeAttached(),i=new gB(this._id,this._configuration,e,TO.create(is(this._domElement)),VO.create(this._configuration.options),(e=>Cs(is(this._domElement),e)),this.languageConfigurationService,this._themeService,n);t.push(e.onWillDispose((()=>this.setModel(null)))),t.push(i.onEvent((t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(t.reachedMaxCursorCount){const e=_(0,"The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",this.getOption(80));this._notificationService.prompt(tN.Warning,e,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:_(0,"Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const e=[];for(let n=0,i=t.selections.length;n{this._paste("keyboard",e,t,n,i)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,n,i)=>{this._compositionType("keyboard",e,t,n,i)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,n,i)=>{const o={text:e,pasteOnNewLine:t,multicursorText:n,mode:i};this._commandService.executeCommand("paste",o)},type:e=>{const t={text:e};this._commandService.executeCommand("type",t)},compositionType:(e,t,n,i)=>{if(n||i){const o={text:e,replacePrevCharCnt:t,replaceNextCharCnt:n,positionDelta:i};this._commandService.executeCommand("compositionType",o)}else{const n={text:e,replaceCharCnt:t};this._commandService.executeCommand("replacePreviousChar",n)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const n=new wR(e.coordinatesConverter);return n.onKeyDown=e=>this._onKeyDown.fire(e),n.onKeyUp=e=>this._onKeyUp.fire(e),n.onContextMenu=e=>this._onContextMenu.fire(e),n.onMouseMove=e=>this._onMouseMove.fire(e),n.onMouseLeave=e=>this._onMouseLeave.fire(e),n.onMouseDown=e=>this._onMouseDown.fire(e),n.onMouseUp=e=>this._onMouseUp.fire(e),n.onMouseDrag=e=>this._onMouseDrag.fire(e),n.onMouseDrop=e=>this._onMouseDrop.fire(e),n.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),n.onMouseWheel=e=>this._onMouseWheel.fire(e),[new xO(t,this._configuration,this._themeService.getColorTheme(),e,n,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){null==e||e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){var e;if(null===(e=this._contributionsDisposable)||void 0===e||e.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const t=this._modelData.model,n=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),n&&this._domElement.contains(n)&&this._domElement.removeChild(n),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return null!==this._modelData}showDropIndicatorAt(e){const t=[{range:new nc(e.lineNumber,e.column,e.lineNumber,e.column),options:wB.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}};yB.dropIntoEditorDecorationOptions=My.register({description:"workbench-dnd-target",className:"dnd-target"}),yB=wB=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([CB(3,ad),CB(4,ud),CB(5,wd),CB(6,su),CB(7,Tv),CB(8,nN),CB(9,qS),CB(10,Qg),CB(11,wx)],yB);let SB=0;class xB{constructor(e,t,n,i,o,s){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=i,this.listenersToRemove=o,this.attachedView=s}dispose(){it(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class kB extends lt{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new Ct(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new Ct(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class LB extends Ct{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class DB extends lt{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=oc.editorSimpleInput.bindTo(t),this._editorFocus=oc.focus.bindTo(t),this._textInputFocus=oc.textInputFocus.bindTo(t),this._editorTextFocus=oc.editorTextFocus.bindTo(t),this._tabMovesFocus=oc.tabMovesFocus.bindTo(t),this._editorReadonly=oc.readOnly.bindTo(t),this._inDiffEditor=oc.inDiffEditor.bindTo(t),this._editorColumnSelection=oc.columnSelection.bindTo(t),this._hasMultipleSelections=oc.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=oc.hasNonEmptySelection.bindTo(t),this._canUndo=oc.canUndo.bindTo(t),this._canRedo=oc.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromConfig()))),this._register(this._editor.onDidChangeCursorSelection((()=>this._updateFromSelection()))),this._register(this._editor.onDidFocusEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidFocusEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidChangeModel((()=>this._updateFromModel()))),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromModel()))),this._register(DT.onDidChangeTabFocus((e=>this._tabMovesFocus.set(e)))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(DT.getTabFocusMode()),this._editorReadonly.set(e.get(91)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some((e=>!e.isEmpty())))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))}}class NB extends lt{constructor(e,t,n){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=n,this._langId=oc.languageId.bindTo(t),this._hasCompletionItemProvider=oc.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=oc.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=oc.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=oc.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=oc.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=oc.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=oc.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=oc.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=oc.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=oc.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=oc.hasReferenceProvider.bindTo(t),this._hasRenameProvider=oc.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=oc.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=oc.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=oc.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=oc.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=oc.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=oc.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=oc.isInEmbeddedEditor.bindTo(t);const i=()=>this._update();this._register(e.onDidChangeModel(i)),this._register(e.onDidChangeModelLanguage(i)),this._register(n.completionProvider.onDidChange(i)),this._register(n.codeActionProvider.onDidChange(i)),this._register(n.codeLensProvider.onDidChange(i)),this._register(n.definitionProvider.onDidChange(i)),this._register(n.declarationProvider.onDidChange(i)),this._register(n.implementationProvider.onDidChange(i)),this._register(n.typeDefinitionProvider.onDidChange(i)),this._register(n.hoverProvider.onDidChange(i)),this._register(n.documentHighlightProvider.onDidChange(i)),this._register(n.documentSymbolProvider.onDidChange(i)),this._register(n.referenceProvider.onDidChange(i)),this._register(n.renameProvider.onDidChange(i)),this._register(n.documentFormattingEditProvider.onDidChange(i)),this._register(n.documentRangeFormattingEditProvider.onDidChange(i)),this._register(n.signatureHelpProvider.onDidChange(i)),this._register(n.inlayHintsProvider.onDidChange(i)),i()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents((()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()}))}_update(){const e=this._editor.getModel();e?this._contextKeyService.bufferChangeEvents((()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===Ho.walkThroughSnippet||e.uri.scheme===Ho.vscodeChatCodeBlock)})):this.reset()}}class EB extends lt{constructor(e,t){super(),this._onChange=this._register(new Ct),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(ar(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus((()=>{this._hasDomElementFocus=!0,this._update()}))),this._register(this._domFocusTracker.onDidBlur((()=>{this._hasDomElementFocus=!1,this._update()}))),t&&(this._overflowWidgetsDomNode=this._register(ar(t)),this._register(this._overflowWidgetsDomNode.onDidFocus((()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()}))),this._register(this._overflowWidgetsDomNode.onDidBlur((()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()}))))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){var e;return null!==(e=this._hadFocus)&&void 0!==e&&e}}class IB{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,n){return this._editor.onDidChangeModelDecorations((n=>{this._isChangingDecorations||e.call(t,n)}),n)}getRange(e){return this._editor.hasModel()?e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e]):null}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const n of this._decorationIds){const i=e.getDecorationRange(n);i&&t.push(i)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations((t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)}))}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations((n=>{t=n.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)}))}finally{this._isChangingDecorations=!1}return t}}const MB=encodeURIComponent("");function AB(e){return MB+encodeURIComponent(e.toString())+TB}const RB=encodeURIComponent('');Fv(((e,t)=>{const n=e.getColor(Jm);n&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${AB(n)}") repeat-x bottom left; }`);const i=e.getColor(nf);i&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${AB(i)}") repeat-x bottom left; }`);const o=e.getColor(sf);o&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${AB(o)}") repeat-x bottom left; }`);const s=e.getColor(lf);s&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${function(e){return RB+encodeURIComponent(e.toString())+PB}(s)}") no-repeat bottom left; }`);const r=e.getColor(gb);r&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${r.rgba.a}; }`)}));class OB{static capture(e){if(0===e.getScrollTop()||e.hasPendingScrollAnimation())return new OB(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,n=0;const i=e.getVisibleRanges();if(i.length>0){t=i[0].getStartPosition();const o=e.getTopForPosition(t.lineNumber,t.column);n=e.getScrollTop()-o}return new OB(e.getScrollTop(),e.getContentHeight(),t,n,e.getPosition())}constructor(e,t,n,i,o){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=n,this._visiblePositionScrollDelta=i,this._cursorPosition=o}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const n=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+n)}}class FB{constructor(){this.lenses=[],this._disposables=new rt}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const n of e.lenses)this.lenses.push({symbol:n,provider:t})}}async function BB(e,t,n){const i=e.ordered(t),o=new Map,s=new FB,r=i.map((async(e,i)=>{o.set(e,i);try{const i=await Promise.resolve(e.provideCodeLenses(t,n));i&&s.add(i,e)}catch(e){ke(e)}}));return await Promise.all(r),s.lenses=s.lenses.sort(((e,t)=>e.symbol.range.startLineNumbert.symbol.range.startLineNumber?1:o.get(e.provider)o.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0)),s}var WB,VB;Cd.registerCommand("_executeCodeLensProvider",(function(e,...t){let[n,i]=t;fa(Io.isUri(n)),fa("number"==typeof i||!i);const{codeLensProvider:o}=e.get(wx),s=e.get(hd).getModel(n);if(!s)throw Ie();const r=[],l=new rt;return BB(o,s,It.None).then((e=>{l.add(e);const t=[];for(const n of e.lenses)null==i||Boolean(n.symbol.command)?r.push(n.symbol):i-- >0&&n.provider.resolveCodeLens&&t.push(Promise.resolve(n.provider.resolveCodeLens(s,n.symbol,It.None)).then((e=>r.push(e||n.symbol))));return Promise.all(t)})).then((()=>r)).finally((()=>{setTimeout((()=>l.dispose()),100)}))})),function(e){e[e.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",e[e.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"}(WB||(WB={})),function(e){e[e.None=0]="None",e[e.Initialized=1]="Initialized",e[e.Closed=2]="Closed"}(VB||(VB={}));class HB extends lt{constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new St),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=VB.None,this.cache=new Map,this.flushDelayer=this._register(new Wt(HB.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((e=>this.onDidChangeItemsExternal(e))))}onDidChangeItemsExternal(e){var t,n;this._onDidChangeStorage.pause();try{null===(t=e.changed)||void 0===t||t.forEach(((e,t)=>this.acceptExternal(t,e))),null===(n=e.deleted)||void 0===n||n.forEach((e=>this.acceptExternal(e,void 0)))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===VB.Closed)return;let n=!1;ma(t)?n=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),n=!0),n&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const n=this.cache.get(e);return ma(n)?t:n}getBoolean(e,t){const n=this.get(e);return ma(n)?t:"true"===n}getNumber(e,t){const n=this.get(e);return ma(n)?t:parseInt(n,10)}async set(e,t,n=!1){if(this.state===VB.Closed)return;if(ma(t))return this.delete(e,n);const i=aa(t)||Array.isArray(t)?(o=t,JSON.stringify(o,Lk)):String(t);var o;return this.cache.get(e)!==i?(this.cache.set(e,i),this.pendingInserts.set(e,i),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:n}),this.doFlush()):void 0}async delete(e,t=!1){if(this.state!==VB.Closed)return this.cache.delete(e)?(this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()):void 0}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally((()=>{var e;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)null===(e=this.whenFlushedCallbacks.pop())||void 0===e||e()}))}async doFlush(e){return this.options.hint===WB.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger((()=>this.flushPending()),e)}}HB.DEFAULT_FLUSH_DELAY=100;class zB{constructor(){this.onDidChangeItemsExternal=ft.None,this.items=new Map}async updateItems(e){var t,n;null===(t=e.insert)||void 0===t||t.forEach(((e,t)=>this.items.set(t,e))),null===(n=e.delete)||void 0===n||n.forEach((e=>this.items.delete(e)))}}const UB="__$__targetStorageMarker",KB=dd("storageService");var jB;!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(jB||(jB={}));class qB extends lt{constructor(e={flushInterval:qB.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new St),this._onDidChangeTarget=this._register(new St),this._onWillSaveState=this._register(new Ct),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,n){return ft.filter(this._onDidChangeValue.event,(n=>n.scope===e&&(void 0===t||n.key===t)),n)}emitDidChangeValue(e,t){const{key:n,external:i}=t;if(n===UB){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:n,target:this.getKeyTargets(e)[n],external:i})}get(e,t,n){var i;return null===(i=this.getStorage(t))||void 0===i?void 0:i.get(e,n)}getBoolean(e,t,n){var i;return null===(i=this.getStorage(t))||void 0===i?void 0:i.getBoolean(e,n)}getNumber(e,t,n){var i;return null===(i=this.getStorage(t))||void 0===i?void 0:i.getNumber(e,n)}store(e,t,n,i,o=!1){ma(t)?this.remove(e,n,o):this.withPausedEmitters((()=>{var s;this.updateKeyTarget(e,n,i),null===(s=this.getStorage(n))||void 0===s||s.set(e,t,o)}))}remove(e,t,n=!1){this.withPausedEmitters((()=>{var i;this.updateKeyTarget(e,t,void 0),null===(i=this.getStorage(t))||void 0===i||i.delete(e,n)}))}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,n,i=!1){var o,s;const r=this.getKeyTargets(t);"number"==typeof n?r[e]!==n&&(r[e]=n,null===(o=this.getStorage(t))||void 0===o||o.set(UB,JSON.stringify(r),i)):"number"==typeof r[e]&&(delete r[e],null===(s=this.getStorage(t))||void 0===s||s.set(UB,JSON.stringify(r),i))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?function(e){const t=e.get(UB);if(t)try{return JSON.parse(t)}catch(e){}return Object.create(null)}(t):Object.create(null)}}qB.DEFAULT_FLUSH_INTERVAL=6e4;const $B=dd("ICodeLensCache");class GB{constructor(e,t){this.lineCount=e,this.data=t}}let ZB=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new il(20,.75),vs(o,(()=>e.remove("codelens/cache",1)));const t="codelens/cache2",n=e.get(t,1,"{}");this._deserialize(n),ft.once(e.onWillSaveState)((n=>{n.reason===jB.SHUTDOWN&&e.store(t,this._serialize(),1,1)}))}put(e,t){const n=t.lenses.map((e=>{var t;return{range:e.symbol.range,command:e.symbol.command&&{id:"",title:null===(t=e.symbol.command)||void 0===t?void 0:t.title}}})),i=new FB;i.add({lenses:n,dispose:()=>{}},this._fakeProvider);const o=new GB(e.getLineCount(),i);this._cache.set(e.uri.toString(),o)}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,n]of this._cache){const i=new Set;for(const e of n.data.lenses)i.add(e.symbol.range.startLineNumber);e[t]={lineCount:n.lineCount,lines:[...i.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const e in t){const n=t[e],i=[];for(const e of n.lines)i.push({range:new nc(e,1,e,11)});const o=new FB;o.add({lenses:i,dispose(){}},this._fakeProvider),this._cache.set(e,new GB(n.lineCount,o))}}catch(e){}}};ZB=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,KB)],ZB),yg($B,ZB,1);var YB=n(1727),XB={};XB.styleTagTransform=Vr(),XB.setAttributes=Or(),XB.insert=Rr().bind(null,"head"),XB.domAPI=Tr(),XB.insertStyleElement=Br(),Ir()(YB.A,XB),YB.A&&YB.A.locals&&YB.A.locals;class QB{constructor(e,t,n){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=n,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class JB{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-"+JB._idPool++,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const n=[];let i=!1;for(let t=0;t{e.symbol.command&&l.push(e.symbol),n.addDecoration({range:e.symbol.range,options:tW},(e=>this._decorationIds[t]=e)),r=r?nc.plusRange(r,e.symbol.range):nc.lift(e.symbol.range)})),this._viewZone=new QB(r.startLineNumber-1,o,s),this._viewZoneId=i.addZone(this._viewZone),l.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(l,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new JB(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],null==t||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 n=this._editor.getModel().getDecorationRange(e),i=this._data[t].symbol;return!(!n||nc.isEmpty(i.range)!==n.isEmpty())}))}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach(((e,n)=>{t.addDecoration({range:e.symbol.range,options:tW},(e=>this._decorationIds[n]=e))}))}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;tZo(rW.of(t),e)),0)}get(e){const t=this._key(e),n=this._cache.get(t);return n?BN(n.value,this._min,this._max):this.default()}update(e,t){const n=this._key(e);let i=this._cache.get(n);i||(i=new VN(6),this._cache.set(n,i));const o=BN(i.update(t),this._min,this._max);return zo(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${o}ms`),o}_overall(){const e=new WN;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return BN(0|this._overall()||this._default,this._min,this._max)}}let dW=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,n){var i,o,s;const r=null!==(i=null==n?void 0:n.min)&&void 0!==i?i:50,l=null!==(o=null==n?void 0:n.max)&&void 0!==o?o:r**2,a=null!==(s=null==n?void 0:n.key)&&void 0!==s?s:void 0,d=`${rW.of(e)},${r}${a?","+a:""}`;let u=this._data.get(d);return u||(this._isDev?u=new aW(this._logService,t,e,0|this._overallAverage()||1.5*r,r,l):(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),u=new lW(1.5*r)),this._data.set(d,u)),u}_overallAverage(){const e=new WN;for(const t of this._data.values())e.update(t.default());return e.value}};dW=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([oW(0,Tu),oW(1,iW)],dW),yg(sW,dW,1);var uW=function(e,t){return function(n,i){t(n,i,e)}};let cW=class{constructor(e,t,n,i,o,s){this._editor=e,this._languageFeaturesService=t,this._commandService=i,this._notificationService=o,this._codeLensCache=s,this._disposables=new rt,this._localToDispose=new rt,this._lenses=[],this._oldCodeLensModels=new rt,this._provideCodeLensDebounce=n.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=n.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new jt((()=>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((e=>{(e.hasChanged(50)||e.hasChanged(19)||e.hasChanged(18))&&this._updateLensStyle(),e.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(),null===(e=this._currentCodeLensModel)||void 0===e||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=.9*this._editor.getOption(52)|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),n=this._editor.getOption(18),i=this._editor.getOption(50),{style:o}=this._editor.getContainerDomNode();o.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),o.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),o.setProperty("--vscode-editorCodeLens-fontFeatureSettings",i.fontFeatureSettings),n&&(o.setProperty("--vscode-editorCodeLens-fontFamily",n),o.setProperty("--vscode-editorCodeLens-fontFamilyDefault",KD.fontFamily)),this._editor.changeViewZones((t=>{for(const n of this._lenses)n.updateHeight(e,t)}))}_localDispose(){var e,t,n;null===(e=this._getCodeLensModelPromise)||void 0===e||e.cancel(),this._getCodeLensModelPromise=void 0,null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(n=this._currentCodeLensModel)||void 0===n||n.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e)return;if(!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e))return void(t&&Ht((()=>{const n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())}),3e4,this._localToDispose));for(const t of this._languageFeaturesService.codeLensProvider.all(e))if("function"==typeof t.onDidChange){const e=t.onDidChange((()=>n.schedule()));this._localToDispose.add(e)}const n=new jt((()=>{var t;const i=Date.now();null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=Pt((t=>BB(this._languageFeaturesService.codeLensProvider,e,t))),this._getCodeLensModelPromise.then((t=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=t,this._codeLensCache.put(e,t);const o=this._provideCodeLensDebounce.update(e,Date.now()-i);n.delay=o,this._renderCodeLensSymbols(t),this._resolveCodeLensesInViewportSoon()}),xe)}),this._provideCodeLensDebounce.get(e));this._localToDispose.add(n),this._localToDispose.add(st((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{var e;this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const n=[];let i=-1;this._lenses.forEach((e=>{e.isValid()&&i!==e.getLineNumber()?(e.update(t),i=e.getLineNumber()):n.push(e)}));const o=new eW;n.forEach((e=>{e.dispose(o,t),this._lenses.splice(this._lenses.indexOf(e),1)})),o.commit(e)}))})),n.schedule(),this._resolveCodeLensesScheduler.cancel(),null===(e=this._resolveCodeLensesPromise)||void 0===e||e.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{n.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{n.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(st((()=>{if(this._editor.getModel()){const e=OB.capture(this._editor);this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{this._disposeAllLenses(e,t)}))})),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((e=>{if(9!==e.target.type)return;let t=e.target.element;if("SPAN"===(null==t?void 0:t.tagName)&&(t=t.parentElement),"A"===(null==t?void 0:t.tagName))for(const e of this._lenses){const n=e.getCommand(t);if(n){this._commandService.executeCommand(n.id,...n.arguments||[]).catch((e=>this._notificationService.error(e)));break}}}))),n.schedule()}_disposeAllLenses(e,t){const n=new eW;for(const e of this._lenses)e.dispose(n,t);e&&n.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),n=[];let i;for(const o of e.lenses){const e=o.symbol.range.startLineNumber;e<1||e>t||(i&&i[i.length-1].symbol.range.startLineNumber===e?i.push(o):(i=[o],n.push(i)))}if(!n.length&&!this._lenses.length)return;const o=OB.capture(this._editor),s=this._getLayoutInfo();this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const i=new eW;let o=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),o++,r++)}for(;othis._resolveCodeLensesInViewportSoon()))),r++;i.commit(e)}))})),o.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;null===(e=this._resolveCodeLensesPromise)||void 0===e||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const n=[],i=[];if(this._lenses.forEach((e=>{const o=e.computeIfNecessary(t);o&&(n.push(o),i.push(e))})),0===n.length)return;const o=Date.now(),s=Pt((e=>{const o=n.map(((n,o)=>{const s=new Array(n.length),r=n.map(((n,i)=>n.symbol.command||"function"!=typeof n.provider.resolveCodeLens?(s[i]=n.symbol,Promise.resolve(void 0)):Promise.resolve(n.provider.resolveCodeLens(t,n.symbol,e)).then((e=>{s[i]=e}),ke)));return Promise.all(r).then((()=>{e.isCancellationRequested||i[o].isDisposed()||i[o].updateCommands(s)}))}));return Promise.all(o)}));this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then((()=>{const e=this._resolveCodeLensesDebounce.update(t,Date.now()-o);this._resolveCodeLensesScheduler.delay=e,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(e=>{xe(e),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(null===(e=this._currentCodeLensModel)||void 0===e?void 0:e.isDisposed)?void 0:this._currentCodeLensModel}};cW.ID="css.editor.codeLens",cW=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([uW(1,wx),uW(2,sW),uW(3,wd),uW(4,nN),uW(5,$B)],cW),Zu(cW.ID,cW,1),$u(class extends zu{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:oc.hasCodeLensProvider,label:_(0,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const n=e.get(SL),i=e.get(wd),o=e.get(nN),s=t.getSelection().positionLineNumber,r=t.getContribution(cW.ID);if(!r)return;const l=await r.getModel();if(!l)return;const a=[];for(const e of l.lenses)e.symbol.command&&e.symbol.range.startLineNumber===s&&a.push({label:e.symbol.command.title,command:e.symbol.command});if(0===a.length)return;const d=await n.pick(a,{canPickMany:!1,placeHolder:_(0,"Select a command")});if(!d)return;let u=d.command;if(l.isDisposed){const e=await r.getModel(),t=null==e?void 0:e.lenses.find((e=>{var t;return e.symbol.range.startLineNumber===s&&(null===(t=e.symbol.command)||void 0===t?void 0:t.title)===u.title}));if(!t||!t.symbol.command)return;u=t.symbol.command}try{await i.executeCommand(u.id,...u.arguments||[])}catch(e){o.error(e)}}});let hW=!1;function gW(e){q&&(hW||(hW=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(e.message))}class pW{constructor(e,t,n,i){this.vsWorker=e,this.req=t,this.method=n,this.args=i,this.type=0}}class mW{constructor(e,t,n,i){this.vsWorker=e,this.seq=t,this.res=n,this.err=i,this.type=1}}class fW{constructor(e,t,n,i){this.vsWorker=e,this.req=t,this.eventName=n,this.arg=i,this.type=2}}class _W{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}}class vW{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class bW{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const n=String(++this._lastSentReq);return new Promise(((i,o)=>{this._pendingReplies[n]={resolve:i,reject:o},this._send(new pW(this._workerId,n,e,t))}))}listen(e,t){let n=null;const i=new Ct({onWillAddFirstListener:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,i),this._send(new fW(this._workerId,n,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(n),this._send(new vW(this._workerId,n)),n=null}});return i.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;return e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),void t.reject(n)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then((e=>{this._send(new mW(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=Le(e.detail)),this._send(new mW(this._workerId,t,void 0,Le(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,n=this._handler.handleEvent(e.eventName,e.arg)((e=>{this._send(new _W(this._workerId,t,e))}));this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let n=0;n{this._protocol.handleMessage(e)}),(e=>{null==i||i(e)}))),this._protocol=new bW({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t)=>{if("function"!=typeof n[e])return Promise.reject(new Error("Missing method "+e+" on main thread host."));try{return Promise.resolve(n[e].apply(n,t))}catch(e){return Promise.reject(e)}},handleEvent:(e,t)=>{if(yW(e)){const i=n[e].call(n,t);if("function"!=typeof i)throw new Error(`Missing dynamic event ${e} on main thread host.`);return i}if(CW(e)){const t=n[e];if("function"!=typeof t)throw new Error(`Missing event ${e} on main thread host.`);return t}throw new Error(`Malformed event name ${e}`)}}),this._protocol.setWorkerId(this._worker.getId());let o=null;const s=globalThis.require;void 0!==s&&"function"==typeof s.getConfig?o=s.getConfig():void 0!==globalThis.requirejs&&(o=globalThis.requirejs.s.contexts._.config);const r=vc(n);this._onModuleLoaded=this._protocol.sendMessage("$initialize",[this._worker.getId(),JSON.parse(JSON.stringify(o)),t,r]);const l=(e,t)=>this._request(e,t),a=(e,t)=>this._protocol.listen(e,t);this._lazyProxy=new Promise(((e,n)=>{i=n,this._onModuleLoaded.then((t=>{e(function(e,t,n){const i=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},o=e=>function(t){return n(e,t)},s={};for(const t of e)yW(t)?s[t]=o(t):CW(t)?s[t]=n(t,void 0):s[t]=i(t);return s}(t,l,a))}),(e=>{n(e),this._onError("Worker failed to load "+t,e)}))}))}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise(((n,i)=>{this._onModuleLoaded.then((()=>{this._protocol.sendMessage(e,t).then(n,i)}),i)}))}_onError(e,t){console.error(e),console.info(t)}}function CW(e){return"o"===e[0]&&"n"===e[1]&&Ci(e.charCodeAt(2))}function yW(e){return/^onDynamic/.test(e)&&Ci(e.charCodeAt(9))}const SW=Yk("defaultWorkerFactory",{createScriptURL:e=>e});class xW extends lt{constructor(e,t,n,i,o){super(),this.id=t,this.label=n;const s=function(e){const t=globalThis.MonacoEnvironment;if(t){if("function"==typeof t.getWorker)return t.getWorker("workerMain.js",e);if("function"==typeof t.getWorkerUrl){const n=t.getWorkerUrl("workerMain.js",e);return new Worker(SW?SW.createScriptURL(n):n,{name:e})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}(n);"function"==typeof s.then?this.worker=s:this.worker=Promise.resolve(s),this.postMessage(e,[]),this.worker.then((e=>{e.onmessage=function(e){i(e.data)},e.onmessageerror=o,"function"==typeof e.addEventListener&&e.addEventListener("error",o)})),this._register(st((()=>{var e;null===(e=this.worker)||void 0===e||e.then((e=>{e.onmessage=null,e.onmessageerror=null,e.removeEventListener("error",o),e.terminate()})),this.worker=null})))}getId(){return this.id}postMessage(e,t){var n;null===(n=this.worker)||void 0===n||n.then((n=>{try{n.postMessage(e,t)}catch(e){xe(e),xe(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:e}))}}))}}class kW{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,n){const i=++kW.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new xW(e,i,this._label||"anonymous"+i,t,(e=>{gW(e),this._webWorkerFailedBeforeError=e,n(e)}))}}kW.LAST_WORKER_ID=0;class LW{constructor(e,t,n,i){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=i}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class DW{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,i=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new LW(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class TW{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[i,o,s]=TW._getElements(e),[r,l,a]=TW._getElements(t);this._hasStrings=s&&a,this._originalStringElements=i,this._originalElementsOrHash=o,this._modifiedStringElements=r,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(TW._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,i=t.length;n=e&&i>=n&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||n>i){let o;return n<=i?(EW.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o=[new LW(e,0,n,i-n+1)]):e<=t?(EW.Assert(n===i+1,"modifiedStart should only be one more than modifiedEnd"),o=[new LW(e,t-e+1,n,0)]):(EW.Assert(e===t+1,"originalStart should only be one more than originalEnd"),EW.Assert(n===i+1,"modifiedStart should only be one more than modifiedEnd"),o=[]),o}const s=[0],r=[0],l=this.ComputeRecursionPoint(e,t,n,i,s,r,o),a=s[0],d=r[0];if(null!==l)return l;if(!o[0]){const s=this.ComputeDiffRecursive(e,a,n,d,o);let r=[];return r=o[0]?[new LW(a+1,t-(a+1)+1,d+1,i-(d+1)+1)]:this.ComputeDiffRecursive(a+1,t,d+1,i,o),this.ConcatenateChanges(s,r)}return[new LW(e,t-e+1,n,i-n+1)]}WALKTRACE(e,t,n,i,o,s,r,l,a,d,u,c,h,g,p,m,f,_){let v=null,b=null,w=new MW,C=t,y=n,S=h[0]-m[0]-i,x=-1073741824,k=this.m_forwardHistory.length-1;do{const t=S+e;t===C||t=0&&(e=(a=this.m_forwardHistory[k])[0],C=1,y=a.length-1)}while(--k>=-1);if(v=w.getReverseChanges(),_[0]){let e=h[0]+1,t=m[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}b=[new LW(e,c-e+1,t,p-t+1)]}else{w=new MW,C=s,y=r,S=h[0]-m[0]-l,x=1073741824,k=f?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=S+o;e===C||e=d[e+1]?(g=(u=d[e+1]-1)-S-l,u>x&&w.MarkNextChange(),x=u+1,w.AddOriginalElement(u+1,g+1),S=e+1-o):(g=(u=d[e-1])-S-l,u>x&&w.MarkNextChange(),x=u,w.AddModifiedElement(u+1,g+1),S=e-1-o),k>=0&&(o=(d=this.m_reverseHistory[k])[0],C=1,y=d.length-1)}while(--k>=-1);b=w.getChanges()}return this.ConcatenateChanges(v,b)}ComputeRecursionPoint(e,t,n,i,o,s,r){let l=0,a=0,d=0,u=0,c=0,h=0;e--,n--,o[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const g=t-e+(i-n),p=g+1,m=new Int32Array(p),f=new Int32Array(p),_=i-n,v=t-e,b=e-n,w=t-i,C=(v-_)%2==0;m[_]=e,f[v]=t,r[0]=!1;for(let y=1;y<=g/2+1;y++){let g=0,S=0;d=this.ClipDiagonalBound(_-y,y,_,p),u=this.ClipDiagonalBound(_+y,y,_,p);for(let e=d;e<=u;e+=2){l=e===d||eg+S&&(g=l,S=a),!C&&Math.abs(e-v)<=y-1&&l>=f[e])return o[0]=l,s[0]=a,n<=f[e]&&y<=1448?this.WALKTRACE(_,d,u,b,v,c,h,w,m,f,l,t,o,a,i,s,C,r):null}const x=(g-e+(S-n)-y)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(g,x))return r[0]=!0,o[0]=g,s[0]=S,x>0&&y<=1448?this.WALKTRACE(_,d,u,b,v,c,h,w,m,f,l,t,o,a,i,s,C,r):(e++,n++,[new LW(e,t-e+1,n,i-n+1)]);c=this.ClipDiagonalBound(v-y,y,v,p),h=this.ClipDiagonalBound(v+y,y,v,p);for(let g=c;g<=h;g+=2){l=g===c||g=f[g+1]?f[g+1]-1:f[g-1],a=l-(g-v)-w;const p=l;for(;l>e&&a>n&&this.ElementsAreEqual(l,a);)l--,a--;if(f[g]=l,C&&Math.abs(g-_)<=y&&l<=m[g])return o[0]=l,s[0]=a,p>=m[g]&&y<=1448?this.WALKTRACE(_,d,u,b,v,c,h,w,m,f,l,t,o,a,i,s,C,r):null}if(y<=1447){let e=new Int32Array(u-d+2);e[0]=_-d+1,IW.Copy2(m,d,e,1,u-d+1),this.m_forwardHistory.push(e),e=new Int32Array(h-c+2),e[0]=v-c+1,IW.Copy2(f,c,e,1,h-c+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(_,d,u,b,v,c,h,w,m,f,l,t,o,a,i,s,C,r)}PrettifyChanges(e){for(let t=0;t0,r=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;t--){const n=e[t];let i=0,o=0;if(t>0){const n=e[t-1];i=n.originalStart+n.originalLength,o=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,r=n.modifiedLength>0;let l=0,a=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,d=n.modifiedStart-e;if(ta&&(a=u,l=e)}n.originalStart-=l,n.modifiedStart-=l;const d=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],d)&&(e[t-1]=d[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t0&&n>l&&(l=n,a=t,d=e)}return l>0?[a,d]:null}_contiguousSequenceScore(e,t,n){let i=0;for(let o=0;o=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)}ConcatenateChanges(e,t){const n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const i=new Array(e.length+t.length-1);return IW.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],IW.Copy(t,1,i,e.length,t.length-1),i}{const n=new Array(e.length+t.length);return IW.Copy(e,0,n,0,e.length),IW.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(EW.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),EW.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const i=e.originalStart;let o=e.originalLength;const s=e.modifiedStart;let r=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(r=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new LW(i,o,s,r),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,i){if(e>=0&&et&&(t=s),o>n&&(n=o),r>n&&(n=r)}t++,n++;const i=new RW(n,t,0);for(let t=0,n=e.length;t=this._maxCharCode?0:this._states.get(e,t)}}let OW=null,FW=null;class BW{static _createLink(e,t,n,i,o){let s=o-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>i);if(i>0){const e=t.charCodeAt(i-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:s+2},url:t.substring(i,s+1)}}static computeLinks(e,t=function(){return null===OW&&(OW=new PW([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),OW}()){const n=function(){if(null===FW){FW=new Kw(0);const e=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let t=0;t=0?(i+=n?1:-1,i<0?i=e.length-1:i%=e.length,e[i]):null}}var VW,HW,zW,UW,KW,jW,qW,$W,GW,ZW,YW,XW,QW,JW,eV,tV,nV,iV,oV,sV,rV,lV,aV,dV,uV,cV,hV,gV,pV,mV,fV,_V,vV,bV,wV,CV,yV,SV,xV,kV,LV,DV,NV,EV;WW.INSTANCE=new WW,function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(VW||(VW={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(HW||(HW={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(zW||(zW={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(UW||(UW={})),function(e){e[e.Deprecated=1]="Deprecated"}(KW||(KW={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(jW||(jW={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(qW||(qW={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}($W||($W={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(GW||(GW={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(ZW||(ZW={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(YW||(YW={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.definitionLinkOpensInPeek=88]="definitionLinkOpensInPeek",e[e.quickSuggestions=89]="quickSuggestions",e[e.quickSuggestionsDelay=90]="quickSuggestionsDelay",e[e.readOnly=91]="readOnly",e[e.readOnlyMessage=92]="readOnlyMessage",e[e.renameOnType=93]="renameOnType",e[e.renderControlCharacters=94]="renderControlCharacters",e[e.renderFinalNewline=95]="renderFinalNewline",e[e.renderLineHighlight=96]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=97]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=98]="renderValidationDecorations",e[e.renderWhitespace=99]="renderWhitespace",e[e.revealHorizontalRightPadding=100]="revealHorizontalRightPadding",e[e.roundedSelection=101]="roundedSelection",e[e.rulers=102]="rulers",e[e.scrollbar=103]="scrollbar",e[e.scrollBeyondLastColumn=104]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=105]="scrollBeyondLastLine",e[e.scrollPredominantAxis=106]="scrollPredominantAxis",e[e.selectionClipboard=107]="selectionClipboard",e[e.selectionHighlight=108]="selectionHighlight",e[e.selectOnLineNumbers=109]="selectOnLineNumbers",e[e.showFoldingControls=110]="showFoldingControls",e[e.showUnused=111]="showUnused",e[e.snippetSuggestions=112]="snippetSuggestions",e[e.smartSelect=113]="smartSelect",e[e.smoothScrolling=114]="smoothScrolling",e[e.stickyScroll=115]="stickyScroll",e[e.stickyTabStops=116]="stickyTabStops",e[e.stopRenderingLineAfter=117]="stopRenderingLineAfter",e[e.suggest=118]="suggest",e[e.suggestFontSize=119]="suggestFontSize",e[e.suggestLineHeight=120]="suggestLineHeight",e[e.suggestOnTriggerCharacters=121]="suggestOnTriggerCharacters",e[e.suggestSelection=122]="suggestSelection",e[e.tabCompletion=123]="tabCompletion",e[e.tabIndex=124]="tabIndex",e[e.unicodeHighlighting=125]="unicodeHighlighting",e[e.unusualLineTerminators=126]="unusualLineTerminators",e[e.useShadowDOM=127]="useShadowDOM",e[e.useTabStops=128]="useTabStops",e[e.wordBreak=129]="wordBreak",e[e.wordSegmenterLocales=130]="wordSegmenterLocales",e[e.wordSeparators=131]="wordSeparators",e[e.wordWrap=132]="wordWrap",e[e.wordWrapBreakAfterCharacters=133]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=134]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=135]="wordWrapColumn",e[e.wordWrapOverride1=136]="wordWrapOverride1",e[e.wordWrapOverride2=137]="wordWrapOverride2",e[e.wrappingIndent=138]="wrappingIndent",e[e.wrappingStrategy=139]="wrappingStrategy",e[e.showDeprecated=140]="showDeprecated",e[e.inlayHints=141]="inlayHints",e[e.editorClassName=142]="editorClassName",e[e.pixelRatio=143]="pixelRatio",e[e.tabFocusMode=144]="tabFocusMode",e[e.layoutInfo=145]="layoutInfo",e[e.wrappingInfo=146]="wrappingInfo",e[e.defaultColorDecorators=147]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=148]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=149]="inlineCompletionsAccessibilityVerbose"}(XW||(XW={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(QW||(QW={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(JW||(JW={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(eV||(eV={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(tV||(tV={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(nV||(nV={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(iV||(iV={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(oV||(oV={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(sV||(sV={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(rV||(rV={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(lV||(lV={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(aV||(aV={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(dV||(dV={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(uV||(uV={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(cV||(cV={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(hV||(hV={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(gV||(gV={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(pV||(pV={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(mV||(mV={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(fV||(fV={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(_V||(_V={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(vV||(vV={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(bV||(bV={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(wV||(wV={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(CV||(CV={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(yV||(yV={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(SV||(SV={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(xV||(xV={})),function(e){e[e.Deprecated=1]="Deprecated"}(kV||(kV={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(LV||(LV={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(DV||(DV={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(NV||(NV={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(EV||(EV={}));class IV{static chord(e,t){return ye(e,t)}}function MV(){return{editor:void 0,languages:void 0,CancellationTokenSource:Tt,Emitter:Ct,KeyCode:rV,KeyMod:IV,Position:cd,Range:nc,Selection:ic,SelectionDirection:CV,MarkerSeverity:lV,MarkerTag:aV,Uri:Io,Token:pC}}IV.CtrlCmd=2048,IV.Shift=1024,IV.Alt=512,IV.WinCtrl=256;class TV{static computeUnicodeHighlights(e,t,n){const i=n?n.startLineNumber:1,o=n?n.endLineNumber:e.getLineCount(),s=new AV(t),r=s.getCandidateCodePoints();let l;l="allNonBasicAscii"===r?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(`[${ri(Array.from(r).map((e=>String.fromCodePoint(e))).join(""))}]`,"g");const a=new eC(null,l),d=[];let u,c=!1,h=0,g=0,p=0;e:for(let t=i,n=o;t<=n;t++){const n=e.getLineContent(t),i=n.length;a.reset(0);do{if(u=a.next(n),u){let e=u.index,o=u.index+u[0].length;e>0&&Li(n.charCodeAt(e-1))&&e--,o+1=n){c=!0;break e}d.push(new nc(t,e+1,t,o+1))}}}while(u)}return{ranges:d,hasMore:c,ambiguousCharacterCount:h,invisibleCharacterCount:g,nonBasicAsciiCharacterCount:p}}static computeUnicodeHighlightReason(e,t){const n=new AV(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const i=e.codePointAt(0),o=n.ambiguousCharacters.getPrimaryConfusable(i),s=Gi.getLocales().filter((e=>!Gi.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(i)));return{kind:0,confusableWith:String.fromCodePoint(o),notAmbiguousInLocales:s}}case 1:return{kind:2}}}}class AV{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=Gi.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of Zi.codePoints)RV(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let i=!1,o=!1;if(t)for(const e of t){const t=e.codePointAt(0),n=Fi(e);i=i||n,n||this.ambiguousCharacters.isAmbiguous(t)||Zi.isInvisibleCharacter(t)||(o=!0)}return!i&&o?0:this.options.invisibleCharacters&&!RV(e)&&Zi.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}}function RV(e){return" "===e||"\n"===e||"\t"===e}class PV{constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}}class OV{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}class FV{static inverse(e,t,n){const i=[];let o=1,s=1;for(const t of e){const e=new FV(new wh(o,t.original.startLineNumber),new wh(s,t.modified.startLineNumber));e.modified.isEmpty||i.push(e),o=t.original.endLineNumberExclusive,s=t.modified.endLineNumberExclusive}const r=new FV(new wh(o,t+1),new wh(s,n+1));return r.modified.isEmpty||i.push(r),i}static clip(e,t,n){const i=[];for(const o of e){const e=o.original.intersect(t),s=o.modified.intersect(n);e&&!e.isEmpty&&s&&!s.isEmpty&&i.push(new FV(e,s))}return i}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new FV(this.modified,this.original)}join(e){return new FV(this.original.join(e.original),this.modified.join(e.modified))}}class BV extends FV{static fromRangeMappings(e){const t=wh.join(e.map((e=>wh.fromRangeInclusive(e.originalRange)))),n=wh.join(e.map((e=>wh.fromRangeInclusive(e.modifiedRange))));return new BV(t,n,e)}constructor(e,t,n){super(e,t),this.innerChanges=n}flip(){var e;return new BV(this.modified,this.original,null===(e=this.innerChanges)||void 0===e?void 0:e.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new BV(this.original,this.modified,[new WV(this.original.toExclusiveRange(),this.modified.toExclusiveRange())])}}class WV{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new WV(this.modifiedRange,this.originalRange)}}class VV{computeDiff(e,t,n){var i;const o=new qV(e,t,{maxComputationTime:n.maxComputationTimeMs,shouldIgnoreTrimWhitespace:n.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),s=[];let r=null;for(const e of o.changes){let t,n;t=0===e.originalEndLineNumber?new wh(e.originalStartLineNumber+1,e.originalStartLineNumber+1):new wh(e.originalStartLineNumber,e.originalEndLineNumber+1),n=0===e.modifiedEndLineNumber?new wh(e.modifiedStartLineNumber+1,e.modifiedStartLineNumber+1):new wh(e.modifiedStartLineNumber,e.modifiedEndLineNumber+1);let o=new BV(t,n,null===(i=e.charChanges)||void 0===i?void 0:i.map((e=>new WV(new nc(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new nc(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));r&&(r.modified.endLineNumberExclusive!==o.modified.startLineNumber&&r.original.endLineNumberExclusive!==o.original.startLineNumber||(o=new BV(r.original.join(o.original),r.modified.join(o.modified),r.innerChanges&&o.innerChanges?r.innerChanges.concat(o.innerChanges):void 0),s.pop())),s.push(o),r=o}return pu((()=>mu(s,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class KV{constructor(e,t,n,i,o,s,r,l){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=i,this.modifiedStartLineNumber=o,this.modifiedStartColumn=s,this.modifiedEndLineNumber=r,this.modifiedEndColumn=l}static createFromDiffChange(e,t,n){const i=t.getStartLineNumber(e.originalStart),o=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),r=t.getEndColumn(e.originalStart+e.originalLength-1),l=n.getStartLineNumber(e.modifiedStart),a=n.getStartColumn(e.modifiedStart),d=n.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),u=n.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new KV(i,o,s,r,l,a,d,u)}}class jV{constructor(e,t,n,i,o){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=i,this.charChanges=o}static createFromDiffResult(e,t,n,i,o,s,r){let l,a,d,u,c;if(0===t.originalLength?(l=n.getStartLineNumber(t.originalStart)-1,a=0):(l=n.getStartLineNumber(t.originalStart),a=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(d=i.getStartLineNumber(t.modifiedStart)-1,u=0):(d=i.getStartLineNumber(t.modifiedStart),u=i.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&o()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),l=i.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&l.getElements().length>0){let e=HV(s,l,o,!0).changes;r&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let i=1,o=e.length;i1&&r>1&&e.charCodeAt(n-2)===t.charCodeAt(r-2);)n--,r--;(n>1||r>1)&&this._pushTrimWhitespaceCharChange(i,o+1,1,n,s+1,1,r)}{let n=GV(e,1),r=GV(t,1);const l=e.length+1,a=t.length+1;for(;n!0;const t=Date.now();return()=>Date.now()-t{n.push(XV.fromOffsetPairs(e?e.getEndExclusives():QV.zero,i?i.getStarts():new QV(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),n}static fromOffsetPairs(e,t){return new XV(new ch(e.offset1,t.offset1),new ch(e.offset2,t.offset2))}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new XV(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new XV(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new XV(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new XV(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new XV(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),n=this.seq2Range.intersect(e.seq2Range);if(t&&n)return new XV(t,n)}getStarts(){return new QV(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new QV(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class QV{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new QV(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}QV.zero=new QV(0,0),QV.max=new QV(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class JV{isValid(){return!0}}JV.instance=new JV;class eH{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new Re("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&a>0&&3===s.get(l-1,a-1)&&(c+=r.get(l-1,a-1)),c+=i?i(l,a):1):c=-1;const h=Math.max(d,u,c);if(h===c){const e=l>0&&a>0?r.get(l-1,a-1):0;r.set(l,a,e+1),s.set(l,a,3)}else h===d?(r.set(l,a,0),s.set(l,a,1)):h===u&&(r.set(l,a,0),s.set(l,a,2));o.set(l,a,h)}const l=[];let a=e.length,d=t.length;function u(e,t){e+1===a&&t+1===d||l.push(new XV(new ch(e+1,a),new ch(t+1,d))),a=e,d=t}let c=e.length-1,h=t.length-1;for(;c>=0&&h>=0;)3===s.get(c,h)?(u(c,h),c--,h--):1===s.get(c,h)?c--:h--;return u(-1,-1),l.reverse(),new YV(l,!1)}}class sH{compute(e,t,n=JV.instance){if(0===e.length||0===t.length)return YV.trivial(e,t);const i=e,o=t;function s(e,t){for(;ei.length||h>o.length)continue;const g=s(c,h);l.set(d,g);const p=c===r?a.get(d+1):a.get(d-1);if(a.set(d,g!==c?new rH(p,c,h,g-c):p),l.get(d)===i.length&&l.get(d)-d===o.length)break e}}let u=a.get(d);const c=[];let h=i.length,g=o.length;for(;;){const e=u?u.x+u.length:0,t=u?u.y+u.length:0;if(e===h&&t===g||c.push(new XV(new ch(e,h),new ch(t,g))),!u)break;h=u.x,g=u.y,u=u.prev}return c.reverse(),new YV(c,!1)}}class rH{constructor(e,t,n,i){this.prev=e,this.x=t,this.y=n,this.length=i}}class lH{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class aH{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class dH{constructor(e,t,n){this.lines=e,this.considerWhitespaceChanges=n,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let i=!1;t.start>0&&t.endExclusive>=e.length&&(t=new ch(t.start-1,t.endExclusive),i=!0),this.lineRange=t,this.firstCharOffsetByLine[0]=0;for(let t=this.lineRange.start;tString.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=gH(e>0?this.elements[e-1]:-1),n=gH(et<=e));return new cd(this.lineRange.start+t+1,e-this.firstCharOffsetByLine[t]+this.additionalOffsetByLine[t]+1)}translateRange(e){return nc.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!uH(this.elements[e]))return;let t=e;for(;t>0&&uH(this.elements[t-1]);)t--;let n=e;for(;nt<=e.start)))&&void 0!==t?t:0,o=null!==(n=function(t,n){const i=fh(t,(t=>e.endExclusive<=t));return i===t.length?void 0:t[i]}(this.firstCharOffsetByLine))&&void 0!==n?n:this.elements.length;return new ch(i,o)}}function uH(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const cH={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function hH(e){return cH[e]}function gH(e){return 10===e?8:13===e?7:nH(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function pH(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const i=(new sH).compute(new dH([e],new ch(0,1),!1),new dH([t],new ch(0,1),!1),n);let o=0;const s=XV.invert(i.diffs,e.length);for(const t of s)t.seq1Range.forEach((t=>{nH(e.charCodeAt(t))||o++}));const r=function(t){let n=0;for(let i=0;it.length?e:t);return o/r>.6&&r>10}function mH(e,t,n){let i=n;return i=fH(e,t,i),i=fH(e,t,i),i=function(e,t,n){if(!e.getBoundaryScore||!t.getBoundaryScore)return n;for(let i=0;i0?n[i-1]:void 0,s=n[i],r=i+10&&(r=r.delta(l))}o.push(r)}return i.length>0&&o.push(i[i.length-1]),o}function _H(e,t,n,i,o){let s=1;for(;e.seq1Range.start-s>=i.start&&e.seq2Range.start-s>=o.start&&n.isStronglyEqual(e.seq2Range.start-s,e.seq2Range.endExclusive-s)&&s<100;)s++;s--;let r=0;for(;e.seq1Range.start+ra&&(a=d,l=i)}return e.delta(l)}class vH{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:bH(this.lines[e-1]))+(e===this.lines.length?0:bH(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function bH(e){let t=0;for(;te===t)))return new PV([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new PV([new BV(new wh(1,e.length+1),new wh(1,t.length+1),[new WV(new nc(1,1,e.length,e[0].length+1),new nc(1,1,t.length,t[0].length+1))])],[],!1);const i=0===n.maxComputationTimeMs?JV.instance:new eH(n.maxComputationTimeMs),o=!n.ignoreTrimWhitespace,s=new Map;function r(e){let t=s.get(e);return void 0===t&&(t=s.size,s.set(e,t)),t}const l=e.map((e=>r(e.trim()))),a=t.map((e=>r(e.trim()))),d=new vH(l,e),u=new vH(a,t),c=(()=>d.length+u.length<1700?this.dynamicProgrammingDiffing.compute(d,u,i,((n,i)=>e[n]===t[i]?0===t[i].length?.1:1+Math.log(1+t[i].length):.99)):this.myersDiffingAlgorithm.compute(d,u))();let h=c.diffs,g=c.hitTimeout;h=mH(d,u,h),h=function(e,t,n){let i=n;if(0===i.length)return i;let o,s=0;do{o=!1;const r=[i[0]];for(let l=1;l5||n.seq1Range.length+n.seq2Range.length>5)}u(d,a)?(o=!0,r[r.length-1]=r[r.length-1].join(a)):r.push(a)}i=r}while(s++<10&&o);return i}(d,0,h);const p=[],m=n=>{if(o)for(let s=0;sn.seq1Range.start-f==n.seq2Range.start-_)),m(n.seq1Range.start-f),f=n.seq1Range.endExclusive,_=n.seq2Range.endExclusive;const s=this.refineDiff(e,t,n,i,o);s.hitTimeout&&(g=!0);for(const e of s.mappings)p.push(e)}m(e.length-f);const v=CH(p,e,t);let b=[];return n.computeMoves&&(b=this.computeMoves(v,e,t,l,a,i,o)),pu((()=>{function n(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const n=t[e.lineNumber-1];return!(e.column<1||e.column>n.length+1)}function i(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1||e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const o of v){if(!o.innerChanges)return!1;for(const i of o.innerChanges)if(!(n(i.modifiedRange.getStartPosition(),t)&&n(i.modifiedRange.getEndPosition(),t)&&n(i.originalRange.getStartPosition(),e)&&n(i.originalRange.getEndPosition(),e)))return!1;if(!i(o.modified,t)||!i(o.original,e))return!1}return!0})),new PV(v,b,g)}computeMoves(e,t,n,i,o,s,r){return function(e,t,n,i,o,s){let{moves:r,excludedChanges:l}=function(e,t,n,i){const o=[],s=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new iH(e.original,t,e))),r=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new iH(e.modified,n,e)))),l=new Set;for(const e of s){let t,n=-1;for(const i of r){const o=e.computeSimilarity(i);o>n&&(n=o,t=i)}if(n>.9&&t&&(r.delete(t),o.push(new FV(e.range,t.range)),l.add(e.source),l.add(t.source)),!i.isValid())return{moves:o,excludedChanges:l}}return{moves:o,excludedChanges:l}}(e,t,n,s);if(!s.isValid())return[];const a=function(e,t,n,i,o,s){const r=[],l=new sl;for(const n of e)for(let e=n.original.startLineNumber;ee.modified.startLineNumber),Xc));for(const t of e){let e=[];for(let i=t.modified.startLineNumber;i{for(const n of e)if(n.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&n.modifiedLineRange.endLineNumberExclusive+1===o.endLineNumberExclusive)return n.originalLineRange=new wh(n.originalLineRange.startLineNumber,t.endLineNumberExclusive),n.modifiedLineRange=new wh(n.modifiedLineRange.startLineNumber,o.endLineNumberExclusive),void s.push(n);const n={modifiedLineRange:o,originalLineRange:t};a.push(n),s.push(n)})),e=s}if(!s.isValid())return[]}a.sort(Jc(Yc((e=>e.modifiedLineRange.length),Xc)));const d=new Ch,u=new Ch;for(const e of a){const t=e.modifiedLineRange.startLineNumber-e.originalLineRange.startLineNumber,n=d.subtractFrom(e.modifiedLineRange),i=u.subtractFrom(e.originalLineRange).getWithDelta(t),o=n.getIntersection(i);for(const e of o.ranges){if(e.length<3)continue;const n=e,i=e.delta(-t);r.push(new FV(i,n)),d.addRange(n),u.addRange(i)}}r.sort(Yc((e=>e.original.startLineNumber),Xc));const c=new _h(e);for(let t=0;te.original.startLineNumber<=n.original.startLineNumber)),a=ph(e,(e=>e.modified.startLineNumber<=n.modified.startLineNumber)),h=Math.max(n.original.startLineNumber-l.original.startLineNumber,n.modified.startLineNumber-a.modified.startLineNumber),g=c.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumberi.length||t>o.length)break;if(d.contains(t)||u.contains(e))break;if(!pH(i[e-1],o[t-1],s))break}for(f>0&&(u.addRange(new wh(n.original.startLineNumber-f,n.original.startLineNumber)),d.addRange(new wh(n.modified.startLineNumber-f,n.modified.startLineNumber))),_=0;_i.length||t>o.length)break;if(d.contains(t)||u.contains(e))break;if(!pH(i[e-1],o[t-1],s))break}_>0&&(u.addRange(new wh(n.original.endLineNumberExclusive,n.original.endLineNumberExclusive+_)),d.addRange(new wh(n.modified.endLineNumberExclusive,n.modified.endLineNumberExclusive+_))),(f>0||_>0)&&(r[t]=new FV(new wh(n.original.startLineNumber-f,n.original.endLineNumberExclusive+_),new wh(n.modified.startLineNumber-f,n.modified.endLineNumberExclusive+_)))}return r}(e.filter((e=>!l.has(e))),i,o,t,n,s);return qc(r,a),r=function(e){if(0===e.length)return e;e.sort(Yc((e=>e.original.startLineNumber),Xc));const t=[e[0]];for(let n=1;n=0&&r>=0&&s+r<=2?t[t.length-1]=i.join(o):t.push(o)}return t}(r),r=r.filter((e=>{const n=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return n.join("\n").length>=15&&function(e,t){let n=0;for(const t of e)t.length>=2&&n++;return n}(n)>=2})),r=function(e,t){const n=new _h(e);return t.filter((t=>(n.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumber{const i=CH(this.refineDiff(t,n,new XV(e.original.toOffsetRange(),e.modified.toOffsetRange()),s,r).mappings,t,n,!0);return new OV(e,i)}))}refineDiff(e,t,n,i,o){const s=new dH(e,n.seq1Range,o),r=new dH(t,n.seq2Range,o),l=s.length+r.length<500?this.dynamicProgrammingDiffing.compute(s,r,i):this.myersDiffingAlgorithm.compute(s,r,i);let a=l.diffs;return a=mH(s,r,a),a=function(e,t,n){const i=XV.invert(n,e.length),o=[];let s=new QV(0,0);function r(n,r){if(n.offset10;){const n=i[0];if(!n.seq1Range.intersects(d.seq1Range)&&!n.seq2Range.intersects(d.seq2Range))break;const o=e.findWordContaining(n.seq1Range.start),s=t.findWordContaining(n.seq2Range.start),r=new XV(o,s),l=r.intersect(n);if(c+=l.seq1Range.length,h+=l.seq2Range.length,d=d.join(r),!(d.seq1Range.endExclusive>=n.seq1Range.endExclusive))break;i.shift()}c+h<2*(d.seq1Range.length+d.seq2Range.length)/3&&o.push(d),s=d.getEndExclusives()}for(;i.length>0;){const e=i.shift();e.seq1Range.isEmpty||(r(e.getStarts(),e),r(e.getEndExclusives().delta(-1),e))}return function(e,t){const n=[];for(;e.length>0||t.length>0;){const i=e[0],o=t[0];let s;s=i&&(!o||i.seq1Range.start0&&n[n.length-1].seq1Range.endExclusive>=s.seq1Range.start?n[n.length-1]=n[n.length-1].join(s):n.push(s)}return n}(n,o)}(s,r,a),a=function(e,t,n){const i=[];for(const e of n){const t=i[i.length-1];t&&(e.seq1Range.start-t.seq1Range.endExclusive<=2||e.seq2Range.start-t.seq2Range.endExclusive<=2)?i[i.length-1]=new XV(t.seq1Range.join(e.seq1Range),t.seq2Range.join(e.seq2Range)):i.push(e)}return i}(0,0,a),a=function(e,t,n){let i=n;if(0===i.length)return i;let o,s=0;do{o=!1;const l=[i[0]];for(let a=1;a5||o.length>500)return!1;const s=e.getText(o).trim();if(s.length>20||s.split(/\r\n|\r|\n/).length>1)return!1;const r=e.countLinesIn(n.seq1Range),l=n.seq1Range.length,a=t.countLinesIn(n.seq2Range),c=n.seq2Range.length,h=e.countLinesIn(i.seq1Range),g=i.seq1Range.length,p=t.countLinesIn(i.seq2Range),m=i.seq2Range.length;function f(e){return Math.min(e,130)}return Math.pow(Math.pow(f(40*r+l),1.5)+Math.pow(f(40*a+c),1.5),1.5)+Math.pow(Math.pow(f(40*h+g),1.5)+Math.pow(f(40*p+m),1.5),1.5)>74184.96480721243}c(u,d)?(o=!0,l[l.length-1]=l[l.length-1].join(d)):l.push(d)}i=l}while(s++<10&&o);const r=[];return function(e,t){for(let n=0;n{let o=n;function s(e){return e.length>0&&e.trim().length<=3&&n.seq1Range.length+n.seq2Range.length>100}const l=e.extendToFullLines(n.seq1Range),a=e.getText(new ch(l.start,n.seq1Range.start));s(a)&&(o=o.deltaStart(-a.length));const d=e.getText(new ch(n.seq1Range.endExclusive,l.endExclusive));s(d)&&(o=o.deltaEnd(d.length));const u=XV.fromOffsetPairs(t?t.getEndExclusives():QV.zero,i?i.getStarts():QV.max),c=o.intersect(u);r.length>0&&c.getStarts().equals(r[r.length-1].getEndExclusives())?r[r.length-1]=r[r.length-1].join(c):r.push(c)})),r}(s,r,a),{mappings:a.map((e=>new WV(s.translateRange(e.seq1Range),r.translateRange(e.seq2Range)))),hitTimeout:l.hitTimeout}}}function CH(e,t,n,i=!1){const o=[];for(const i of Rc(e.map((e=>function(e,t,n){let i=0,o=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+i<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+i<=e.modifiedRange.endLineNumber&&(o=-1),e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+o&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+o&&(i=1);const s=new wh(e.originalRange.startLineNumber+i,e.originalRange.endLineNumber+1+o),r=new wh(e.modifiedRange.startLineNumber+i,e.modifiedRange.endLineNumber+1+o);return new BV(s,r,[e])}(e,t,n))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=i[0],t=i[i.length-1];o.push(new BV(e.original.join(t.original),e.modified.join(t.modified),i.map((e=>e.innerChanges[0]))))}return pu((()=>{if(!i&&o.length>0){if(o[0].modified.startLineNumber!==o[0].original.startLineNumber)return!1;if(n.length-o[o.length-1].modified.endLineNumberExclusive!=t.length-o[o.length-1].original.endLineNumberExclusive)return!1}return mu(o,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusivee.startColumn){const t={range:e,...TH(i[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&n.push(t)}}}function TH(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(IH,""),hasSeparatorLine:t}}class AH extends AW{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let n=0;nthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{const e=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>e&&(n=e,i=!0)}return i?{lineNumber:t,column:n}:e}}class RH{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}acceptNewModel(e){this._models[e.url]=new AH(Io.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}async computeUnicodeHighlights(e,t,n){const i=this._getModel(e);return i?TV.computeUnicodeHighlights(i,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async findSectionHeaders(e,t){const n=this._getModel(e);return n?function(e,t){var n;let i=[];if(t.findRegionSectionHeaders&&(null===(n=t.foldingRules)||void 0===n?void 0:n.markers)){const n=function(e,t){const n=[],i=e.getLineCount();for(let o=1;o<=i;o++){const i=e.getLineContent(o),s=i.match(t.foldingRules.markers.start);if(s){const e={startLineNumber:o,startColumn:s[0].length+1,endLineNumber:o,endColumn:i.length+1};if(e.endColumn>e.startColumn){const t={range:e,...TH(i.substring(s[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);i=i.concat(n)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let i=1;i<=n;i++)MH(e.getLineContent(i),i,t);return t}(e);i=i.concat(t)}return i}(n,t):[]}async computeDiff(e,t,n,i){const o=this._getModel(e),s=this._getModel(t);return o&&s?RH.computeDiff(o,s,n,i):null}static computeDiff(e,t,n,i){const o="advanced"===i?new wH:new VV,s=e.getLinesContent(),r=t.getLinesContent(),l=o.computeDiff(s,r,n);function a(e){return e.map((e=>{var t;return[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,null===(t=e.innerChanges)||void 0===t?void 0:t.map((e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn]))]}))}return{identical:!(l.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:l.hitTimeout,changes:a(l.changes),moves:l.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,a(e.changes)]))}}static _modelsAreIdentical(e,t){const n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let i=1;i<=n;i++)if(e.getLineContent(i)!==t.getLineContent(i))return!1;return!0}async computeMoreMinimalEdits(e,t,n){const i=this._getModel(e);if(!i)return t;const o=[];let s;t=t.slice(0).sort(((e,t)=>e.range&&t.range?nc.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)));let r=0;for(let e=1;eRH._diffLimit){o.push({range:e,text:r});continue}const a=NW(t,r,n),d=i.offsetAt(nc.lift(e).getStartPosition());for(const e of a){const t=i.positionAt(d+e.originalStart),n=i.positionAt(d+e.originalStart+e.originalLength),s={text:r.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(s.range)!==s.text&&o.push(s)}}return"number"==typeof s&&o.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),o}async computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?BW.computeLinks(e):[]}(t):null}async computeDefaultDocumentColors(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],n=NH(e,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(n.length>0)for(const i of n){const n=i.filter((e=>void 0!==e)),o=n[1],s=n[2];if(!s)continue;let r;if("rgb"===o){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;r=LH(xH(e,i),NH(s,t),!1)}else if("rgba"===o){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=LH(xH(e,i),NH(s,t),!0)}else if("hsl"===o){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;r=DH(xH(e,i),NH(s,t),!1)}else if("hsla"===o){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=DH(xH(e,i),NH(s,t),!0)}else"#"===o&&(r=kH(xH(e,i),o+s));r&&t.push(r)}return t}(e):[]}(t):null}async textualSuggest(e,t,n,i){const o=new mt,s=new RegExp(n,i),r=new Set;e:for(const n of e){const e=this._getModel(n);if(e)for(const n of e.words(s))if(n!==t&&isNaN(Number(n))&&(r.add(n),r.size>RH._suggestionsLimit))break e}return{words:Array.from(r),duration:o.elapsed()}}async computeWordRanges(e,t,n,i){const o=this._getModel(e);if(!o)return Object.create(null);const s=new RegExp(n,i),r=Object.create(null);for(let e=t.startLineNumber;efunction(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},i={};for(const t of e)i[t]=n(t);return i}(n,((e,t)=>this._host.fhr(e,t))),o={host:i,getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,t),Promise.resolve(vc(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}}RH._diffLimit=1e5,RH._suggestionsLimit=1e4,"function"==typeof importScripts&&(globalThis.monaco=MV());const PH=dd("textResourceConfigurationService"),OH=dd("textResourcePropertiesService");var FH=function(e,t){return function(n,i){t(n,i,e)}};function BH(e,t){const n=e.getModel(t);return!!n&&!n.isTooLargeForSyncing()}let WH=class extends lt{constructor(e,t,n,i,o){super(),this._modelService=e,this._workerManager=this._register(new HH(this._modelService,i)),this._logService=n,this._register(o.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(e,t)=>BH(this._modelService,e.uri)?this._workerManager.withWorker().then((t=>t.computeLinks(e.uri))).then((e=>e&&{links:e})):Promise.resolve({links:[]})})),this._register(o.completionProvider.register("*",new VH(this._workerManager,t,this._modelService,i)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return BH(this._modelService,e)}computedUnicodeHighlights(e,t,n){return this._workerManager.withWorker().then((i=>i.computedUnicodeHighlights(e,t,n)))}async computeDiff(e,t,n,i){const o=await this._workerManager.withWorker().then((o=>o.computeDiff(e,t,n,i)));return o?{identical:o.identical,quitEarly:o.quitEarly,changes:s(o.changes),moves:o.moves.map((e=>new OV(new FV(new wh(e[0],e[1]),new wh(e[2],e[3])),s(e[4]))))}:null;function s(e){return e.map((e=>{var t;return new BV(new wh(e[0],e[1]),new wh(e[2],e[3]),null===(t=e[4])||void 0===t?void 0:t.map((e=>new WV(new nc(e[0],e[1],e[2],e[3]),new nc(e[4],e[5],e[6],e[7])))))}))}}computeMoreMinimalEdits(e,t,n=!1){if(Wc(t)){if(!BH(this._modelService,e))return Promise.resolve(t);const i=mt.create(),o=this._workerManager.withWorker().then((i=>i.computeMoreMinimalEdits(e,t,n)));return o.finally((()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),i.elapsed()))),Promise.race([o,Vt(1e3).then((()=>t))])}return Promise.resolve(void 0)}canNavigateValueSet(e){return BH(this._modelService,e)}navigateValueSet(e,t,n){return this._workerManager.withWorker().then((i=>i.navigateValueSet(e,t,n)))}canComputeWordRanges(e){return BH(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then((n=>n.computeWordRanges(e,t)))}findSectionHeaders(e,t){return this._workerManager.withWorker().then((n=>n.findSectionHeaders(e,t)))}};WH=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([FH(0,hd),FH(1,PH),FH(2,Tu),FH(3,Qg),FH(4,wx)],WH);class VH{constructor(e,t,n,i){this.languageConfigurationService=i,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){const n=this._configurationService.getValue(e.uri,t,"editor");if("off"===n.wordBasedSuggestions)return;const i=[];if("currentDocument"===n.wordBasedSuggestions)BH(this._modelService,e.uri)&&i.push(e.uri);else for(const t of this._modelService.getModels())BH(this._modelService,t.uri)&&(t===e?i.unshift(t.uri):"allDocuments"!==n.wordBasedSuggestions&&t.getLanguageId()!==e.getLanguageId()||i.push(t.uri));if(0===i.length)return;const o=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),s=e.getWordAtPosition(t),r=s?new nc(t.lineNumber,s.startColumn,t.lineNumber,s.endColumn):nc.fromPositions(t),l=r.setEndPosition(t.lineNumber,t.column),a=await this._workerManager.withWorker(),d=await a.textualSuggest(i,null==s?void 0:s.word,o);return d?{duration:d.duration,suggestions:d.words.map((e=>({kind:18,label:e,insertText:e,range:{insert:l,replace:r}})))}:void 0}}class HH extends lt{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=(new Date).getTime(),this._register(new ys).cancelAndSet((()=>this._checkStopIdleWorker()),Math.round(15e4),o),this._register(this._modelService.onModelRemoved((e=>this._checkStopEmptyWorker())))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&(new Date).getTime()-this._lastWorkerUsedTime>3e5&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new jH(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class zH extends lt{constructor(e,t,n){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){const e=new Kt;e.cancelAndSet((()=>this._checkStopModelSync()),Math.round(3e4)),this._register(e)}}dispose(){for(const e in this._syncedModels)it(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(const n of e){const e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(const e of t)this._stopModelSync(e)}_beginModelSync(e,t){const n=this._modelService.getModel(e);if(!n)return;if(!t&&n.isTooLargeForSyncing())return;const i=e.toString();this._proxy.acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});const o=new rt;o.add(n.onDidChangeContent((e=>{this._proxy.acceptModelChanged(i.toString(),e)}))),o.add(n.onWillDispose((()=>{this._stopModelSync(i)}))),o.add(st((()=>{this._proxy.acceptRemovedModel(i)}))),this._syncedModels[i]=o}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],it(t)}}class UH{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class KH{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}}class jH extends lt{constructor(e,t,n,i){super(),this.languageConfigurationService=i,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new kW(n),this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new wW(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new KH(this)))}catch(e){gW(e),this._worker=new UH(new RH(new KH(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,(e=>(gW(e),this._worker=new UH(new RH(new KH(this),null)),this._getOrCreateWorker().getProxyObject())))}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new zH(e,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(e,t=!1){return this._disposed?Promise.reject(function(){const e=new Error(De);return e.name=e.message,e}()):this._getProxy().then((n=>(this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n)))}computedUnicodeHighlights(e,t,n){return this._withSyncedResources([e]).then((i=>i.computeUnicodeHighlights(e.toString(),t,n)))}computeDiff(e,t,n,i){return this._withSyncedResources([e,t],!0).then((o=>o.computeDiff(e.toString(),t.toString(),n,i)))}computeMoreMinimalEdits(e,t,n){return this._withSyncedResources([e]).then((i=>i.computeMoreMinimalEdits(e.toString(),t,n)))}computeLinks(e){return this._withSyncedResources([e]).then((t=>t.computeLinks(e.toString())))}computeDefaultDocumentColors(e){return this._withSyncedResources([e]).then((t=>t.computeDefaultDocumentColors(e.toString())))}async textualSuggest(e,t,n){const i=await this._withSyncedResources(e),o=n.source,s=n.flags;return i.textualSuggest(e.map((e=>e.toString())),t,o,s)}computeWordRanges(e,t){return this._withSyncedResources([e]).then((n=>{const i=this._modelService.getModel(e);if(!i)return Promise.resolve(null);const o=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition(),s=o.source,r=o.flags;return n.computeWordRanges(e.toString(),t,s,r)}))}navigateValueSet(e,t,n){return this._withSyncedResources([e]).then((i=>{const o=this._modelService.getModel(e);if(!o)return null;const s=this.languageConfigurationService.getLanguageConfiguration(o.getLanguageId()).getWordDefinition(),r=s.source,l=s.flags;return i.navigateValueSet(e.toString(),t,n,r,l)}))}findSectionHeaders(e,t){return this._withSyncedResources([e]).then((n=>n.findSectionHeaders(e.toString(),t)))}dispose(){super.dispose(),this._disposed=!0}}const qH=[];function $H(e){qH.push(e)}function GH(){return qH.slice(0)}var ZH=function(e,t){return function(n,i){t(n,i,e)}};class YH{constructor(e,t){this._editorWorkerClient=new jH(e,!1,"editorWorkerService",t)}async provideDocumentColors(e,t){return this._editorWorkerClient.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,n){const i=t.range,o=t.color,s=o.alpha,r=new lh(new oh(Math.round(255*o.red),Math.round(255*o.green),Math.round(255*o.blue),s)),l=s?lh.Format.CSS.formatRGB(r):lh.Format.CSS.formatRGBA(r),a=s?lh.Format.CSS.formatHSL(r):lh.Format.CSS.formatHSLA(r),d=s?lh.Format.CSS.formatHex(r):lh.Format.CSS.formatHexA(r),u=[];return u.push({label:l,textEdit:{range:i,text:l}}),u.push({label:a,textEdit:{range:i,text:a}}),u.push({label:d,textEdit:{range:i,text:d}}),u}}let XH=class extends lt{constructor(e,t,n){super(),this._register(n.colorProvider.register("*",new YH(e,t)))}};async function QH(e,t,n,i=!0){return iz(new ez,e,t,n,i)}function JH(e,t,n,i){return Promise.resolve(n.provideColorPresentations(e,t,i))}XH=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([ZH(0,hd),ZH(1,Qg),ZH(2,wx)],XH),$H(XH);class ez{constructor(){}async compute(e,t,n,i){const o=await e.provideDocumentColors(t,n);if(Array.isArray(o))for(const t of o)i.push({colorInfo:t,provider:e});return Array.isArray(o)}}class tz{constructor(){}async compute(e,t,n,i){const o=await e.provideDocumentColors(t,n);if(Array.isArray(o))for(const e of o)i.push({range:e.range,color:[e.color.red,e.color.green,e.color.blue,e.color.alpha]});return Array.isArray(o)}}class nz{constructor(e){this.colorInfo=e}async compute(e,t,n,i){const o=await e.provideColorPresentations(t,this.colorInfo,It.None);return Array.isArray(o)&&i.push(...o),Array.isArray(o)}}async function iz(e,t,n,i,o){let s,r=!1;const l=[],a=t.ordered(n);for(let t=a.length-1;t>=0;t--){const o=a[t];if(o instanceof YH)s=o;else try{await e.compute(o,n,i,l)&&(r=!0)}catch(e){ke(e)}}return r?l:s&&o?(await e.compute(s,n,i,l),l):[]}function oz(e,t){const{colorProvider:n}=e.get(wx),i=e.get(hd).getModel(t);if(!i)throw Ie();return{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:e.get(pg).getValue("editor.defaultColorDecorators",{resource:t})}}Cd.registerCommand("_executeDocumentColorProvider",(function(e,...t){const[n]=t;if(!(n instanceof Io))throw Ie();const{model:i,colorProviderRegistry:o,isDefaultColorDecoratorsEnabled:s}=oz(e,n);return iz(new tz,o,i,It.None,s)})),Cd.registerCommand("_executeColorPresentationProvider",(function(e,...t){const[n,i]=t,{uri:o,range:s}=i;if(!(o instanceof Io&&Array.isArray(n)&&4===n.length&&nc.isIRange(s)))throw Ie();const{model:r,colorProviderRegistry:l,isDefaultColorDecoratorsEnabled:a}=oz(e,o),[d,u,c,h]=n;return iz(new nz({range:s,color:{red:d,green:u,blue:c,alpha:h}}),l,r,It.None,a)}));var sz,rz=function(e,t){return function(n,i){t(n,i,e)}};const lz=Object.create({});let az=sz=class extends lt{constructor(e,t,n,i){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=n,this._localToDispose=this._register(new rt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new KT(this._editor),this._decoratorLimitReporter=new dz,this._colorDecorationClassRefs=this._register(new rt),this._debounceInformation=i.for(n.colorProvider,"Document Colors",{min:sz.RECOMPUTE_TIME}),this._register(e.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(e.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(n.colorProvider.onDidChange((()=>this.updateColors()))),this._register(e.onDidChangeConfiguration((e=>{const t=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147);const n=t!==this._isColorDecoratorsEnabled||e.hasChanged(21),i=e.hasChanged(147);(n||i)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),n=this._configurationService.getValue(t);if(n&&"object"==typeof n){const e=n.colorDecorators;if(e&&void 0!==e.enable&&!e.enable)return e.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 Ut,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(e)))}))),this.beginCompute())}async beginCompute(){this._computePromise=Pt((async e=>{const t=this._editor.getModel();if(!t)return[];const n=new mt(!1),i=await QH(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,n.elapsed()),i}));try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){xe(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((e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:My.EMPTY})));this._editor.changeDecorations((n=>{this._decorationsIds=n.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach(((t,n)=>this._colorDatas.set(t,e[n])))}))}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],n=this._editor.getOption(21);for(let i=0;ithis._colorDatas.has(e.id)));return 0===n.length?null:this._colorDatas.get(n[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};az.ID="editor.contrib.colorDetector",az.RECOMPUTE_TIME=1e3,az=sz=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([rz(1,pg),rz(2,wx),rz(3,sW)],az);class dz{constructor(){this._onDidChange=new Ct,this._computed=0,this._limited=!1}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}Zu(az.ID,az,1);class uz{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,n){this.presentationIndex=n,this._onColorFlushed=new Ct,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Ct,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Ct,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 n=-1;for(let e=0;e({format:e.format,location:e.location.toString()})))}},e.fromJSONObject=function(e){const t=e=>la(e)?e:void 0;if(e&&Array.isArray(e.src)&&e.src.every((e=>la(e.format)&&la(e.location))))return{weight:t(e.weight),style:t(e.style),src:e.src.map((e=>({format:e.format,location:Io.parse(e.location)})))}}}(hz||(hz={}));const mz=new class{constructor(){this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:_(0,"The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:_(0,"The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${ka.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,n,i){const o=this.iconsById[e];if(o){if(n&&!o.description){o.description=n,this.iconSchema.properties[e].markdownDescription=`${n} $(${e})`;const t=this.iconReferenceSchema.enum.indexOf(e);-1!==t&&(this.iconReferenceSchema.enumDescriptions[t]=n),this._onDidChange.fire()}return o}const s={id:e,description:n,defaults:t,deprecationMessage:i};this.iconsById[e]=s;const r={$ref:"#/definitions/icons"};return i&&(r.deprecationMessage=i),n&&(r.markdownDescription=`${n}: $(${e})`),this.iconSchema.properties[e]=r,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(n||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map((e=>this.iconsById[e]))}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(e,t)=>e.id.localeCompare(t.id),t=e=>{for(;ka.isThemeIcon(e.defaults);)e=this.iconsById[e.defaults.id];return`codicon codicon-${e?e.id:""}`},n=[];n.push("| preview | identifier | default codicon ID | description"),n.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const i=Object.keys(this.iconsById).map((e=>this.iconsById[e]));for(const o of i.filter((e=>!!e.description)).sort(e))n.push(`||${o.id}|${ka.isThemeIcon(o.defaults)?o.defaults.id:o.id}|${o.description||""}|`);n.push("| preview | identifier "),n.push("| ----------- | --------------------------------- |");for(const o of i.filter((e=>!ka.isThemeIcon(e.defaults))).sort(e))n.push(`||${o.id}|`);return n.join("\n")}};function fz(e,t,n,i){return mz.registerIcon(e,t,n,i)}function _z(){return mz}fu.add("base.contributions.icons",mz),function(){const e=ya();for(const t in e){const n="\\"+e[t].toString(16);mz.registerIcon(t,{fontCharacter:n})}}();const vz="vscode://schemas/icons",bz=fu.as(kg);bz.registerSchema(vz,mz.getIconSchema());const wz=new jt((()=>bz.notifySchemaChanged(vz)),200);mz.onDidChange((()=>{wz.isScheduled()||wz.schedule()}));const Cz=fz("widget-close",Sa.close,_(0,"Icon for the close action in widgets.")),yz=(fz("goto-previous-location",Sa.arrowUp,_(0,"Icon for goto previous editor location.")),fz("goto-next-location",Sa.arrowDown,_(0,"Icon for goto next editor location.")),ka.modify(Sa.sync,"spin"),ka.modify(Sa.loading,"spin"),mr);class Sz extends lt{constructor(e,t,n,i=!1){super(),this.model=t,this.showingStandaloneColorPicker=i,this._closeButton=null,this._domNode=yz(".colorpicker-header"),dr(e,this._domNode),this._pickedColorNode=dr(this._domNode,yz(".picked-color")),dr(this._pickedColorNode,yz("span.codicon.codicon-color-mode")),this._pickedColorPresentation=dr(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const o=_(0,"Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",o),this._originalColorNode=dr(this._domNode,yz(".original-color")),this._originalColorNode.style.backgroundColor=lh.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=n.getColorTheme().getColor(ff)||lh.white,this._register(n.onDidColorThemeChange((e=>{this.backgroundColor=e.getColor(ff)||lh.white}))),this._register(ms(this._pickedColorNode,or.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(ms(this._originalColorNode,or.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=lh.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 xz(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=lh.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 xz extends lt{constructor(e){super(),this._onClicked=this._register(new Ct),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),dr(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),dr(this._button,t),dr(t,yz(".button"+ka.asCSSSelector(fz("color-picker-close",Sa.close,_(0,"Icon to close the color picker"))))).classList.add("close-icon"),this._register(ms(this._button,or.CLICK,(()=>{this._onClicked.fire()})))}}class kz extends lt{constructor(e,t,n,i=!1){super(),this.model=t,this.pixelRatio=n,this._insertButton=null,this._domNode=yz(".colorpicker-body"),dr(e,this._domNode),this._saturationBox=new Lz(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 Nz(this._domNode,this.model,i),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new Ez(this._domNode,this.model,i),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),i&&(this._insertButton=this._register(new Iz(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const n=this.model.color.hsva;this.model.color=new lh(new rh(n.h,e,t,n.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new lh(new rh(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,n=360*(1-e);this.model.color=new lh(new rh(360===n?0:n,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 Lz extends lt{constructor(e,t,n){super(),this.model=t,this.pixelRatio=n,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Ct,this.onColorFlushed=this._onColorFlushed.event,this._domNode=yz(".saturation-wrap"),dr(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",dr(this._domNode,this._canvas),this.selection=yz(".saturation-selection"),dr(this._domNode,this.selection),this.layout(),this._register(ms(this._domNode,or.POINTER_DOWN,(e=>this.onPointerDown(e)))),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 KN);const t=Es(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top)),(()=>null));const n=ms(e.target.ownerDocument,or.POINTER_UP,(()=>{this._onColorFlushed.fire(),n.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(e,t){const n=Math.max(0,Math.min(1,e/this.width)),i=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(n,i),this._onDidChange.fire({s:n,v:i})}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 lh(new rh(e.h,1,1,1)),n=this._canvas.getContext("2d"),i=n.createLinearGradient(0,0,this._canvas.width,0);i.addColorStop(0,"rgba(255, 255, 255, 1)"),i.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),i.addColorStop(1,"rgba(255, 255, 255, 0)");const o=n.createLinearGradient(0,0,0,this._canvas.height);o.addColorStop(0,"rgba(0, 0, 0, 0)"),o.addColorStop(1,"rgba(0, 0, 0, 1)"),n.rect(0,0,this._canvas.width,this._canvas.height),n.fillStyle=lh.Format.CSS.format(t),n.fill(),n.fillStyle=i,n.fill(),n.fillStyle=o,n.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 Dz extends lt{constructor(e,t,n=!1){super(),this.model=t,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Ct,this.onColorFlushed=this._onColorFlushed.event,n?(this.domNode=dr(e,yz(".standalone-strip")),this.overlay=dr(this.domNode,yz(".standalone-overlay"))):(this.domNode=dr(e,yz(".strip")),this.overlay=dr(this.domNode,yz(".overlay"))),this.slider=dr(this.domNode,yz(".slider")),this.slider.style.top="0px",this._register(ms(this.domNode,or.POINTER_DOWN,(e=>this.onPointerDown(e)))),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 KN),n=Es(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangeTop(e.pageY-n.top)),(()=>null));const i=ms(e.target.ownerDocument,or.POINTER_UP,(()=>{this._onColorFlushed.fire(),i.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 Nz extends Dz{constructor(e,t,n=!1){super(e,t,n),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:n,b:i}=e.rgba,o=new lh(new oh(t,n,i,1)),s=new lh(new oh(t,n,i,0));this.overlay.style.background=`linear-gradient(to bottom, ${o} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}}class Ez extends Dz{constructor(e,t,n=!1){super(e,t,n),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class Iz extends lt{constructor(e){super(),this._onClicked=this._register(new Ct),this.onClicked=this._onClicked.event,this._button=dr(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(ms(this._button,or.CLICK,(()=>{this._onClicked.fire()})))}get button(){return this._button}}class Mz extends jN{constructor(e,t,n,i,o=!1){super(),this.model=t,this.pixelRatio=n,this._register(pT.getInstance(is(e)).onDidChange((()=>this.layout())));const s=yz(".colorpicker-widget");e.appendChild(s),this.header=this._register(new Sz(s,this.model,i,o)),this.body=this._register(new kz(s,this.model,this.pixelRatio,o))}layout(){this.body.layout()}}var Tz=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Az=function(e,t){return function(n,i){t(n,i,e)}};class Rz{constructor(e,t,n,i){this.owner=e,this.range=t,this.model=n,this.provider=i,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Pz=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,n){return Qt.fromPromise(this._computeAsync(e,t,n))}async _computeAsync(e,t,n){if(!this._editor.hasModel())return[];const i=az.get(this._editor);if(!i)return[];for(const e of t){if(!i.isColorDecoration(e))continue;const t=i.getColorData(e.range.getStartPosition());if(t)return[await Bz(this,this._editor.getModel(),t.colorInfo,t.provider)]}return[]}renderHoverParts(e,t){return Wz(this,this._editor,this._themeService,t,e)}};Pz=Tz([Az(1,Tv)],Pz);class Oz{constructor(e,t,n,i){this.owner=e,this.range=t,this.model=n,this.provider=i}}let Fz=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,n){if(!this._editor.hasModel())return null;if(!az.get(this._editor))return null;const i=await QH(n,this._editor.getModel(),It.None);let o=null,s=null;for(const t of i){const n=t.colorInfo;nc.containsRange(n.range,e.range)&&(o=n,s=t.provider)}const r=null!=o?o:e,l=null!=s?s:t,a=!!o;return{colorHover:await Bz(this,this._editor.getModel(),r,l),foundInEditor:a}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let n=new nc(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await Hz(this._editor.getModel(),t,this._color,n,e),n=Vz(this._editor,n,t))}renderHoverParts(e,t){return Wz(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};async function Bz(e,t,n,i){const o=t.getValueInRange(n.range),{red:s,green:r,blue:l,alpha:a}=n.color,d=new oh(Math.round(255*s),Math.round(255*r),Math.round(255*l),a),u=new lh(d),c=await JH(t,n,i,It.None),h=new uz(u,[],0);return h.colorPresentations=c||[],h.guessColorPresentation(u,o),e instanceof Pz?new Rz(e,nc.lift(n.range),h,i):new Oz(e,nc.lift(n.range),h,i)}function Wz(e,t,n,i,o){if(0===i.length||!t.hasModel())return lt.None;if(o.setMinimumDimensions){const e=t.getOption(67)+8;o.setMinimumDimensions(new Ds(302,e))}const s=new rt,r=i[0],l=t.getModel(),a=r.model,d=s.add(new Mz(o.fragment,a,t.getOption(143),n,e instanceof Fz));o.setColorPicker(d);let u=!1,c=new nc(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(e instanceof Fz){const t=i[0].model.color;e.color=t,Hz(l,a,t,c,r),s.add(a.onColorFlushed((t=>{e.color=t})))}else s.add(a.onColorFlushed((async e=>{await Hz(l,a,e,c,r),u=!0,c=Vz(t,c,a)})));return s.add(a.onDidChangeColor((e=>{Hz(l,a,e,c,r)}))),s.add(t.onDidChangeModelContent((e=>{u?u=!1:(o.hide(),t.focus())}))),s}function Vz(e,t,n){var i,o;const s=[],r=null!==(i=n.presentation.textEdit)&&void 0!==i?i:{range:t,text:n.presentation.label,forceMoveMarkers:!1};s.push(r),n.presentation.additionalTextEdits&&s.push(...n.presentation.additionalTextEdits);const l=nc.lift(r.range),a=e.getModel()._setTrackedRange(null,l,3);return e.executeEdits("colorpicker",s),e.pushUndoStop(),null!==(o=e.getModel()._getTrackedRange(a))&&void 0!==o?o:l}async function Hz(e,t,n,i,o){const s=await JH(e,{range:i,color:{red:n.rgba.r/255,green:n.rgba.g/255,blue:n.rgba.b/255,alpha:n.rgba.a}},o.provider,It.None);t.colorPresentations=s||[]}Fz=Tz([Az(1,Tv)],Fz);var zz=n(1503),Uz={};function Kz(e,t){return!!e[t]}Uz.styleTagTransform=Vr(),Uz.setAttributes=Or(),Uz.insert=Rr().bind(null,"head"),Uz.domAPI=Tr(),Uz.insertStyleElement=Br(),Ir()(zz.A,Uz),zz.A&&zz.A.locals&&zz.A.locals;class jz{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=Kz(e.event,t.triggerModifier),this.hasSideBySideModifier=Kz(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class qz{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=Kz(e,t.triggerModifier)}}class $z{constructor(e,t,n,i){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=i}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function Gz(e){return"altKey"===e?U?new $z(57,"metaKey",6,"altKey"):new $z(5,"ctrlKey",6,"altKey"):U?new $z(6,"altKey",57,"metaKey"):new $z(6,"altKey",5,"ctrlKey")}class Zz extends lt{constructor(e,t){var n;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Ct),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Ct),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Ct),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=null!==(n=null==t?void 0:t.extractLineNumberFromMouseEvent)&&void 0!==n?n:e=>e.target.position?e.target.position.lineNumber:0,this._opts=Gz(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(78)){const e=Gz(this._editor.getOption(78));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((e=>this._onEditorMouseMove(new jz(e,this._opts))))),this._register(this._editor.onMouseDown((e=>this._onEditorMouseDown(new jz(e,this._opts))))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(new jz(e,this._opts))))),this._register(this._editor.onKeyDown((e=>this._onEditorKeyDown(new qz(e,this._opts))))),this._register(this._editor.onKeyUp((e=>this._onEditorKeyUp(new qz(e,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((e=>this._onDidChangeCursorSelection(e)))),this._register(this._editor.onDidChangeModel((e=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((e=>{(e.scrollTopChanged||e.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()}}var Yz=n(9734),Xz={};Xz.styleTagTransform=Vr(),Xz.setAttributes=Or(),Xz.insert=Rr().bind(null,"head"),Xz.domAPI=Tr(),Xz.insertStyleElement=Br(),Ir()(Yz.A,Xz),Yz.A&&Yz.A.locals&&Yz.A.locals;var Qz=function(e,t){return function(n,i){t(n,i,e)}};let Jz=class extends yB{constructor(e,t,n,i,o,s,r,l,a,d,u,c,h){super(e,{...i.getRawOptions(),overflowWidgetsDomNode:i.getOverflowWidgetsDomNode()},n,o,s,r,l,a,d,u,c,h),this._parentEditor=i,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(i.onDidChangeConfiguration((e=>this._onParentConfigurationChanged(e))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){fc(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Jz=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Qz(4,ad),Qz(5,ud),Qz(6,wd),Qz(7,su),Qz(8,Tv),Qz(9,nN),Qz(10,qS),Qz(11,Qg),Qz(12,wx)],Jz);var eU=n(4166),tU={};tU.styleTagTransform=Vr(),tU.setAttributes=Or(),tU.insert=Rr().bind(null,"head"),tU.domAPI=Tr(),tU.insertStyleElement=Br(),Ir()(eU.A,tU),eU.A&&eU.A.locals&&eU.A.locals;var nU,iU=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r};!function(e){e.North="north",e.South="south",e.East="east",e.West="west"}(nU||(nU={}));const oU=new Ct,sU=new Ct;class rU{constructor(e){this.el=e,this.disposables=new rt}get onPointerMove(){return this.disposables.add(new US(is(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new US(is(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}iU([xL],rU.prototype,"onPointerMove",null),iU([xL],rU.prototype,"onPointerUp",null);class lU{get onPointerMove(){return this.disposables.add(new US(this.el,kL.Change)).event}get onPointerUp(){return this.disposables.add(new US(this.el,kL.End)).event}constructor(e){this.el=e,this.disposables=new rt}dispose(){this.disposables.dispose()}}iU([xL],lU.prototype,"onPointerMove",null),iU([xL],lU.prototype,"onPointerUp",null);class aU{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}iU([xL],aU.prototype,"onPointerMove",null),iU([xL],aU.prototype,"onPointerUp",null);const dU="pointer-events-disabled";class uU extends lt{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",0===e),this.el.classList.toggle("minimum",1===e),this.el.classList.toggle("maximum",2===e),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=t=>{this.orthogonalStartDragHandleDisposables.clear(),0!==t&&(this._orthogonalStartDragHandle=dr(this.el,mr(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(st((()=>this._orthogonalStartDragHandle.remove()))),this.orthogonalStartDragHandleDisposables.add(new US(this._orthogonalStartDragHandle,"mouseenter")).event((()=>uU.onMouseEnter(e)),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new US(this._orthogonalStartDragHandle,"mouseleave")).event((()=>uU.onMouseLeave(e)),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=t=>{this.orthogonalEndDragHandleDisposables.clear(),0!==t&&(this._orthogonalEndDragHandle=dr(this.el,mr(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(st((()=>this._orthogonalEndDragHandle.remove()))),this.orthogonalEndDragHandleDisposables.add(new US(this._orthogonalEndDragHandle,"mouseenter")).event((()=>uU.onMouseEnter(e)),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new US(this._orthogonalEndDragHandle,"mouseleave")).event((()=>uU.onMouseLeave(e)),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,n){super(),this.hoverDelay=300,this.hoverDelayer=this._register(new Bt(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new Ct),this._onDidStart=this._register(new Ct),this._onDidChange=this._register(new Ct),this._onDidReset=this._register(new Ct),this._onDidEnd=this._register(new Ct),this.orthogonalStartSashDisposables=this._register(new rt),this.orthogonalStartDragHandleDisposables=this._register(new rt),this.orthogonalEndSashDisposables=this._register(new rt),this.orthogonalEndDragHandleDisposables=this._register(new rt),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=dr(e,mr(".monaco-sash")),n.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${n.orthogonalEdge}`),U&&this.el.classList.add("mac");const i=this._register(new US(this.el,"mousedown")).event;this._register(i((t=>this.onPointerStart(t,new rU(e))),this));const o=this._register(new US(this.el,"dblclick")).event;this._register(o(this.onPointerDoublePress,this));const s=this._register(new US(this.el,"mouseenter")).event;this._register(s((()=>uU.onMouseEnter(this))));const r=this._register(new US(this.el,"mouseleave")).event;this._register(r((()=>uU.onMouseLeave(this)))),this._register(LL.addTarget(this.el));const l=this._register(new US(this.el,kL.Start)).event;this._register(l((e=>this.onPointerStart(e,new lU(this.el))),this));const a=this._register(new US(this.el,kL.Tap)).event;let d;this._register(a((e=>{if(d)return clearTimeout(d),d=void 0,void this.onPointerDoublePress(e);clearTimeout(d),d=setTimeout((()=>d=void 0),250)}),this)),"number"==typeof n.size?(this.size=n.size,0===n.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=4,this._register(oU.event((e=>{this.size=e,this.layout()})))),this._register(sU.event((e=>this.hoverDelay=e))),this.layoutProvider=t,this.orthogonalStartSash=n.orthogonalStartSash,this.orthogonalEndSash=n.orthogonalEndSash,this.orientation=n.orientation||0,1===this.orientation?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",!1),this.layout()}onPointerStart(e,t){rr(e);let n=!1;if(!e.__orthogonalSashEvent){const i=this.getOrthogonalSash(e);i&&(n=!0,e.__orthogonalSashEvent=!0,i.onPointerStart(e,new aU(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new aU(t))),!this.state)return;const i=this.el.ownerDocument.getElementsByTagName("iframe");for(const e of i)e.classList.add(dU);const o=e.pageX,s=e.pageY,r=e.altKey,l={startX:o,currentX:o,startY:s,currentY:s,altKey:r};this.el.classList.add("active"),this._onDidStart.fire(l);const a=$s(this.el),d=()=>{let e="";e=n?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":U?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":U?"col-resize":"ew-resize",a.textContent=`* { cursor: ${e} !important; }`},u=new rt;d(),n||this.onDidEnablementChange.event(d,null,u),t.onPointerMove((e=>{rr(e,!1);const t={startX:o,currentX:e.pageX,startY:s,currentY:e.pageY,altKey:r};this._onDidChange.fire(t)}),null,u),t.onPointerUp((e=>{rr(e,!1),this.el.removeChild(a),this.el.classList.remove("active"),this._onDidEnd.fire(),u.dispose();for(const e of i)e.classList.remove(dU)}),null,u),u.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger((()=>e.el.classList.add("hover")),e.hoverDelay).then(void 0,(()=>{})),!t&&e.linkedSash&&uU.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&uU.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){uU.onMouseLeave(this)}layout(){if(0===this.orientation){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){var t;const n=null!==(t=e.initialTarget)&&void 0!==t?t:e.target;if(n&&n instanceof HTMLElement)return n.classList.contains("orthogonal-drag-handle")?n.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}var cU=n(2889),hU={};hU.styleTagTransform=Vr(),hU.setAttributes=Or(),hU.insert=Rr().bind(null,"head"),hU.domAPI=Tr(),hU.insertStyleElement=Br(),Ir()(cU.A,hU),cU.A&&cU.A.locals&&cU.A.locals;const gU=new lh(new oh(0,122,204)),pU={showArrow:!0,showFrame:!0,className:"",frameColor:gU,arrowColor:gU,keepEditorSelection:!1};class mU{constructor(e,t,n,i,o,s,r,l){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=n,this.heightInLines=i,this.showInHiddenAreas=r,this.ordinal=l,this._onDomNodeTop=o,this._onComputedHeight=s}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class fU{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class _U{constructor(e){this._editor=e,this._ruleName=_U._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),er(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(){er(this._ruleName),Js(`.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){1===e.column&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:nc.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}_U._IdGenerator=new Ck(".arrow-decoration-");class vU{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new rt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=hc(t),fc(this.options,pU,!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((e=>{const t=this._getWidth(e);this.domNode.style.width=t+"px",this.domNode.style.left=this._getLeft(e)+"px",this._onWidth(t)})))}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 _U(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&&0===e.minimap.minimapLeft?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 t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}null===(t=this._resizeSash)||void 0===t||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const n=nc.isIRange(e)?nc.lift(e):nc.fromPositions(e);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId.set([{range:n,options:My.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),null===(e=this._arrow)||void 0===e||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;return this.options.showArrow&&(t+=2*Math.round(e/3)),this.options.showFrame&&(t+=2*Math.round(e/9)),t}_showImpl(e,t){const n=e.getStartPosition(),i=this.editor.getLayoutInfo(),o=this._getWidth(i);this.domNode.style.width=`${o}px`,this.domNode.style.left=this._getLeft(i)+"px";const s=document.createElement("div");s.style.overflow="hidden";const r=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const e=Math.max(12,this.editor.getLayoutInfo().height/r*.8);t=Math.min(t,e)}let l=0,a=0;if(this._arrow&&this.options.showArrow&&(l=Math.round(r/3),this._arrow.height=l,this._arrow.show(n)),this.options.showFrame&&(a=Math.round(r/9)),this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new mU(s,n.lineNumber,n.column,t,(e=>this._onViewZoneTop(e)),(e=>this._onViewZoneHeight(e)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new fU("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const e=this.options.frameWidth?this.options.frameWidth:a;this.container.style.borderTopWidth=e+"px",this.container.style.borderBottomWidth=e+"px"}const d=t*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=l+"px",this.container.style.height=d+"px",this.container.style.overflow="hidden"),this._doLayout(d,o),this.options.keepEditorSelection||this.editor.setSelection(e);const u=this.editor.getModel();if(u){const t=u.validateRange(new nc(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.startLineNumber===u.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;let e;this._resizeSash=this._disposables.add(new uU(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),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 n=(t.currentY-e.startY)/this.editor.getOption(67),i=n<0?Math.ceil(n):Math.floor(n),o=e.heightInLines+i;o>5&&o<35&&this._relayout(o)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var bU=n(9862),wU={};wU.styleTagTransform=Vr(),wU.setAttributes=Or(),wU.insert=Rr().bind(null,"head"),wU.domAPI=Tr(),wU.insertStyleElement=Br(),Ir()(bU.A,wU),bU.A&&bU.A.locals&&bU.A.locals;class CU extends md{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new Ct),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=dr(e,mr(".monaco-dropdown")),this._label=dr(this._element,mr(".dropdown-label"));let n=t.labelRenderer;n||(n=e=>(e.textContent=t.label||"",null));for(const e of[or.CLICK,or.MOUSE_DOWN,kL.Tap])this._register(ms(this.element,e,(e=>rr(e,!0))));for(const e of[or.MOUSE_DOWN,kL.Tap])this._register(ms(this._label,e,(e=>{nr(e)&&(e.detail>1||0!==e.button)||(this.visible?this.hide():this.show())})));this._register(ms(this._label,or.KEY_UP,(e=>{const t=new Ue(e);(t.equals(3)||t.equals(10))&&(rr(e,!0),this.visible?this.hide():this.show())})));const i=n(this._label);i&&this._register(i),this._register(LL.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class yU extends CU{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class SU extends eM{constructor(e,t,n,i=Object.create(null)){super(null,e,i),this.actionItem=null,this._onDidChangeVisibility=this._register(new Ct),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=n,this.options=i,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=Array.isArray(this.menuActionsOrProvider),n={contextMenuProvider:this.contextMenuProvider,labelRenderer:e=>{var t;this.element=dr(e,mr("a.action-label"));let n=[];return"string"==typeof this.options.classNames?n=this.options.classNames.split(/\s+/g).filter((e=>!!e)):this.options.classNames&&(n=this.options.classNames),n.find((e=>"icon"===e))||n.push("codicon"),this.element.classList.add(...n),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(RL(null!==(t=this.options.hoverDelegate)&&void 0!==t?t:IL("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:t?this.menuActionsOrProvider:void 0,actionProvider:t?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new yU(e,n)),this._register(this.dropdownMenu.onDidChangeVisibility((e=>{var t;null===(t=this.element)||void 0===t||t.setAttribute("aria-expanded",`${e}`),this._onDidChangeVisibility.fire(e)}))),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const e=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return e.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),null!=e?e:void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){var e;null===(e=this.dropdownMenu)||void 0===e||e.show()}updateEnabled(){var e,t;const n=!this.action.enabled;null===(e=this.actionItem)||void 0===e||e.classList.toggle("disabled",n),null===(t=this.element)||void 0===t||t.classList.toggle("disabled",n)}}var xU=n(9055),kU={};kU.styleTagTransform=Vr(),kU.setAttributes=Or(),kU.insert=Rr().bind(null,"head"),kU.domAPI=Tr(),kU.insertStyleElement=Br(),Ir()(xU.A,kU),xU.A&&xU.A.locals&&xU.A.locals;var LU=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},DU=function(e,t){return function(n,i){t(n,i,e)}};function NU(e,t,n,i,o,s){EU(e.getActions(t),n,!1,"string"==typeof i?e=>e===i:i,o,s)}function EU(e,t,n,i=(e=>"navigation"===e),o=(()=>!1),s=!1){let r,l;Array.isArray(t)?(r=t,l=t):(r=t.primary,l=t.secondary);const a=new Set;for(const[t,o]of e){let e;i(t)?(e=r,e.length>0&&s&&e.push(new fd)):(e=l,e.length>0&&e.push(new fd));for(let i of o){n&&(i=i instanceof Nu&&i.alt?i.alt:i);const o=e.push(i);i instanceof _d&&a.add({group:t,action:i,index:o-1})}}for(const{group:e,action:t,index:n}of a){const s=i(e)?r:l,a=t.actions;o(t,e,s.length)&&s.splice(n,1,...a)}}let IU=class extends tM{constructor(e,t,n,i,o,s,r,l){super(void 0,e,{icon:!(!e.class&&!e.item.icon),label:!e.class&&!e.item.icon,draggable:null==t?void 0:t.draggable,keybinding:null==t?void 0:t.keybinding,hoverDelegate:null==t?void 0:t.hoverDelegate}),this._keybindingService=n,this._notificationService=i,this._contextKeyService=o,this._themeService=s,this._contextMenuService=r,this._accessibilityService=l,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new at),this._altKey=xr.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(e){this._notificationService.error(e)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const n=()=>{var e;const n=!!(null===(e=this._menuItemAction.alt)||void 0===e?void 0:e.enabled)&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);n!==this._wantsAltCommand&&(this._wantsAltCommand=n,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(n)),this._register(ms(e,"mouseleave",(e=>{t=!1,n()}))),this._register(ms(e,"mouseenter",(e=>{t=!0,n()}))),n()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var e;const t=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),n=t&&t.getLabel(),i=this._commandAction.tooltip||this._commandAction.label;let o=n?_(0,"{0} ({1})",i,n):i;if(!this._wantsAltCommand&&(null===(e=this._menuItemAction.alt)||void 0===e?void 0:e.enabled)){const e=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,t=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),n=t&&t.getLabel(),i=n?_(0,"{0} ({1})",e,n):e;o=_(0,"{0}\n[{1}] {2}",o,lM.modifierLabels[ee].altKey,i)}return o}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:n}=this;if(!t||!n)return;const i=this._commandAction.checked&&(o=e.toggled)&&void 0!==o.condition&&e.toggled.icon?e.toggled.icon:e.icon;var o;if(i)if(ka.isThemeIcon(i)){const e=ka.asClassNameArray(i);n.classList.add(...e),this._itemClassDispose.value=st((()=>{n.classList.remove(...e)}))}else n.style.backgroundImage=Mv(this._themeService.getColorTheme().type)?wr(i.dark):wr(i.light),n.classList.add("icon"),this._itemClassDispose.value=ot(st((()=>{n.style.backgroundImage="",n.classList.remove("icon")})),this._themeService.onDidColorThemeChange((()=>{this.updateClass()})))}};IU=LU([DU(2,zL),DU(3,nN),DU(4,su),DU(5,Tv),DU(6,HL),DU(7,qS)],IU);let MU=class extends SU{constructor(e,t,n,i,o){var s,r,l;const a={...t,menuAsChild:null!==(s=null==t?void 0:t.menuAsChild)&&void 0!==s&&s,classNames:null!==(r=null==t?void 0:t.classNames)&&void 0!==r?r:ka.isThemeIcon(e.item.icon)?ka.asClassName(e.item.icon):void 0,keybindingProvider:null!==(l=null==t?void 0:t.keybindingProvider)&&void 0!==l?l:e=>n.lookupKeybinding(e.id)};super(e,{getActions:()=>e.actions},i,a),this._keybindingService=n,this._contextMenuService=i,this._themeService=o}render(e){super.render(e),fa(this.element),e.classList.add("menu-entry");const t=this._action,{icon:n}=t.item;if(n&&!ka.isThemeIcon(n)){this.element.classList.add("icon");const e=()=>{this.element&&(this.element.style.backgroundImage=Mv(this._themeService.getColorTheme().type)?wr(n.dark):wr(n.light))};e(),this._register(this._themeService.onDidColorThemeChange((()=>{e()})))}}};MU=LU([DU(2,zL),DU(3,HL),DU(4,Tv)],MU);let TU=class extends eM{constructor(e,t,n,i,o,s,r,l){var a,d,u;let c;super(null,e),this._keybindingService=n,this._notificationService=i,this._contextMenuService=o,this._menuService=s,this._instaService=r,this._storageService=l,this._container=null,this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;const h=(null==t?void 0:t.persistLastActionId)?l.get(this._storageKey,1):void 0;h&&(c=e.actions.find((e=>h===e.id))),c||(c=e.actions[0]),this._defaultAction=this._instaService.createInstance(IU,c,{keybinding:this._getDefaultActionKeybindingLabel(c)});const g={keybindingProvider:e=>this._keybindingService.lookupKeybinding(e.id),...t,menuAsChild:null===(a=null==t?void 0:t.menuAsChild)||void 0===a||a,classNames:null!==(d=null==t?void 0:t.classNames)&&void 0!==d?d:["codicon","codicon-chevron-down"],actionRunner:null!==(u=null==t?void 0:t.actionRunner)&&void 0!==u?u:new md};this._dropdown=new SU(e,e.actions,this._contextMenuService,g),this._register(this._dropdown.actionRunner.onDidRun((e=>{e.action instanceof Nu&&this.update(e.action)})))}update(e){var t;(null===(t=this._options)||void 0===t?void 0:t.persistLastActionId)&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(IU,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends md{async runAction(e,t){await e.run(void 0)}},this._container&&this._defaultAction.render(ur(this._container,mr(".action-container")))}_getDefaultActionKeybindingLabel(e){var t;let n;if(null===(t=this._options)||void 0===t?void 0:t.renderKeybindingWithDefaultActionLabel){const t=this._keybindingService.lookupKeybinding(e.id);t&&(n=`(${t.getLabel()})`)}return n}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=mr(".action-container");this._defaultAction.render(dr(this._container,t)),this._register(ms(t,or.KEY_DOWN,(e=>{const t=new Ue(e);t.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),t.stopPropagation())})));const n=mr(".dropdown-action-container");this._dropdown.render(dr(this._container,n)),this._register(ms(n,or.KEY_DOWN,(e=>{var t;const n=new Ue(e);n.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),null===(t=this._defaultAction.element)||void 0===t||t.focus(),n.stopPropagation())})))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};TU=LU([DU(2,zL),DU(3,nN),DU(4,HL),DU(5,xu),DU(6,ad),DU(7,KB)],TU);let AU=class extends nM{constructor(e,t){super(null,e,e.actions.map((e=>({text:e.id===fd.ID?"─────────":e.label,isDisabled:!e.enabled}))),0,t,LM,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex((e=>e.checked))))}render(e){super.render(e),e.style.borderColor=ym(S_)}runAction(e,t){const n=this.action.actions[t];n&&this.actionRunner.run(n)}};function RU(e,t,n){return t instanceof Nu?e.createInstance(IU,t,n):t instanceof Du?t.item.isSelection?e.createInstance(AU,t):t.item.rememberDefaultAction?e.createInstance(TU,t,{...n,persistLastActionId:!0}):e.createInstance(MU,t,n):void 0}AU=LU([DU(1,VL)],AU);var PU=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},OU=function(e,t){return function(n,i){t(n,i,e)}};const FU=dd("IPeekViewService");var BU;yg(FU,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){const n=this._widgets.get(e);n&&(n.listener.dispose(),n.widget.dispose()),this._widgets.set(e,{widget:t,listener:t.onDidClose((()=>{const n=this._widgets.get(e);n&&n.widget===t&&(n.listener.dispose(),this._widgets.delete(e))}))})}},1),function(e){e.inPeekEditor=new ou("inReferenceSearchEditor",!0,_(0,"Whether the current code editor is embedded inside peek")),e.notInPeekEditor=e.inPeekEditor.toNegated()}(BU||(BU={}));let WU=class{constructor(e,t){e instanceof Jz&&BU.inPeekEditor.bindTo(t)}dispose(){}};WU.ID="editor.contrib.referenceController",WU=PU([OU(1,su)],WU),Zu(WU.ID,WU,0);const VU={headerBackgroundColor:lh.white,primaryHeadingColor:lh.fromHex("#333333"),secondaryHeadingColor:lh.fromHex("#6c6c6cb3")};let HU=class extends vU{constructor(e,t,n){super(e,t),this.instantiationService=n,this._onDidClose=new Ct,this.onDidClose=this._onDidClose.event,fc(this.options,VU,!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=mr(".head"),this._bodyElement=mr(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=mr(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),_s(this._titleElement,"click",(e=>this._onTitleClick(e)))),dr(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=mr("span.filename"),this._secondaryHeading=mr("span.dirname"),this._metaHeading=mr("span.meta"),dr(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const n=mr(".peekview-actions");dr(this._headElement,n);const i=this._getActionBarOptions();this._actionbarWidget=new iM(n,i),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new pd("peekview.close",_(0,"Close"),ka.asClassName(Sa.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:RU.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:gs(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,fr(this._metaHeading)):_r(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0)return void this.dispose();const n=Math.ceil(1.2*this.editor.getOption(67)),i=Math.round(e-(n+2));this._doLayoutHead(n,t),this._doLayoutBody(i,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`)}};HU=PU([OU(2,ad)],HU);const zU=km("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:lh.black,hcLight:lh.white},_(0,"Background color of the peek view title area.")),UU=km("peekViewTitleLabel.foreground",{dark:lh.white,light:lh.black,hcDark:lh.white,hcLight:Zm},_(0,"Color of the peek view title.")),KU=km("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},_(0,"Color of the peek view title info.")),jU=km("peekView.border",{dark:sf,light:sf,hcDark:Bm,hcLight:Bm},_(0,"Color of the peek view borders and arrow.")),qU=km("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:lh.black,hcLight:lh.white},_(0,"Background color of the peek view result list.")),$U=(km("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:lh.white,hcLight:Zm},_(0,"Foreground color for line nodes in the peek view result list.")),km("peekViewResult.fileForeground",{dark:lh.white,light:"#1E1E1E",hcDark:lh.white,hcLight:Zm},_(0,"Foreground color for file nodes in the peek view result list.")),km("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},_(0,"Background color of the selected entry in the peek view result list.")),km("peekViewResult.selectionForeground",{dark:lh.white,light:"#6C6C6C",hcDark:lh.white,hcLight:Zm},_(0,"Foreground color of the selected entry in the peek view result list.")),km("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:lh.black,hcLight:lh.white},_(0,"Background color of the peek view editor.")));function GU(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===WO.ICodeEditor}function ZU(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===WO.IDiffEditor}function YU(e){return GU(e)?e:ZU(e)?e.getModifiedEditor():function(e){return!!e&&"object"==typeof e&&"function"==typeof e.onDidChangeActiveEditor}(e)&&GU(e.activeCodeEditor)?e.activeCodeEditor:null}km("peekViewEditorGutter.background",{dark:$U,light:$U,hcDark:$U,hcLight:$U},_(0,"Background color of the gutter in the peek view editor.")),km("peekViewEditorStickyScroll.background",{dark:$U,light:$U,hcDark:$U,hcLight:$U},_(0,"Background color of sticky scroll in the peek view editor.")),km("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},_(0,"Match highlight color in the peek view result list.")),km("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},_(0,"Match highlight color in the peek view editor.")),km("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Wm,hcLight:Wm},_(0,"Match highlight border in the peek view editor."));class XU{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:lt.None}}renderElement(e,t,n,i){var o;if(null===(o=n.disposable)||void 0===o||o.dispose(),!n.data)return;const s=this.modelProvider();if(s.isResolved(e))return this.renderer.renderElement(s.get(e),e,n.data,i);const r=new Tt,l=s.resolve(e,r.token);n.disposable={dispose:()=>r.cancel()},this.renderer.renderPlaceholder(e,n.data),l.then((t=>this.renderer.renderElement(t,e,n.data,i)))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class QU{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}class JU{constructor(e,t,n,i,o={}){const s=()=>this.model,r=i.map((e=>new XU(e,s)));this.list=new HI(e,t,n,r,function(e,t){return{...t,accessibilityProvider:t.accessibilityProvider&&new QU(e,t.accessibilityProvider)}}(s,o))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return ft.map(this.list.onMouseDblClick,(({element:e,index:t,browserEvent:n})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:n})))}get onPointer(){return ft.map(this.list.onPointer,(({element:e,index:t,browserEvent:n})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:n})))}get onDidChangeSelection(){return ft.map(this.list.onDidChangeSelection,(({elements:e,indexes:t,browserEvent:n})=>({elements:e.map((e=>this._model.get(e))),indexes:t,browserEvent:n})))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,zc(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((e=>this.model.get(e)))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}var eK=n(3474),tK={};tK.styleTagTransform=Vr(),tK.setAttributes=Or(),tK.insert=Rr().bind(null,"head"),tK.domAPI=Tr(),tK.insertStyleElement=Br(),Ir()(eK.A,tK),eK.A&&eK.A.locals&&eK.A.locals;const nK={separatorBorder:lh.transparent};class iK{set size(e){this._size=e}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(e,t){var n,i;if(e!==this.visible){e?(this.size=BN(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof t?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{null===(i=(n=this.view).setVisible)||void 0===i||i.call(n,e)}catch(e){console.error("Splitview: Failed to set visible view"),console.error(e)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var e;return null===(e=this.view.proportionalLayout)||void 0===e||e}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,n,i){this.container=e,this.view=t,this.disposable=i,this._cachedVisibleSize=void 0,"number"==typeof n?(this._size=n,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch(e){console.error("Splitview: Failed to layout view"),console.error(e)}}dispose(){this.disposable.dispose()}}class oK extends iK{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class sK extends iK{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var rK,lK;!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(rK||(rK={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Auto=function(e){return{type:"auto",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(lK||(lK={}));class aK extends lt{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){var n,i,o,s,r;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=rK.Idle,this._onDidSashChange=this._register(new Ct),this._onDidSashReset=this._register(new Ct),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=null!==(n=t.orientation)&&void 0!==n?n:0,this.inverseAltBehavior=null!==(i=t.inverseAltBehavior)&&void 0!==i&&i,this.proportionalLayout=null===(o=t.proportionalLayout)||void 0===o||o,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=dr(this.el,mr(".sash-container")),this.viewContainer=mr(".split-view-container"),this.scrollable=this._register(new JN({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:e=>Cs(is(this.el),e)})),this.scrollableElement=this._register(new uE(this.viewContainer,{vertical:0===this.orientation?null!==(s=t.scrollbarVisibility)&&void 0!==s?s:1:2,horizontal:1===this.orientation?null!==(r=t.scrollbarVisibility)&&void 0!==r?r:1:2},this.scrollable));const l=this._register(new US(this.viewContainer,"scroll")).event;this._register(l((e=>{const t=this.scrollableElement.getScrollPosition(),n=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,i=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;void 0===n&&void 0===i||this.scrollableElement.setScrollPosition({scrollLeft:n,scrollTop:i})}))),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((e=>{e.scrollTopChanged&&(this.viewContainer.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this.viewContainer.scrollLeft=e.scrollLeft)}))),dr(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||nK),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach(((e,t)=>{const n=ga(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},i=e.view;this.doAddView(i,n,t,!0)})),this._contentSize=this.viewItems.reduce(((e,t)=>e+t.size),0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,n=this.viewItems.length,i){this.doAddView(e,t,n,i)}layout(e,t){const n=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let t=0;for(let n=0;n0&&(i.size=BN(Math.round(o*e/t),i.minimumSize,i.maximumSize))}}else{const t=zc(this.viewItems.length),i=t.filter((e=>1===this.viewItems[e].priority)),o=t.filter((e=>2===this.viewItems[e].priority));this.resize(this.viewItems.length-1,e-n,void 0,i,o)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map((e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0)))}onSashStart({sash:e,start:t,alt:n}){for(const e of this.viewItems)e.enabled=!1;const i=this.sashItems.findIndex((t=>t.sash===e)),o=ot(ms(this.el.ownerDocument.body,"keydown",(e=>s(this.sashDragState.current,e.altKey))),ms(this.el.ownerDocument.body,"keyup",(()=>s(this.sashDragState.current,!1)))),s=(e,t)=>{const n=this.viewItems.map((e=>e.size));let s,r,l=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(t=!t),t)if(i===this.sashItems.length-1){const e=this.viewItems[i];l=(e.minimumSize-e.size)/2,a=(e.maximumSize-e.size)/2}else{const e=this.viewItems[i+1];l=(e.size-e.maximumSize)/2,a=(e.size-e.minimumSize)/2}if(!t){const e=zc(i,-1),t=zc(i+1,this.viewItems.length),o=e.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-n[t])),0),l=e.reduce(((e,t)=>e+(this.viewItems[t].viewMaximumSize-n[t])),0),a=0===t.length?Number.POSITIVE_INFINITY:t.reduce(((e,t)=>e+(n[t]-this.viewItems[t].minimumSize)),0),d=0===t.length?Number.NEGATIVE_INFINITY:t.reduce(((e,t)=>e+(n[t]-this.viewItems[t].viewMaximumSize)),0),u=Math.max(o,d),c=Math.min(a,l),h=this.findFirstSnapIndex(e),g=this.findFirstSnapIndex(t);if("number"==typeof h){const e=this.viewItems[h],t=Math.floor(e.viewMinimumSize/2);s={index:h,limitDelta:e.visible?u-t:u+t,size:e.size}}if("number"==typeof g){const e=this.viewItems[g],t=Math.floor(e.viewMinimumSize/2);r={index:g,limitDelta:e.visible?c+t:c-t,size:e.size}}}this.sashDragState={start:e,current:e,index:i,sizes:n,minDelta:l,maxDelta:a,alt:t,snapBefore:s,snapAfter:r,disposable:o}};s(t,n)}onSashChange({current:e}){const{index:t,start:n,sizes:i,alt:o,minDelta:s,maxDelta:r,snapBefore:l,snapAfter:a}=this.sashDragState;this.sashDragState.current=e;const d=e-n,u=this.resize(t,d,i,void 0,void 0,s,r,l,a);if(o){const e=t===this.sashItems.length-1,n=this.viewItems.map((e=>e.size)),i=e?t:t+1,o=this.viewItems[i],s=o.size-o.maximumSize,r=o.size-o.minimumSize,l=e?t-1:t+1;this.resize(l,-u,n,void 0,void 0,s,r)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const e of this.viewItems)e.enabled=!0}onViewChange(e,t){const n=this.viewItems.indexOf(e);n<0||n>=this.viewItems.length||(t=BN(t="number"==typeof t?t:e.size,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&n>0?(this.resize(n-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([n],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==rK.Idle)throw new Error("Cant modify splitview");this.state=rK.Busy;try{const n=zc(this.viewItems.length).filter((t=>t!==e)),i=[...n.filter((e=>1===this.viewItems[e].priority)),e],o=n.filter((e=>2===this.viewItems[e].priority)),s=this.viewItems[e];t=BN(t=Math.round(t),s.minimumSize,Math.min(s.maximumSize,this.size)),s.size=t,this.relayout(i,o)}finally{this.state=rK.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const n of this.viewItems)n.maximumSize-n.minimumSize>0&&(e.push(n),t+=n.size);const n=Math.floor(t/e.length);for(const t of e)t.size=BN(n,t.minimumSize,t.maximumSize);const i=zc(this.viewItems.length),o=i.filter((e=>1===this.viewItems[e].priority)),s=i.filter((e=>2===this.viewItems[e].priority));this.relayout(o,s)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,n=this.viewItems.length,i){if(this.state!==rK.Idle)throw new Error("Cant modify splitview");this.state=rK.Busy;try{const o=mr(".split-view-view");n===this.viewItems.length?this.viewContainer.appendChild(o):this.viewContainer.insertBefore(o,this.viewContainer.children.item(n));const s=e.onDidChange((e=>this.onViewChange(a,e))),r=ot(s,st((()=>this.viewContainer.removeChild(o))));let l;"number"==typeof t?l=t:("auto"===t.type&&(t=this.areViewsDistributed()?{type:"distribute"}:{type:"split",index:t.index}),l="split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize);const a=0===this.orientation?new oK(o,e,l,r):new sK(o,e,l,r);if(this.viewItems.splice(n,0,a),this.viewItems.length>1){const e={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},t=0===this.orientation?new uU(this.sashContainer,{getHorizontalSashTop:e=>this.getSashPosition(e),getHorizontalSashWidth:this.getSashOrthogonalSize},{...e,orientation:1}):new uU(this.sashContainer,{getVerticalSashLeft:e=>this.getSashPosition(e),getVerticalSashHeight:this.getSashOrthogonalSize},{...e,orientation:0}),i=0===this.orientation?e=>({sash:t,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:t,start:e.startX,current:e.currentX,alt:e.altKey}),o=ft.map(t.onDidStart,i)(this.onSashStart,this),s=ft.map(t.onDidChange,i)(this.onSashChange,this),r=ft.map(t.onDidEnd,(()=>this.sashItems.findIndex((e=>e.sash===t)))),l=r(this.onSashEnd,this),a=t.onDidReset((()=>{const e=this.sashItems.findIndex((e=>e.sash===t)),n=zc(e,-1),i=zc(e+1,this.viewItems.length),o=this.findFirstSnapIndex(n),s=this.findFirstSnapIndex(i);("number"!=typeof o||this.viewItems[o].visible)&&("number"!=typeof s||this.viewItems[s].visible)&&this._onDidSashReset.fire(e)})),d=ot(o,s,l,a,t),u={sash:t,disposable:d};this.sashItems.splice(n-1,0,u)}let d;o.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(d=[t.index]),i||this.relayout([n],d),i||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()}finally{this.state=rK.Idle}}relayout(e,t){const n=this.viewItems.reduce(((e,t)=>e+t.size),0);this.resize(this.viewItems.length-1,this.size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,n=this.viewItems.map((e=>e.size)),i,o,s=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,l,a){if(e<0||e>=this.viewItems.length)return 0;const d=zc(e,-1),u=zc(e+1,this.viewItems.length);if(o)for(const e of o)Kc(d,e),Kc(u,e);if(i)for(const e of i)jc(d,e),jc(u,e);const c=d.map((e=>this.viewItems[e])),h=d.map((e=>n[e])),g=u.map((e=>this.viewItems[e])),p=u.map((e=>n[e])),m=d.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-n[t])),0),f=d.reduce(((e,t)=>e+(this.viewItems[t].maximumSize-n[t])),0),_=0===u.length?Number.POSITIVE_INFINITY:u.reduce(((e,t)=>e+(n[t]-this.viewItems[t].minimumSize)),0),v=0===u.length?Number.NEGATIVE_INFINITY:u.reduce(((e,t)=>e+(n[t]-this.viewItems[t].maximumSize)),0),b=Math.max(m,v,s),w=Math.min(_,f,r);let C=!1;if(l){const e=this.viewItems[l.index],n=t>=l.limitDelta;C=n!==e.visible,e.setVisible(n,l.size)}if(!C&&a){const e=this.viewItems[a.index],n=te+t.size),0);let n=this.size-t;const i=zc(this.viewItems.length-1,-1),o=i.filter((e=>1===this.viewItems[e].priority)),s=i.filter((e=>2===this.viewItems[e].priority));for(const e of s)Kc(i,e);for(const e of o)jc(i,e);"number"==typeof e&&jc(i,e);for(let e=0;0!==n&&ee+t.size),0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach((e=>e.sash.layout())),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){0===this.orientation?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map((t=>e=t.size-t.minimumSize>0||e));e=!1;const n=this.viewItems.map((t=>e=t.maximumSize-t.size>0||e)),i=[...this.viewItems].reverse();e=!1;const o=i.map((t=>e=t.size-t.minimumSize>0||e)).reverse();e=!1;const s=i.map((t=>e=t.maximumSize-t.size>0||e)).reverse();let r=0;for(let e=0;e0||this.startSnappingEnabled)?i.state=1:u&&t[e]&&(r0)return;if(!e.visible&&e.snap)return t}}areViewsDistributed(){let e,t;for(const n of this.viewItems)if(e=void 0===e?n.size:Math.min(e,n.size),t=void 0===t?n.size:Math.max(t,n.size),t-e>2)return!1;return!0}dispose(){var e;null===(e=this.sashDragState)||void 0===e||e.disposable.dispose(),it(this.viewItems),this.viewItems=[],this.sashItems.forEach((e=>e.disposable.dispose())),this.sashItems=[],super.dispose()}}var dK=n(4234),uK={};uK.styleTagTransform=Vr(),uK.setAttributes=Or(),uK.insert=Rr().bind(null,"head"),uK.domAPI=Tr(),uK.insertStyleElement=Br(),Ir()(dK.A,uK),dK.A&&dK.A.locals&&dK.A.locals;class cK{constructor(e,t,n){this.columns=e,this.getColumnSize=n,this.templateId=cK.TemplateId,this.renderedTemplates=new Set;const i=new Map(t.map((e=>[e.templateId,e])));this.renderers=[];for(const t of e){const e=i.get(t.templateId);if(!e)throw new Error(`Table cell renderer for template id ${t.templateId} not found.`);this.renderers.push(e)}}renderTemplate(e){const t=dr(e,mr(".monaco-table-tr")),n=[],i=[];for(let e=0;ethis.disposables.add(new hK(e,t)))),l={size:r.reduce(((e,t)=>e+t.column.weight),0),views:r.map((e=>({size:e.column.weight,view:e})))};this.splitview=this.disposables.add(new aK(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:l})),this.splitview.el.style.height=`${n.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${n.headerRowHeight}px`;const a=new cK(i,o,(e=>this.splitview.getViewSize(e)));var d;this.list=this.disposables.add(new HI(e,this.domNode,(d=n,{getHeight:e=>d.getHeight(e),getTemplateId:()=>cK.TemplateId}),[a],s)),ft.any(...r.map((e=>e.onDidLayout)))((([e,t])=>a.layoutColumn(e,t)),null,this.disposables),this.splitview.onDidSashReset((e=>{const t=i.reduce(((e,t)=>e+t.weight),0),n=i[e].weight/t*this.cachedWidth;this.splitview.resizeView(e,n)}),null,this.disposables),this.styleElement=$s(this.domNode),this.style(RI)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,n=[]){this.list.splice(e,t,n)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=t.join("\n"),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}gK.InstanceCount=0;var pK=n(2516),mK={};mK.styleTagTransform=Vr(),mK.setAttributes=Or(),mK.insert=Rr().bind(null,"head"),mK.domAPI=Tr(),mK.insertStyleElement=Br(),Ir()(pK.A,mK),pK.A&&pK.A.locals&&pK.A.locals;class fK extends jN{constructor(e){var t;super(),this._onChange=this._register(new Ct),this.onChange=this._onChange.event,this._onKeyDown=this._register(new Ct),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const n=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,n.push(...ka.asClassNameArray(this._icon))),this._opts.actionClassName&&n.push(...this._opts.actionClassName.split(" ")),this._checked&&n.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(RL(null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...n),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,(e=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),e.preventDefault())})),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,(e=>{if(10===e.keyCode||3===e.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),e.preventDefault(),void e.stopPropagation();this._onKeyDown.fire(e)}))}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const _K=_(0,"Match Case"),vK=_(0,"Match Whole Word"),bK=_(0,"Use Regular Expression");class wK extends fK{constructor(e){var t;super({icon:Sa.caseSensitive,title:_K+e.appendTitle,isChecked:e.isChecked,hoverDelegate:null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class CK extends fK{constructor(e){var t;super({icon:Sa.wholeWord,title:vK+e.appendTitle,isChecked:e.isChecked,hoverDelegate:null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class yK extends fK{constructor(e){var t;super({icon:Sa.regex,title:bK+e.appendTitle,isChecked:e.isChecked,hoverDelegate:null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class SK{constructor(e,t=0,n=e.length,i=t-1){this.items=e,this.start=t,this.end=n,this.index=i}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class xK{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return null===this._navigator.current()}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new SK(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach((t=>e.push(t))),e}}var kK=n(1366),LK={};LK.styleTagTransform=Vr(),LK.setAttributes=Or(),LK.insert=Rr().bind(null,"head"),LK.domAPI=Tr(),LK.insertStyleElement=Br(),Ir()(kK.A,LK),kK.A&&kK.A.locals&&kK.A.locals;const DK=mr;class NK extends jN{constructor(e,t,n){var i;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new Ct),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=n,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=null!==(i=this.options.tooltip)&&void 0!==i?i:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=dr(e,DK(".monaco-inputbox.idle"));const o=this.options.flexibleHeight?"textarea":"input",s=dr(this.element,DK(".ibwrapper"));if(this.input=dr(s,DK(o+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,(()=>this.element.classList.add("synthetic-focus"))),this.onblur(this.input,(()=>this.element.classList.remove("synthetic-focus"))),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=dr(s,DK("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new dE(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),dr(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((e=>this.input.scrollTop=e.scrollTop)));const t=this._register(new US(e.ownerDocument,"selectionchange")),n=ft.filter(t.event,(()=>{const t=e.ownerDocument.getSelection();return(null==t?void 0:t.anchorNode)===s}));this._register(n(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,(()=>this.onValueChange())),this.onblur(this.input,(()=>this.onBlur())),this.onfocus(this.input,(()=>this.onFocus())),this._register(this.ignoreGesture(this.input)),setTimeout((()=>this.updateMirror()),0),this.options.actions&&(this.actionbar=this._register(new iM(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(RL(IL("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:Rs(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return Hs(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){var e;const t=this.input.selectionStart;return null===t?null:{start:t,end:null!==(e=this.input.selectionEnd)&&void 0!==e?e:t}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,n=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:n})}showMessage(e,t){if("open"===this.state&&_c(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const n=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${yr(n.border,"transparent")}`,this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),null==e?void 0:e.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=Ms(this.element)+"px";let n;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:n=>{var i,o;if(!this.message)return null;e=dr(n,DK(".monaco-inputbox-container")),t();const s={inline:!0,className:"monaco-inputbox-message"},r=this.message.formatContent?gk(this.message.content,s):function(e,t={}){const n=pk(t);return n.textContent=e,n}(this.message.content,s);r.classList.add(this.classForType(this.message.type));const l=this.stylesForType(this.message.type);return r.style.backgroundColor=null!==(i=l.background)&&void 0!==i?i:"",r.style.color=null!==(o=l.foreground)&&void 0!==o?o:"",r.style.border=l.border?`1px solid ${l.border}`:"",dr(e,r),null},onHide:()=>{this.state="closed"},layout:t}),n=3===this.message.type?_(0,"Error: {0}",this.message.content):2===this.message.type?_(0,"Warning: {0}",this.message.content):_(0,"Info: {0}",this.message.content),Zr(n),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,t=10===e.charCodeAt(e.length-1)?" ":"";(e+t).replace(/\u000c/g,"")?this.mirror.textContent=e+t:this.mirror.innerText=" ",this.layout()}applyStyles(){var e,t,n;const i=this.options.inputBoxStyles,o=null!==(e=i.inputBackground)&&void 0!==e?e:"",s=null!==(t=i.inputForeground)&&void 0!==t?t:"",r=null!==(n=i.inputBorder)&&void 0!==n?n:"";this.element.style.backgroundColor=o,this.element.style.color=s,this.input.style.backgroundColor="inherit",this.input.style.color=s,this.element.style.border=`1px solid ${yr(r,"transparent")}`}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=Rs(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,n=t.selectionStart,i=t.selectionEnd,o=t.value;null!==n&&null!==i&&(this.value=o.substr(0,n)+e+o.substr(i),t.setSelectionRange(n+1,n+1),this.layout())}dispose(){var e;this._hideMessage(),this.message=null,null===(e=this.actionbar)||void 0===e||e.dispose(),super.dispose()}}class EK extends NK{constructor(e,t,n){const i=_(0," or {0} for history","⇅"),o=_(0," ({0} for history)","⇅");super(e,t,n),this._onDidFocus=this._register(new Ct),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Ct),this.onDidBlur=this._onDidBlur.event,this.history=new xK(n.history,100);const s=()=>{if(n.showHistoryHint&&n.showHistoryHint()&&!this.placeholder.endsWith(i)&&!this.placeholder.endsWith(o)&&this.history.getHistory().length){const e=this.placeholder.endsWith(")")?i:o,t=this.placeholder+e;n.showPlaceholderOnFocus&&!Hs(this.input)?this.placeholder=t:this.setPlaceHolder(t)}};this.observer=new MutationObserver(((e,t)=>{e.forEach((e=>{e.target.textContent||s()}))})),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,(()=>s())),this.onblur(this.input,(()=>{const e=e=>{if(this.placeholder.endsWith(e)){const t=this.placeholder.slice(0,this.placeholder.length-e.length);return n.showPlaceholderOnFocus?this.placeholder=t:this.setPlaceHolder(t),!0}return!1};e(o)||e(i)}))}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=null!=e?e:"",Yr(this.value?this.value:_(0,"Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,Yr(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}var IK=n(8474),MK={};MK.styleTagTransform=Vr(),MK.setAttributes=Or(),MK.insert=Rr().bind(null,"head"),MK.domAPI=Tr(),MK.insertStyleElement=Br(),Ir()(IK.A,MK),IK.A&&IK.A.locals&&IK.A.locals;const TK=_(0,"input");class AK extends jN{constructor(e,t,n){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new at),this.additionalToggles=[],this._onDidOptionChange=this._register(new Ct),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Ct),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Ct),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new Ct),this._onKeyUp=this._register(new Ct),this._onCaseSensitiveKeyDown=this._register(new Ct),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new Ct),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||TK,this.showCommonFindToggles=!!n.showCommonFindToggles;const i=n.appendCaseSensitiveLabel||"",o=n.appendWholeWordsLabel||"",s=n.appendRegexLabel||"",r=n.history||[],l=!!n.flexibleHeight,a=!!n.flexibleWidth,d=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new EK(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:l,flexibleWidth:a,flexibleMaxHeight:d,inputBoxStyles:n.inputBoxStyles}));const u=this._register(ML());if(this.showCommonFindToggles){this.regex=this._register(new yK({appendTitle:s,isChecked:!1,hoverDelegate:u,...n.toggleStyles})),this._register(this.regex.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.regex.onKeyDown((e=>{this._onRegexKeyDown.fire(e)}))),this.wholeWords=this._register(new CK({appendTitle:o,isChecked:!1,hoverDelegate:u,...n.toggleStyles})),this._register(this.wholeWords.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this.caseSensitive=this._register(new wK({appendTitle:i,isChecked:!1,hoverDelegate:u,...n.toggleStyles})),this._register(this.caseSensitive.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.caseSensitive.onKeyDown((e=>{this._onCaseSensitiveKeyDown.fire(e)})));const e=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const n=e.indexOf(this.domNode.ownerDocument.activeElement);if(n>=0){let i=-1;t.equals(17)?i=(n+1)%e.length:t.equals(15)&&(i=0===n?e.length-1:n-1),t.equals(9)?(e[n].blur(),this.inputBox.focus()):i>=0&&e[i].focus(),rr(t,!0)}}}))}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(null==n?void 0:n.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),null==e||e.appendChild(this.domNode),this._register(ms(this.inputBox.inputElement,"compositionstart",(e=>{this.imeSessionInProgress=!0}))),this._register(ms(this.inputBox.inputElement,"compositionend",(e=>{this.imeSessionInProgress=!1,this._onInput.fire()}))),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){var e,t,n;this.domNode.classList.remove("disabled"),this.inputBox.enable(),null===(e=this.regex)||void 0===e||e.enable(),null===(t=this.wholeWords)||void 0===t||t.enable(),null===(n=this.caseSensitive)||void 0===n||n.enable();for(const e of this.additionalToggles)e.enable()}disable(){var e,t,n;this.domNode.classList.add("disabled"),this.inputBox.disable(),null===(e=this.regex)||void 0===e||e.disable(),null===(t=this.wholeWords)||void 0===t||t.disable(),null===(n=this.caseSensitive)||void 0===n||n.disable();for(const e of this.additionalToggles)e.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const e of this.additionalToggles)e.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new rt;for(const t of null!=e?e:[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()}))),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){var t,n,i,o,s,r;this.inputBox.paddingRight=e?0:(null!==(n=null===(t=this.caseSensitive)||void 0===t?void 0:t.width())&&void 0!==n?n:0)+(null!==(o=null===(i=this.wholeWords)||void 0===i?void 0:i.width())&&void 0!==o?o:0)+(null!==(r=null===(s=this.regex)||void 0===s?void 0:s.width())&&void 0!==r?r:0)+this.additionalToggles.reduce(((e,t)=>e+t.width()),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var e,t;return null!==(t=null===(e=this.caseSensitive)||void 0===e?void 0:e.checked)&&void 0!==t&&t}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){var e,t;return null!==(t=null===(e=this.wholeWords)||void 0===e?void 0:e.checked)&&void 0!==t&&t}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){var e,t;return null!==(t=null===(e=this.regex)||void 0===e?void 0:e.checked)&&void 0!==t&&t}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){var e;null===(e=this.caseSensitive)||void 0===e||e.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}var RK,PK;!function(e){e[e.Expanded=0]="Expanded",e[e.Collapsed=1]="Collapsed",e[e.PreserveOrExpanded=2]="PreserveOrExpanded",e[e.PreserveOrCollapsed=3]="PreserveOrCollapsed"}(RK||(RK={})),function(e){e[e.Unknown=0]="Unknown",e[e.Twistie=1]="Twistie",e[e.Element=2]="Element",e[e.Filter=3]="Filter"}(PK||(PK={}));class OK extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class FK{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}function BK(e){return"object"==typeof e&&"visibility"in e&&"data"in e}function WK(e){switch(e){case!0:return 1;case!1:return 0;default:return e}}function VK(e){return"boolean"==typeof e.collapsible}class HK{constructor(e,t,n,i={}){var o;this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new Dt,this._onDidChangeCollapseState=new Ct,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new Ct,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new Ct,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new Bt(At),this.collapseByDefault=void 0!==i.collapseByDefault&&i.collapseByDefault,this.allowNonCollapsibleParents=null!==(o=i.allowNonCollapsibleParents)&&void 0!==o&&o,this.filter=i.filter,this.autoExpandSingleChildren=void 0!==i.autoExpandSingleChildren&&i.autoExpandSingleChildren,this.root={parent:void 0,element:n,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,n=Ye.empty(),i={}){if(0===e.length)throw new OK(this.user,"Invalid tree location");i.diffIdentityProvider?this.spliceSmart(i.diffIdentityProvider,e,t,n,i):this.spliceSimple(e,t,n,i)}spliceSmart(e,t,n,i,o,s){var r;void 0===i&&(i=Ye.empty()),void 0===s&&(s=null!==(r=o.diffDepth)&&void 0!==r?r:0);const{parentNode:l}=this.getParentNodeWithListIndex(t);if(!l.lastDiffIds)return this.spliceSimple(t,n,i,o);const a=[...i],d=t[t.length-1],u=new TW({getElements:()=>l.lastDiffIds},{getElements:()=>[...l.children.slice(0,d),...a,...l.children.slice(d+n)].map((t=>e.getId(t.element).toString()))}).ComputeDiff(!1);if(u.quitEarly)return l.lastDiffIds=void 0,this.spliceSimple(t,n,a,o);const c=t.slice(0,-1),h=(t,n,i)=>{if(s>0)for(let r=0;rt.originalStart-e.originalStart)))h(g,p,g-(e.originalStart+e.originalLength)),g=e.originalStart,p=e.modifiedStart-d,this.spliceSimple([...c,g],e.originalLength,Ye.slice(a,p,p+e.modifiedLength),o);h(g,p,g)}spliceSimple(e,t,n=Ye.empty(),{onDidCreateNode:i,onDidDeleteNode:o,diffIdentityProvider:s}){const{parentNode:r,listIndex:l,revealed:a,visible:d}=this.getParentNodeWithListIndex(e),u=[],c=Ye.map(n,(e=>this.createTreeNode(e,r,r.visible?1:0,a,u,i))),h=e[e.length-1];let g=0;for(let e=h;e>=0&&es.getId(e.element).toString()))):r.lastDiffIds=r.children.map((e=>s.getId(e.element).toString())):r.lastDiffIds=void 0;let v=0;for(const e of _)e.visible&&v++;if(0!==v)for(let e=h+p.length;ee+(t.visible?t.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(r,f-e),this.list.splice(l,e,u)}if(_.length>0&&o){const e=t=>{o(t),t.children.forEach(e)};_.forEach(e)}this._onDidSplice.fire({insertedNodes:p,deletedNodes:_});let b=r;for(;b;){if(2===b.visibility){this.refilterDelayer.trigger((()=>this.refilter()));break}b=b.parent}}rerender(e){if(0===e.length)throw new OK(this.user,"Invalid tree location");const{node:t,listIndex:n,revealed:i}=this.getTreeNodeWithListIndex(e);t.visible&&i&&this.list.splice(n,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:n,revealed:i}=this.getTreeNodeWithListIndex(e);return n&&i?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const n=this.getTreeNode(e);void 0===t&&(t=!n.collapsible);const i={collapsible:t};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,i)))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,n){const i=this.getTreeNode(e);void 0===t&&(t=!i.collapsed);const o={collapsed:t,recursive:n||!1};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,o)))}_setCollapseState(e,t){const{node:n,listIndex:i,revealed:o}=this.getTreeNodeWithListIndex(e),s=this._setListNodeCollapseState(n,i,o,t);if(n!==this.root&&this.autoExpandSingleChildren&&s&&!VK(t)&&n.collapsible&&!n.collapsed&&!t.recursive){let i=-1;for(let e=0;e-1){i=-1;break}i=e}i>-1&&this._setCollapseState([...e,i],t)}return s}_setListNodeCollapseState(e,t,n,i){const o=this._setNodeCollapseState(e,i,!1);if(!n||!e.visible||!o)return o;const s=e.renderNodeCount,r=this.updateNodeAfterCollapseChange(e),l=s-(-1===t?0:1);return this.list.splice(t+1,l,r.slice(1)),o}_setNodeCollapseState(e,t,n){let i;if(e===this.root?i=!1:(VK(t)?(i=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(i=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):i=!1,i&&this._onDidChangeCollapseState.fire({node:e,deep:n})),!VK(t)&&t.recursive)for(const n of e.children)i=this._setNodeCollapseState(n,t,!0)||i;return i}expandTo(e){this.eventBufferer.bufferEvents((()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})}))}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,n,i,o,s){const r={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof e.collapsible?e.collapsible:void 0!==e.collapsed,collapsed:void 0===e.collapsed?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},l=this._filterNode(r,n);r.visibility=l,i&&o.push(r);const a=e.children||Ye.empty(),d=i&&0!==l&&!r.collapsed;let u=0,c=1;for(const e of a){const t=this.createTreeNode(e,r,l,d,o,s);r.children.push(t),c+=t.renderNodeCount,t.visible&&(t.visibleChildIndex=u++)}return this.allowNonCollapsibleParents||(r.collapsible=r.collapsible||r.children.length>0),r.visibleChildrenCount=u,r.visible=2===l?u>0:1===l,r.visible?r.collapsed||(r.renderNodeCount=c):(r.renderNodeCount=0,i&&o.pop()),null==s||s(r),r}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,n=[];return this._updateNodeAfterCollapseChange(e,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n}_updateNodeAfterCollapseChange(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const n of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(n,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,n=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,n),this._updateAncestorsRenderNodeCount(e.parent,n.length-t),n}_updateNodeAfterFilterChange(e,t,n,i=!0){let o;if(e!==this.root){if(o=this._filterNode(e,t),0===o)return e.visible=!1,e.renderNodeCount=0,!1;i&&n.push(e)}const s=n.length;e.renderNodeCount=e===this.root?0:1;let r=!1;if(e.collapsed&&0===o)e.visibleChildrenCount=0;else{let t=0;for(const s of e.children)r=this._updateNodeAfterFilterChange(s,o,n,i&&!e.collapsed)||r,s.visible&&(s.visibleChildIndex=t++);e.visibleChildrenCount=t}return e!==this.root&&(e.visible=2===o?r:1===o,e.visibility=o),e.visible?e.collapsed||(e.renderNodeCount+=n.length-s):(e.renderNodeCount=0,i&&n.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(0!==t)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const n=this.filter?this.filter.filter(e.element,t):1;return"boolean"==typeof n?(e.filterData=void 0,n?1:0):BK(n)?(e.filterData=n.data,WK(n.visibility)):(e.filterData=void 0,WK(n))}hasTreeNode(e,t=this.root){if(!e||0===e.length)return!0;const[n,...i]=e;return!(n<0||n>t.children.length)&&this.hasTreeNode(i,t.children[n])}getTreeNode(e,t=this.root){if(!e||0===e.length)return t;const[n,...i]=e;if(n<0||n>t.children.length)throw new OK(this.user,"Invalid tree location");return this.getTreeNode(i,t.children[n])}getTreeNodeWithListIndex(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:n,revealed:i,visible:o}=this.getParentNodeWithListIndex(e),s=e[e.length-1];if(s<0||s>t.children.length)throw new OK(this.user,"Invalid tree location");const r=t.children[s];return{node:r,listIndex:n,revealed:i,visible:o&&r.visible}}getParentNodeWithListIndex(e,t=this.root,n=0,i=!0,o=!0){const[s,...r]=e;if(s<0||s>t.children.length)throw new OK(this.user,"Invalid tree location");for(let e=0;ee.element))),this.data=e}}function GK(e){return e instanceof bE?new $K(e):e}class ZK{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=lt.None,this.disposables=new rt}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){var n,i;null===(i=(n=this.dnd).onDragStart)||void 0===i||i.call(n,GK(e),t)}onDragOver(e,t,n,i,o,s=!0){const r=this.dnd.onDragOver(GK(e),t&&t.element,n,i,o),l=this.autoExpandNode!==t;if(l&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),void 0===t)return r;if(l&&"boolean"!=typeof r&&r.autoExpand&&(this.autoExpandDisposable=Ht((()=>{const e=this.modelProvider(),n=e.getNodeLocation(t);e.isCollapsed(n)&&e.setCollapsed(n,!1),this.autoExpandNode=void 0}),500,this.disposables)),"boolean"==typeof r||!r.accept||void 0===r.bubble||r.feedback)return s?r:{accept:"boolean"==typeof r?r:r.accept,effect:"boolean"==typeof r?void 0:r.effect,feedback:[n]};if(1===r.bubble){const n=this.modelProvider(),s=n.getNodeLocation(t),r=n.getParentNodeLocation(s),l=n.getNode(r),a=r&&n.getListIndex(r);return this.onDragOver(e,l,a,i,o,!1)}const a=this.modelProvider(),d=a.getNodeLocation(t),u=a.getListIndex(d),c=a.getListRenderCount(d);return{...r,feedback:zc(u,u+c)}}drop(e,t,n,i,o){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(GK(e),t&&t.element,n,i,o)}onDragEnd(e){var t,n;null===(n=(t=this.dnd).onDragEnd)||void 0===n||n.call(t,e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function YK(e,t){return t&&{...t,identityProvider:t.identityProvider&&{getId:e=>t.identityProvider.getId(e.element)},dnd:t.dnd&&new ZK(e,t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:e=>t.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element}),isSelectionRangeChangeEvent:e=>t.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})},accessibilityProvider:t.accessibilityProvider&&{...t.accessibilityProvider,getSetSize(t){const n=e(),i=n.getNodeLocation(t),o=n.getParentNodeLocation(i);return n.getNode(o).visibleChildrenCount},getPosInSet:e=>e.visibleChildIndex+1,isChecked:t.accessibilityProvider&&t.accessibilityProvider.isChecked?e=>t.accessibilityProvider.isChecked(e.element):void 0,getRole:t.accessibilityProvider&&t.accessibilityProvider.getRole?e=>t.accessibilityProvider.getRole(e.element):()=>"treeitem",getAriaLabel:e=>t.accessibilityProvider.getAriaLabel(e.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider&&t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider&&t.accessibilityProvider.getAriaLevel?e=>t.accessibilityProvider.getAriaLevel(e.element):e=>e.depth,getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(e=>t.accessibilityProvider.getActiveDescendantId(e.element))},keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:e=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}}class XK{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){var n,i;null===(i=(n=this.delegate).setDynamicHeight)||void 0===i||i.call(n,e.element,t)}}!function(e){e.None="none",e.OnHover="onHover",e.Always="always"}(zK||(zK={}));class QK{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new rt,this.onDidChange=ft.forEach(e,(e=>this._elements=e),this.disposables)}dispose(){this.disposables.dispose()}}class JK{constructor(e,t,n,i,o,s={}){var r;this.renderer=e,this.modelProvider=t,this.activeNodes=i,this.renderedIndentGuides=o,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=JK.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=lt.None,this.disposables=new rt,this.templateId=e.templateId,this.updateOptions(s),ft.map(n,(e=>e.node))(this.onDidChangeNodeTwistieState,this,this.disposables),null===(r=e.onDidChangeTwistieState)||void 0===r||r.call(e,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(void 0!==e.indent){const t=BN(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[e,t]of this.renderedNodes)this.renderTreeElement(e,t)}}if(void 0!==e.renderIndentGuides){const t=e.renderIndentGuides!==zK.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[e,t]of this.renderedNodes)this._renderIndentGuides(e,t);if(this.indentGuidesDisposable.dispose(),t){const e=new rt;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,e),this.indentGuidesDisposable=e,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}void 0!==e.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=dr(e,mr(".monaco-tl-row")),n=dr(t,mr(".monaco-tl-indent")),i=dr(t,mr(".monaco-tl-twistie")),o=dr(t,mr(".monaco-tl-contents")),s=this.renderer.renderTemplate(o);return{container:e,indent:n,twistie:i,indentGuidesDisposable:lt.None,templateData:s}}renderElement(e,t,n,i){this.renderedNodes.set(e,n),this.renderedElements.set(e.element,e),this.renderTreeElement(e,n),this.renderer.renderElement(e,t,n.templateData,i)}disposeElement(e,t,n,i){var o,s;n.indentGuidesDisposable.dispose(),null===(s=(o=this.renderer).disposeElement)||void 0===s||s.call(o,e,t,n.templateData,i),"number"==typeof i&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const n=JK.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft=`${n}px`,t.indent.style.width=n+this.indent-16+"px",e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...ka.asClassNameArray(Sa.treeItemExpanded));let i=!1;this.renderer.renderTwistie&&(i=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(i||t.twistie.classList.add(...ka.asClassNameArray(Sa.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(gs(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const n=new rt,i=this.modelProvider();for(;;){const o=i.getNodeLocation(e),s=i.getParentNodeLocation(o);if(!s)break;const r=i.getNode(s),l=mr(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(r)&&l.classList.add("active"),0===t.indent.childElementCount?t.indent.appendChild(l):t.indent.insertBefore(l,t.indent.firstElementChild),this.renderedIndentGuides.add(r,l),n.add(st((()=>this.renderedIndentGuides.delete(r,l)))),e=r}t.indentGuidesDisposable=n}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,n=this.modelProvider();e.forEach((e=>{const i=n.getNodeLocation(e);try{const o=n.getParentNodeLocation(i);e.collapsible&&e.children.length>0&&!e.collapsed?t.add(e):o&&t.add(n.getNode(o))}catch(e){}})),this.activeIndentNodes.forEach((e=>{t.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.remove("active")))})),t.forEach((e=>{this.activeIndentNodes.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.add("active")))})),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),it(this.disposables)}}JK.DefaultIndent=8;class ej{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,n){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=n,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new rt,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let n=1;if(this._filter){const i=this._filter.filter(e,t);if(n="boolean"==typeof i?i?1:0:BK(i)?WK(i.visibility):i,0===n)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:ta.Default,visibility:n};const i=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),o=Array.isArray(i)?i:[i];for(const e of o){const t=e&&e.toString();if(void 0===t)return{data:ta.Default,visibility:n};let i;if(this.tree.findMatchType===KK.Contiguous){const e=t.toLowerCase().indexOf(this._lowercasePattern);if(e>-1){i=[Number.MAX_SAFE_INTEGER,0];for(let t=this._lowercasePattern.length;t>0;t--)i.push(e+t-1)}}else i=ia(this._pattern,this._lowercasePattern,0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(i)return this._matchCount++,1===o.length?{data:i,visibility:n}:{data:{label:t,score:i},visibility:n}}return this.tree.findMode===UK.Filter?"number"==typeof this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:ta.Default,visibility:n}}reset(){this._totalCount=0,this._matchCount=0}dispose(){it(this.disposables)}}!function(e){e[e.Highlight=0]="Highlight",e[e.Filter=1]="Filter"}(UK||(UK={})),function(e){e[e.Fuzzy=0]="Fuzzy",e[e.Contiguous=1]="Contiguous"}(KK||(KK={}));class tj{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,n,i,o,s={}){var r,l;this.tree=e,this.view=n,this.filter=i,this.contextViewProvider=o,this.options=s,this._pattern="",this.width=0,this._onDidChangeMode=new Ct,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new Ct,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new Ct,this._onDidChangeOpenState=new Ct,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new rt,this.disposables=new rt,this._mode=null!==(r=e.options.defaultFindMode)&&void 0!==r?r:UK.Highlight,this._matchType=null!==(l=e.options.defaultFindMatchType)&&void 0!==l?l:KK.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){void 0!==e.defaultFindMode&&(this.mode=e.defaultFindMode),void 0!==e.defaultFindMatchType&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){this.widget&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}render(){var e,t,n,i;const o=this.filter.totalCount>0&&0===this.filter.matchCount;this.pattern&&o?null===(e=this.tree.options.showNotFoundMessage)||void 0===e||e?null===(t=this.widget)||void 0===t||t.showMessage({type:2,content:_(0,"No elements found.")}):null===(n=this.widget)||void 0===n||n.showMessage({type:2}):null===(i=this.widget)||void 0===i||i.clearMessage()}shouldAllowFocus(e){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1||!ta.isDefault(e.filterData)}layout(e){var t;this.width=e,null===(t=this.widget)||void 0===t||t.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function nj(e,t){return e.position===t.position&&ij(e,t)}function ij(e,t){return e.node.element===t.node.element&&e.startIndex===t.startIndex&&e.height===t.height&&e.endIndex===t.endIndex}class oj{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return Ic(this.stickyNodes,e.stickyNodes,nj)}lastNodePartiallyVisible(){if(0===this.count)return!1;const e=this.stickyNodes[this.count-1];if(1===this.count)return 0!==e.position;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!Ic(this.stickyNodes,e.stickyNodes,ij))return!1;if(0===this.count)return!1;const t=this.stickyNodes[this.count-1],n=e.stickyNodes[e.count-1];return t.position!==n.position}}class sj{constrainStickyScrollNodes(e,t,n){for(let i=0;in||i>=t)return e.slice(0,i)}return e}}class rj extends lt{constructor(e,t,n,i,o,s={}){var r;super(),this.tree=e,this.model=t,this.view=n,this.treeDelegate=o,this.maxWidgetViewRatio=.4;const l=this.validateStickySettings(s);this.stickyScrollMaxItemCount=l.stickyScrollMaxItemCount,this.stickyScrollDelegate=null!==(r=s.stickyScrollDelegate)&&void 0!==r?r:new sj,this._widget=this._register(new lj(n.getScrollableElement(),n,e,i,o,s.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(n.onDidScroll((()=>this.update()))),this._register(n.onDidChangeContentHeight((()=>this.update()))),this._register(e.onDidChangeCollapseState((()=>this.update()))),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(t=0===e?this.view.firstVisibleIndex:this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||0===this.tree.scrollTop)return void this._widget.setState(void 0);const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let n=e,i=0,o=this.getNextStickyNode(n,void 0,i);for(;o&&(t.push(o),i+=o.height,!(t.length<=this.stickyScrollMaxItemCount)||(n=this.getNextVisibleNode(o),n));)o=this.getNextStickyNode(n,o.node,i);const s=this.constrainStickyNodes(t);return s.length?new oj(s):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,n){const i=this.getAncestorUnderPrevious(e,t);if(i){if(i===e){if(!this.nodeIsUncollapsedParent(e))return;if(this.nodeTopAlignsWithStickyNodesBottom(e,n))return}return this.createStickyScrollNode(i,n)}}nodeTopAlignsWithStickyNodesBottom(e,t){const n=this.getNodeIndex(e),i=this.view.getElementTop(n),o=t;return this.view.scrollTop===i-o}createStickyScrollNode(e,t){const n=this.treeDelegate.getHeight(e),{startIndex:i,endIndex:o}=this.getNodeRange(e);return{node:e,position:this.calculateStickyNodePosition(o,t,n),height:n,startIndex:i,endIndex:o}}getAncestorUnderPrevious(e,t=void 0){let n=e,i=this.getParentNode(n);for(;i;){if(i===t)return n;n=i,i=this.getParentNode(n)}if(void 0===t)return n}calculateStickyNodePosition(e,t,n){let i=this.view.getRelativeTop(e);if(null===i&&this.view.firstVisibleIndex===e&&e+1r&&t<=r?r-n:t}constrainStickyNodes(e){if(0===e.length)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,n=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&n.position+n.height<=t)return e;const i=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!i.length)return[];const o=i[i.length-1];if(i.length>this.stickyScrollMaxItemCount||o.position+o.height>t)throw new Error("stickyScrollDelegate violates constraints");return i}getParentNode(e){const t=this.model.getNodeLocation(e),n=this.model.getParentNodeLocation(t);return n?this.model.getNode(n):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),n=this.model.getListIndex(t);if(n<0)throw new Error("Node not found in tree");return{startIndex:n,endIndex:n+this.model.getListRenderCount(t)-1}}nodePositionTopBelowWidget(e){const t=[];let n=this.getParentNode(e);for(;n;)t.push(n),n=this.getParentNode(n);let i=0;for(let e=0;e0,n=!!e&&e.count>0;if(!t&&!n||t&&n&&this._previousState.equal(e))return;if(t!==n&&this.setVisible(n),!n)return this._previousState=void 0,this._previousElements=[],void this._previousStateDisposables.clear();const i=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${i.position}px`;else{this._previousStateDisposables.clear();const t=Array(e.count);for(let n=e.count-1;n>=0;n--){const i=e.stickyNodes[n],{element:o,disposable:s}=this.createElement(i,n,e.count);t[n]=o,this._rootDomNode.appendChild(o),this._previousStateDisposables.add(s)}this.stickyScrollFocus.updateElements(t,e),this._previousElements=t}this._previousState=e,this._rootDomNode.style.height=`${i.position+i.height}px`}createElement(e,t,n){const i=e.startIndex,o=document.createElement("div");o.style.top=`${e.position}px`,!1!==this.tree.options.setRowHeight&&(o.style.height=`${e.height}px`),!1!==this.tree.options.setRowLineHeight&&(o.style.lineHeight=`${e.height}px`),o.classList.add("monaco-tree-sticky-row"),o.classList.add("monaco-list-row"),o.setAttribute("data-index",`${i}`),o.setAttribute("data-parity",i%2==0?"even":"odd"),o.setAttribute("id",this.view.getElementID(i));const s=this.setAccessibilityAttributes(o,e.node.element,t,n),r=this.treeDelegate.getTemplateId(e.node),l=this.treeRenderers.find((e=>e.templateId===r));if(!l)throw new Error(`No renderer found for template id ${r}`);let a=e.node;a===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(a=new Proxy(e.node,{}));const d=l.renderTemplate(o);l.renderElement(a,e.startIndex,d,e.height);const u=st((()=>{s.dispose(),l.disposeElement(a,e.startIndex,d,e.height),l.disposeTemplate(d),o.remove()}));return{element:o,disposable:u}}setAccessibilityAttributes(e,t,n,i){var o;if(!this.accessibilityProvider)return lt.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,n,i))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,n))),this.accessibilityProvider.getRole&&e.setAttribute("role",null!==(o=this.accessibilityProvider.getRole(t))&&void 0!==o?o:"treeitem");const s=this.accessibilityProvider.getAriaLabel(t),r=s&&"string"!=typeof s?s:tI(s),l=YE((t=>{const n=t.readObservable(r);n?e.setAttribute("aria-label",n):e.removeAttribute("aria-label")}));"string"==typeof s||s&&e.setAttribute("aria-label",s.get());const a=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return"number"==typeof a&&e.setAttribute("aria-level",`${a}`),e.setAttribute("aria-selected",String(!1)),l}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class aj extends lt{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new Ct,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new Ct,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this.container.addEventListener("focus",(()=>this.onFocus())),this.container.addEventListener("blur",(()=>this.onBlur())),this._register(this.view.onDidFocus((()=>this.toggleStickyScrollFocused(!1)))),this._register(this.view.onKeyDown((e=>this.onKeyDown(e)))),this._register(this.view.onMouseDown((e=>this.onMouseDown(e)))),this._register(this.view.onContextMenu((e=>this.handleContextMenu(e))))}handleContextMenu(e){const t=e.browserEvent.target;if(!SI(t)&&!yI(t))return void(this.focusedLast()&&this.view.domFocus());if(!ir(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const t=this.state.stickyNodes.findIndex((t=>{var n;return t.node.element===(null===(n=e.element)||void 0===n?void 0:n.element)}));if(-1===t)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");return this.container.focus(),void this.setFocus(t)}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const n=this.state.stickyNodes[this.focusedIndex].node.element,i=this.elements[this.focusedIndex];this._onContextMenu.fire({element:n,anchor:i,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state)if("ArrowUp"===e.key)this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if("ArrowDown"===e.key||"ArrowRight"===e.key){if(this.focusedIndex>=this.state.count-1){const e=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([e]),this.scrollNodeUnderWidget(e,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}onMouseDown(e){const t=e.browserEvent.target;(SI(t)||yI(t))&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&0===t.count)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const n=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const e=BN(n,0,t.count-1);this.setFocus(e)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,o=this.view.getElementTop(e),s=i?i.position+i.height+n.height:n.height;this.view.scrollTop=o-s}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return!!this.state&&this.view.getHTMLElement().classList.contains("sticky-scroll-focused")}removeFocus(){-1!==this.focusedIndex&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){-1!==this.focusedIndex&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||0===this.elements.length)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),-1===this.focusedIndex&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function dj(e){let t=PK.Unknown;return Os(e.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?t=PK.Twistie:Os(e.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?t=PK.Element:Os(e.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(t=PK.Filter),{browserEvent:e.browserEvent,element:e.element?e.element.element:null,target:t}}function uj(e){const t=SI(e.browserEvent.target);return{element:e.element?e.element.element:null,browserEvent:e.browserEvent,anchor:e.anchor,isStickyScroll:t}}function cj(e,t){t(e),e.children.forEach((e=>cj(e,t)))}class hj{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event}set(e,t){!(null==t?void 0:t.__forceEvent)&&Ic(this.nodes,e)||this._set(e,!1,t)}_set(e,t,n){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const e=this;this._onDidChange.fire({get elements(){return e.get()},browserEvent:n})}}get(){return this.elements||(this.elements=this.nodes.map((e=>e.element))),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const e=this.createNodeSet(),n=t=>e.delete(t);return t.forEach((e=>cj(e,n))),void this.set([...e.values()])}const n=new Set,i=e=>n.add(this.identityProvider.getId(e.element).toString());t.forEach((e=>cj(e,i)));const o=new Map,s=e=>o.set(this.identityProvider.getId(e.element).toString(),e);e.forEach((e=>cj(e,s)));const r=[];for(const e of this.nodes){const t=this.identityProvider.getId(e.element).toString();if(n.has(t)){const e=o.get(t);e&&e.visible&&r.push(e)}else r.push(e)}if(this.nodes.length>0&&0===r.length){const e=this.getFirstViewElementWithTrait();e&&r.push(e)}this._set(r,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class gj extends TI{constructor(e,t,n){super(e),this.tree=t,this.stickyScrollProvider=n}onViewPointer(e){if(xI(e.browserEvent.target)||bI(e.browserEvent.target)||CI(e.browserEvent.target))return;if(e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const n=e.browserEvent.target,i=n.classList.contains("monaco-tl-twistie")||n.classList.contains("monaco-icon-label")&&n.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,o=yI(e.browserEvent.target);let s=!1;if(s=!!o||("function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(t.element):!!this.tree.expandOnlyOnTwistieClick),o)this.handleStickyScrollMouseEvent(e,t);else{if(s&&!i&&2!==e.browserEvent.detail)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&2===e.browserEvent.detail)return super.onViewPointer(e)}if(t.collapsible&&(!o||i)){const n=this.tree.getNodeLocation(t),o=e.browserEvent.altKey;if(this.tree.setFocus([n]),this.tree.toggleCollapsed(n,o),s&&i)return void(e.browserEvent.isHandledByList=!0)}o||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(function(e){return wI(e,"monaco-custom-toggle")}(e.browserEvent.target)||function(e){return wI(e,"action-item")}(e.browserEvent.target))return;const n=this.stickyScrollProvider();if(!n)throw new Error("Sticky scroll controller not found");const i=this.list.indexOf(t),o=this.list.getElementTop(i),s=n.nodePositionTopBelowWidget(t);this.tree.scrollTop=o-s,this.list.domFocus(),this.list.setFocus([i]),this.list.setSelection([i])}onDoubleClick(e){!e.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&(e.browserEvent.isHandledByList||super.onDoubleClick(e))}onMouseDown(e){const t=e.browserEvent.target;SI(t)||yI(t)||super.onMouseDown(e)}onContextMenu(e){const t=e.browserEvent.target;SI(t)||yI(t)||super.onContextMenu(e)}}class pj extends HI{constructor(e,t,n,i,o,s,r,l){super(e,t,n,i,l),this.focusTrait=o,this.selectionTrait=s,this.anchorTrait=r}createMouseController(e){return new gj(this,e.tree,e.stickyScrollProvider)}splice(e,t,n=[]){if(super.splice(e,t,n),0===n.length)return;const i=[],o=[];let s;n.forEach(((t,n)=>{this.focusTrait.has(t)&&i.push(e+n),this.selectionTrait.has(t)&&o.push(e+n),this.anchorTrait.has(t)&&(s=e+n)})),i.length>0&&super.setFocus(Vc([...super.getFocus(),...i])),o.length>0&&super.setSelection(Vc([...super.getSelection(),...o])),"number"==typeof s&&super.setAnchor(s)}setFocus(e,t,n=!1){super.setFocus(e,t),n||this.focusTrait.set(e.map((e=>this.element(e))),t)}setSelection(e,t,n=!1){super.setSelection(e,t),n||this.selectionTrait.set(e.map((e=>this.element(e))),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(void 0===e?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class mj{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return ft.filter(ft.map(this.view.onMouseDblClick,dj),(e=>e.target!==PK.Filter))}get onMouseOver(){return ft.map(this.view.onMouseOver,dj)}get onMouseOut(){return ft.map(this.view.onMouseOut,dj)}get onContextMenu(){var e,t;return ft.any(ft.filter(ft.map(this.view.onContextMenu,uj),(e=>!e.isStickyScroll)),null!==(t=null===(e=this.stickyScrollController)||void 0===e?void 0:e.onContextMenu)&&void 0!==t?t:ft.None)}get onPointer(){return ft.map(this.view.onPointer,dj)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return ft.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var e,t;return null!==(t=null===(e=this.findController)||void 0===e?void 0:e.mode)&&void 0!==t?t:UK.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){var e,t;return null!==(t=null===(e=this.findController)||void 0===e?void 0:e.matchType)&&void 0!==t?t:KK.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,n,i,o={}){var s;this._user=e,this._options=o,this.eventBufferer=new Dt,this.onDidChangeFindOpenState=ft.None,this.onDidChangeStickyScrollFocused=ft.None,this.disposables=new rt,this._onWillRefilter=new Ct,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new Ct,this.treeDelegate=new XK(n);const r=new Nt,l=new Nt,a=this.disposables.add(new QK(l.event)),d=new sl;this.renderers=i.map((e=>new JK(e,(()=>this.model),r.event,a,d,o)));for(const e of this.renderers)this.disposables.add(e);let u;o.keyboardNavigationLabelProvider&&(u=new ej(this,o.keyboardNavigationLabelProvider,o.filter),o={...o,filter:u},this.disposables.add(u)),this.focus=new hj((()=>this.view.getFocusedElements()[0]),o.identityProvider),this.selection=new hj((()=>this.view.getSelectedElements()[0]),o.identityProvider),this.anchor=new hj((()=>this.view.getAnchorElement()),o.identityProvider),this.view=new pj(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...YK((()=>this.model),o),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,o),r.input=this.model.onDidChangeCollapseState;const c=ft.forEach(this.model.onDidSplice,(e=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(e),this.selection.onDidModelSplice(e)}))}),this.disposables);c((()=>null),null,this.disposables);const h=this.disposables.add(new Ct),g=this.disposables.add(new Bt(0));if(this.disposables.add(ft.any(c,this.focus.onDidChange,this.selection.onDidChange)((()=>{g.trigger((()=>{const e=new Set;for(const t of this.focus.getNodes())e.add(t);for(const t of this.selection.getNodes())e.add(t);h.fire([...e.values()])}))}))),l.input=h.event,!1!==o.keyboardSupport){const e=ft.chain(this.view.onKeyDown,(e=>e.filter((e=>!bI(e.target))).map((e=>new Ue(e)))));ft.chain(e,(e=>e.filter((e=>15===e.keyCode))))(this.onLeftArrow,this,this.disposables),ft.chain(e,(e=>e.filter((e=>17===e.keyCode))))(this.onRightArrow,this,this.disposables),ft.chain(e,(e=>e.filter((e=>10===e.keyCode))))(this.onSpace,this,this.disposables)}if((null===(s=o.findWidgetEnabled)||void 0===s||s)&&o.keyboardNavigationLabelProvider&&o.contextViewProvider){const e=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new tj(this,this.model,this.view,u,o.contextViewProvider,e),this.focusNavigationFilter=e=>this.findController.shouldAllowFocus(e),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=ft.None,this.onDidChangeFindMatchType=ft.None;o.enableStickyScroll&&(this.stickyScrollController=new rj(this,this.model,this.view,this.renderers,this.treeDelegate,o),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=$s(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===zK.Always)}updateOptions(e={}){var t;this._options={...this._options,...e};for(const t of this.renderers)t.updateOptions(e);this.view.updateOptions(this._options),null===(t=this.findController)||void 0===t||t.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===zK.Always)}get options(){return this._options}updateStickyScroll(e){var t;!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new rj(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=ft.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),null===(t=this.stickyScrollController)||void 0===t||t.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){var e;(null===(e=this.stickyScrollController)||void 0===e?void 0:e.focusedLast())?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){var n;this.view.layout(e,t),ua(t)&&(null===(n=this.findController)||void 0===n||n.layout(t))}style(e){var t;const n=`.${this.view.domId}`,i=[];e.treeIndentGuidesStroke&&(i.push(`.monaco-list${n}:hover .monaco-tl-indent > .indent-guide, .monaco-list${n}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeInactiveIndentGuidesStroke}; }`),i.push(`.monaco-list${n} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`)),e.listBackground&&(i.push(`.monaco-list${n} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${e.listBackground}; }`),i.push(`.monaco-list${n} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${e.listBackground}; }`)),e.listFocusForeground&&(i.push(`.monaco-list${n}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),i.push(`.monaco-list${n}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const o=yr(e.listFocusAndSelectionOutline,yr(e.listSelectionOutline,null!==(t=e.listFocusOutline)&&void 0!==t?t:""));o&&(i.push(`.monaco-list${n}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),i.push(`.monaco-list${n}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),e.listFocusOutline&&(i.push(`.monaco-list${n}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-list${n}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${n}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${n}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),i.push(`.monaco-workbench.context-menu-visible .monaco-list${n}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=i.join("\n"),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents((()=>{const n=e.map((e=>this.model.getNode(e)));this.selection.set(n,t);const i=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setSelection(i,t,!0)}))}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents((()=>{const n=e.map((e=>this.model.getNode(e)));this.focus.set(n,t);const i=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setFocus(i,t,!0)}))}focusNext(e=1,t=!1,n,i=(ir(n)&&n.altKey?void 0:this.focusNavigationFilter)){this.view.focusNext(e,t,n,i)}focusPrevious(e=1,t=!1,n,i=(ir(n)&&n.altKey?void 0:this.focusNavigationFilter)){this.view.focusPrevious(e,t,n,i)}focusNextPage(e,t=(ir(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=(ir(e)&&e.altKey?void 0:this.focusNavigationFilter)){return this.view.focusPreviousPage(e,t,(()=>{var e,t;return null!==(t=null===(e=this.stickyScrollController)||void 0===e?void 0:e.height)&&void 0!==t?t:0}))}focusFirst(e,t=(ir(e)&&e.altKey?void 0:this.focusNavigationFilter)){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const n=this.model.getListIndex(e);if(-1!==n)if(this.stickyScrollController){const i=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(n,t,i)}else this.view.reveal(n,t)}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!0)){const e=this.model.getParentNodeLocation(i);if(!e)return;const t=this.model.getListIndex(e);this.view.reveal(t),this.view.setFocus([t])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!1)){if(!n.children.some((e=>e.visible)))return;const[e]=this.view.getFocus(),t=e+1;this.view.reveal(t),this.view.setFocus([t])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const n=t[0],i=this.model.getNodeLocation(n),o=e.browserEvent.altKey;this.model.setCollapsed(i,void 0,o)}dispose(){var e;it(this.disposables),null===(e=this.stickyScrollController)||void 0===e||e.dispose(),this.view.dispose()}}class fj{constructor(e,t,n={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new HK(e,t,null,n),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,n.sorter&&(this.sorter={compare:(e,t)=>n.sorter.compare(e.element,t.element)}),this.identityProvider=n.identityProvider}setChildren(e,t=Ye.empty(),n={}){const i=this.getElementLocation(e);this._setChildren(i,this.preserveCollapseState(t),n)}_setChildren(e,t=Ye.empty(),n){const i=new Set,o=new Set;this.model.splice([...e,0],Number.MAX_VALUE,t,{...n,onDidCreateNode:e=>{var t;if(null===e.element)return;const s=e;if(i.add(s.element),this.nodes.set(s.element,s),this.identityProvider){const e=this.identityProvider.getId(s.element).toString();o.add(e),this.nodesByIdentity.set(e,s)}null===(t=n.onDidCreateNode)||void 0===t||t.call(n,s)},onDidDeleteNode:e=>{var t;if(null===e.element)return;const s=e;if(i.has(s.element)||this.nodes.delete(s.element),this.identityProvider){const e=this.identityProvider.getId(s.element).toString();o.has(e)||this.nodesByIdentity.delete(e)}null===(t=n.onDidDeleteNode)||void 0===t||t.call(n,s)}})}preserveCollapseState(e=Ye.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),Ye.map(e,(e=>{let t=this.nodes.get(e.element);if(!t&&this.identityProvider){const n=this.identityProvider.getId(e.element).toString();t=this.nodesByIdentity.get(n)}if(!t){let t;return t=void 0===e.collapsed?void 0:e.collapsed===RK.Collapsed||e.collapsed===RK.PreserveOrCollapsed||e.collapsed!==RK.Expanded&&e.collapsed!==RK.PreserveOrExpanded&&Boolean(e.collapsed),{...e,children:this.preserveCollapseState(e.children),collapsed:t}}const n="boolean"==typeof e.collapsible?e.collapsible:t.collapsible;let i;return i=void 0===e.collapsed||e.collapsed===RK.PreserveOrCollapsed||e.collapsed===RK.PreserveOrExpanded?t.collapsed:e.collapsed===RK.Collapsed||e.collapsed!==RK.Expanded&&Boolean(e.collapsed),{...e,collapsible:n,collapsed:i,children:this.preserveCollapseState(e.children)}}))}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const n=this.getElementLocation(e);return this.model.setCollapsible(n,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,n){const i=this.getElementLocation(e);return this.model.setCollapsed(i,t,n)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(null===e)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new OK(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(null===e)throw new OK(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new OK(this.user,`Tree element not found: ${e}`);const n=this.model.getNodeLocation(t),i=this.model.getParentNodeLocation(n);return this.model.getNode(i).element}getElementLocation(e){if(null===e)return[];const t=this.nodes.get(e);if(!t)throw new OK(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function _j(e){return{element:{elements:[e.element],incompressible:e.incompressible||!1},children:Ye.map(Ye.from(e.children),_j),collapsible:e.collapsible,collapsed:e.collapsed}}function vj(e){const t=[e.element],n=e.incompressible||!1;let i,o;for(;[o,i]=Ye.consume(Ye.from(e.children),2),1===o.length&&!o[0].incompressible;)e=o[0],t.push(e.element);return{element:{elements:t,incompressible:n},children:Ye.map(Ye.concat(o,i),vj),collapsible:e.collapsible,collapsed:e.collapsed}}function bj(e,t=0){let n;return n=tbj(e,0))),0===t&&e.element.incompressible?{element:e.element.elements[t],children:n,incompressible:!0,collapsible:e.collapsible,collapsed:e.collapsed}:{element:e.element.elements[t],children:n,collapsible:e.collapsible,collapsed:e.collapsed}}function wj(e){return bj(e,0)}function Cj(e,t,n){return e.element===t?{...e,children:n}:{...e,children:Ye.map(Ye.from(e.children),(e=>Cj(e,t,n)))}}class yj{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,n={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new fj(e,t,n),this.enabled=void 0===n.compressionEnabled||n.compressionEnabled,this.identityProvider=n.identityProvider}setChildren(e,t=Ye.empty(),n){const i=n.diffIdentityProvider&&(o=n.diffIdentityProvider,{getId:e=>e.elements.map((e=>o.getId(e).toString())).join("\0")});var o;if(null===e){const e=Ye.map(t,this.enabled?vj:_j);return void this._setChildren(null,e,{diffIdentityProvider:i,diffDepth:1/0})}const s=this.nodes.get(e);if(!s)throw new OK(this.user,"Unknown compressed tree node");const r=this.model.getNode(s),l=this.model.getParentNodeLocation(s),a=this.model.getNode(l),d=Cj(wj(r),e,t),u=(this.enabled?vj:_j)(d),c=n.diffIdentityProvider?(e,t)=>n.diffIdentityProvider.getId(e)===n.diffIdentityProvider.getId(t):void 0;if(Ic(u.element.elements,r.element.elements,c))return void this._setChildren(s,u.children||Ye.empty(),{diffIdentityProvider:i,diffDepth:1});const h=a.children.map((e=>e===r?u:e));this._setChildren(a.element,h,{diffIdentityProvider:i,diffDepth:r.depth-a.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const t=this.model.getNode().children,n=Ye.map(t,wj),i=Ye.map(n,e?vj:_j);this._setChildren(null,i,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,n){const i=new Set;this.model.setChildren(e,t,{...n,onDidCreateNode:e=>{for(const t of e.element.elements)i.add(t),this.nodes.set(t,e.element)},onDidDeleteNode:e=>{for(const t of e.element.elements)i.has(t)||this.nodes.delete(t)}})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(void 0===e)return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return null===t?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),n=this.model.getParentNodeLocation(t);return null===n?null:n.elements[n.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const n=this.getCompressedNode(e);return this.model.setCollapsible(n,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,n){const i=this.getCompressedNode(e);return this.model.setCollapsed(i,t,n)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(null===e)return null;const t=this.nodes.get(e);if(!t)throw new OK(this.user,`Tree element not found: ${e}`);return t}}const Sj=e=>e[e.length-1];class xj{get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((e=>new xj(this.unwrapper,e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}}class kj{get onDidSplice(){return ft.map(this.model.onDidSplice,(({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map((e=>this.nodeMapper.map(e))),deletedNodes:t.map((e=>this.nodeMapper.map(e)))})))}get onDidChangeCollapseState(){return ft.map(this.model.onDidChangeCollapseState,(({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t})))}get onDidChangeRenderNodeCount(){return ft.map(this.model.onDidChangeRenderNodeCount,(e=>this.nodeMapper.map(e)))}constructor(e,t,n={}){this.rootRef=null,this.elementMapper=n.elementMapper||Sj;const i=e=>this.elementMapper(e.elements);this.nodeMapper=new FK((e=>new xj(i,e))),this.model=new yj(e,function(e,t){return{splice(n,i,o){t.splice(n,i,o.map((t=>e.map(t))))},updateElementHeight(e,n){t.updateElementHeight(e,n)}}}(this.nodeMapper,t),function(e,t){return{...t,identityProvider:t.identityProvider&&{getId:n=>t.identityProvider.getId(e(n))},sorter:t.sorter&&{compare:(e,n)=>t.sorter.compare(e.elements[0],n.elements[0])},filter:t.filter&&{filter:(n,i)=>t.filter.filter(e(n),i)}}}(i,n))}setChildren(e,t=Ye.empty(),n={}){this.model.setChildren(e,t,n)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return null==t?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,n){return this.model.setCollapsed(e,t,n)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}class Lj extends mj{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,n,i,o={}){super(e,t,n,i,o),this.user=e}setChildren(e,t=Ye.empty(),n){this.model.setChildren(e,t,n)}rerender(e){void 0!==e?this.model.rerender(e):this.view.rerender()}hasElement(e){return this.model.has(e)}createModel(e,t,n){return new fj(e,t,n)}}class Dj{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,n){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=n,this.templateId=n.templateId,n.onDidChangeTwistieState&&(this.onDidChangeTwistieState=n.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,n,i){let o=this.stickyScrollDelegate.getCompressedNode(e);o||(o=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),1===o.element.elements.length?(n.compressedTreeNode=void 0,this.renderer.renderElement(e,t,n.data,i)):(n.compressedTreeNode=o,this.renderer.renderCompressedElements(o,t,n.data,i))}disposeElement(e,t,n,i){var o,s,r,l;n.compressedTreeNode?null===(s=(o=this.renderer).disposeCompressedElements)||void 0===s||s.call(o,n.compressedTreeNode,t,n.data,i):null===(l=(r=this.renderer).disposeElement)||void 0===l||l.call(r,e,t,n.data,i)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(e,t)}}!function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);s>3&&r&&Object.defineProperty(t,n,r)}([xL],Dj.prototype,"compressedTreeNodeProvider",null);class Nj{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,n){if(this.compressedStickyNodes.clear(),0===e.length)return[];for(let i=0;in||i>=t-1&&tthis,r=new Nj((()=>this.model));super(e,t,n,i.map((e=>new Dj(s,r,e))),{...Ej(s,o),stickyScrollDelegate:r})}setChildren(e,t=Ye.empty(),n){this.model.setChildren(e,t,n)}createModel(e,t,n){return new kj(e,t,n)}updateOptions(e={}){super.updateOptions(e),void 0!==e.compressionEnabled&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function Mj(e){return{...e,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function Tj(e,t){return!!t.parent&&(t.parent===e||Tj(e,t.parent))}class Aj{get element(){return this.node.element.element}get children(){return this.node.children.map((e=>new Aj(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Rj{constructor(e,t,n){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=n,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,n,i){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,i)}renderTwistie(e,t){return e.slow?(t.classList.add(...ka.asClassNameArray(Sa.treeItemLoading)),!0):(t.classList.remove(...ka.asClassNameArray(Sa.treeItemLoading)),!1)}disposeElement(e,t,n,i){var o,s;null===(s=(o=this.renderer).disposeElement)||void 0===s||s.call(o,this.nodeMapper.map(e),t,n.templateData,i)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function Pj(e){return{browserEvent:e.browserEvent,elements:e.elements.map((e=>e.element))}}function Oj(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}class Fj extends bE{constructor(e){super(e.elements.map((e=>e.element))),this.data=e}}function Bj(e){return e instanceof bE?new Fj(e):e}class Wj{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){var n,i;null===(i=(n=this.dnd).onDragStart)||void 0===i||i.call(n,Bj(e),t)}onDragOver(e,t,n,i,o,s=!0){return this.dnd.onDragOver(Bj(e),t&&t.element,n,i,o)}drop(e,t,n,i,o){this.dnd.drop(Bj(e),t&&t.element,n,i,o)}onDragEnd(e){var t,n;null===(n=(t=this.dnd).onDragEnd)||void 0===n||n.call(t,e)}dispose(){this.dnd.dispose()}}function Vj(e){return e&&{...e,collapseByDefault:!0,identityProvider:e.identityProvider&&{getId:t=>e.identityProvider.getId(t.element)},dnd:e.dnd&&new Wj(e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element}),isSelectionRangeChangeEvent:t=>e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",isChecked:e.accessibilityProvider.isChecked?t=>{var n;return!!(null===(n=e.accessibilityProvider)||void 0===n?void 0:n.isChecked(t.element))}:void 0,getAriaLabel:t=>e.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>e.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider.getAriaLevel&&(t=>e.accessibilityProvider.getAriaLevel(t.element)),getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},filter:e.filter&&{filter:(t,n)=>e.filter.filter(t.element,n)},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)},sorter:void 0,expandOnlyOnTwistieClick:void 0===e.expandOnlyOnTwistieClick?void 0:"function"!=typeof e.expandOnlyOnTwistieClick?e.expandOnlyOnTwistieClick:t=>e.expandOnlyOnTwistieClick(t.element),defaultFindVisibility:t=>t.hasChildren&&t.stale?1:"number"==typeof e.defaultFindVisibility?e.defaultFindVisibility:void 0===e.defaultFindVisibility?2:e.defaultFindVisibility(t.element)}}function Hj(e,t){t(e),e.children.forEach((e=>Hj(e,t)))}class zj{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return ft.map(this.tree.onDidChangeFocus,Pj)}get onDidChangeSelection(){return ft.map(this.tree.onDidChangeSelection,Pj)}get onMouseDblClick(){return ft.map(this.tree.onMouseDblClick,Oj)}get onPointer(){return ft.map(this.tree.onPointer,Oj)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,n,i,o,s={}){this.user=e,this.dataSource=o,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new Ct,this._onDidChangeNodeSlowState=new Ct,this.nodeMapper=new FK((e=>new Aj(e))),this.disposables=new rt,this.identityProvider=s.identityProvider,this.autoExpandSingleChildren=void 0!==s.autoExpandSingleChildren&&s.autoExpandSingleChildren,this.sorter=s.sorter,this.getDefaultCollapseState=e=>s.collapseByDefault?s.collapseByDefault(e)?RK.PreserveOrCollapsed:RK.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,n,i,s),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=Mj({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,n,i,o){const s=new XK(n),r=i.map((e=>new Rj(e,this.nodeMapper,this._onDidChangeNodeSlowState.event))),l=Vj(o)||{};return new Lj(e,t,s,r,l)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach((e=>e.cancel())),this.refreshPromises.clear(),this.root.element=e;const n=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,n),n&&(this.tree.setFocus(n.focus),this.tree.setSelection(n.selection)),t&&"number"==typeof t.scrollTop&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,n=!1,i,o){if(void 0===this.root.element)throw new OK(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await ft.toPromise(this._onDidRender.event));const s=this.getDataNode(e);if(await this.refreshAndRenderNode(s,t,i,o),n)try{this.tree.rerender(s)}catch(e){}}rerender(e){if(void 0===e||e===this.root.element)return void this.tree.rerender();const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),n=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(n)}collapse(e,t=!1){const n=this.getDataNode(e);return this.tree.collapse(n===this.root?null:n,t)}async expand(e,t=!1){if(void 0===this.root.element)throw new OK(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await ft.toPromise(this._onDidRender.event));const n=this.getDataNode(e);if(this.tree.hasElement(n)&&!this.tree.isCollapsible(n))return!1;if(n.refreshPromise&&(await this.root.refreshPromise,await ft.toPromise(this._onDidRender.event)),n!==this.root&&!n.refreshPromise&&!this.tree.isCollapsed(n))return!1;const i=this.tree.expand(n===this.root?null:n,t);return n.refreshPromise&&(await this.root.refreshPromise,await ft.toPromise(this._onDidRender.event)),i}setSelection(e,t){const n=e.map((e=>this.getDataNode(e)));this.tree.setSelection(n,t)}getSelection(){return this.tree.getSelection().map((e=>e.element))}setFocus(e,t){const n=e.map((e=>this.getDataNode(e)));this.tree.setFocus(n,t)}getFocus(){return this.tree.getFocus().map((e=>e.element))}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),n=this.tree.getFirstElementChild(t===this.root?null:t);return n&&n.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new OK(this.user,`Data tree node not found: ${e}`);return t}async refreshAndRenderNode(e,t,n,i){await this.refreshNode(e,t,n),this.disposables.isDisposed||this.render(e,n,i)}async refreshNode(e,t,n){let i;return this.subTreeRefreshPromises.forEach(((o,s)=>{!i&&function(e,t){return e===t||Tj(e,t)||Tj(t,e)}(s,e)&&(i=o.then((()=>this.refreshNode(e,t,n))))})),i||(e!==this.root&&this.tree.getNode(e).collapsed?(e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,void this.setChildren(e,[],t,n)):this.doRefreshSubTree(e,t,n))}async doRefreshSubTree(e,t,n){let i;e.refreshPromise=new Promise((e=>i=e)),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally((()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)}));try{const i=await this.doRefreshNode(e,t,n);e.stale=!1,await Xt.settled(i.map((e=>this.doRefreshSubTree(e,t,n))))}finally{i()}}async doRefreshNode(e,t,n){let i;if(e.hasChildren=!!this.dataSource.hasChildren(e.element),e.hasChildren){const t=this.doGetChildren(e);if(ca(t))i=Promise.resolve(t);else{const n=Vt(800);n.then((()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)}),(e=>null)),i=t.finally((()=>n.cancel()))}}else i=Promise.resolve(Ye.empty());try{const o=await i;return this.setChildren(e,o,t,n)}catch(t){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),Ne(t))return[];throw t}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const n=this.dataSource.getChildren(e.element);return ca(n)?this.processChildren(n):(t=Pt((async()=>this.processChildren(await n))),this.refreshPromises.set(e,t),t.finally((()=>{this.refreshPromises.delete(e)})))}_onDidChangeCollapseState({node:e,deep:t}){null!==e.element&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(xe))}setChildren(e,t,n,i){const o=[...t];if(0===e.children.length&&0===o.length)return[];const s=new Map,r=new Map;for(const t of e.children)s.set(t.element,t),this.identityProvider&&r.set(t.id,{node:t,collapsed:this.tree.hasElement(t)&&this.tree.isCollapsed(t)});const l=[],a=o.map((t=>{const o=!!this.dataSource.hasChildren(t);if(!this.identityProvider){const n=Mj({element:t,parent:e,hasChildren:o,defaultCollapseState:this.getDefaultCollapseState(t)});return o&&n.defaultCollapseState===RK.PreserveOrExpanded&&l.push(n),n}const a=this.identityProvider.getId(t).toString(),d=r.get(a);if(d){const e=d.node;return s.delete(e.element),this.nodes.delete(e.element),this.nodes.set(t,e),e.element=t,e.hasChildren=o,n?d.collapsed?(e.children.forEach((e=>Hj(e,(e=>this.nodes.delete(e.element))))),e.children.splice(0,e.children.length),e.stale=!0):l.push(e):o&&!d.collapsed&&l.push(e),e}const u=Mj({element:t,parent:e,id:a,hasChildren:o,defaultCollapseState:this.getDefaultCollapseState(t)});return i&&i.viewState.focus&&i.viewState.focus.indexOf(a)>-1&&i.focus.push(u),i&&i.viewState.selection&&i.viewState.selection.indexOf(a)>-1&&i.selection.push(u),(i&&i.viewState.expanded&&i.viewState.expanded.indexOf(a)>-1||o&&u.defaultCollapseState===RK.PreserveOrExpanded)&&l.push(u),u}));for(const e of s.values())Hj(e,(e=>this.nodes.delete(e.element)));for(const e of a)this.nodes.set(e.element,e);return e.children.splice(0,e.children.length,...a),e!==this.root&&this.autoExpandSingleChildren&&1===a.length&&0===l.length&&(a[0].forceExpanded=!0,l.push(a[0])),l}render(e,t,n){const i=e.children.map((e=>this.asTreeElement(e,t))),o=n&&{...n,diffIdentityProvider:n.diffIdentityProvider&&{getId:e=>n.diffIdentityProvider.getId(e.element)}};this.tree.setChildren(e===this.root?null:e,i,o),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let n;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?n=!1:e.forceExpanded?(n=!1,e.forceExpanded=!1):n=e.defaultCollapseState,{element:e,children:e.hasChildren?Ye.map(e.children,(e=>this.asTreeElement(e,t))):[],collapsible:e.hasChildren,collapsed:n}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class Uj{get element(){return{elements:this.node.element.elements.map((e=>e.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((e=>new Uj(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class Kj{constructor(e,t,n,i){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=n,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,n,i){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,i)}renderCompressedElements(e,t,n,i){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,n.templateData,i)}renderTwistie(e,t){return e.slow?(t.classList.add(...ka.asClassNameArray(Sa.treeItemLoading)),!0):(t.classList.remove(...ka.asClassNameArray(Sa.treeItemLoading)),!1)}disposeElement(e,t,n,i){var o,s;null===(s=(o=this.renderer).disposeElement)||void 0===s||s.call(o,this.nodeMapper.map(e),t,n.templateData,i)}disposeCompressedElements(e,t,n,i){var o,s;null===(s=(o=this.renderer).disposeCompressedElements)||void 0===s||s.call(o,this.compressibleNodeMapperProvider().map(e),t,n.templateData,i)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=it(this.disposables)}}class jj extends zj{constructor(e,t,n,i,o,s,r={}){super(e,t,n,o,s,r),this.compressionDelegate=i,this.compressibleNodeMapper=new FK((e=>new Uj(e))),this.filter=r.filter}createTree(e,t,n,i,o){const s=new XK(n),r=i.map((e=>new Kj(e,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event))),l=function(e){const t=e&&Vj(e);return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map((e=>e.element)))}}}(o)||{};return new Ij(e,t,s,r,l)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,n){if(!this.identityProvider)return super.render(e,t);const i=e=>this.identityProvider.getId(e).toString(),o=e=>{const t=new Set;for(const n of e){const e=this.tree.getCompressedTreeNode(n===this.root?null:n);if(e.element)for(const n of e.element.elements)t.add(i(n.element))}return t},s=o(this.tree.getSelection()),r=o(this.tree.getFocus());super.render(e,t,n);const l=this.getSelection();let a=!1;const d=this.getFocus();let u=!1;const c=e=>{const t=e.element;if(t)for(let e=0;e{const t="boolean"==typeof(n=this.filter.filter(e,1))?n?1:0:BK(n)?WK(n.visibility):WK(n);var n;if(2===t)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===t}))),super.processChildren(e)}}class qj extends mj{constructor(e,t,n,i,o,s={}){super(e,t,n,i,s),this.user=e,this.dataSource=o,this.identityProvider=s.identityProvider}createModel(e,t,n){return new fj(e,t,n)}}new ou("isMac",U,_(0,"Whether the operating system is macOS")),new ou("isLinux",K,_(0,"Whether the operating system is Linux"));const $j=new ou("isWindows",z,_(0,"Whether the operating system is Windows")),Gj=new ou("isWeb",q,_(0,"Whether the platform is a web browser")),Zj=(new ou("isMacNative",U&&!q,_(0,"Whether the operating system is macOS on a non-browser platform")),new ou("isIOS",G,_(0,"Whether the operating system is iOS")),new ou("isMobile",Z,_(0,"Whether the platform is a mobile web browser")),new ou("isDevelopment",!1,!0),new ou("productQualityType","",_(0,"Quality type of VS Code")),"inputFocus"),Yj=new ou(Zj,!1,_(0,"Whether keyboard focus is inside an input box"));var Xj=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Qj=function(e,t){return function(n,i){t(n,i,e)}};const Jj=dd("listService"),eq=new ou("listScrollAtBoundary","none"),tq=(Bd.or(eq.isEqualTo("top"),eq.isEqualTo("both")),Bd.or(eq.isEqualTo("bottom"),eq.isEqualTo("both")),new ou("listFocus",!0)),nq=new ou("treestickyScrollFocused",!1),iq=new ou("listSupportsMultiselect",!0),oq=Bd.and(tq,Bd.not(Zj),nq.negate()),sq=new ou("listHasSelectionOrFocus",!1),rq=new ou("listDoubleSelection",!1),lq=new ou("listMultiSelection",!1),aq=new ou("listSelectionNavigation",!1),dq=new ou("listSupportsFind",!0),uq=new ou("treeElementCanCollapse",!1),cq=new ou("treeElementHasParent",!1),hq=new ou("treeElementCanExpand",!1),gq=new ou("treeElementHasChild",!1),pq=new ou("treeFindOpen",!1),mq="listTypeNavigationMode",fq="listAutomaticKeyboardNavigation";function _q(e,t){const n=e.createScoped(t.getHTMLElement());return tq.bindTo(n),n}function vq(e,t){const n=eq.bindTo(e),i=()=>{const e=0===t.scrollTop,i=t.scrollHeight-t.renderHeight-t.scrollTop<1;e&&i?n.set("both"):e?n.set("top"):i?n.set("bottom"):n.set("none")};return i(),t.onDidScroll(i)}const bq="workbench.list.multiSelectModifier",wq="workbench.list.openMode",Cq="workbench.list.horizontalScrolling",yq="workbench.list.defaultFindMode",Sq="workbench.list.typeNavigationMode",xq="workbench.list.keyboardNavigation",kq="workbench.list.scrollByPage",Lq="workbench.list.defaultFindMatchType",Dq="workbench.tree.indent",Nq="workbench.tree.renderIndentGuides",Eq="workbench.list.smoothScrolling",Iq="workbench.list.mouseWheelScrollSensitivity",Mq="workbench.list.fastScrollSensitivity",Tq="workbench.tree.expandMode",Aq="workbench.tree.enableStickyScroll",Rq="workbench.tree.stickyScrollMaxItemCount";function Pq(e){return"alt"===e.getValue(bq)}class Oq extends lt{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=Pq(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(bq)&&(this.useAltAsMultipleSelectionModifier=Pq(this.configurationService))})))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:EI(e)}isSelectionRangeChangeEvent(e){return II(e)}}function Fq(e,t){var n;const i=e.get(pg),o=e.get(zL),s=new rt;return[{...t,keyboardNavigationDelegate:{mightProducePrintableCharacter:e=>o.mightProducePrintableCharacter(e)},smoothScrolling:Boolean(i.getValue(Eq)),mouseWheelScrollSensitivity:i.getValue(Iq),fastScrollSensitivity:i.getValue(Mq),multipleSelectionController:null!==(n=t.multipleSelectionController)&&void 0!==n?n:s.add(new Oq(i)),keyboardNavigationEventFilter:jq(o),scrollByPage:Boolean(i.getValue(kq))},s]}let Bq=class extends HI{constructor(e,t,n,i,o,s,r,l,a){const d=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(l.getValue(Cq)),[u,c]=a.invokeFunction(Fq,o);super(e,t,n,i,{keyboardSupport:!1,...u,horizontalScrolling:d}),this.disposables.add(c),this.contextKeyService=_q(s,this),this.disposables.add(vq(this.contextKeyService,this)),this.listSupportsMultiSelect=iq.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),aq.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this.listHasSelectionOrFocus=sq.bindTo(this.contextKeyService),this.listDoubleSelection=rq.bindTo(this.contextKeyService),this.listMultiSelection=lq.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Pq(l),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(l.onDidChangeConfiguration((e=>{e.affectsConfiguration(bq)&&(this._useAltAsMultipleSelectionModifier=Pq(l));let t={};if(e.affectsConfiguration(Cq)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(Cq));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(kq)){const e=Boolean(l.getValue(kq));t={...t,scrollByPage:e}}if(e.affectsConfiguration(Eq)){const e=Boolean(l.getValue(Eq));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Iq)){const e=l.getValue(Iq);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(Mq)){const e=l.getValue(Mq);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new zq(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?kM(e):xM)}};Bq=Xj([Qj(5,su),Qj(6,Jj),Qj(7,pg),Qj(8,ad)],Bq);let Wq=class extends JU{constructor(e,t,n,i,o,s,r,l,a){const d=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(l.getValue(Cq)),[u,c]=a.invokeFunction(Fq,o);super(e,t,n,i,{keyboardSupport:!1,...u,horizontalScrolling:d}),this.disposables=new rt,this.disposables.add(c),this.contextKeyService=_q(s,this),this.disposables.add(vq(this.contextKeyService,this.widget)),this.horizontalScrolling=o.horizontalScrolling,this.listSupportsMultiSelect=iq.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),aq.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this._useAltAsMultipleSelectionModifier=Pq(l),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(l.onDidChangeConfiguration((e=>{e.affectsConfiguration(bq)&&(this._useAltAsMultipleSelectionModifier=Pq(l));let t={};if(e.affectsConfiguration(Cq)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(Cq));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(kq)){const e=Boolean(l.getValue(kq));t={...t,scrollByPage:e}}if(e.affectsConfiguration(Eq)){const e=Boolean(l.getValue(Eq));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Iq)){const e=l.getValue(Iq);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(Mq)){const e=l.getValue(Mq);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new zq(this,{configurationService:l,...o}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?kM(e):xM)}dispose(){this.disposables.dispose(),super.dispose()}};Wq=Xj([Qj(5,su),Qj(6,Jj),Qj(7,pg),Qj(8,ad)],Wq);let Vq=class extends gK{constructor(e,t,n,i,o,s,r,l,a,d){const u=void 0!==s.horizontalScrolling?s.horizontalScrolling:Boolean(a.getValue(Cq)),[c,h]=d.invokeFunction(Fq,s);super(e,t,n,i,o,{keyboardSupport:!1,...c,horizontalScrolling:u}),this.disposables.add(h),this.contextKeyService=_q(r,this),this.disposables.add(vq(this.contextKeyService,this)),this.listSupportsMultiSelect=iq.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==s.multipleSelectionSupport),aq.bindTo(this.contextKeyService).set(Boolean(s.selectionNavigation)),this.listHasSelectionOrFocus=sq.bindTo(this.contextKeyService),this.listDoubleSelection=rq.bindTo(this.contextKeyService),this.listMultiSelection=lq.bindTo(this.contextKeyService),this.horizontalScrolling=s.horizontalScrolling,this._useAltAsMultipleSelectionModifier=Pq(a),this.disposables.add(this.contextKeyService),this.disposables.add(l.register(this)),this.updateStyles(s.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(a.onDidChangeConfiguration((e=>{e.affectsConfiguration(bq)&&(this._useAltAsMultipleSelectionModifier=Pq(a));let t={};if(e.affectsConfiguration(Cq)&&void 0===this.horizontalScrolling){const e=Boolean(a.getValue(Cq));t={...t,horizontalScrolling:e}}if(e.affectsConfiguration(kq)){const e=Boolean(a.getValue(kq));t={...t,scrollByPage:e}}if(e.affectsConfiguration(Eq)){const e=Boolean(a.getValue(Eq));t={...t,smoothScrolling:e}}if(e.affectsConfiguration(Iq)){const e=a.getValue(Iq);t={...t,mouseWheelScrollSensitivity:e}}if(e.affectsConfiguration(Mq)){const e=a.getValue(Mq);t={...t,fastScrollSensitivity:e}}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new Uq(this,{configurationService:a,...s}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),void 0!==e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?kM(e):xM)}dispose(){this.disposables.dispose(),super.dispose()}};Vq=Xj([Qj(6,su),Qj(7,Jj),Qj(8,pg),Qj(9,ad)],Vq);class Hq extends lt{constructor(e,t){var n;super(),this.widget=e,this._onDidOpen=this._register(new Ct),this.onDidOpen=this._onDidOpen.event,this._register(ft.filter(this.widget.onDidChangeSelection,(e=>ir(e.browserEvent)))((e=>this.onSelectionFromKeyboard(e)))),this._register(this.widget.onPointer((e=>this.onPointer(e.element,e.browserEvent)))),this._register(this.widget.onMouseDblClick((e=>this.onMouseDblClick(e.element,e.browserEvent)))),"boolean"!=typeof(null==t?void 0:t.openOnSingleClick)&&(null==t?void 0:t.configurationService)?(this.openOnSingleClick="doubleClick"!==(null==t?void 0:t.configurationService.getValue(wq)),this._register(null==t?void 0:t.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(wq)&&(this.openOnSingleClick="doubleClick"!==(null==t?void 0:t.configurationService.getValue(wq)))})))):this.openOnSingleClick=null===(n=null==t?void 0:t.openOnSingleClick)||void 0===n||n}onSelectionFromKeyboard(e){if(1!==e.elements.length)return;const t=e.browserEvent,n="boolean"!=typeof t.preserveFocus||t.preserveFocus,i="boolean"==typeof t.pinned?t.pinned:!n;this._open(this.getSelectedElement(),n,i,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick)return;if(2===t.detail)return;const n=1===t.button,i=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!0,n,i,t)}onMouseDblClick(e,t){if(!t)return;const n=t.target;if(n.classList.contains("monaco-tl-twistie")||n.classList.contains("monaco-icon-label")&&n.classList.contains("folder-icon")&&t.offsetX<16)return;const i=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!1,!0,i,t)}_open(e,t,n,i,o){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:n,revealIfVisible:!0},sideBySide:i,element:e,browserEvent:o})}}class zq extends Hq{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class Uq extends Hq{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class Kq extends Hq{constructor(e,t){super(e,t)}getSelectedElement(){var e;return null!==(e=this.widget.getSelection()[0])&&void 0!==e?e:void 0}}function jq(e){let t=!1;return n=>{if(n.toKeyCodeChord().isModifierKey())return!1;if(t)return t=!1,!1;const i=e.softDispatch(n,n.target);return 1===i.kind?(t=!0,!1):(t=!1,0===i.kind)}}let qq=class extends Lj{constructor(e,t,n,i,o,s,r,l,a){const{options:d,getTypeNavigationMode:u,disposable:c}=s.invokeFunction(Jq,o);super(e,t,n,i,d),this.disposables.add(c),this.internals=new e$(this,o,u,o.overrideStyles,r,l,a),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};qq=Xj([Qj(5,ad),Qj(6,su),Qj(7,Jj),Qj(8,pg)],qq);let $q=class extends Ij{constructor(e,t,n,i,o,s,r,l,a){const{options:d,getTypeNavigationMode:u,disposable:c}=s.invokeFunction(Jq,o);super(e,t,n,i,d),this.disposables.add(c),this.internals=new e$(this,o,u,o.overrideStyles,r,l,a),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};$q=Xj([Qj(5,ad),Qj(6,su),Qj(7,Jj),Qj(8,pg)],$q);let Gq=class extends qj{constructor(e,t,n,i,o,s,r,l,a,d){const{options:u,getTypeNavigationMode:c,disposable:h}=r.invokeFunction(Jq,s);super(e,t,n,i,o,u),this.disposables.add(h),this.internals=new e$(this,s,c,s.overrideStyles,l,a,d),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),void 0!==e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Gq=Xj([Qj(6,ad),Qj(7,su),Qj(8,Jj),Qj(9,pg)],Gq);let Zq=class extends zj{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,n,i,o,s,r,l,a,d){const{options:u,getTypeNavigationMode:c,disposable:h}=r.invokeFunction(Jq,s);super(e,t,n,i,o,u),this.disposables.add(h),this.internals=new e$(this,s,c,s.overrideStyles,l,a,d),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};Zq=Xj([Qj(6,ad),Qj(7,su),Qj(8,Jj),Qj(9,pg)],Zq);let Yq=class extends jj{constructor(e,t,n,i,o,s,r,l,a,d,u){const{options:c,getTypeNavigationMode:h,disposable:g}=l.invokeFunction(Jq,r);super(e,t,n,i,o,s,c),this.disposables.add(g),this.internals=new e$(this,r,h,r.overrideStyles,a,d,u),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};function Xq(e){const t=e.getValue(yq);if("highlight"===t)return UK.Highlight;if("filter"===t)return UK.Filter;const n=e.getValue(xq);return"simple"===n||"highlight"===n?UK.Highlight:"filter"===n?UK.Filter:void 0}function Qq(e){const t=e.getValue(Lq);return"fuzzy"===t?KK.Fuzzy:"contiguous"===t?KK.Contiguous:void 0}function Jq(e,t){var n;const i=e.get(pg),o=e.get(VL),s=e.get(su),r=e.get(ad),l=void 0!==t.horizontalScrolling?t.horizontalScrolling:Boolean(i.getValue(Cq)),[a,d]=r.invokeFunction(Fq,t),u=t.paddingBottom,c=void 0!==t.renderIndentGuides?t.renderIndentGuides:i.getValue(Nq);return{getTypeNavigationMode:()=>{const e=s.getContextKeyValue(mq);if("automatic"===e)return hI.Automatic;if("trigger"===e)return hI.Trigger;if(!1===s.getContextKeyValue(fq))return hI.Trigger;const t=i.getValue(Sq);return"automatic"===t?hI.Automatic:"trigger"===t?hI.Trigger:void 0},disposable:d,options:{keyboardSupport:!1,...a,indent:"number"==typeof i.getValue(Dq)?i.getValue(Dq):void 0,renderIndentGuides:c,smoothScrolling:Boolean(i.getValue(Eq)),defaultFindMode:Xq(i),defaultFindMatchType:Qq(i),horizontalScrolling:l,scrollByPage:Boolean(i.getValue(kq)),paddingBottom:u,hideTwistiesOfChildlessElements:t.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:null!==(n=t.expandOnlyOnTwistieClick)&&void 0!==n?n:"doubleClick"===i.getValue(Tq),contextViewProvider:o,findWidgetStyles:yM,enableStickyScroll:Boolean(i.getValue(Aq)),stickyScrollMaxItemCount:Number(i.getValue(Rq))}}}Yq=Xj([Qj(7,ad),Qj(8,su),Qj(9,Jj),Qj(10,pg)],Yq);let e$=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,n,i,o,s,r){var l;this.tree=e,this.disposables=[],this.contextKeyService=_q(o,e),this.disposables.push(vq(this.contextKeyService,e)),this.listSupportsMultiSelect=iq.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==t.multipleSelectionSupport),aq.bindTo(this.contextKeyService).set(Boolean(t.selectionNavigation)),this.listSupportFindWidget=dq.bindTo(this.contextKeyService),this.listSupportFindWidget.set(null===(l=t.findWidgetEnabled)||void 0===l||l),this.hasSelectionOrFocus=sq.bindTo(this.contextKeyService),this.hasDoubleSelection=rq.bindTo(this.contextKeyService),this.hasMultiSelection=lq.bindTo(this.contextKeyService),this.treeElementCanCollapse=uq.bindTo(this.contextKeyService),this.treeElementHasParent=cq.bindTo(this.contextKeyService),this.treeElementCanExpand=hq.bindTo(this.contextKeyService),this.treeElementHasChild=gq.bindTo(this.contextKeyService),this.treeFindOpen=pq.bindTo(this.contextKeyService),this.treeStickyScrollFocused=nq.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=Pq(r),this.updateStyleOverrides(i);const a=()=>{const t=e.getFocus()[0];if(!t)return;const n=e.getNode(t);this.treeElementCanCollapse.set(n.collapsible&&!n.collapsed),this.treeElementHasParent.set(!!e.getParentElement(t)),this.treeElementCanExpand.set(n.collapsible&&n.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(t))},d=new Set;d.add(mq),d.add(fq),this.disposables.push(this.contextKeyService,s.register(e),e.onDidChangeSelection((()=>{const t=e.getSelection(),n=e.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(t.length>0||n.length>0),this.hasMultiSelection.set(t.length>1),this.hasDoubleSelection.set(2===t.length)}))})),e.onDidChangeFocus((()=>{const t=e.getSelection(),n=e.getFocus();this.hasSelectionOrFocus.set(t.length>0||n.length>0),a()})),e.onDidChangeCollapseState(a),e.onDidChangeModel(a),e.onDidChangeFindOpenState((e=>this.treeFindOpen.set(e))),e.onDidChangeStickyScrollFocused((e=>this.treeStickyScrollFocused.set(e))),r.onDidChangeConfiguration((i=>{let o={};if(i.affectsConfiguration(bq)&&(this._useAltAsMultipleSelectionModifier=Pq(r)),i.affectsConfiguration(Dq)){const e=r.getValue(Dq);o={...o,indent:e}}if(i.affectsConfiguration(Nq)&&void 0===t.renderIndentGuides){const e=r.getValue(Nq);o={...o,renderIndentGuides:e}}if(i.affectsConfiguration(Eq)){const e=Boolean(r.getValue(Eq));o={...o,smoothScrolling:e}}if(i.affectsConfiguration(yq)||i.affectsConfiguration(xq)){const e=Xq(r);o={...o,defaultFindMode:e}}if(i.affectsConfiguration(Sq)||i.affectsConfiguration(xq)){const e=n();o={...o,typeNavigationMode:e}}if(i.affectsConfiguration(Lq)){const e=Qq(r);o={...o,defaultFindMatchType:e}}if(i.affectsConfiguration(Cq)&&void 0===t.horizontalScrolling){const e=Boolean(r.getValue(Cq));o={...o,horizontalScrolling:e}}if(i.affectsConfiguration(kq)){const e=Boolean(r.getValue(kq));o={...o,scrollByPage:e}}if(i.affectsConfiguration(Tq)&&void 0===t.expandOnlyOnTwistieClick&&(o={...o,expandOnlyOnTwistieClick:"doubleClick"===r.getValue(Tq)}),i.affectsConfiguration(Aq)){const e=r.getValue(Aq);o={...o,enableStickyScroll:e}}if(i.affectsConfiguration(Rq)){const e=Math.max(1,r.getValue(Rq));o={...o,stickyScrollMaxItemCount:e}}if(i.affectsConfiguration(Iq)){const e=r.getValue(Iq);o={...o,mouseWheelScrollSensitivity:e}}if(i.affectsConfiguration(Mq)){const e=r.getValue(Mq);o={...o,fastScrollSensitivity:e}}Object.keys(o).length>0&&e.updateOptions(o)})),this.contextKeyService.onDidChangeContext((t=>{t.affectsSome(d)&&e.updateOptions({typeNavigationMode:n()})}))),this.navigator=new Kq(e,{configurationService:r,...t}),this.disposables.push(this.navigator)}updateOptions(e){void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?kM(e):xM)}dispose(){this.disposables=it(this.disposables)}};e$=Xj([Qj(4,su),Qj(5,Jj),Qj(6,pg)],e$),fu.as(Dg).registerConfiguration({id:"workbench",order:7,title:_(0,"Workbench"),type:"object",properties:{[bq]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[_(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),_(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:_(0,"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[wq]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:_(0,"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[Cq]:{type:"boolean",default:!1,description:_(0,"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[kq]:{type:"boolean",default:!1,description:_(0,"Controls whether clicks in the scrollbar scroll page by page.")},[Dq]:{type:"number",default:8,minimum:4,maximum:40,description:_(0,"Controls tree indentation in pixels.")},[Nq]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:_(0,"Controls whether the tree should render indent guides.")},[Eq]:{type:"boolean",default:!1,description:_(0,"Controls whether lists and trees have smooth scrolling.")},[Iq]:{type:"number",default:1,markdownDescription:_(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[Mq]:{type:"number",default:5,markdownDescription:_(0,"Scrolling speed multiplier when pressing `Alt`.")},[yq]:{type:"string",enum:["highlight","filter"],enumDescriptions:[_(0,"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),_(0,"Filter elements when searching.")],default:"highlight",description:_(0,"Controls the default find mode for lists and trees in the workbench.")},[xq]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[_(0,"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),_(0,"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),_(0,"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:_(0,"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:_(0,"Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[Lq]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[_(0,"Use fuzzy matching when searching."),_(0,"Use contiguous matching when searching.")],default:"fuzzy",description:_(0,"Controls the type of matching used when searching lists and trees in the workbench.")},[Tq]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:_(0,"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[Aq]:{type:"boolean",default:!0,description:_(0,"Controls whether sticky scrolling is enabled in trees.")},[Rq]:{type:"number",minimum:1,default:7,markdownDescription:_(0,"Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.")},[Sq]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:_(0,"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});class t${constructor(e,t,n,i){this.isProviderFirst=e,this.parent=t,this.link=n,this._rangeCallback=i,this.id=yk.nextId()}get uri(){return this.link.uri}get range(){var e,t;return null!==(t=null!==(e=this._range)&&void 0!==e?e:this.link.targetSelectionRange)&&void 0!==t?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=null===(e=this.parent.getPreview(this))||void 0===e?void 0:e.preview(this.range);return t?_(0,"{0} in {1} on line {2} at column {3}",t.value,Ka(this.uri),this.range.startLineNumber,this.range.startColumn):_(0,"in {0} on line {1} at column {2}",Ka(this.uri),this.range.startLineNumber,this.range.startColumn)}}class n${constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const n=this._modelReference.object.textEditorModel;if(!n)return;const{startLineNumber:i,startColumn:o,endLineNumber:s,endColumn:r}=e,l=n.getWordUntilPosition({lineNumber:i,column:o-t}),a=new nc(i,l.startColumn,i,o),d=new nc(s,r,s,1073741824),u=n.getValueInRange(a).replace(/^\s+/,""),c=n.getValueInRange(e);return{value:u+c+n.getValueInRange(d).replace(/\s+$/,""),highlight:{start:u.length,end:u.length+c.length}}}}class i${constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new tl}dispose(){it(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return 1===e?_(0,"1 symbol in {0}, full path {1}",Ka(this.uri),this.uri.fsPath):_(0,"{0} symbols in {1}, full path {2}",e,Ka(this.uri),this.uri.fsPath)}async resolve(e){if(0!==this._previews.size)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const n=await e.createModelReference(t.uri);this._previews.set(t.uri,new n$(n))}catch(e){xe(e)}return this}}class o${constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Ct,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[n]=e;let i;e.sort(o$._compareReferences);for(const t of e)if(i&&Ha.isEqual(i.uri,t.uri,!0)||(i=new i$(this,t.uri),this.groups.push(i)),0===i.children.length||0!==o$._compareReferences(t,i.children[i.children.length-1])){const e=new t$(n===t,i,t,(e=>this._onDidChangeReferenceRange.fire(e)));this.references.push(e),i.children.push(e)}}dispose(){it(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new o$(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?_(0,"No results found"):1===this.references.length?_(0,"Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?_(0,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):_(0,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:n}=e;let i=n.children.indexOf(e);const o=n.children.length,s=n.parent.groups.length;return 1===s||t&&i+10?(i=t?(i+1)%o:(i+o-1)%o,n.children[i]):(i=n.parent.groups.indexOf(n),t?(i=(i+1)%s,n.parent.groups[i].children[0]):(i=(i+s-1)%s,n.parent.groups[i].children[n.parent.groups[i].children.length-1]))}nearestReference(e,t){const n=this.references.map(((n,i)=>({idx:i,prefixLen:xi(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}))).sort(((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0))[0];if(n)return this.references[n.idx]}referenceAt(e,t){for(const n of this.references)if(n.uri.toString()===e.toString()&&nc.containsPosition(n.range,t))return n}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return Ha.compare(e.uri,t.uri)||nc.compareRangesUsingStarts(e.range,t.range)}}var s$=n(6378),r$={};r$.styleTagTransform=Vr(),r$.setAttributes=Or(),r$.insert=Rr().bind(null,"head"),r$.domAPI=Tr(),r$.insertStyleElement=Br(),Ir()(s$.A,r$),s$.A&&s$.A.locals&&s$.A.locals;var l$=n(1684),a$={};a$.styleTagTransform=Vr(),a$.setAttributes=Or(),a$.insert=Rr().bind(null,"head"),a$.domAPI=Tr(),a$.insertStyleElement=Br(),Ir()(l$.A,a$),l$.A&&l$.A.locals&&l$.A.locals;class d${constructor(e,t,n){this.options=t,this.styles=n,this.count=0,this.element=dr(e,mr(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){var e,t;this.element.textContent=oi(this.countFormat,this.count),this.element.title=oi(this.titleFormat,this.count),this.element.style.backgroundColor=null!==(e=this.styles.badgeBackground)&&void 0!==e?e:"",this.element.style.color=null!==(t=this.styles.badgeForeground)&&void 0!==t?t:"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}class u$ extends lt{constructor(e,t){var n;super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=null!==(n=null==t?void 0:t.supportIcons)&&void 0!==n&&n,this.domNode=dr(e,mr("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],n="",i){e||(e=""),i&&(e=u$.escapeNewLines(e,t)),this.didEverRender&&this.text===e&&this.title===n&&_c(this.highlights,t)||(this.text=e,this.title=n,this.highlights=t,this.render())}render(){var e,t,n,i;const o=[];let s=0;for(const e of this.highlights){if(e.end===e.start)continue;if(s{i="\r\n"===e?-1:0,o+=n;for(const e of t)e.end<=o||(e.start>=o&&(e.start+=i),e.end>=o&&(e.end+=i));return n+=i,"⏎"}))}}var c$=n(8134),h$={};h$.styleTagTransform=Vr(),h$.setAttributes=Or(),h$.insert=Rr().bind(null,"head"),h$.domAPI=Tr(),h$.insertStyleElement=Br(),Ir()(c$.A,h$),c$.A&&c$.A.locals&&c$.A.locals;class g${constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set className(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class p$ extends lt{constructor(e,t){var n;super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new g$(dr(e,mr(".monaco-icon-label")))),this.labelContainer=dr(this.domNode.element,mr(".monaco-icon-label-container")),this.nameContainer=dr(this.labelContainer,mr("span.monaco-icon-name-container")),(null==t?void 0:t.supportHighlights)||(null==t?void 0:t.supportIcons)?this.nameNode=this._register(new f$(this.nameContainer,!!t.supportIcons)):this.nameNode=new m$(this.nameContainer),this.hoverDelegate=null!==(n=null==t?void 0:t.hoverDelegate)&&void 0!==n?n:IL("mouse")}get element(){return this.domNode.element}setLabel(e,t,n){var i;const o=["monaco-icon-label"],s=["monaco-icon-label-container"];let r="";if(n&&(n.extraClasses&&o.push(...n.extraClasses),n.italic&&o.push("italic"),n.strikethrough&&o.push("strikethrough"),n.disabledCommand&&s.push("disabled"),n.title&&("string"==typeof n.title?r+=n.title:r+=e)),this.domNode.className=o.join(" "),this.domNode.element.setAttribute("aria-label",r),this.labelContainer.className=s.join(" "),this.setupHover((null==n?void 0:n.descriptionTitle)?this.labelContainer:this.element,null==n?void 0:n.title),this.nameNode.setLabel(e,n),t||this.descriptionNode){const e=this.getOrCreateDescriptionNode();e instanceof u$?(e.set(t||"",n?n.descriptionMatches:void 0,void 0,null==n?void 0:n.labelEscapeNewLines),this.setupHover(e.element,null==n?void 0:n.descriptionTitle)):(e.textContent=t&&(null==n?void 0:n.labelEscapeNewLines)?u$.escapeNewLines(t,[]):t||"",this.setupHover(e.element,(null==n?void 0:n.descriptionTitle)||""),e.empty=!t)}((null==n?void 0:n.suffix)||this.suffixNode)&&(this.getOrCreateSuffixNode().textContent=null!==(i=null==n?void 0:n.suffix)&&void 0!==i?i:"")}setupHover(e,t){const n=this.customHovers.get(e);if(n&&(n.dispose(),this.customHovers.delete(e)),t)if(this.hoverDelegate.showNativeHover)!function(e,t){la(t)?e.title=Ia(t):(null==t?void 0:t.markdownNotSupportedFallback)?e.title=t.markdownNotSupportedFallback:e.removeAttribute("title")}(e,t);else{const n=RL(this.hoverDelegate,e,t);n&&this.customHovers.set(e,n)}else e.removeAttribute("title")}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const n=this._register(new g$((e=this.nameContainer,t=mr("span.monaco-icon-suffix-container"),e.after(t),t)));this.suffixNode=this._register(new g$(dr(n.element,mr("span.label-suffix"))))}var e,t;return this.suffixNode}getOrCreateDescriptionNode(){var e;if(!this.descriptionNode){const t=this._register(new g$(dr(this.labelContainer,mr("span.monaco-icon-description-container"))));(null===(e=this.creationOptions)||void 0===e?void 0:e.supportDescriptionHighlights)?this.descriptionNode=this._register(new u$(dr(t.element,mr("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new g$(dr(t.element,mr("span.label-description"))))}return this.descriptionNode}}class m${constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(this.label!==e||!_c(this.options,t))if(this.label=e,this.options=t,"string"==typeof e)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=dr(this.container,mr("a.label-name",{id:null==t?void 0:t.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let n=0;n{const o={start:i,end:i+e.length},s=n.map((e=>iE.intersect(o,e))).filter((e=>!iE.isEmpty(e))).map((({start:e,end:t})=>({start:e-i,end:t-i})));return i=o.end+t.length,s}))}(e,n,null==t?void 0:t.matches);for(let o=0;o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},w$=function(e,t){return function(n,i){t(n,i,e)}};let C$=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof o$||e instanceof i$}getChildren(e){if(e instanceof o$)return e.groups;if(e instanceof i$)return e.resolve(this._resolverService).then((e=>e.children));throw new Error("bad tree")}};C$=b$([w$(0,gd)],C$);class y${getHeight(){return 23}getTemplateId(e){return e instanceof i$?L$.id:N$.id}}let S$=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof t$){const n=null===(t=e.parent.getPreview(e))||void 0===t?void 0:t.preview(e.range);if(n)return n.value}return Ka(e.uri)}};S$=b$([w$(0,zL)],S$);class x${getId(e){return e instanceof t$?e.id:e.uri}}let k$=class extends lt{constructor(e,t){super(),this._labelService=t;const n=document.createElement("div");n.classList.add("reference-file"),this.file=this._register(new p$(n,{supportHighlights:!0})),this.badge=new d$(dr(n,mr(".count")),{},SM),e.appendChild(n)}set(e,t){const n=qa(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(n,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const i=e.children.length;this.badge.setCount(i),i>1?this.badge.setTitleFormat(_(0,"{0} references",i)):this.badge.setTitleFormat(_(0,"{0} reference",i))}};k$=b$([w$(1,_$)],k$);let L$=v$=class{constructor(e){this._instantiationService=e,this.templateId=v$.id}renderTemplate(e){return this._instantiationService.createInstance(k$,e)}renderElement(e,t,n){n.set(e.element,Hl(e.filterData))}disposeTemplate(e){e.dispose()}};L$.id="FileReferencesRenderer",L$=v$=b$([w$(0,ad)],L$);class D$ extends lt{constructor(e){super(),this.label=this._register(new u$(e))}set(e,t){var n;const i=null===(n=e.parent.getPreview(e))||void 0===n?void 0:n.preview(e.range);if(i&&i.value){const{value:e,highlight:n}=i;t&&!ta.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(e,Hl(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(e,[n]))}else this.label.set(`${Ka(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`)}}class N${constructor(){this.templateId=N$.id}renderTemplate(e){return new D$(e)}renderElement(e,t,n){n.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}}N$.id="OneReferenceRenderer";class E${getWidgetAriaLabel(){return _(0,"References")}getAriaLabel(e){return e.ariaMessage}}var I$=function(e,t){return function(n,i){t(n,i,e)}};class M${constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new rt,this._callOnModelChange=new rt,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())return void this._addDecorations(t.parent)}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const t=[],n=[];for(let i=0,o=e.children.length;i{const o=i.deltaDecorations([],t);for(let t=0;t{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(A$,"ReferencesWidget",this._treeContainer,new y$,[this._instantiationService.createInstance(L$),this._instantiationService.createInstance(N$)],this._instantiationService.createInstance(C$),t),this._splitView.addView({onDidChange:ft.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},lK.Distribute),this._splitView.addView({onDidChange:ft.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},lK.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const n=(e,t)=>{e instanceof t$&&("show"===t&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:"tree"}))};this._tree.onDidOpen((e=>{e.sideBySide?n(e.element,"side"):e.editorOptions.pinned?n(e.element,"goto"):n(e.element,"show")})),_r(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Ds(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=_(0,"No results"),fr(this._messageContainer),Promise.resolve(void 0)):(_r(this._messageContainer),this._decorationsManager=new M$(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:n}=e;if(2!==t.detail)return;const i=this._getFocusedReference();i&&this._onDidSelectReference.fire({element:{uri:i.uri,range:n.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),fr(this._treeContainer),fr(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();return e instanceof t$?e:e instanceof i$&&e.children.length>0?e.children[0]:void 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!==Ho.inMemory?this.setTitle(Ua(e.uri),this._uriLabel.getUriLabel(qa(e.uri))):this.setTitle(_(0,"References"));const n=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent||(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent)),this._tree.reveal(e);const i=await n;if(!this._model)return void i.dispose();it(this._previewModelReference);const o=i.object;if(o){const t=this._preview.getModel()===o.textEditorModel?0:1,n=nc.lift(e.range).collapseToStart();this._previewModelReference=i,this._preview.setModel(o.textEditorModel),this._preview.setSelection(n),this._preview.revealRangeInCenter(n,t)}else this._preview.setModel(this._previewNotAvailableMessage),i.dispose()}};R$=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([I$(3,Tv),I$(4,gd),I$(5,ad),I$(6,FU),I$(7,_$),I$(8,cy),I$(9,zL),I$(10,Sh),I$(11,Qg)],R$);var P$,O$=function(e,t){return function(n,i){t(n,i,e)}};const F$=new ou("referenceSearchVisible",!1,_(0,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let B$=P$=class{static get(e){return e.getContribution(P$.ID)}constructor(e,t,n,i,o,s,r,l){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=i,this._notificationService=o,this._instantiationService=s,this._storageService=r,this._configurationService=l,this._disposables=new rt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=F$.bindTo(n)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(e=this._widget)||void 0===e||e.dispose(),null===(t=this._model)||void 0===t||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,n){let i;if(this._widget&&(i=this._widget.position),this.closeWidget(),i&&e.containsPosition(i))return;this._peekMode=n,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const o="peekViewLayout",s=T$.fromJSON(this._storageService.get(o,0,"{}"));this._widget=this._instantiationService.createInstance(R$,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(_(0,"Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose((()=>{t.cancel(),this._widget&&(this._storageService.store(o,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((e=>{const{element:t,kind:i}=e;if(t)switch(i){case"open":"editor"===e.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(t,!1,!1);break;case"side":this.openReference(t,!0,!1);break;case"goto":n?this._gotoReference(t,!0):this.openReference(t,!1,!0)}})));const r=++this._requestIdPool;t.then((t=>{var n;if(r===this._requestIdPool&&this._widget)return null===(n=this._model)||void 0===n||n.dispose(),this._model=t,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(_(0,"{0} ({1})",this._model.title,this._model.references.length));const t=this._editor.getModel().uri,n=new cd(e.startLineNumber,e.startColumn),i=this._model.nearestReference(t,n);if(i)return this._widget.setSelection(i).then((()=>{this._widget&&"editor"===this._editor.getOption(87)&&this._widget.focusOnPreviewEditor()}))}}));t.dispose()}),(e=>{this._notificationService.error(e)}))}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 n=this._model.nearestReference(this._editor.getModel().uri,t);if(!n)return;const i=this._model.nextOrPreviousReference(n,e),o=this._editor.hasTextFocus(),s=this._widget.isPreviewEditorFocused();await this._widget.setSelection(i),await this._gotoReference(i,!1),o?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()}async revealReference(e){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(e)}closeWidget(e=!0){var t,n;null===(t=this._widget)||void 0===t||t.dispose(),null===(n=this._model)||void 0===n||n.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;null===(n=this._widget)||void 0===n||n.hide(),this._ignoreModelChangeEvent=!0;const i=nc.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then((e=>{var t;if(this._ignoreModelChangeEvent=!1,e&&this._widget)if(this._editor===e)this._widget.show(i),this._widget.focusOnReferenceTree();else{const n=P$.get(e),o=this._model.clone();this.closeWidget(),e.focus(),null==n||n.toggleWidget(i,Pt((e=>Promise.resolve(o))),null!==(t=this._peekMode)&&void 0!==t&&t)}else this.closeWidget()}),(e=>{this._ignoreModelChangeEvent=!1,xe(e)}))}openReference(e,t,n){t||this.closeWidget();const{uri:i,range:o}=e;this._editorService.openCodeEditor({resource:i,options:{selection:o,selectionSource:"code.jump",pinned:n}},this._editor,t)}};function W$(e,t){const n=function(e){const t=e.get(ud).getFocusedCodeEditor();return t instanceof Jz?t.getParentEditor():t}(e);if(!n)return;const i=B$.get(n);i&&t(i)}B$.ID="editor.contrib.referencesController",B$=P$=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([O$(2,su),O$(3,ud),O$(4,nN),O$(5,ad),O$(6,KB),O$(7,pg)],B$),vu.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ye(2089,60),when:Bd.or(F$,BU.inPeekEditor),handler(e){W$(e,(e=>{e.changeFocusBetweenPreviewAndReferences()}))}}),vu.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Bd.or(F$,BU.inPeekEditor),handler(e){W$(e,(e=>{e.goToNextOrPreviousReference(!0)}))}}),vu.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Bd.or(F$,BU.inPeekEditor),handler(e){W$(e,(e=>{e.goToNextOrPreviousReference(!1)}))}}),Cd.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),Cd.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),Cd.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),Cd.registerCommand("closeReferenceSearch",(e=>W$(e,(e=>e.closeWidget())))),vu.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Bd.and(BU.inPeekEditor,Bd.not("config.editor.stablePeek"))}),vu.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Bd.and(F$,Bd.not("config.editor.stablePeek"),Bd.or(oc.editorTextFocus,Yj.negate()))}),vu.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Bd.and(F$,oq,uq.negate(),hq.negate()),handler(e){var t;const n=null===(t=e.get(Jj).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(n)&&n[0]instanceof t$&&W$(e,(e=>e.revealReference(n[0])))}}),vu.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Bd.and(F$,oq,uq.negate(),hq.negate()),handler(e){var t;const n=null===(t=e.get(Jj).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(n)&&n[0]instanceof t$&&W$(e,(e=>e.openReference(n[0],!0,!0)))}}),Cd.registerCommand("openReference",(e=>{var t;const n=null===(t=e.get(Jj).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(n)&&n[0]instanceof t$&&W$(e,(e=>e.openReference(n[0],!1,!0)))}));var V$=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},H$=function(e,t){return function(n,i){t(n,i,e)}};const z$=new ou("hasSymbols",!1,_(0,"Whether there are symbol locations that can be navigated via keyboard-only.")),U$=dd("ISymbolNavigationService");let K$=class{constructor(e,t,n,i){this._editorService=t,this._notificationService=n,this._keybindingService=i,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=z$.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),null===(e=this._currentState)||void 0===e||e.dispose(),null===(t=this._currentMessage)||void 0===t||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1)return void this.reset();this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const n=new j$(this._editorService),i=n.onDidChange((e=>{if(this._ignoreEditorChange)return;const n=this._editorService.getActiveCodeEditor();if(!n)return;const i=n.getModel(),o=n.getPosition();if(!i||!o)return;let s=!1,r=!1;for(const e of t.references)if(za(e.uri,i.uri))s=!0,r=r||nc.containsPosition(e.range,o);else if(s)break;s&&r||this.reset()}));this._currentState=ot(n,i)}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:nc.collapseToStart(t.range),selectionRevealType:3}},e).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){var e;null===(e=this._currentMessage)||void 0===e||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),n=t?_(0,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):_(0,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(n)}};K$=V$([H$(0,su),H$(1,ud),H$(2,nN),H$(3,zL)],K$),yg(U$,K$,1),qu(new class extends Hu{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:z$,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(U$).revealNext(t)}}),vu.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:z$,primary:9,handler(e){e.get(U$).reset()}});let j$=class{constructor(e){this._listener=new Map,this._disposables=new rt,this._onDidChange=new Ct,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(),it(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,ot(e.onDidChangeCursorPosition((t=>this._onDidChange.fire({editor:e}))),e.onDidChangeModelContent((t=>this._onDidChange.fire({editor:e})))))}_onDidRemoveEditor(e){var t;null===(t=this._listener.get(e))||void 0===t||t.dispose(),this._listener.delete(e)}};async function q$(e,t,n,i){const o=n.ordered(e).map((n=>Promise.resolve(i(n,e,t)).then(void 0,(e=>{ke(e)}))));return Oc((await Promise.all(o)).flat())}function $$(e,t,n,i){return q$(t,n,e,((e,t,n)=>e.provideDefinition(t,n,i)))}function G$(e,t,n,i){return q$(t,n,e,((e,t,n)=>e.provideDeclaration(t,n,i)))}function Z$(e,t,n,i){return q$(t,n,e,((e,t,n)=>e.provideImplementation(t,n,i)))}function Y$(e,t,n,i){return q$(t,n,e,((e,t,n)=>e.provideTypeDefinition(t,n,i)))}function X$(e,t,n,i,o){return q$(t,n,e,(async(e,t,n)=>{const s=await e.provideReferences(t,n,{includeDeclaration:!0},o);if(!i||!s||2!==s.length)return s;const r=await e.provideReferences(t,n,{includeDeclaration:!1},o);return r&&1===r.length?r:s}))}async function Q$(e){const t=await e(),n=new o$(t,""),i=n.references.map((e=>e.link));return n.dispose(),i}var J$,eG,tG,nG,iG,oG,sG,rG;j$=V$([H$(0,ud)],j$),ju("_executeDefinitionProvider",((e,t,n)=>{const i=$$(e.get(wx).definitionProvider,t,n,It.None);return Q$((()=>i))})),ju("_executeTypeDefinitionProvider",((e,t,n)=>{const i=Y$(e.get(wx).typeDefinitionProvider,t,n,It.None);return Q$((()=>i))})),ju("_executeDeclarationProvider",((e,t,n)=>{const i=G$(e.get(wx).declarationProvider,t,n,It.None);return Q$((()=>i))})),ju("_executeReferenceProvider",((e,t,n)=>{const i=X$(e.get(wx).referenceProvider,t,n,!1,It.None);return Q$((()=>i))})),ju("_executeImplementationProvider",((e,t,n)=>{const i=Z$(e.get(wx).implementationProvider,t,n,It.None);return Q$((()=>i))})),Lu.appendMenuItem(Su.EditorContext,{submenu:Su.EditorContextPeek,title:_(0,"Peek"),group:"navigation",order:100});class lG{static is(e){return!(!e||"object"!=typeof e)&&(e instanceof lG||!(!cd.isIPosition(e.position)||!e.model))}constructor(e,t){this.model=e,this.position=t}}class aG extends Ku{static all(){return aG._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const n of Ye.wrap(t.menu))n.id!==Su.EditorContext&&n.id!==Su.EditorContextPeek||(n.when=Bd.and(e.precondition,n.when));return t}constructor(e,t){super(aG._patchConfig(t)),this.configuration=e,aG._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,n,i){if(!t.hasModel())return Promise.resolve(void 0);const o=e.get(nN),s=e.get(ud),r=e.get(bL),l=e.get(U$),a=e.get(wx),d=e.get(ad),u=t.getModel(),c=t.getPosition(),h=lG.is(n)?n:new lG(u,c),g=new rk(t,5),p=Ot(this._getLocationModel(a,h.model,h.position,g.token),g.token).then((async e=>{var o;if(!e||g.token.isCancellationRequested)return;let r;if(Zr(e.ariaMessage),e.referenceAt(u.uri,c)){const e=this._getAlternativeCommand(t);!aG._activeAlternativeCommands.has(e)&&aG._allSymbolNavigationCommands.has(e)&&(r=aG._allSymbolNavigationCommands.get(e))}const a=e.references.length;if(0===a){if(!this.configuration.muteMessage){const e=u.getWordAtPosition(c);null===(o=pL.get(t))||void 0===o||o.showMessage(this._getNoResultFoundMessage(e),c)}}else{if(1!==a||!r)return this._onResult(s,l,t,e,i);aG._activeAlternativeCommands.add(this.desc.id),d.invokeFunction((e=>r.runEditorCommand(e,t,n,i).finally((()=>{aG._activeAlternativeCommands.delete(this.desc.id)}))))}}),(e=>{o.error(e)})).finally((()=>{g.dispose()}));return r.showWhile(p,250),p}async _onResult(e,t,n,i,o){const s=this._getGoToPreference(n);if(n instanceof Jz||!(this.configuration.openInPeek||"peek"===s&&i.references.length>1)){const r=i.firstReference(),l=i.references.length>1&&"gotoAndPeek"===s,a=await this._openReference(n,e,r,this.configuration.openToSide,!l);l&&a?this._openInPeek(a,i,o):i.dispose(),"goto"===s&&t.put(r)}else this._openInPeek(n,i,o)}async _openReference(e,t,n,i,o){let s;var r;if((r=n)&&Io.isUri(r.uri)&&nc.isIRange(r.range)&&(nc.isIRange(r.originSelectionRange)||nc.isIRange(r.targetSelectionRange))&&(s=n.targetSelectionRange),s||(s=n.range),!s)return;const l=await t.openCodeEditor({resource:n.uri,options:{selection:nc.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,i);if(l){if(o){const e=l.getModel(),t=l.createDecorationsCollection([{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{l.getModel()===e&&t.clear()}),350)}return l}}_openInPeek(e,t,n){const i=B$.get(e);i&&e.hasModel()?i.toggleWidget(null!=n?n:e.getSelection(),Pt((e=>Promise.resolve(t))),this.configuration.openInPeek):t.dispose()}}aG._allSymbolNavigationCommands=new Map,aG._activeAlternativeCommands=new Set;class dG extends aG{async _getLocationModel(e,t,n,i){return new o$(await $$(e.definitionProvider,t,n,i),_(0,"Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No definition found for '{0}'",e.word):_(0,"No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}Iu(((J$=class extends dG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:J$.id,title:{...v(0,"Go to Definition"),mnemonicTitle:_(0,"Go to &&Definition")},precondition:oc.hasDefinitionProvider,keybinding:[{when:oc.editorTextFocus,primary:70,weight:100},{when:Bd.and(oc.editorTextFocus,Gj),primary:2118,weight:100}],menu:[{id:Su.EditorContext,group:"navigation",order:1.1},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Cd.registerCommandAlias("editor.action.goToDeclaration",J$.id)}}).id="editor.action.revealDefinition",J$)),Iu(((eG=class extends dG{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:eG.id,title:v(0,"Open Definition to the Side"),precondition:Bd.and(oc.hasDefinitionProvider,oc.isInEmbeddedEditor.toNegated()),keybinding:[{when:oc.editorTextFocus,primary:ye(2089,70),weight:100},{when:Bd.and(oc.editorTextFocus,Gj),primary:ye(2089,2118),weight:100}]}),Cd.registerCommandAlias("editor.action.openDeclarationToTheSide",eG.id)}}).id="editor.action.revealDefinitionAside",eG)),Iu(((tG=class extends dG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:tG.id,title:v(0,"Peek Definition"),precondition:Bd.and(oc.hasDefinitionProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),keybinding:{when:oc.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Su.EditorContextPeek,group:"peek",order:2}}),Cd.registerCommandAlias("editor.action.previewDeclaration",tG.id)}}).id="editor.action.peekDefinition",tG));class uG extends aG{async _getLocationModel(e,t,n,i){return new o$(await G$(e.declarationProvider,t,n,i),_(0,"Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No declaration found for '{0}'",e.word):_(0,"No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}Iu(((nG=class extends uG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:nG.id,title:{...v(0,"Go to Declaration"),mnemonicTitle:_(0,"Go to &&Declaration")},precondition:Bd.and(oc.hasDeclarationProvider,oc.isInEmbeddedEditor.toNegated()),menu:[{id:Su.EditorContext,group:"navigation",order:1.3},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No declaration found for '{0}'",e.word):_(0,"No declaration found")}}).id="editor.action.revealDeclaration",nG)),Iu(class extends uG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:v(0,"Peek Declaration"),precondition:Bd.and(oc.hasDeclarationProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),menu:{id:Su.EditorContextPeek,group:"peek",order:3}})}});class cG extends aG{async _getLocationModel(e,t,n,i){return new o$(await Y$(e.typeDefinitionProvider,t,n,i),_(0,"Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No type definition found for '{0}'",e.word):_(0,"No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}Iu(((iG=class extends cG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:iG.ID,title:{...v(0,"Go to Type Definition"),mnemonicTitle:_(0,"Go to &&Type Definition")},precondition:oc.hasTypeDefinitionProvider,keybinding:{when:oc.editorTextFocus,primary:0,weight:100},menu:[{id:Su.EditorContext,group:"navigation",order:1.4},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}).ID="editor.action.goToTypeDefinition",iG)),Iu(((oG=class extends cG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:oG.ID,title:v(0,"Peek Type Definition"),precondition:Bd.and(oc.hasTypeDefinitionProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),menu:{id:Su.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",oG));class hG extends aG{async _getLocationModel(e,t,n,i){return new o$(await Z$(e.implementationProvider,t,n,i),_(0,"Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?_(0,"No implementation found for '{0}'",e.word):_(0,"No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}Iu(((sG=class extends hG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:sG.ID,title:{...v(0,"Go to Implementations"),mnemonicTitle:_(0,"Go to &&Implementations")},precondition:oc.hasImplementationProvider,keybinding:{when:oc.editorTextFocus,primary:2118,weight:100},menu:[{id:Su.EditorContext,group:"navigation",order:1.45},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}).ID="editor.action.goToImplementation",sG)),Iu(((rG=class extends hG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:rG.ID,title:v(0,"Peek Implementations"),precondition:Bd.and(oc.hasImplementationProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),keybinding:{when:oc.editorTextFocus,primary:3142,weight:100},menu:{id:Su.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",rG));class gG extends aG{_getNoResultFoundMessage(e){return e?_(0,"No references found for '{0}'",e.word):_(0,"No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Iu(class extends gG{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...v(0,"Go to References"),mnemonicTitle:_(0,"Go to &&References")},precondition:Bd.and(oc.hasReferenceProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),keybinding:{when:oc.editorTextFocus,primary:1094,weight:100},menu:[{id:Su.EditorContext,group:"navigation",order:1.45},{id:Su.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,n,i){return new o$(await X$(e.referenceProvider,t,n,!0,i),_(0,"References"))}}),Iu(class extends gG{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:v(0,"Peek References"),precondition:Bd.and(oc.hasReferenceProvider,BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated()),menu:{id:Su.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,n,i){return new o$(await X$(e.referenceProvider,t,n,!1,i),_(0,"References"))}});class pG extends aG{constructor(e,t,n){super(e,{id:"editor.action.goToLocation",title:v(0,"Go to Any Symbol"),precondition:Bd.and(BU.notInPeekEditor,oc.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=n}async _getLocationModel(e,t,n,i){return new o$(this._references,_(0,"Locations"))}_getNoResultFoundMessage(e){return e&&_(0,"No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return null!==(t=this._gotoMultipleBehaviour)&&void 0!==t?t:e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Cd.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:Io},{name:"position",description:"The position at which to start",constraint:cd.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(e,t,n,i,o,s,r)=>{fa(Io.isUri(t)),fa(cd.isIPosition(n)),fa(Array.isArray(i)),fa(void 0===o||"string"==typeof o),fa(void 0===r||"boolean"==typeof r);const l=e.get(ud),a=await l.openCodeEditor({resource:t},l.getFocusedCodeEditor());if(GU(a))return a.setPosition(n),a.revealPositionInCenterIfOutsideViewport(n,0),a.invokeWithinContext((e=>{const t=new class extends pG{_getNoResultFoundMessage(e){return s||super._getNoResultFoundMessage(e)}}({muteMessage:!Boolean(s),openInPeek:Boolean(r),openToSide:!1},i,o);e.get(ad).invokeFunction(t.run.bind(t),a)}))}}),Cd.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:Io},{name:"position",description:"The position at which to start",constraint:cd.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(e,t,n,i,o)=>{e.get(wd).executeCommand("editor.action.goToLocations",t,n,i,o,void 0,!0)}}),Cd.registerCommand({id:"editor.action.findReferences",handler:(e,t,n)=>{fa(Io.isUri(t)),fa(cd.isIPosition(n));const i=e.get(wx),o=e.get(ud);return o.openCodeEditor({resource:t},o.getFocusedCodeEditor()).then((e=>{if(!GU(e)||!e.hasModel())return;const t=B$.get(e);if(!t)return;const o=Pt((t=>X$(i.referenceProvider,e.getModel(),cd.lift(n),!1,t).then((e=>new o$(e,_(0,"References")))))),s=new nc(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(s,o,!1))}))}}),Cd.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var mG,fG=function(e,t){return function(n,i){t(n,i,e)}};let _G=mG=class{constructor(e,t,n,i){this.textModelResolverService=t,this.languageService=n,this.languageFeaturesService=i,this.toUnhook=new rt,this.toUnhookForKeyboard=new rt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const o=new Zz(e);this.toUnhook.add(o),this.toUnhook.add(o.onMouseMoveOrRelevantKeyDown((([e,t])=>{this.startFindDefinitionFromMouse(e,null!=t?t:void 0)}))),this.toUnhook.add(o.onExecute((e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch((e=>{xe(e)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(o.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(e){return e.getContribution(mG.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((e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())})))}startFindDefinitionFromMouse(e,t){if(9===e.target.type&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordAtPosition=null,void this.removeLinkDecorations();const n=e.target.position;this.startFindDefinition(n)}async startFindDefinition(e){var t;this.toUnhookForKeyboard.clear();const n=e?null===(t=this.editor.getModel())||void 0===t?void 0:t.getWordAtPosition(e):null;if(!n)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===n.startColumn&&this.currentWordAtPosition.endColumn===n.endColumn&&this.currentWordAtPosition.word===n.word)return;this.currentWordAtPosition=n;const i=new sk(this.editor,15);let o;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Pt((t=>this.findDefinition(e,t)));try{o=await this.previousPromise}catch(e){return void xe(e)}if(!o||!o.length||!i.validate(this.editor))return void this.removeLinkDecorations();const s=o[0].originSelectionRange?nc.lift(o[0].originSelectionRange):new nc(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn);if(o.length>1){let e=s;for(const{originSelectionRange:t}of o)t&&(e=nc.plusRange(e,t));this.addDecoration(e,(new ed).appendText(_(0,"Click to show {0} definitions.",o.length)))}else{const e=o[0];if(!e.uri)return;this.textModelResolverService.createModelReference(e.uri).then((t=>{if(!t.object||!t.object.textEditorModel)return void t.dispose();const{object:{textEditorModel:n}}=t,{startLineNumber:i}=e.range;if(i<1||i>n.getLineCount())return void t.dispose();const o=this.getPreviewValue(n,i,e),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(n.uri);this.addDecoration(s,o?(new ed).appendCodeblock(r||"",o):void 0),t.dispose()}))}}getPreviewValue(e,t,n){let i=n.range;return i.endLineNumber-i.startLineNumber>=mG.MAX_SOURCE_PREVIEW_LINES&&(i=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,i)}stripIndentationFromPreviewRange(e,t,n){let i=e.getLineFirstNonWhitespaceColumn(t);for(let o=t+1;o{const n=!t&&this.editor.getOption(88)&&!this.isInPeekEditor(e);return new dG({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e)}))}isInPeekEditor(e){const t=e.get(su);return BU.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};_G.ID="editor.contrib.gotodefinitionatposition",_G.MAX_SOURCE_PREVIEW_LINES=8,_G=mG=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([fG(1,gd),fG(2,Sh),fG(3,wx)],_G),Zu(_G.ID,_G,2);var vG=n(8694),bG={};bG.styleTagTransform=Vr(),bG.setAttributes=Or(),bG.insert=Rr().bind(null,"head"),bG.domAPI=Tr(),bG.insertStyleElement=Br(),Ir()(vG.A,bG),vG.A&&vG.A.locals&&vG.A.locals;const wG=mr;class CG extends lt{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new cE(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class yG extends lt{static render(e,t,n){return new yG(e,t,n)}constructor(e,t,n){super(),this.actionContainer=dr(e,wG("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=dr(this.actionContainer,wG("a.action")),this.action.setAttribute("role","button"),t.iconClass&&dr(this.action,wG(`span.icon.${t.iconClass}`)),dr(this.action,wG("span")).textContent=n?`${t.label} (${n})`:t.label,this._register(ms(this.actionContainer,or.CLICK,(e=>{e.stopPropagation(),e.preventDefault(),t.run(this.actionContainer)}))),this._register(ms(this.actionContainer,or.KEY_DOWN,(e=>{const n=new Ue(e);(n.equals(3)||n.equals(10))&&(e.stopPropagation(),e.preventDefault(),t.run(this.actionContainer))}))),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}function SG(e,t){return e&&t?_(0,"Inspect this in the accessible view with {0}.",t):e?_(0,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class xG{constructor(e,t,n){this.value=e,this.isComplete=t,this.hasLoadingMessage=n}}class kG extends lt{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Ct),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new jt((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new jt((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new jt((()=>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=function(e){const t=new Tt,n=e(t.token);return new Jt(t,(async e=>{const i=t.token.onCancellationRequested((()=>{i.dispose(),t.dispose(),e.reject(new Ee)}));try{for await(const i of n){if(t.token.isCancellationRequested)return;e.emitOne(i)}i.dispose(),t.dispose()}catch(n){i.dispose(),t.dispose(),e.reject(n)}}))}((e=>this._computer.computeAsync(e))),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(e){xe(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const e=0===this._state,t=4===this._state;this._onResult.fire(new xG(this._result.slice(0),e,t))}start(e){if(0===e)0===this._state&&(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()}}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 LG{constructor(e,t,n,i){this.priority=e,this.range=t,this.initialMousePosX=n,this.initialMousePosY=i,this.type=1}equals(e){return 1===e.type&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return 1===e.type&&t.lineNumber===this.range.startLineNumber}}class DG{constructor(e,t,n,i,o,s){this.priority=e,this.owner=t,this.range=n,this.initialMousePosX=i,this.initialMousePosY=o,this.supportsMarkerHover=s,this.type=2}equals(e){return 2===e.type&&this.owner===e.owner}canAdoptVisibleHover(e,t){return 2===e.type&&this.owner===e.owner}}const NG=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};class EG{constructor(){let e;this._onDidWillResize=new Ct,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Ct,this.onDidResize=this._onDidResize.event,this._sashListener=new rt,this._size=new Ds(0,0),this._minSize=new Ds(0,0),this._maxSize=new Ds(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new uU(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new uU(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new uU(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:nU.North}),this._southSash=new uU(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:nU.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let t=0,n=0;this._sashListener.add(ft.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===e&&(this._onDidWillResize.fire(),e=this._size,t=0,n=0)}))),this._sashListener.add(ft.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==e&&(e=void 0,t=0,n=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((i=>{e&&(n=i.currentX-i.startX,this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((i=>{e&&(n=-(i.currentX-i.startX),this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((i=>{e&&(t=-(i.currentY-i.startY),this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((i=>{e&&(t=i.currentY-i.startY,this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(ft.any(this._eastSash.onDidReset,this._westSash.onDidReset)((e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(ft.any(this._northSash.onDidReset,this._southSash.onDidReset)((e=>{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,n,i){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=n?3:0,this._westSash.state=i?3:0}layout(e=this.size.height,t=this.size.width){const{height:n,width:i}=this._minSize,{height:o,width:s}=this._maxSize;e=Math.max(n,Math.min(o,e)),t=Math.max(i,Math.min(s,t));const r=new Ds(t,e);Ds.equals(r,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=r,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}}class IG extends lt{constructor(e,t=new Ds(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new EG),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Ds.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((e=>{this._resize(new Ds(e.dimension.width,e.dimension.height)),e.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(null===(e=this._contentPosition)||void 0===e?void 0:e.position)?cd.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(t&&n)return Es(t).top+n.top-30}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(!t||!n)return;const i=Es(t),o=ks(t.ownerDocument.body),s=i.top+n.top+n.height;return o.height-s-24}_findPositionPreference(e,t){var n,i;const o=Math.min(null!==(n=this._availableVerticalSpaceBelow(t))&&void 0!==n?n:1/0,e),s=Math.min(null!==(i=this._availableVerticalSpaceAbove(t))&&void 0!==i?i:1/0,e),r=Math.min(Math.max(s,o),e),l=Math.min(e,r);let a;return a=this._editor.getOption(60).above?l<=s?1:2:l<=o?2:1,1===a?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 MG,TG,AG=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},RG=function(e,t){return function(n,i){t(n,i,e)}};const PG=mr;let OG=MG=class extends lt{constructor(e,t,n){super(),this._editor=e,this._instantiationService=t,this._keybindingService=n,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(VG,this._editor)),this._participants=[];for(const e of NG.getAll())this._participants.push(this._instantiationService.createInstance(e,this._editor));this._participants.sort(((e,t)=>e.hoverOrdinal-t.hoverOrdinal)),this._computer=new zG(this._editor,this._participants),this._hoverOperation=this._register(new kG(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{if(!this._computer.anchor)return;const t=e.hasLoadingMessage?this._addLoadingMessage(e.value):e.value;this._withResult(new FG(this._computer.anchor,t,e.isComplete))}))),this._register(_s(this._widget.getDomNode(),"keydown",(e=>{e.equals(9)&&this.hide()}))),this._register(IC.onDidChange((()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}_startShowingOrUpdateHover(e,t,n,i,o){return this._widget.position&&this._currentResult?this._editor.getOption(60).sticky&&o&&this._widget.isMouseGettingCloser(o.event.posx,o.event.posy)?(e&&this._startHoverOperationIfNecessary(e,t,n,i,!0),!0):e?!(!e||!this._currentResult.anchor.equals(e))||(e.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,n,i,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,n,i,!1),!0)):(this._setCurrentResult(null),!1):!!e&&(this._startHoverOperationIfNecessary(e,t,n,i,!1),!0)}_startHoverOperationIfNecessary(e,t,n,i,o){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=i,this._computer.source=n,this._computer.insistOnKeepingHoverVisible=o,this._hoverOperation.start(t))}_setCurrentResult(e){this._currentResult!==e&&(e&&0===e.messages.length&&(e=null),this._currentResult=e,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}_addLoadingMessage(e){if(this._computer.anchor)for(const t of this._participants)if(t.createLoadingMessage){const n=t.createLoadingMessage(this._computer.anchor);if(n)return e.slice(0).concat([n])}return e}_withResult(e){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!e.isComplete)return;if(this._computer.insistOnKeepingHoverVisible&&0===e.messages.length)return}this._setCurrentResult(e)}_renderMessages(e,t){const{showAtPosition:n,showAtSecondaryPosition:i,highlightRange:o}=MG.computeHoverRanges(this._editor,e.range,t),s=new rt,r=s.add(new HG(this._keybindingService)),l=document.createDocumentFragment();let a=null;const d={fragment:l,statusBar:r,setColorPicker:e=>a=e,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:e=>this._widget.setMinimumDimensions(e),hide:()=>this.hide()};for(const e of this._participants){const n=t.filter((t=>t.owner===e));n.length>0&&s.add(e.renderHoverParts(d,n))}const u=t.some((e=>e.isBeforeContent));if(r.hasContent&&l.appendChild(r.hoverElement),l.hasChildNodes()){if(o){const e=this._editor.createDecorationsCollection();e.set([{range:o,options:MG._DECORATION_OPTIONS}]),s.add(st((()=>{e.clear()})))}this._widget.showAt(l,new WG(e.initialMousePosX,e.initialMousePosY,a,n,i,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,u,s))}else s.dispose()}static computeHoverRanges(e,t,n){let i=1;if(e.hasModel()){const n=e._getViewModel(),o=n.coordinatesConverter,s=o.convertModelRangeToViewRange(t),r=new cd(s.startLineNumber,n.getLineMinColumn(s.startLineNumber));i=o.convertViewPositionToModelPosition(r).column}const o=t.startLineNumber;let s=t.startColumn,r=n[0].range,l=null;for(const e of n)r=nc.plusRange(r,e.range),e.range.startLineNumber===o&&e.range.endLineNumber===o&&(s=Math.max(Math.min(s,e.range.startColumn),i)),e.forceShowAtRange&&(l=e.range);return{showAtPosition:l?l.getStartPosition():new cd(o,t.startColumn),showAtSecondaryPosition:l?l.getStartPosition():new cd(o,s),highlightRange:r}}showsOrWillShow(e){if(this._widget.isResizing)return!0;const t=[];for(const n of this._participants)if(n.suggestHoverAnchor){const i=n.suggestHoverAnchor(e);i&&t.push(i)}const n=e.target;if(6===n.type&&t.push(new LG(0,n.range,e.event.posx,e.event.posy)),7===n.type){const i=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!n.detail.isAfterLines&&"number"==typeof n.detail.horizontalDistanceToText&&n.detail.horizontalDistanceToTextt.priority-e.priority)),this._startShowingOrUpdateHover(t[0],0,0,!1,e))}startShowingAtRange(e,t,n,i){this._startShowingOrUpdateHover(new LG(0,e,void 0,void 0),t,n,i,null)}containsNode(e){return!!e&&this._widget.getDomNode().contains(e)}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}get widget(){return this._widget}};OG._DECORATION_OPTIONS=My.register({description:"content-hover-highlight",className:"hoverHighlight"}),OG=MG=AG([RG(1,ad),RG(2,zL)],OG);class FG{constructor(e,t,n){this.anchor=e,this.messages=t,this.isComplete=n}filter(e){const t=this.messages.filter((t=>t.isValidForHoverAnchor(e)));return t.length===this.messages.length?this:new BG(this,this.anchor,t,this.isComplete)}}class BG extends FG{constructor(e,t,n,i){super(t,n,i),this.original=e}filter(e){return this.original.filter(e)}}class WG{constructor(e,t,n,i,o,s,r,l,a,d){this.initialMousePosX=e,this.initialMousePosY=t,this.colorPicker=n,this.showAtPosition=i,this.showAtSecondaryPosition=o,this.preferAbove=s,this.stoleFocus=r,this.source=l,this.isBeforeContent=a,this.disposables=d,this.closestMouseDistance=void 0}}let VG=TG=class extends IG{get isColorPickerVisible(){var e;return Boolean(null===(e=this._visibleData)||void 0===e?void 0:e.colorPicker)}get isVisibleFromKeyboard(){var e;return 1===(null===(e=this._visibleData)||void 0===e?void 0:e.source)}get isVisible(){var e;return null!==(e=this._hoverVisibleKey.get())&&void 0!==e&&e}get isFocused(){var e;return null!==(e=this._hoverFocusedKey.get())&&void 0!==e&&e}constructor(e,t,n,i,o){const s=e.getOption(67)+8,r=new Ds(150,s);super(e,r),this._configurationService=n,this._accessibilityService=i,this._keybindingService=o,this._hover=this._register(new CG),this._minimumSize=r,this._hoverVisibleKey=oc.hoverVisible.bindTo(t),this._hoverFocusedKey=oc.hoverFocused.bindTo(t),dr(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((e=>{e.hasChanged(50)&&this._updateFont()})));const l=this._register(ar(this._resizableNode.domNode));this._register(l.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(l.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),null===(e=this._visibleData)||void 0===e||e.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return TG.ID}static _applyDimensions(e,t,n){const i="number"==typeof t?`${t}px`:t,o="number"==typeof n?`${n}px`:n;e.style.width=i,e.style.height=o}_setContentsDomNodeDimensions(e,t){const n=this._hover.contentsDomNode;return TG._applyDimensions(n,e,t)}_setContainerDomNodeDimensions(e,t){const n=this._hover.containerDomNode;return TG._applyDimensions(n,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,n){const i="number"==typeof t?`${t}px`:t,o="number"==typeof n?`${n}px`:n;e.style.maxWidth=i,e.style.maxHeight=o}_setHoverWidgetMaxDimensions(e,t){TG._applyMaxDimensions(this._hover.contentsDomNode,e,t),TG._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof e?`${e}px`:e),this._layoutContentWidget()}_hasHorizontalScrollbar(){const e=this._hover.scrollbar.getScrollDimensions();return e.scrollWidth>e.width}_adjustContentsBottomPadding(){const e=this._hover.contentsDomNode,t=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;e.style.paddingBottom!==t&&(e.style.paddingBottom=t)}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,n=e.height;this._setHoverWidgetDimensions(t,n),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(t,n-10))}_updateResizableNodeMaxDimensions(){var e,t;const n=null!==(e=this._findMaximumRenderingWidth())&&void 0!==e?e:1/0,i=null!==(t=this._findMaximumRenderingHeight())&&void 0!==t?t:1/0;this._resizableNode.maxSize=new Ds(n,i),this._setHoverWidgetMaxDimensions(n,i)}_resize(e){var t,n;TG._lastDimensions=new Ds(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),null===(n=null===(t=this._visibleData)||void 0===t?void 0:t.colorPicker)||void 0===n||n.layout()}_findAvailableSpaceVertically(){var e;const t=null===(e=this._visibleData)||void 0===e?void 0:e.showAtPosition;if(t)return 1===this._positionPreference?this._availableVerticalSpaceAbove(t):this._availableVerticalSpaceBelow(t)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=6;return Array.from(this._hover.contentsDomNode.children).forEach((e=>{t+=e.clientHeight})),this._hasHorizontalScrollbar()&&(t+=10),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((e=>e.scrollWidth>e.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=void 0===this._contentWidth?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidththis._visibleData.closestMouseDistance+4||(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,i),0))}_setHoverData(e){var t;null===(t=this._visibleData)||void 0===t||t.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),n=this._hover.contentsDomNode;n.style.fontSize=`${e}px`,n.style.lineHeight=""+t/e,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_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,TG._lastDimensions.height),t=Math.max(.66*this._editor.getLayoutInfo().width,500,TG._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e,t){this._setHoverData(t),this._updateFont(),this._updateContent(e),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var e;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[null!==(e=this._positionPreference)&&void 0!==e?e:1]}:null}showAt(e,t){var n,i,o,s;if(!this._editor||!this._editor.hasModel())return;this._render(e,t);const r=Rs(this._hover.containerDomNode),l=t.showAtPosition;this._positionPreference=null!==(n=this._findPositionPreference(r,l))&&void 0!==n?n:1,this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),null===(i=t.colorPicker)||void 0===i||i.layout();const a=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&SG(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),null!==(s=null===(o=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===o?void 0:o.getAriaLabel())&&void 0!==s?s:"");a&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+a)}hide(){if(!this._visibleData)return;const e=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new Ds(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")}_adjustHoverHeightForScrollbar(e){var t;const n=this._hover.containerDomNode,i=this._hover.contentsDomNode,o=null!==(t=this._findMaximumRenderingHeight())&&void 0!==t?t:1/0;this._setContainerDomNodeDimensions(Ms(n),Math.min(o,e)),this._setContentsDomNodeDimensions(Ms(i),Math.min(o,e-10))}setMinimumDimensions(e){this._minimumSize=new Ds(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Ds(e,this._minimumSize.height)}onContentsChanged(){var e;this._removeConstraintsRenderNormally();const t=this._hover.containerDomNode;let n=Rs(t),i=Ms(t);if(this._resizableNode.layout(n,i),this._setHoverWidgetDimensions(i,n),n=Rs(t),i=Ms(t),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(n,i),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(n)),null===(e=this._visibleData)||void 0===e?void 0:e.showAtPosition){const e=Rs(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,this._visibleData.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-30})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+30})}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})}};VG.ID="editor.contrib.resizableContentHoverWidget",VG._lastDimensions=new Ds(0,0),VG=TG=AG([RG(1,su),RG(2,pg),RG(3,qS),RG(4,zL)],VG);let HG=class extends lt{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=PG("div.hover-row.status-bar"),this.actionsElement=dr(this.hoverElement,PG("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),n=t?t.getLabel():null;return this._hasContent=!0,this._register(yG.render(this.actionsElement,e,n))}append(e){const t=dr(this.actionsElement,e);return this._hasContent=!0,t}};HG=AG([RG(0,zL)],HG);class zG{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(1!==t.type&&!t.supportsMarkerHover)return[];const n=e.getModel(),i=t.range.startLineNumber;if(i>n.getLineCount())return[];const o=n.getLineMaxColumn(i);return e.getLineDecorations(i).filter((e=>{if(e.options.isWholeLine)return!0;const n=e.range.startLineNumber===i?e.range.startColumn:1,s=e.range.endLineNumber===i?e.range.endColumn:o;if(e.options.showIfCollapsed){if(n>t.range.startColumn+1||t.range.endColumn-1>s)return!1}else if(n>t.range.startColumn||t.range.endColumn>s)return!1;return!0}))}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return Qt.EMPTY;const n=zG._getLineDecorations(this._editor,t);return Qt.merge(this._participants.map((i=>i.computeAsync?i.computeAsync(t,n,e):Qt.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=zG._getLineDecorations(this._editor,this._anchor);let t=[];for(const n of this._participants)t=t.concat(n.computeSync(this._anchor,e));return Oc(t)}}function UG(e,t,n,i,o,s){const r=n+o/2,l=i+s/2,a=Math.max(Math.abs(e-r)-o/2,0),d=Math.max(Math.abs(t-l)-s/2,0);return Math.sqrt(a*a+d*d)}const KG=mr;class jG extends lt{constructor(e,t,n){super(),this._renderDisposeables=this._register(new rt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new CG),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new dL({editor:this._editor},t,n)),this._computer=new qG(this._editor),this._hoverOperation=this._register(new kG(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{this._withResult(e.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return jG.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}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 n=document.createDocumentFragment();for(const e of t){const t=KG("div.hover-row.markdown-hover"),i=dr(t,KG("div.hover-contents")),o=this._renderDisposeables.add(this._markdownRenderer.render(e.value));i.appendChild(o.element),n.appendChild(t)}this._updateContents(n),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(),n=this._editor.getTopForLineNumber(e),i=this._editor.getScrollTop(),o=this._editor.getOption(67),s=n-i-(this._hover.containerDomNode.clientHeight-o)/2,r=t.glyphMarginLeft+t.glyphMarginWidth+("lineNo"===this._computer.lane?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${r}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(s),0)}px`}}jG.ID="editor.contrib.modesGlyphHoverWidget";class qG{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=wc.Center}computeSync(){var e,t;const n=e=>({value:e}),i=this._editor.getLineDecorations(this._lineNumber),o=[],s="lineNo"===this._laneOrLine;if(!i)return o;for(const r of i){const i=null!==(t=null===(e=r.options.glyphMargin)||void 0===e?void 0:e.position)&&void 0!==t?t:wc.Center;if(!s&&i!==this._laneOrLine)continue;const l=s?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;l&&!td(l)&&o.push(...$c(l).map(n))}return o}}class $G{constructor(e,t,n){this.provider=e,this.hover=t,this.ordinal=n}}function GG(e,t,n,i){const o=e.ordered(t).map(((e,o)=>async function(e,t,n,i,o){try{const s=await Promise.resolve(e.provideHover(n,i,o));if(s&&function(e){const t=void 0!==e.range,n=void 0!==e.contents&&e.contents&&e.contents.length>0;return t&&n}(s))return new $G(e,s,t)}catch(e){ke(e)}}(e,o,t,n,i)));return Qt.fromPromises(o).coalesce()}ju("_executeHoverProvider",((e,t,n)=>function(e,t,n,i){return GG(e,t,n,i).map((e=>e.hover)).toPromise()}(e.get(wx).hoverProvider,t,n,It.None)));var ZG=function(e,t){return function(n,i){t(n,i,e)}};const YG=mr;class XG{constructor(e,t,n,i,o){this.owner=e,this.range=t,this.contents=n,this.isBeforeContent=i,this.ordinal=o}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let QG=class{constructor(e,t,n,i,o){this._editor=e,this._languageService=t,this._openerService=n,this._configurationService=i,this._languageFeaturesService=o,this.hoverOrdinal=3}createLoadingMessage(e){return new XG(this,e.range,[(new ed).appendText(_(0,"Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const n=this._editor.getModel(),i=e.range.startLineNumber,o=n.getLineMaxColumn(i),s=[];let r=1e3;const l=n.getLineLength(i),a=n.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),d=this._editor.getOption(117),u=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:a});let c=!1;d>=0&&l>d&&e.range.startColumn>=d&&(c=!0,s.push(new XG(this,e.range,[{value:_(0,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!c&&"number"==typeof u&&l>=u&&s.push(new XG(this,e.range,[{value:_(0,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let h=!1;for(const n of t){const t=n.range.startLineNumber===i?n.range.startColumn:1,l=n.range.endLineNumber===i?n.range.endColumn:o,a=n.options.hoverMessage;if(!a||td(a))continue;n.options.beforeContentClassName&&(h=!0);const d=new nc(e.range.startLineNumber,t,e.range.startLineNumber,l);s.push(new XG(this,d,$c(a),h,r++))}return s}computeAsync(e,t,n){if(!this._editor.hasModel()||1!==e.type)return Qt.EMPTY;const i=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(i))return Qt.EMPTY;const o=new cd(e.range.startLineNumber,e.range.startColumn);return GG(this._languageFeaturesService.hoverProvider,i,o,n).filter((e=>!td(e.hover.contents))).map((t=>{const n=t.hover.range?nc.lift(t.hover.range):e.range;return new XG(this,n,t.hover.contents,!1,t.ordinal)}))}renderHoverParts(e,t){return JG(e,t,this._editor,this._languageService,this._openerService)}};function JG(e,t,n,i,o){t.sort(((e,t)=>e.ordinal-t.ordinal));const s=new rt;for(const r of t)for(const t of r.contents){if(td(t))continue;const r=YG("div.hover-row.markdown-hover"),l=dr(r,YG("div.hover-contents")),a=s.add(new dL({editor:n},i,o));s.add(a.onDidRenderAsync((()=>{l.className="hover-contents code-hover-contents",e.onContentsChanged()})));const d=s.add(a.render(t));l.appendChild(d.element),e.fragment.appendChild(r)}return s}QG=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([ZG(1,Sh),ZG(2,rL),ZG(3,pg),ZG(4,wx)],QG);var eZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},tZ=function(e,t){return function(n,i){t(n,i,e)}};class nZ{constructor(e,t,n){this.marker=e,this.index=t,this.total=n}}let iZ=class{constructor(e,t,n){this._markerService=t,this._configService=n,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._dispoables=new rt,this._markers=[],this._nextIdx=-1,Io.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);const i=this._configService.getValue("problems.sortOrder"),o=(e,t)=>{let n=mi(e.resource.toString(),t.resource.toString());return 0===n&&(n="position"===i?nc.compareRangesUsingStarts(e,t)||qM.compare(e.severity,t.severity):qM.compare(e.severity,t.severity)||nc.compareRangesUsingStarts(e,t)),n},s=()=>{this._markers=this._markerService.read({resource:Io.isUri(e)?e:void 0,severities:qM.Error|qM.Warning|qM.Info}),"function"==typeof e&&(this._markers=this._markers.filter((e=>this._resourceFilter(e.resource)))),this._markers.sort(o)};s(),this._dispoables.add(t.onMarkerChanged((e=>{this._resourceFilter&&!e.some((e=>this._resourceFilter(e)))||(s(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e||!(!this._resourceFilter||!e)&&this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new nZ(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,n){let i=!1,o=this._markers.findIndex((t=>t.resource.toString()===e.uri.toString()));o<0&&(o=Mc(this._markers,{resource:e.uri},((e,t)=>mi(e.resource.toString(),t.resource.toString()))),o<0&&(o=~o));for(let n=o;nt.resource.toString()===e.toString()));if(!(n<0))for(;n{e.preventDefault();const t=this._relatedDiagnostics.get(e.target);t&&n(t)}))),this._scrollable=new dE(s,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((e=>{s.style.left=`-${e.scrollLeft}px`,s.style.top=`-${e.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){it(this._disposables)}update(e){const{source:t,message:n,relatedInformation:i,code:o}=e;let s=((null==t?void 0:t.length)||0)+2;o&&(s+="string"==typeof o?o.length:o.value.length);const r=ci(n);this._lines=r.length,this._longestLineLength=0;for(const e of r)this._longestLineLength=Math.max(e.length+s,this._longestLineLength);gs(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let l=this._messageBlock;for(const e of r)l=document.createElement("div"),l.innerText=e,""===e&&(l.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(l);if(t||o){const e=document.createElement("span");if(e.classList.add("details"),l.appendChild(e),t){const n=document.createElement("span");n.innerText=t,n.classList.add("source"),e.appendChild(n)}if(o)if("string"==typeof o){const t=document.createElement("span");t.innerText=`(${o})`,t.classList.add("code"),e.appendChild(t)}else this._codeLink=mr("a.code-link"),this._codeLink.setAttribute("href",`${o.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(o.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()},dr(this._codeLink,mr("span")).innerText=o.value,e.appendChild(this._codeLink)}if(gs(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Wc(i)){const e=this._relatedBlock.appendChild(document.createElement("div"));e.style.paddingTop=`${Math.floor(.66*this._editor.getOption(67))}px`,this._lines+=1;for(const t of i){const n=document.createElement("div"),i=document.createElement("a");i.classList.add("filename"),i.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,i.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(i,t);const o=document.createElement("span");o.innerText=t.message,n.appendChild(i),n.appendChild(o),this._lines+=1,e.appendChild(n)}}const a=this._editor.getOption(50),d=Math.ceil(a.typicalFullwidthCharacterWidth*this._longestLineLength*.75),u=a.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:d,scrollHeight:u})}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 qM.Error:t=_(0,"Error");break;case qM.Warning:t=_(0,"Warning");break;case qM.Info:t=_(0,"Info");break;case qM.Hint:t=_(0,"Hint")}let n=_(0,"{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const i=this._editor.getModel();return i&&e.startLineNumber<=i.getLineCount()&&e.startLineNumber>=1&&(n=`${i.getLineContent(e.startLineNumber)}, ${n}`),n}}let pZ=cZ=class extends HU{constructor(e,t,n,i,o,s,r){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},o),this._themeService=t,this._openerService=n,this._menuService=i,this._contextKeyService=s,this._labelService=r,this._callOnDispose=new rt,this._onDidSelectRelatedInformation=new Ct,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=qM.Warning,this._backgroundColor=lh.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(xZ);let t=vZ,n=bZ;this._severity===qM.Warning?(t=wZ,n=CZ):this._severity===qM.Info&&(t=yZ,n=SZ);const i=e.getColor(t),o=e.getColor(n);this.style({arrowColor:i,frameColor:i,headerBackgroundColor:o,primaryHeadingColor:e.getColor(UU),secondaryHeadingColor:e.getColor(KU)})}_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((e=>this.editor.focus())));const t=[],n=this._menuService.createMenu(cZ.TitleMenu,this._contextKeyService);NU(n,void 0,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0}),n.dispose()}_fillTitleIcon(e){this._icon=dr(e,mr(""))}_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 gZ(this._container,this.editor,(e=>this._onDidSelectRelatedInformation.fire(e)),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,n){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const i=nc.lift(e),o=this.editor.getPosition(),s=o&&i.containsPosition(o)?o:i.getStartPosition();super.show(s,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const e=_(0,n>1?"{0} of {1} problems":"{0} of {1} problem",t,n);this.setTitle(Ka(r.uri),e)}this._icon.className=`codicon ${aZ.className(qM.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(s,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()}};pZ.TitleMenu=new Su("gotoErrorTitleMenu"),pZ=cZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([hZ(1,Tv),hZ(2,rL),hZ(3,xu),hZ(4,ad),hZ(5,su),hZ(6,_$)],pZ);const mZ=Em(Jm,ef),fZ=Em(nf,of),_Z=Em(sf,rf),vZ=km("editorMarkerNavigationError.background",{dark:mZ,light:mZ,hcDark:Bm,hcLight:Bm},_(0,"Editor marker navigation widget error color.")),bZ=km("editorMarkerNavigationError.headerBackground",{dark:Nm(vZ,.1),light:Nm(vZ,.1),hcDark:null,hcLight:null},_(0,"Editor marker navigation widget error heading background.")),wZ=km("editorMarkerNavigationWarning.background",{dark:fZ,light:fZ,hcDark:Bm,hcLight:Bm},_(0,"Editor marker navigation widget warning color.")),CZ=km("editorMarkerNavigationWarning.headerBackground",{dark:Nm(wZ,.1),light:Nm(wZ,.1),hcDark:"#0C141F",hcLight:Nm(wZ,.2)},_(0,"Editor marker navigation widget warning heading background.")),yZ=km("editorMarkerNavigationInfo.background",{dark:_Z,light:_Z,hcDark:Bm,hcLight:Bm},_(0,"Editor marker navigation widget info color.")),SZ=km("editorMarkerNavigationInfo.headerBackground",{dark:Nm(yZ,.1),light:Nm(yZ,.1),hcDark:null,hcLight:null},_(0,"Editor marker navigation widget info heading background.")),xZ=km("editorMarkerNavigation.background",{dark:Gm,light:Gm,hcDark:Gm,hcLight:Gm},_(0,"Editor marker navigation widget background."));var kZ,LZ=function(e,t){return function(n,i){t(n,i,e)}};let DZ=kZ=class{static get(e){return e.getContribution(kZ.ID)}constructor(e,t,n,i,o){this._markerNavigationService=t,this._contextKeyService=n,this._editorService=i,this._instantiationService=o,this._sessionDispoables=new rt,this._editor=e,this._widgetVisible=MZ.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(pZ,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((e=>{var t,n,i;(null===(t=this._model)||void 0===t?void 0:t.selected)&&nc.containsPosition(null===(n=this._model)||void 0===n?void 0:n.selected.marker,e.position)||null===(i=this._model)||void 0===i||i.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:nc.lift(e).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 cd(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var n,i;if(this._editor.hasModel()){const o=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(o.move(e,this._editor.getModel(),this._editor.getPosition()),!o.selected)return;if(o.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const s=await this._editorService.openCodeEditor({resource:o.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:o.selected.marker}},this._editor);s&&(null===(n=kZ.get(s))||void 0===n||n.close(),null===(i=kZ.get(s))||void 0===i||i.nagivate(e,t))}else this._widget.showAtMarker(o.selected.marker,o.selected.index,o.selected.total)}}};DZ.ID="editor.contrib.markerController",DZ=kZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([LZ(1,oZ),LZ(2,su),LZ(3,ud),LZ(4,ad)],DZ);class NZ extends zu{constructor(e,t,n){super(n),this._next=e,this._multiFile=t}async run(e,t){var n;t.hasModel()&&(null===(n=DZ.get(t))||void 0===n||n.nagivate(this._next,this._multiFile))}}class EZ extends NZ{constructor(){super(!0,!1,{id:EZ.ID,label:EZ.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:578,weight:100},menuOpts:{menuId:pZ.TitleMenu,title:EZ.LABEL,icon:fz("marker-navigation-next",Sa.arrowDown,_(0,"Icon for goto next marker.")),group:"navigation",order:1}})}}EZ.ID="editor.action.marker.next",EZ.LABEL=_(0,"Go to Next Problem (Error, Warning, Info)");class IZ extends NZ{constructor(){super(!1,!1,{id:IZ.ID,label:IZ.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:1602,weight:100},menuOpts:{menuId:pZ.TitleMenu,title:IZ.LABEL,icon:fz("marker-navigation-previous",Sa.arrowUp,_(0,"Icon for goto previous marker.")),group:"navigation",order:2}})}}IZ.ID="editor.action.marker.prev",IZ.LABEL=_(0,"Go to Previous Problem (Error, Warning, Info)"),Zu(DZ.ID,DZ,4),$u(EZ),$u(IZ),$u(class extends NZ{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:_(0,"Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:66,weight:100},menuOpts:{menuId:Su.MenubarGoMenu,title:_(0,"Next &&Problem"),group:"6_problem_nav",order:1}})}}),$u(class extends NZ{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:_(0,"Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:1090,weight:100},menuOpts:{menuId:Su.MenubarGoMenu,title:_(0,"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const MZ=new ou("markersNavigationVisible",!1);qu(new(Hu.bindToContribution(DZ.get))({id:"closeMarkersNavigation",precondition:MZ,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:oc.focus,primary:9,secondary:[1033]}}));var TZ=function(e,t){return function(n,i){t(n,i,e)}};const AZ=mr;class RZ{constructor(e,t,n){this.owner=e,this.range=t,this.marker=n}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const PZ={type:1,filter:{include:iN.QuickFix},triggerAction:oN.QuickFixHover};let OZ=class{constructor(e,t,n,i){this._editor=e,this._markerDecorationsService=t,this._openerService=n,this._languageFeaturesService=i,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type&&!e.supportsMarkerHover)return[];const n=this._editor.getModel(),i=e.range.startLineNumber,o=n.getLineMaxColumn(i),s=[];for(const r of t){const t=r.range.startLineNumber===i?r.range.startColumn:1,l=r.range.endLineNumber===i?r.range.endColumn:o,a=this._markerDecorationsService.getMarker(n.uri,r);if(!a)continue;const d=new nc(e.range.startLineNumber,t,e.range.startLineNumber,l);s.push(new RZ(this,d,a))}return s}renderHoverParts(e,t){if(!t.length)return lt.None;const n=new rt;t.forEach((t=>e.fragment.appendChild(this.renderMarkerHover(t,n))));const i=1===t.length?t[0]:t.sort(((e,t)=>qM.compare(e.marker.severity,t.marker.severity)))[0];return this.renderMarkerStatusbar(e,i,n),n}renderMarkerHover(e,t){const n=AZ("div.hover-row"),i=dr(n,AZ("div.marker.hover-contents")),{source:o,message:s,code:r,relatedInformation:l}=e.marker;this._editor.applyFontInfo(i);const a=dr(i,AZ("span"));if(a.style.whiteSpace="pre-wrap",a.innerText=s,o||r)if(r&&"string"!=typeof r){const e=AZ("span");o&&(dr(e,AZ("span")).innerText=o);const n=dr(e,AZ("a.code-link"));n.setAttribute("href",r.target.toString()),t.add(ms(n,"click",(e=>{this._openerService.open(r.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()}))),dr(n,AZ("span")).innerText=r.value;const s=dr(i,e);s.style.opacity="0.6",s.style.paddingLeft="6px"}else{const e=dr(i,AZ("span"));e.style.opacity="0.6",e.style.paddingLeft="6px",e.innerText=o&&r?`${o}(${r})`:o||`(${r})`}if(Wc(l))for(const{message:e,resource:n,startLineNumber:o,startColumn:s}of l){const r=dr(i,AZ("div"));r.style.marginTop="8px";const l=dr(r,AZ("a"));l.innerText=`${Ka(n)}(${o}, ${s}): `,l.style.cursor="pointer",t.add(ms(l,"click",(e=>{e.stopPropagation(),e.preventDefault(),this._openerService&&this._openerService.open(n,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:o,startColumn:s}}}).catch(xe)})));const a=dr(r,AZ("span"));a.innerText=e,this._editor.applyFontInfo(a)}return n}renderMarkerStatusbar(e,t,n){if(t.marker.severity===qM.Error||t.marker.severity===qM.Warning||t.marker.severity===qM.Info){const n=DZ.get(this._editor);n&&e.statusBar.addAction({label:_(0,"View Problem"),commandId:EZ.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(91)){const i=e.statusBar.append(AZ("div"));this.recentMarkerCodeActionsInfo&&($M.makeKey(this.recentMarkerCodeActionsInfo.marker)===$M.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(i.textContent=_(0,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const o=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?lt.None:Ht((()=>i.textContent=_(0,"Checking for quick fixes...")),200,n);i.textContent||(i.textContent=String.fromCharCode(160));const s=this.getCodeActions(t.marker);n.add(st((()=>s.cancel()))),s.then((s=>{if(o.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:s.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return s.dispose(),void(i.textContent=_(0,"No quick fixes available"));i.style.display="none";let r=!1;n.add(st((()=>{r||s.dispose()}))),e.statusBar.addAction({label:_(0,"Quick Fix..."),commandId:dN,run:t=>{r=!0;const n=iT.get(this._editor),i=Es(t);e.hide(),null==n||n.showCodeActions(PZ,s,{x:i.left,y:i.top,width:i.width,height:i.height})}})}),xe)}}getCodeActions(e){return Pt((t=>_N(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new nc(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),PZ,vL.None,t)))}};OZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([TZ(1,lT),TZ(2,rL),TZ(3,wx)],OZ);var FZ=n(5415),BZ={};BZ.styleTagTransform=Vr(),BZ.setAttributes=Or(),BZ.insert=Rr().bind(null,"head"),BZ.domAPI=Tr(),BZ.insertStyleElement=Br(),Ir()(FZ.A,BZ),FZ.A&&FZ.A.locals&&FZ.A.locals;const WZ="editor.action.inlineSuggest.commit",VZ="editor.action.inlineSuggest.showPrevious",HZ="editor.action.inlineSuggest.showNext";var zZ=n(7982),UZ={};UZ.styleTagTransform=Vr(),UZ.setAttributes=Or(),UZ.insert=Rr().bind(null,"head"),UZ.domAPI=Tr(),UZ.insertStyleElement=Br(),Ir()(zZ.A,UZ),zZ.A&&zZ.A.locals&&zZ.A.locals;class KZ extends lt{constructor(e,t,n={orientation:0}){var i;super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new Lt),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new rt),n.hoverDelegate=null!==(i=n.hoverDelegate)&&void 0!==i?i:this._register(ML()),this.options=n,this.lookupKeybindings="function"==typeof this.options.getKeyBinding,this.toggleMenuAction=this._register(new jZ((()=>{var e;return null===(e=this.toggleMenuActionViewItem)||void 0===e?void 0:e.show()}),n.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new iM(this.element,{orientation:n.orientation,ariaLabel:n.ariaLabel,actionRunner:n.actionRunner,allowContextMenu:n.allowContextMenu,highlightToggledItems:n.highlightToggledItems,hoverDelegate:n.hoverDelegate,actionViewItemProvider:(e,i)=>{var o;if(e.id===jZ.ID)return this.toggleMenuActionViewItem=new SU(e,e.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:ka.asClassNameArray(null!==(o=n.moreIcon)&&void 0!==o?o:Sa.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(n.actionViewItemProvider){const t=n.actionViewItemProvider(e,i);if(t)return t}if(e instanceof _d){const n=new SU(e,e.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return n.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(n),this.disposables.add(this._onDidChangeDropdownVisibility.add(n.onDidChangeVisibility)),n}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const n=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),n.push(this.toggleMenuAction)),n.forEach((e=>{this.actionBar.push(e,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(e)})}))}getKeybindingLabel(e){var t,n,i;const o=this.lookupKeybindings?null===(n=(t=this.options).getKeyBinding)||void 0===n?void 0:n.call(t,e):void 0;return null!==(i=null==o?void 0:o.getLabel())&&void 0!==i?i:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class jZ extends pd{constructor(e,t){t=t||_(0,"More Actions..."),super(jZ.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}jZ.ID="toolbar.toggle.more";var qZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},$Z=function(e,t){return function(n,i){t(n,i,e)}};let GZ=class extends KZ{constructor(e,t,n,i,o,s,r){super(e,o,{getKeyBinding:e=>{var t;return null!==(t=s.lookupKeybinding(e.id))&&void 0!==t?t:void 0},...t,allowContextMenu:!0,skipTelemetry:"string"==typeof(null==t?void 0:t.telemetrySource)}),this._options=t,this._menuService=n,this._contextKeyService=i,this._contextMenuService=o,this._sessionDisposables=this._store.add(new rt);const l=null==t?void 0:t.telemetrySource;l&&this._store.add(this.actionBar.onDidRun((e=>r.publicLog2("workbenchActionExecuted",{id:e.action.id,from:l}))))}setActions(e,t=[],n){var i,o,s;this._sessionDisposables.clear();const r=e.slice(),l=t.slice(),a=[];let d=0;const u=[];let c=!1;if(-1!==(null===(i=this._options)||void 0===i?void 0:i.hiddenItemStrategy))for(let e=0;enull==e?void 0:e.id))),t=this._options.overflowBehavior.maxItems-e.size;let n=0;for(let i=0;i=t&&(r[i]=void 0,u[i]=o))}}Fc(r),Fc(u),super.setActions(r,fd.join(u,l)),a.length>0&&this._sessionDisposables.add(ms(this.getElement(),"contextmenu",(e=>{var t,i,o,s,r;const l=new $e(is(this.getElement()),e),u=this.getItemAction(l.target);if(!u)return;l.preventDefault(),l.stopPropagation();let h,g=!1;if(1===d&&0===(null===(t=this._options)||void 0===t?void 0:t.hiddenItemStrategy)){g=!0;for(let e=0;ethis._menuService.resetHiddenStates(n)}))),this._contextMenuService.showContextMenu({getAnchor:()=>l,getActions:()=>p,menuId:null===(o=this._options)||void 0===o?void 0:o.contextMenu,menuActionOptions:{renderShortTitle:!0,...null===(s=this._options)||void 0===s?void 0:s.menuOptions},skipTelemetry:"string"==typeof(null===(r=this._options)||void 0===r?void 0:r.telemetrySource),contextKeyService:this._contextKeyService})})))}};GZ=qZ([$Z(2,xu),$Z(3,su),$Z(4,HL),$Z(5,zL),$Z(6,Mu)],GZ);let ZZ=class extends GZ{constructor(e,t,n,i,o,s,r,l){super(e,{resetMenu:t,...n},i,o,s,r,l),this._onDidChangeMenuItems=this._store.add(new Ct),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const a=this._store.add(i.createMenu(t,o,{emitEventsForSubmenuChanges:!0})),d=()=>{var t,i,o;const s=[],r=[];NU(a,null==n?void 0:n.menuOptions,{primary:s,secondary:r},null===(t=null==n?void 0:n.toolbarOptions)||void 0===t?void 0:t.primaryGroup,null===(i=null==n?void 0:n.toolbarOptions)||void 0===i?void 0:i.shouldInlineSubmenu,null===(o=null==n?void 0:n.toolbarOptions)||void 0===o?void 0:o.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",0===s.length&&0===r.length),super.setActions(s,r)};this._store.add(a.onDidChange((()=>{d(),this._onDidChangeMenuItems.fire(this)}))),d()}setActions(){throw new Re("This toolbar is populated from a menu.")}};ZZ=qZ([$Z(3,xu),$Z(4,su),$Z(5,HL),$Z(6,zL),$Z(7,Mu)],ZZ);var YZ,XZ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},QZ=function(e,t){return function(n,i){t(n,i,e)}};let JZ=class extends lt{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=iI(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=jE(this,(e=>{var t,n,i;const o=null===(t=this.model.read(e))||void 0===t?void 0:t.primaryGhostText.read(e);if(!this.alwaysShowToolbar.read(e)||!o||0===o.parts.length)return this.sessionPosition=void 0,null;const s=o.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==o.lineNumber&&(this.sessionPosition=void 0);const r=new cd(o.lineNumber,Math.min(s,null!==(i=null===(n=this.sessionPosition)||void 0===n?void 0:n.column)&&void 0!==i?i:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(JE(((t,n)=>{const i=this.model.read(t);if(!i||!this.alwaysShowToolbar.read(t))return;const o=n.add(this.instantiationService.createInstance(nY,this.editor,!0,this.position,i.selectedInlineCompletionIndex,i.inlineCompletionsCount,i.selectedInlineCompletion.map((e=>{var t;return null!==(t=null==e?void 0:e.inlineCompletion.source.inlineCompletions.commands)&&void 0!==t?t:[]}))));e.addContentWidget(o),n.add(st((()=>e.removeContentWidget(o)))),n.add(YE((e=>{this.position.read(e)&&i.lastTriggerKind.read(e)!==vC.Explicit&&i.triggerExplicitly()})))})))}};JZ=XZ([QZ(2,ad)],JZ);const eY=fz("inline-suggestion-hints-next",Sa.chevronRight,_(0,"Icon for show next parameter hint.")),tY=fz("inline-suggestion-hints-previous",Sa.chevronLeft,_(0,"Icon for show previous parameter hint."));let nY=YZ=class extends lt{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,n){const i=new pd(e,t,n,!0,(()=>this._commandService.executeCommand(e))),o=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let s=t;return o&&(s=_(0,"{0} ({1})",t,o.getLabel())),i.tooltip=s,i}constructor(e,t,n,i,o,s,r,l,a,d,u){super(),this.editor=e,this.withBorder=t,this._position=n,this._currentSuggestionIdx=i,this._suggestionCount=o,this._extraCommands=s,this._commandService=r,this.keybindingService=a,this._contextKeyService=d,this._menuService=u,this.id="InlineSuggestionHintsContentWidget"+YZ.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Dr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Dr("div@toolBar")]),this.previousAction=this.createCommandAction(VZ,_(0,"Previous"),ka.asClassName(tY)),this.availableSuggestionCountAction=new pd("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(HZ,_(0,"Next"),ka.asClassName(eY)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Su.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new jt((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new jt((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.lastCommands=[],this.toolBar=this._register(l.createInstance(sY,this.nodes.toolBar,Su.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof Nu)return l.createInstance(oY,e,void 0);if(e===this.availableSuggestionCountAction){const t=new iY(void 0,e,{label:!0,icon:!1});return t.setClass("availableSuggestionCount"),t}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{YZ._dropDownVisible=e}))),this._register(YE((e=>{this._position.read(e),this.editor.layoutContentWidget(this)}))),this._register(YE((e=>{const t=this._suggestionCount.read(e),n=this._currentSuggestionIdx.read(e);void 0!==t?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${n+1}/${t}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==t&&t>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register(YE((e=>{const t=this._extraCommands.read(e);if(Ic(this.lastCommands,t))return;this.lastCommands=t;const n=t.map((e=>({class:void 0,id:e.id,enabled:!0,tooltip:e.tooltip||"",label:e.title,run:t=>this._commandService.executeCommand(e.id)})));for(const[e,t]of this.inlineCompletionsActionsMenus.getActions())for(const e of t)e instanceof Nu&&n.push(e);n.length>0&&n.unshift(new fd),this.toolBar.setAdditionalSecondaryActions(n)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};nY._dropDownVisible=!1,nY.id=0,nY=YZ=XZ([QZ(6,wd),QZ(7,ad),QZ(8,zL),QZ(9,su),QZ(10,xu)],nY);class iY extends tM{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(){}}class oY extends IU{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Dr("div.keybinding").root;this._register(new fM(t,ee,{disableTitle:!0,...mM})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}}let sY=class extends GZ{constructor(e,t,n,i,o,s,r,l){super(e,{resetMenu:t,...n},i,o,s,r,l),this.menuId=t,this.options2=n,this.menuService=i,this.contextKeyService=o,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 e,t,n,i,o,s,r;const l=[],a=[];NU(this.menu,null===(e=this.options2)||void 0===e?void 0:e.menuOptions,{primary:l,secondary:a},null===(n=null===(t=this.options2)||void 0===t?void 0:t.toolbarOptions)||void 0===n?void 0:n.primaryGroup,null===(o=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===o?void 0:o.shouldInlineSubmenu,null===(r=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),a.push(...this.additionalActions),l.unshift(...this.prependedPrimaryActions),this.setActions(l,a)}setPrependedPrimaryActions(e){Ic(this.prependedPrimaryActions,e,((e,t)=>e===t))||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ic(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};sY=XZ([QZ(3,xu),QZ(4,su),QZ(5,HL),QZ(6,zL),QZ(7,Mu)],sY);var rY=n(245),lY={};lY.styleTagTransform=Vr(),lY.setAttributes=Or(),lY.insert=Rr().bind(null,"head"),lY.domAPI=Tr(),lY.insertStyleElement=Br(),Ir()(rY.A,lY),rY.A&&rY.A.locals&&rY.A.locals;var aY,dY=function(e,t){return function(n,i){t(n,i,e)}};let uY=aY=class extends lt{constructor(e,t,n,i,o){super(),this._editor=e,this._instantiationService=t,this._openerService=n,this._languageService=i,this._keybindingService=o,this._listenersStore=new rt,this._hoverState={mouseDown:!1,contentHoverFocused:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new jt((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())})))}static get(e){return e.getContribution(aY.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.delay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown((e=>this._onEditorMouseDown(e)))),this._listenersStore.add(this._editor.onMouseUp((()=>this._onEditorMouseUp()))),this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))):(this._listenersStore.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._listenersStore.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))),this._listenersStore.add(this._editor.onMouseLeave((e=>this._onEditorMouseLeave(e)))),this._listenersStore.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._listenersStore.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._listenersStore.add(this._editor.onDidScrollChange((e=>this._onEditorScrollChanged(e))))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){var t;this._hoverState.mouseDown=!0;const n=e.target;9!==n.type||n.detail!==VG.ID?12===n.type&&n.detail===jG.ID||(12!==n.type&&(this._hoverState.contentHoverFocused=!1),(null===(t=this._contentWidget)||void 0===t?void 0:t.widget.isResizing)||this._hideWidgets()):this._hoverState.contentHoverFocused=!0}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){var t,n;this._cancelScheduler();const i=e.event.browserEvent.relatedTarget;(null===(t=this._contentWidget)||void 0===t?void 0:t.widget.isResizing)||(null===(n=this._contentWidget)||void 0===n?void 0:n.containsNode(i))||this._hideWidgets()}_isMouseOverWidget(e){var t,n,i,o,s;const r=e.target,l=this._hoverSettings.sticky;return!((!l||9!==r.type||r.detail!==VG.ID)&&(!l||!(null===(t=this._contentWidget)||void 0===t?void 0:t.containsNode(null===(n=e.event.browserEvent.view)||void 0===n?void 0:n.document.activeElement))||(null===(o=null===(i=e.event.browserEvent.view)||void 0===i?void 0:i.getSelection())||void 0===o?void 0:o.isCollapsed))&&(l||9!==r.type||r.detail!==VG.ID||!(null===(s=this._contentWidget)||void 0===s?void 0:s.isColorPickerVisible))&&(!l||12!==r.type||r.detail!==jG.ID))}_onEditorMouseMove(e){var t,n,i,o;if(this._mouseMoveEvent=e,(null===(t=this._contentWidget)||void 0===t?void 0:t.isFocused)||(null===(n=this._contentWidget)||void 0===n?void 0:n.isResizing))return;if(this._hoverState.mouseDown&&this._hoverState.contentHoverFocused)return;const s=this._hoverSettings.sticky;if(s&&(null===(i=this._contentWidget)||void 0===i?void 0:i.isVisibleFromKeyboard))return;if(this._isMouseOverWidget(e))return void this._reactToEditorMouseMoveRunner.cancel();const r=this._hoverSettings.hidingDelay;(null===(o=this._contentWidget)||void 0===o?void 0:o.isVisible)&&s&&r>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(r):this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var t,n,i,o;if(!e)return;const s=e.target,r=null===(t=s.element)||void 0===t?void 0:t.classList.contains("colorpicker-color-decoration"),l=this._editor.getOption(148),a=this._hoverSettings.enabled,d=this._hoverState.activatedByDecoratorClick;r&&("click"===l&&!d||"hover"===l&&!a||"clickAndHover"===l&&!a&&!d)||!(r||a||d)?this._hideWidgets():this._getOrCreateContentWidget().showsOrWillShow(e)?null===(n=this._glyphWidget)||void 0===n||n.hide():2===s.type&&s.position&&s.detail.glyphMarginLane?(null===(i=this._contentWidget)||void 0===i||i.hide(),this._getOrCreateGlyphWidget().startShowingAt(s.position.lineNumber,s.detail.glyphMarginLane)):3===s.type&&s.position?(null===(o=this._contentWidget)||void 0===o||o.hide(),this._getOrCreateGlyphWidget().startShowingAt(s.position.lineNumber,"lineNo")):this._hideWidgets()}_onKeyDown(e){var t;if(!this._editor.hasModel())return;const n=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=1===n.kind||2===n.kind&&"editor.action.showHover"===n.commandId&&(null===(t=this._contentWidget)||void 0===t?void 0:t.isVisible);5===e.keyCode||6===e.keyCode||57===e.keyCode||4===e.keyCode||i||this._hideWidgets()}_hideWidgets(){var e,t,n;this._hoverState.mouseDown&&this._hoverState.contentHoverFocused&&(null===(e=this._contentWidget)||void 0===e?void 0:e.isColorPickerVisible)||nY.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._hoverState.contentHoverFocused=!1,null===(t=this._glyphWidget)||void 0===t||t.hide(),null===(n=this._contentWidget)||void 0===n||n.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(OG,this._editor)),this._contentWidget}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=new jG(this._editor,this._languageService,this._openerService)),this._glyphWidget}showContentHover(e,t,n,i,o=!1){this._hoverState.activatedByDecoratorClick=o,this._getOrCreateContentWidget().startShowingAtRange(e,t,n,i)}focus(){var e;null===(e=this._contentWidget)||void 0===e||e.focus()}scrollUp(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollUp()}scrollDown(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollDown()}scrollLeft(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollLeft()}scrollRight(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollRight()}pageUp(){var e;null===(e=this._contentWidget)||void 0===e||e.pageUp()}pageDown(){var e;null===(e=this._contentWidget)||void 0===e||e.pageDown()}goToTop(){var e;null===(e=this._contentWidget)||void 0===e||e.goToTop()}goToBottom(){var e;null===(e=this._contentWidget)||void 0===e||e.goToBottom()}get isColorPickerVisible(){var e;return null===(e=this._contentWidget)||void 0===e?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return null===(e=this._contentWidget)||void 0===e?void 0:e.isVisible}dispose(){var e,t;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),null===(e=this._glyphWidget)||void 0===e||e.dispose(),null===(t=this._contentWidget)||void 0===t||t.dispose()}};var cY;uY.ID="editor.contrib.hover",uY=aY=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([dY(1,ad),dY(2,rL),dY(3,Sh),dY(4,zL)],uY),function(e){e.NoAutoFocus="noAutoFocus",e.FocusIfVisible="focusIfVisible",e.AutoFocusImmediately="autoFocusImmediately"}(cY||(cY={})),Zu(uY.ID,uY,2),$u(class extends zu{constructor(){super({id:"editor.action.showHover",label:_(0,"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",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:[cY.NoAutoFocus,cY.FocusIfVisible,cY.AutoFocusImmediately],enumDescriptions:[_(0,"The hover will not automatically take focus."),_(0,"The hover will take focus only if it is already visible."),_(0,"The hover will automatically take focus when it appears.")],default:cY.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2087),weight:100}})}run(e,t,n){if(!t.hasModel())return;const i=uY.get(t);if(!i)return;const o=null==n?void 0:n.focus;let s=cY.FocusIfVisible;Object.values(cY).includes(o)?s=o:"boolean"==typeof o&&o&&(s=cY.AutoFocusImmediately);const r=e=>{const n=t.getPosition(),o=new nc(n.lineNumber,n.column,n.lineNumber,n.column);i.showContentHover(o,1,1,e)},l=2===t.getOption(2);i.isHoverVisible?s!==cY.NoAutoFocus?i.focus():r(l):r(l||s===cY.AutoFocusImmediately)}}),$u(class extends zu{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:_(0,"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(e,t){const n=uY.get(t);if(!n)return;const i=t.getPosition();if(!i)return;const o=new nc(i.lineNumber,i.column,i.lineNumber,i.column),s=_G.get(t);s&&s.startFindDefinitionFromCursor(i).then((()=>{n.showContentHover(o,1,1,!0)}))}}),$u(class extends zu{constructor(){super({id:"editor.action.scrollUpHover",label:_(0,"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:16,weight:100}})}run(e,t){const n=uY.get(t);n&&n.scrollUp()}}),$u(class extends zu{constructor(){super({id:"editor.action.scrollDownHover",label:_(0,"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:18,weight:100}})}run(e,t){const n=uY.get(t);n&&n.scrollDown()}}),$u(class extends zu{constructor(){super({id:"editor.action.scrollLeftHover",label:_(0,"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:15,weight:100}})}run(e,t){const n=uY.get(t);n&&n.scrollLeft()}}),$u(class extends zu{constructor(){super({id:"editor.action.scrollRightHover",label:_(0,"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:17,weight:100}})}run(e,t){const n=uY.get(t);n&&n.scrollRight()}}),$u(class extends zu{constructor(){super({id:"editor.action.pageUpHover",label:_(0,"Page Up Hover"),alias:"Page Up Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:11,secondary:[528],weight:100}})}run(e,t){const n=uY.get(t);n&&n.pageUp()}}),$u(class extends zu{constructor(){super({id:"editor.action.pageDownHover",label:_(0,"Page Down Hover"),alias:"Page Down Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:12,secondary:[530],weight:100}})}run(e,t){const n=uY.get(t);n&&n.pageDown()}}),$u(class extends zu{constructor(){super({id:"editor.action.goToTopHover",label:_(0,"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(e,t){const n=uY.get(t);n&&n.goToTop()}}),$u(class extends zu{constructor(){super({id:"editor.action.goToBottomHover",label:_(0,"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:oc.hoverFocused,kbOpts:{kbExpr:oc.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(e,t){const n=uY.get(t);n&&n.goToBottom()}}),NG.register(QG),NG.register(OZ),Fv(((e,t)=>{const n=e.getColor(_f);n&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${n.transparent(.5)}; }`))}));class hY extends lt{constructor(e){super(),this._editor=e,this._register(e.onMouseDown((e=>this.onMouseDown(e))))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(148);if("click"!==t&&"clickAndHover"!==t)return;const n=e.target;if(6!==n.type)return;if(!n.detail.injectedText)return;if(n.detail.injectedText.options.attachedData!==lz)return;if(!n.range)return;const i=this._editor.getContribution(uY.ID);if(i&&!i.isColorPickerVisible){const e=new nc(n.range.startLineNumber,n.range.startColumn+1,n.range.endLineNumber,n.range.endColumn+1);i.showContentHover(e,1,0,!1,!0)}}}hY.ID="editor.contrib.colorContribution",Zu(hY.ID,hY,2),NG.register(Pz);var gY,pY,mY=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},fY=function(e,t){return function(n,i){t(n,i,e)}};let _Y=gY=class extends lt{constructor(e,t,n,i,o,s,r){super(),this._editor=e,this._modelService=n,this._keybindingService=i,this._instantiationService=o,this._languageFeatureService=s,this._languageConfigurationService=r,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=oc.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=oc.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||null===(e=this._standaloneColorPickerWidget)||void 0===e||e.focus():this._standaloneColorPickerWidget=new vY(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),null===(e=this._standaloneColorPickerWidget)||void 0===e||e.hide(),this._editor.focus()}insertColor(){var e;null===(e=this._standaloneColorPickerWidget)||void 0===e||e.updateEditor(),this.hide()}static get(e){return e.getContribution(gY.ID)}};_Y.ID="editor.contrib.standaloneColorPickerController",_Y=gY=mY([fY(1,su),fY(2,hd),fY(3,zL),fY(4,ad),fY(5,wx),fY(6,Qg)],_Y),Zu(_Y.ID,_Y,1);let vY=pY=class extends lt{constructor(e,t,n,i,o,s,r,l){var a;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=n,this._modelService=o,this._keybindingService=s,this._languageFeaturesService=r,this._languageConfigurationService=l,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new Ct),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=i.createInstance(Fz,this._editor),this._position=null===(a=this._editor._getViewModel())||void 0===a?void 0:a.getPrimaryCursorState().modelState.position;const d=this._editor.getSelection(),u=d?{startLineNumber:d.startLineNumber,startColumn:d.startColumn,endLineNumber:d.endLineNumber,endColumn:d.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},c=this._register(ar(this._body));this._register(c.onDidBlur((e=>{this.hide()}))),this._register(c.onDidFocus((e=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((e=>{var t;const n=null===(t=e.target.element)||void 0===t?void 0:t.classList;n&&n.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((e=>{this._render(e.value,e.foundInEditor)}))),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return pY.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 bY(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}},n=await this._standaloneColorPickerParticipant.createColorHover(t,new YH(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return n?{result:n.colorHover,foundInEditor:n.foundInEditor}:null}_render(e,t){const n=document.createDocumentFragment();let i;const o={fragment:n,statusBar:this._register(new HG(this._keybindingService)),setColorPicker:e=>i=e,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=e,this._register(this._standaloneColorPickerParticipant.renderHoverParts(o,[e])),void 0===i)return;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(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(n),i.layout();const s=i.body,r=s.saturationBox.domNode.clientWidth,l=s.domNode.clientWidth-r-22-8,a=i.body.enterButton;null==a||a.onClicked((()=>{this.updateEditor(),this.hide()}));const d=i.header;d.pickedColorNode.style.width=r+8+"px",d.originalColorNode.style.width=l+"px";const u=i.header.closeButton;null==u||u.onClicked((()=>{this.hide()})),t&&(a&&(a.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};vY.ID="editor.contrib.standaloneColorPickerWidget",vY=pY=mY([fY(3,ad),fY(4,hd),fY(5,zL),fY(6,wx),fY(7,Qg)],vY);class bY{constructor(e,t){this.value=e,this.foundInEditor=t}}$u(class extends zu{constructor(){super({id:"editor.action.hideColorPicker",label:_(0,"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:oc.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(e,t){var n;null===(n=_Y.get(t))||void 0===n||n.hide()}}),$u(class extends zu{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:_(0,"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:oc.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(e,t){var n;null===(n=_Y.get(t))||void 0===n||n.insertColor()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...v(0,"Show or Focus Standalone Color Picker"),mnemonicTitle:_(0,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:Su.CommandPalette}]})}runEditorCommand(e,t){var n;null===(n=_Y.get(t))||void 0===n||n.showOrFocus()}});class wY{static insert(e,t){return{range:new nc(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}class CY{constructor(e,t,n){this.languageConfigurationService=n,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,n){if(n<0)return!1;const i=t.length;if(n+i>e.length)return!1;for(let o=0;o=65&&i<=90&&i+32===s||s>=65&&s<=90&&s+32===i))return!1}return!0}_createOperationsForBlockComment(e,t,n,i,o,s){const r=e.startLineNumber,l=e.startColumn,a=e.endLineNumber,d=e.endColumn,u=o.getLineContent(r),c=o.getLineContent(a);let h,g=u.lastIndexOf(t,l-1+t.length),p=c.indexOf(n,d-1-n.length);if(-1!==g&&-1!==p)if(r===a)u.substring(g+t.length,p).indexOf(n)>=0&&(g=-1,p=-1);else{const e=u.substring(g+t.length),i=c.substring(0,p);(e.indexOf(n)>=0||i.indexOf(n)>=0)&&(g=-1,p=-1)}-1!==g&&-1!==p?(i&&g+t.length0&&32===c.charCodeAt(p-1)&&(n=" "+n,p-=1),h=CY._createRemoveBlockCommentOperations(new nc(r,g+t.length+1,a,p+1),t,n)):(h=CY._createAddBlockCommentOperations(e,t,n,this._insertSpace),this._usedEndToken=1===h.length?n:null);for(const e of h)s.addTrackedEditOperation(e.range,e.text)}static _createRemoveBlockCommentOperations(e,t,n){const i=[];return nc.isEmpty(e)?i.push(wY.delete(new nc(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+n.length))):(i.push(wY.delete(new nc(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),i.push(wY.delete(new nc(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+n.length)))),i}static _createAddBlockCommentOperations(e,t,n,i){const o=[];return nc.isEmpty(e)?o.push(wY.replace(new nc(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+n)):(o.push(wY.insert(new cd(e.startLineNumber,e.startColumn),t+(i?" ":""))),o.push(wY.insert(new cd(e.endLineNumber,e.endColumn),(i?" ":"")+n))),o}getEditOperations(e,t){const n=this._selection.startLineNumber,i=this._selection.startColumn;e.tokenization.tokenizeIfCheap(n);const o=e.getLanguageIdAtPosition(n,i),s=this.languageConfigurationService.getLanguageConfiguration(o).comments;s&&s.blockCommentStartToken&&s.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const n=t.getInverseEditOperations();if(2===n.length){const e=n[0],t=n[1];return new ic(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{const e=n[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new ic(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}}class yY{constructor(e,t,n,i,o,s,r){this.languageConfigurationService=e,this._selection=t,this._indentSize=n,this._type=i,this._insertSpace=o,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(e,t,n,i){e.tokenization.tokenizeIfCheap(t);const o=e.getLanguageIdAtPosition(t,1),s=i.getLanguageConfiguration(o).comments,r=s?s.lineCommentToken:null;if(!r)return null;const l=[];for(let e=0,i=n-t+1;er?o-1:o}}}class SY extends zu{constructor(e,t){super(t),this._type=e}run(e,t){const n=e.get(Qg);if(!t.hasModel())return;const i=[],o=t.getModel().getOptions(),s=t.getOption(23),r=t.getSelections().map(((e,t)=>({selection:e,index:t,ignoreFirstLine:!1})));r.sort(((e,t)=>nc.compareRangesUsingStarts(e.selection,t.selection)));let l=r[0];for(let e=1;ethis._onContextMenu(e)))),this._toDispose.add(this._editor.onMouseWheel((e=>{if(this._contextMenuIsBeingShownCount>0){const t=this._contextViewService.getContextViewElement(),n=e.srcElement;n.shadowRoot&&Ws(t)===n.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((e=>{this._editor.getOption(24)&&58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())})))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(12===e.target.type)return;if(6===e.target.type&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),11===e.target.type)return this._showScrollbarContextMenu(e.event);if(6!==e.target.type&&7!==e.target.type&&1!==e.target.type)return;if(this._editor.focus(),e.target.position){let t=!1;for(const n of this._editor.getSelections())if(n.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;1!==e.target.type&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Su.SimpleEditorContext:Su.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const n=[],i=this._menuService.createMenu(t,this._contextKeyService),o=i.getActions({arg:e.uri});i.dispose();for(const t of o){const[,i]=t;let o=0;for(const t of i)if(t instanceof Du){const i=this._getMenuActions(e,t.item.submenu);i.length>0&&(n.push(new _d(t.id,t.label,i)),o++)}else n.push(t),o++;o&&n.push(new fd)}return n.length&&n.pop(),n}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const n=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let i=t;if(!i){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),t=Es(this._editor.getDomNode()),n=t.left+e.left,o=t.top+e.top+e.height;i={x:n,y:o}}const o=this._editor.getOption(127)&&!G;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:o?this._editor.getDomNode():void 0,getAnchor:()=>i,getActions:()=>e,getActionViewItem:e=>{const t=this._keybindingFor(e);if(t)return new tM(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});const n=e;return"function"==typeof n.getActionViewItem?n.getActionViewItem():new tM(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:n})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===Mx)return;const t=this._editor.getOption(73);let n=0;const i=e=>({id:"menu-action-"+ ++n,label:e.label,tooltip:"",class:void 0,enabled:void 0===e.enabled||e.enabled,checked:e.checked,run:e.run}),o=(e,t,o,s,r)=>{if(!t)return i({label:e,enabled:t,run:()=>{}});const l=e=>()=>{this._configurationService.updateValue(o,e)},a=[];for(const e of r)a.push(i({label:e.label,checked:s===e.value,run:l(e.value)}));return((e,t)=>new _d("menu-action-"+ ++n,e,t,void 0))(e,a)},s=[];s.push(i({label:_(0,"Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),s.push(new fd),s.push(i({label:_(0,"Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),s.push(o(_(0,"Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:_(0,"Proportional"),value:"proportional"},{label:_(0,"Fill"),value:"fill"},{label:_(0,"Fit"),value:"fit"}])),s.push(o(_(0,"Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:_(0,"Mouse Over"),value:"mouseover"},{label:_(0,"Always"),value:"always"}]));const r=this._editor.getOption(127)&&!G;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>s,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};LY.ID="editor.contrib.contextmenu",LY=xY=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([kY(1,HL),kY(2,VL),kY(3,su),kY(4,zL),kY(5,xu),kY(6,pg),kY(7,Dx)],LY),Zu(LY.ID,LY,2),$u(class extends zu{constructor(){super({id:"editor.action.showContextMenu",label:_(0,"Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:1092,weight:100}})}run(e,t){var n;null===(n=LY.get(t))||void 0===n||n.showContextMenu()}});class DY{constructor(e){this.selections=e}equals(e){const t=this.selections.length;if(t!==e.selections.length)return!1;for(let n=0;n{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeModelContent((e=>{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeCursorSelection((t=>{if(this._isCursorUndoRedo)return;if(!t.oldSelections)return;if(t.oldModelVersionId!==t.modelVersionId)return;const n=new DY(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(n)||(this._undoStack.push(new NY(n,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new NY(new DY(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new NY(new DY(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}}EY.ID="editor.contrib.cursorUndoRedoController",Zu(EY.ID,EY,0),$u(class extends zu{constructor(){super({id:"cursorUndo",label:_(0,"Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:2099,weight:100}})}run(e,t,n){var i;null===(i=EY.get(t))||void 0===i||i.cursorUndo()}}),$u(class extends zu{constructor(){super({id:"cursorRedo",label:_(0,"Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,n){var i;null===(i=EY.get(t))||void 0===i||i.cursorRedo()}});var IY=n(1921),MY={};function TY(){return Ji&&!!Ji.VSCODE_DEV}function AY(e){if(TY()){const t=function(){RY||(RY=new Set);const e=globalThis;return e.$hotReload_applyNewExports||(e.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e};for(const e of RY){const n=e(t);if(n)return n}}),RY}();return t.add(e),{dispose(){t.delete(e)}}}return{dispose(){}}}let RY;function PY(e,t){const n=new rt,i=e.createDecorationsCollection();return n.add(XE({debugName:()=>`Apply decorations from ${t.debugName}`},(e=>{const n=t.read(e);i.set(n)}))),n.add({dispose:()=>{i.clear()}}),n}function OY(e,t){return e.appendChild(t),st((()=>{e.removeChild(t)}))}MY.styleTagTransform=Vr(),MY.setAttributes=Or(),MY.insert=Rr().bind(null,"head"),MY.domAPI=Tr(),MY.insertStyleElement=Br(),Ir()(IY.A,MY),IY.A&&IY.A.locals&&IY.A.locals,TY()&&AY((({oldExports:e,newSrc:t,config:n})=>{if("patch-prototype"===n.mode)return t=>{var n,i;for(const o in t){const s=t[o];if(console.log(`[hot-reload] Patching prototype methods of '${o}'`,{exportedItem:s}),"function"==typeof s&&s.prototype){const r=e[o];if(r){for(const e of Object.getOwnPropertyNames(s.prototype)){const t=Object.getOwnPropertyDescriptor(s.prototype,e),l=Object.getOwnPropertyDescriptor(r.prototype,e);(null===(n=null==t?void 0:t.value)||void 0===n?void 0:n.toString())!==(null===(i=null==l?void 0:l.value)||void 0===i?void 0:i.toString())&&console.log(`[hot-reload] Patching prototype method '${o}.${e}'`),Object.defineProperty(r.prototype,e,t)}t[o]=r}}}return!0}}));class FY extends lt{get width(){return this._width}get height(){return this._height}constructor(e,t){super(),this.elementSizeObserver=this._register(new cT(e,t)),this._width=VE(this,this.elementSizeObserver.getWidth()),this._height=VE(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange((e=>OE((e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function BY(e,t,n){let i=t.get(),o=i,s=i;const r=VE("animatedValue",i);let l,a=-1;function d(){const t=Date.now()-a;var n,u,c;s=Math.floor((u=o,c=i-o,(n=t)===300?u+c:c*(1-Math.pow(2,-10*n/300))+u)),t<300?l=e.requestAnimationFrame(d):s=i,r.set(s,void 0)}return n.add(QE({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(e,n)=>(e.didChange(t)&&(n.animate=n.animate||e.change),!0)},((n,r)=>{void 0!==l&&(e.cancelAnimationFrame(l),l=void 0),o=s,i=t.read(n),a=Date.now()-(r.animate?0:300),d()}))),r}class WY extends lt{constructor(e,t,n){super(),this._register(new HY(e,n)),this._register(zY(n,{height:t.actualHeight,top:t.actualTop}))}}class VY{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement("div"),this._actualTop=VE(this,void 0),this._actualHeight=VE(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}}class HY{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId="managedOverlayWidget-"+HY._counter++,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function zY(e,t){return YE((n=>{for(let[i,o]of Object.entries(t))o&&"object"==typeof o&&"read"in o&&(o=o.read(n)),"number"==typeof o&&(o=`${o}px`),i=i.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase())),e.style[i]=o}))}function UY(e,t){return function(e,t){TY()&&sI("reload",(t=>AY((({oldExports:n})=>{if([...Object.values(n)].some((t=>e.includes(t))))return e=>(t(void 0),!0)})))).read(t)}([e],t),e}function KY(e,t,n,i){const o=new rt,s=[];return o.add(JE(((o,r)=>{const l=t.read(o),a=new Map,d=new Map;n&&n(!0),e.changeViewZones((e=>{for(const t of s)e.removeZone(t),null==i||i.delete(t);s.length=0;for(const t of l){const n=e.addZone(t);t.setZoneId&&t.setZoneId(n),s.push(n),null==i||i.add(n),a.set(t,n)}})),n&&n(!1),r.add(QE({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(e,t){const n=d.get(e.changedObservable);return void 0!==n&&t.zoneIds.push(n),!0}},((t,i)=>{for(const e of l)e.onChange&&(d.set(e.onChange,a.get(e)),e.onChange.read(t));n&&n(!0),e.changeViewZones((e=>{for(const t of i.zoneIds)e.layoutZone(t)})),n&&n(!1)})))}))),o.add({dispose(){n&&n(!0),e.changeViewZones((e=>{for(const t of s)e.removeZone(t)})),null==i||i.clear(),n&&n(!1)}}),o}HY._counter=0;class jY extends Tt{dispose(){super.dispose(!0)}}function qY(e,t){const n=gh(t,(t=>t.original.startLineNumber<=e.lineNumber));if(!n)return nc.fromPositions(e);if(n.original.endLineNumberExclusive<=e.lineNumber){const t=e.lineNumber-n.original.endLineNumberExclusive+n.modified.endLineNumberExclusive;return nc.fromPositions(new cd(t,e.column))}if(!n.innerChanges)return nc.fromPositions(new cd(n.modified.startLineNumber,1));const i=gh(n.innerChanges,(t=>t.originalRange.getStartPosition().isBeforeOrEqual(e)));if(!i){const t=e.lineNumber-n.original.startLineNumber+n.modified.startLineNumber;return nc.fromPositions(new cd(t,e.column))}if(i.originalRange.containsPosition(e))return i.modifiedRange;{const t=(o=i.originalRange.getEndPosition(),s=e,o.lineNumber===s.lineNumber?new gp(0,s.column-o.column):new gp(s.lineNumber-o.lineNumber,s.column-1));return nc.fromPositions(t.addToPosition(i.modifiedRange.getEndPosition()))}var o,s}function $Y(e,t,n){const i=e.bindTo(t);return XE({debugName:()=>`Set Context Key "${e.key}"`},(e=>{i.set(n(e))}))}const GY=dd("accessibilitySignalService");class ZY{static register(e){return new ZY(e.fileName)}constructor(e){this.fileName=e}}ZY.error=ZY.register({fileName:"error.mp3"}),ZY.warning=ZY.register({fileName:"warning.mp3"}),ZY.foldedArea=ZY.register({fileName:"foldedAreas.mp3"}),ZY.break=ZY.register({fileName:"break.mp3"}),ZY.quickFixes=ZY.register({fileName:"quickFixes.mp3"}),ZY.taskCompleted=ZY.register({fileName:"taskCompleted.mp3"}),ZY.taskFailed=ZY.register({fileName:"taskFailed.mp3"}),ZY.terminalBell=ZY.register({fileName:"terminalBell.mp3"}),ZY.diffLineInserted=ZY.register({fileName:"diffLineInserted.mp3"}),ZY.diffLineDeleted=ZY.register({fileName:"diffLineDeleted.mp3"}),ZY.diffLineModified=ZY.register({fileName:"diffLineModified.mp3"}),ZY.chatRequestSent=ZY.register({fileName:"chatRequestSent.mp3"}),ZY.chatResponsePending=ZY.register({fileName:"chatResponsePending.mp3"}),ZY.chatResponseReceived1=ZY.register({fileName:"chatResponseReceived1.mp3"}),ZY.chatResponseReceived2=ZY.register({fileName:"chatResponseReceived2.mp3"}),ZY.chatResponseReceived3=ZY.register({fileName:"chatResponseReceived3.mp3"}),ZY.chatResponseReceived4=ZY.register({fileName:"chatResponseReceived4.mp3"}),ZY.clear=ZY.register({fileName:"clear.mp3"}),ZY.save=ZY.register({fileName:"save.mp3"}),ZY.format=ZY.register({fileName:"format.mp3"}),ZY.voiceRecordingStarted=ZY.register({fileName:"voiceRecordingStarted.mp3"}),ZY.voiceRecordingStopped=ZY.register({fileName:"voiceRecordingStopped.mp3"});class YY{constructor(e){this.randomOneOf=e}}class XY{static register(e){const t=new YY("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),n=new XY(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return XY._signals.add(n),n}constructor(e,t,n,i,o,s){this.sound=e,this.name=t,this.legacySoundSettingsKey=n,this.settingsKey=i,this.legacyAnnouncementSettingsKey=o,this.announcementMessage=s}}XY._signals=new Set,XY.error=XY.register({name:_(0,"Error on Line"),sound:ZY.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:_(0,"Error"),settingsKey:"accessibility.signals.lineHasError"}),XY.warning=XY.register({name:_(0,"Warning on Line"),sound:ZY.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:_(0,"Warning"),settingsKey:"accessibility.signals.lineHasWarning"}),XY.foldedArea=XY.register({name:_(0,"Folded Area on Line"),sound:ZY.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:_(0,"Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"}),XY.break=XY.register({name:_(0,"Breakpoint on Line"),sound:ZY.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:_(0,"Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"}),XY.inlineSuggestion=XY.register({name:_(0,"Inline Suggestion on Line"),sound:ZY.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"}),XY.terminalQuickFix=XY.register({name:_(0,"Terminal Quick Fix"),sound:ZY.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:_(0,"Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"}),XY.onDebugBreak=XY.register({name:_(0,"Debugger Stopped on Breakpoint"),sound:ZY.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:_(0,"Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"}),XY.noInlayHints=XY.register({name:_(0,"No Inlay Hints on Line"),sound:ZY.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:_(0,"No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"}),XY.taskCompleted=XY.register({name:_(0,"Task Completed"),sound:ZY.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:_(0,"Task Completed"),settingsKey:"accessibility.signals.taskCompleted"}),XY.taskFailed=XY.register({name:_(0,"Task Failed"),sound:ZY.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:_(0,"Task Failed"),settingsKey:"accessibility.signals.taskFailed"}),XY.terminalCommandFailed=XY.register({name:_(0,"Terminal Command Failed"),sound:ZY.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:_(0,"Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"}),XY.terminalBell=XY.register({name:_(0,"Terminal Bell"),sound:ZY.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:_(0,"Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"}),XY.notebookCellCompleted=XY.register({name:_(0,"Notebook Cell Completed"),sound:ZY.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:_(0,"Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"}),XY.notebookCellFailed=XY.register({name:_(0,"Notebook Cell Failed"),sound:ZY.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:_(0,"Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"}),XY.diffLineInserted=XY.register({name:_(0,"Diff Line Inserted"),sound:ZY.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"}),XY.diffLineDeleted=XY.register({name:_(0,"Diff Line Deleted"),sound:ZY.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"}),XY.diffLineModified=XY.register({name:_(0,"Diff Line Modified"),sound:ZY.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"}),XY.chatRequestSent=XY.register({name:_(0,"Chat Request Sent"),sound:ZY.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:_(0,"Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"}),XY.chatResponseReceived=XY.register({name:_(0,"Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[ZY.chatResponseReceived1,ZY.chatResponseReceived2,ZY.chatResponseReceived3,ZY.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"}),XY.chatResponsePending=XY.register({name:_(0,"Chat Response Pending"),sound:ZY.chatResponsePending,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.chatResponsePending",announcementMessage:_(0,"Chat Response Pending"),settingsKey:"accessibility.signals.chatResponsePending"}),XY.clear=XY.register({name:_(0,"Clear"),sound:ZY.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:_(0,"Clear"),settingsKey:"accessibility.signals.clear"}),XY.save=XY.register({name:_(0,"Save"),sound:ZY.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:_(0,"Save"),settingsKey:"accessibility.signals.save"}),XY.format=XY.register({name:_(0,"Format"),sound:ZY.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:_(0,"Format"),settingsKey:"accessibility.signals.format"}),XY.voiceRecordingStarted=XY.register({name:_(0,"Voice Recording Started"),sound:ZY.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"}),XY.voiceRecordingStopped=XY.register({name:_(0,"Voice Recording Stopped"),sound:ZY.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"});var QY=n(2180),JY={};JY.styleTagTransform=Vr(),JY.setAttributes=Or(),JY.insert=Rr().bind(null,"head"),JY.domAPI=Tr(),JY.insertStyleElement=Br(),Ir()(QY.A,JY),QY.A&&QY.A.locals&&QY.A.locals;var eX=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},tX=function(e,t){return function(n,i){t(n,i,e)}};const nX=fz("diff-review-insert",Sa.add,_(0,"Icon for 'Insert' in accessible diff viewer.")),iX=fz("diff-review-remove",Sa.remove,_(0,"Icon for 'Remove' in accessible diff viewer.")),oX=fz("diff-review-close",Sa.close,_(0,"Icon for 'Close' in accessible diff viewer."));let sX=class extends lt{constructor(e,t,n,i,o,s,r,l,a){super(),this._parentNode=e,this._visible=t,this._setVisible=n,this._canClose=i,this._width=o,this._height=s,this._diffs=r,this._models=l,this._instantiationService=a,this._state=$E(this,((e,t)=>{const n=this._visible.read(e);if(this._parentNode.style.visibility=n?"visible":"hidden",!n)return null;const i=t.add(this._instantiationService.createInstance(rX,this._diffs,this._models,this._setVisible,this._canClose));return{model:i,view:t.add(this._instantiationService.createInstance(pX,this._parentNode,i,this._width,this._height,this._models))}})).recomputeInitiallyAndOnChange(this._store)}next(){OE((e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)}))}prev(){OE((e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)}))}close(){OE((e=>{this._setVisible(!1,e)}))}};sX._ttPolicy=Yk("diffReview",{createHTML:e=>e}),sX=eX([tX(8,ad)],sX);let rX=class extends lt{constructor(e,t,n,i,o){super(),this._diffs=e,this._models=t,this._setVisible=n,this.canClose=i,this._accessibilitySignalService=o,this._groups=VE(this,[]),this._currentGroupIdx=VE(this,0),this._currentElementIdx=VE(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map(((e,t)=>this._groups.read(t)[e])),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map(((e,t)=>{var n;return null===(n=this.currentGroup.read(t))||void 0===n?void 0:n.lines[e]})),this._register(YE((e=>{const t=this._diffs.read(e);if(!t)return void this._groups.set([],void 0);const n=function(e,t,n){const i=[];for(const o of Rc(e,((e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<2*lX))){const e=[];e.push(new uX);const s=new wh(Math.max(1,o[0].original.startLineNumber-lX),Math.min(o[o.length-1].original.endLineNumberExclusive+lX,t+1)),r=new wh(Math.max(1,o[0].modified.startLineNumber-lX),Math.min(o[o.length-1].modified.endLineNumberExclusive+lX,n+1));Pc(o,((t,n)=>{const i=new wh(t?t.original.endLineNumberExclusive:s.startLineNumber,n?n.original.startLineNumber:s.endLineNumberExclusive),o=new wh(t?t.modified.endLineNumberExclusive:r.startLineNumber,n?n.modified.startLineNumber:r.endLineNumberExclusive);i.forEach((t=>{e.push(new gX(t,o.startLineNumber+(t-i.startLineNumber)))})),n&&(n.original.forEach((t=>{e.push(new cX(n,t))})),n.modified.forEach((t=>{e.push(new hX(n,t))})))}));const l=o[0].modified.join(o[o.length-1].modified),a=o[0].original.join(o[o.length-1].original);i.push(new dX(new FV(l,a),e))}return i}(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());OE((e=>{const t=this._models.getModifiedPosition();if(t){const i=n.findIndex((e=>(null==t?void 0:t.lineNumber){const t=this.currentElement.read(e);(null==t?void 0:t.type)===aX.Deleted?this._accessibilitySignalService.playSignal(XY.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(null==t?void 0:t.type)===aX.Added&&this._accessibilitySignalService.playSignal(XY.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})}))),this._register(YE((e=>{var t;const n=this.currentElement.read(e);if(n&&n.type!==aX.Header){const e=null!==(t=n.modifiedLineNumber)&&void 0!==t?t:n.diff.modified.startLineNumber;this._models.modifiedSetSelection(nc.fromPositions(new cd(e,1)))}})))}_goToGroupDelta(e,t){const n=this.groups.get();!n||n.length<=1||BE(t,(t=>{this._currentGroupIdx.set(ch.ofLength(n.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)}))}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||OE((n=>{this._currentElementIdx.set(ch.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),n)}))}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const n=t.lines.indexOf(e);-1!==n&&OE((e=>{this._currentElementIdx.set(n,e)}))}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===aX.Deleted?this._models.originalReveal(nc.fromPositions(new cd(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==aX.Header?nc.fromPositions(new cd(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};rX=eX([tX(4,GY)],rX);const lX=3;var aX;!function(e){e[e.Header=0]="Header",e[e.Unchanged=1]="Unchanged",e[e.Deleted=2]="Deleted",e[e.Added=3]="Added"}(aX||(aX={}));class dX{constructor(e,t){this.range=e,this.lines=t}}class uX{constructor(){this.type=aX.Header}}class cX{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=aX.Deleted,this.modifiedLineNumber=void 0}}class hX{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=aX.Added,this.originalLineNumber=void 0}}class gX{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=aX.Unchanged}}let pX=class extends lt{constructor(e,t,n,i,o,s){super(),this._element=e,this._model=t,this._width=n,this._height=i,this._models=o,this._languageService=s,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new iM(r)),this._register(YE((e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(new pd("diffreview.close",_(0,"Close"),"close-diff-review "+ka.asClassName(oX),!0,(async()=>t.close())),{label:!1,icon:!0})}))),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new cE(this._content,{})),cr(this.domNode,this._scrollbar.getDomNode(),r),this._register(YE((e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()}))),this._register(st((()=>{cr(this.domNode)}))),this._register(zY(this.domNode,{width:this._width,height:this._height})),this._register(zY(this._content,{width:this._width,height:this._height})),this._register(JE(((e,t)=>{this._model.currentGroup.read(e),this._render(t)}))),this._register(_s(this.domNode,"keydown",(e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())})))}_render(e){const t=this._models.getOriginalOptions(),n=this._models.getModifiedOptions(),i=document.createElement("div");i.className="diff-review-table",i.setAttribute("role","list"),i.setAttribute("aria-label",_(0,"Accessible Diff Viewer. Use arrow up and down to navigate.")),nL(i,n.get(50)),cr(this._content,i);const o=this._models.getOriginalModel(),s=this._models.getModifiedModel();if(!o||!s)return;const r=o.getOptions(),l=s.getOptions(),a=n.get(67),d=this._model.currentGroup.get();for(const u of(null==d?void 0:d.lines)||[]){if(!d)break;let c;if(u.type===aX.Header){const e=document.createElement("div");e.className="diff-review-row",e.setAttribute("role","listitem");const t=d.range,n=this._model.currentGroupIndex.get(),i=this._model.groups.get().length,o=e=>0===e?_(0,"no lines changed"):1===e?_(0,"1 line changed"):_(0,"{0} lines changed",e),s=o(t.original.length),r=o(t.modified.length);e.setAttribute("aria-label",_(0,"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",n+1,i,t.original.startLineNumber,s,t.modified.startLineNumber,r));const l=document.createElement("div");l.className="diff-review-cell diff-review-summary",l.appendChild(document.createTextNode(`${n+1}/${i}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(l),c=e}else c=this._createRow(u,a,this._width.get(),t,o,r,n,s,l);i.appendChild(c);const h=jE((e=>this._model.currentElement.read(e)===u));e.add(YE((e=>{const t=h.read(e);c.tabIndex=t?0:-1,t&&c.focus()}))),e.add(ms(c,"focus",(()=>{this._model.goToLine(u)})))}this._scrollbar.scanDomNode()}_createRow(e,t,n,i,o,s,r,l,a){const d=i.get(145),u=d.glyphMarginWidth+d.lineNumbersWidth,c=r.get(145),h=10+c.glyphMarginWidth+c.lineNumbersWidth;let g="diff-review-row",p="",m=null;switch(e.type){case aX.Added:g="diff-review-row line-insert",p=" char-insert",m=nX;break;case aX.Deleted:g="diff-review-row line-delete",p=" char-delete",m=iX}const f=document.createElement("div");f.style.minWidth=n+"px",f.className=g,f.setAttribute("role","listitem"),f.ariaLevel="";const v=document.createElement("div");v.className="diff-review-cell",v.style.height=`${t}px`,f.appendChild(v);const b=document.createElement("span");b.style.width=u+"px",b.style.minWidth=u+"px",b.className="diff-review-line-number"+p,void 0!==e.originalLineNumber?b.appendChild(document.createTextNode(String(e.originalLineNumber))):b.innerText=" ",v.appendChild(b);const w=document.createElement("span");w.style.width=h+"px",w.style.minWidth=h+"px",w.style.paddingRight="10px",w.className="diff-review-line-number"+p,void 0!==e.modifiedLineNumber?w.appendChild(document.createTextNode(String(e.modifiedLineNumber))):w.innerText=" ",v.appendChild(w);const C=document.createElement("span");if(C.className="diff-review-spacer",m){const e=document.createElement("span");e.className=ka.asClassName(m),e.innerText="  ",C.appendChild(e)}else C.innerText="  ";let y;if(v.appendChild(C),void 0!==e.modifiedLineNumber){let t=this._getLineHtml(l,r,a.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);sX._ttPolicy&&(t=sX._ttPolicy.createHTML(t)),v.insertAdjacentHTML("beforeend",t),y=l.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(o,i,s.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);sX._ttPolicy&&(t=sX._ttPolicy.createHTML(t)),v.insertAdjacentHTML("beforeend",t),y=o.getLineContent(e.originalLineNumber)}0===y.length&&(y=_(0,"blank"));let S="";switch(e.type){case aX.Unchanged:S=e.originalLineNumber===e.modifiedLineNumber?_(0,"{0} unchanged line {1}",y,e.originalLineNumber):_(0,"{0} original line {1} modified line {2}",y,e.originalLineNumber,e.modifiedLineNumber);break;case aX.Added:S=_(0,"+ {0} modified line {1}",y,e.modifiedLineNumber);break;case aX.Deleted:S=_(0,"- {0} original line {1}",y,e.originalLineNumber)}return f.setAttribute("aria-label",S),f}_getLineHtml(e,t,n,i,o){const s=e.getLineContent(i),r=t.get(50),l=BC.createEmpty(s,o),a=bP.isBasicASCII(s,e.mightContainNonBasicASCII()),d=bP.containsRTL(s,a,e.mightContainRTL());return fA(new uA(r.isMonospace&&!t.get(33),r.canUseHalfwidthRightwardsArrow,s,!1,a,d,0,l,[],n,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,t.get(117),t.get(99),t.get(94),t.get(51)!==ED.OFF,null)).html}};pX=eX([tX(5,Sh)],pX);class mX{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){var e;return null!==(e=this.editors.modified.getPosition())&&void 0!==e?e:void 0}}class fX extends lt{constructor(e,t,n,i,o){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=n,this._modifiedEditorLayoutInfo=i,this._editors=o,this._originalScrollTop=iI(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=iI(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._viewZonesChanged=sI("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=VE(this,0),this._modifiedViewZonesChangedSignal=sI("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=sI("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=$E(this,((e,t)=>{var n;this._element.replaceChildren();const i=this._diffModel.read(e),o=null===(n=null==i?void 0:i.diff.read(e))||void 0===n?void 0:n.movedTexts;if(!o||0===o.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(e);const s=this._originalEditorLayoutInfo.read(e),r=this._modifiedEditorLayoutInfo.read(e);if(!s||!r)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(e),this._originalViewZonesChangedSignal.read(e);const l=o.map((t=>{function n(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}const i=n(t.lineRangeMapping.original,this._editors.original),o=this._originalScrollTop.read(e),s=n(t.lineRangeMapping.modified,this._editors.modified),r=i-o,l=s-this._modifiedScrollTop.read(e),a=Math.min(i,s),d=Math.max(i,s);return{range:new ch(a,d),from:r,to:l,fromWithoutScroll:i,toWithoutScroll:s,move:t}}));l.sort(function(...e){return(t,n)=>{for(const i of e){const e=i(t,n);if(!yc.isNeitherLessOrGreaterThan(e))return e}return yc.neitherLessOrGreaterThan}}(Yc((e=>e.fromWithoutScroll>e.toWithoutScroll),Qc),Yc((e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll),Xc)));const a=_X.compute(l.map((e=>e.range))),d=s.verticalScrollbarWidth,u=10*(a.getTrackCount()-1)+20,c=d+u+(r.contentLeft-fX.movedCodeBlockPadding);let h=0;for(const e of l){const n=d+10+10*a.getTrack(h),o=15,s=15,l=c,u=r.glyphMarginWidth+r.lineNumbersWidth,g=18,p=document.createElementNS("http://www.w3.org/2000/svg","rect");p.classList.add("arrow-rectangle"),p.setAttribute("x",""+(l-u)),p.setAttribute("y",""+(e.to-g/2)),p.setAttribute("width",`${u}`),p.setAttribute("height",`${g}`),this._element.appendChild(p);const m=document.createElementNS("http://www.w3.org/2000/svg","g"),f=document.createElementNS("http://www.w3.org/2000/svg","path");f.setAttribute("d",`M 0 ${e.from} L ${n} ${e.from} L ${n} ${e.to} L ${l-s} ${e.to}`),f.setAttribute("fill","none"),m.appendChild(f);const _=document.createElementNS("http://www.w3.org/2000/svg","polygon");_.classList.add("arrow"),t.add(YE((t=>{f.classList.toggle("currentMove",e.move===i.activeMovedText.read(t)),_.classList.toggle("currentMove",e.move===i.activeMovedText.read(t))}))),_.setAttribute("points",`${l-s},${e.to-o/2} ${l},${e.to} ${l-s},${e.to+o/2}`),m.appendChild(_),this._element.appendChild(m),h++}this.width.set(u,void 0)})),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(st((()=>this._element.remove()))),this._register(YE((e=>{const t=this._originalEditorLayoutInfo.read(e),n=this._modifiedEditorLayoutInfo.read(e);t&&n&&(this._element.style.left=t.width-t.verticalScrollbarWidth+"px",this._element.style.height=`${t.height}px`,this._element.style.width=`${t.verticalScrollbarWidth+t.contentLeft-fX.movedCodeBlockPadding+this.width.read(e)}px`)}))),this._register(dI(this._state));const s=jE((e=>{const t=this._diffModel.read(e),n=null==t?void 0:t.diff.read(e);return n?n.movedTexts.map((e=>({move:e,original:new VY(tI(e.lineRangeMapping.original.startLineNumber-1),18),modified:new VY(tI(e.lineRangeMapping.modified.startLineNumber-1),18)}))):[]}));this._register(KY(this._editors.original,s.map((e=>e.map((e=>e.original)))))),this._register(KY(this._editors.modified,s.map((e=>e.map((e=>e.modified)))))),this._register(JE(((e,t)=>{const n=s.read(e);for(const e of n)t.add(new vX(this._editors.original,e.original,e.move,"original",this._diffModel.get())),t.add(new vX(this._editors.modified,e.modified,e.move,"modified",this._diffModel.get()))})));const r=sI("original.onDidFocusEditorWidget",(e=>this._editors.original.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0))))),l=sI("modified.onDidFocusEditorWidget",(e=>this._editors.modified.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0)))));let a="modified";this._register(QE({createEmptyChangeSummary:()=>{},handleChange:(e,t)=>(e.didChange(r)&&(a="original"),e.didChange(l)&&(a="modified"),!0)},(e=>{r.read(e),l.read(e);const t=this._diffModel.read(e);if(!t)return;const n=t.diff.read(e);let i;if(n&&"original"===a){const t=this._editors.originalCursor.read(e);t&&(i=n.movedTexts.find((e=>e.lineRangeMapping.original.contains(t.lineNumber))))}if(n&&"modified"===a){const t=this._editors.modifiedCursor.read(e);t&&(i=n.movedTexts.find((e=>e.lineRangeMapping.modified.contains(t.lineNumber))))}i!==t.movedTextToCompare.get()&&t.movedTextToCompare.set(void 0,void 0),t.setActiveMovedText(i)})))}}fX.movedCodeBlockPadding=4;class _X{static compute(e){const t=[],n=[];for(const i of e){let e=t.findIndex((e=>!e.intersectsStrict(i)));if(-1===e){const n=6;t.length>=n?e=bh(t,Yc((e=>e.intersectWithRangeLength(i)),Xc)):(e=t.length,t.push(new hh))}t[e].addRange(i),n.push(e)}return new _X(t.length,n)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class vX extends WY{constructor(e,t,n,i,o){const s=Dr("div.diff-hidden-lines-widget");super(e,t,s.root),this._editor=e,this._move=n,this._kind=i,this._diffModel=o,this._nodes=Dr("div.diff-moved-code-block",{style:{marginRight:"4px"}},[Dr("div.text-content@textContent"),Dr("div.action-bar@actionBar")]),s.root.appendChild(this._nodes.root);const r=iI(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));let l;this._register(zY(this._nodes.root,{paddingRight:r.map((e=>e.verticalScrollbarWidth))})),l=n.changes.length>0?"original"===this._kind?_(0,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):_(0,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?_(0,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):_(0,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const a=this._register(new iM(this._nodes.actionBar,{highlightToggledItems:!0})),d=new pd("",l,"",!1);a.push(d,{icon:!1,label:!0});const u=new pd("","Compare",ka.asClassName(Sa.compareChanges),!0,(()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===n?void 0:this._move,void 0)}));this._register(YE((e=>{const t=this._diffModel.movedTextToCompare.read(e)===n;u.checked=t}))),a.push(u,{icon:!1,label:!0})}}km("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},_(0,"The border color for text that got moved in the diff editor.")),km("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},_(0,"The active border color for text that got moved in the diff editor.")),km("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},_(0,"The color of the shadow around unchanged region widgets."));const bX=fz("diff-insert",Sa.add,_(0,"Line decoration for inserts in the diff editor.")),wX=fz("diff-remove",Sa.remove,_(0,"Line decoration for removals in the diff editor.")),CX=My.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+ka.asClassName(bX),marginClassName:"gutter-insert"}),yX=My.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+ka.asClassName(wX),marginClassName:"gutter-delete"}),SX=My.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),xX=My.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),kX=My.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),LX=My.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),DX=My.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),NX=My.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),EX=My.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),IX=My.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});class MX extends lt{constructor(e,t,n,i){super(),this._editors=e,this._diffModel=t,this._options=n,this._decorations=jE(this,(e=>{var t;const n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.diff.read(e);if(!n)return null;const i=this._diffModel.read(e).movedTextToCompare.read(e),o=this._options.renderIndicators.read(e),s=this._options.showEmptyDecorations.read(e),r=[],l=[];if(!i)for(const e of n.mappings)if(e.lineRangeMapping.original.isEmpty||r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:o?yX:xX}),e.lineRangeMapping.modified.isEmpty||l.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:o?CX:SX}),e.lineRangeMapping.modified.isEmpty||e.lineRangeMapping.original.isEmpty)e.lineRangeMapping.original.isEmpty||r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:EX}),e.lineRangeMapping.modified.isEmpty||l.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:LX});else for(const t of e.lineRangeMapping.innerChanges||[])e.lineRangeMapping.original.contains(t.originalRange.startLineNumber)&&r.push({range:t.originalRange,options:t.originalRange.isEmpty()&&s?IX:NX}),e.lineRangeMapping.modified.contains(t.modifiedRange.startLineNumber)&&l.push({range:t.modifiedRange,options:t.modifiedRange.isEmpty()&&s?DX:kX});if(i)for(const e of i.changes){const t=e.original.toInclusiveRange();t&&r.push({range:t,options:o?yX:xX});const n=e.modified.toInclusiveRange();n&&l.push({range:n,options:o?CX:SX});for(const t of e.innerChanges||[])r.push({range:t.originalRange,options:NX}),l.push({range:t.modifiedRange,options:kX})}const a=this._diffModel.read(e).activeMovedText.read(e);for(const e of n.movedTexts)r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(e===a?" currentMove":""),blockPadding:[fX.movedCodeBlockPadding,0,fX.movedCodeBlockPadding,fX.movedCodeBlockPadding]}}),l.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(e===a?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:l}})),this._register(PY(this._editors.original,this._decorations.map((e=>(null==e?void 0:e.originalDecorations)||[])))),this._register(PY(this._editors.modified,this._decorations.map((e=>(null==e?void 0:e.modifiedDecorations)||[]))))}}class TX extends lt{constructor(e,t,n,i){super(),this._options=e,this._domNode=t,this._dimensions=n,this._sashes=i,this._sashRatio=VE(this,void 0),this.sashLeft=jE(this,(e=>{var t;const n=null!==(t=this._sashRatio.read(e))&&void 0!==t?t:this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(n,e)})),this._sash=this._register(new uU(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart((()=>{this._startSashPosition=this.sashLeft.get()}))),this._register(this._sash.onDidChange((e=>{const t=this._dimensions.width.get(),n=this._computeSashLeft((this._startSashPosition+(e.currentX-e.startX))/t,void 0);this._sashRatio.set(n/t,void 0)}))),this._register(this._sash.onDidEnd((()=>this._sash.layout()))),this._register(this._sash.onDidReset((()=>this._sashRatio.set(void 0,void 0)))),this._register(YE((e=>{const t=this._sashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)}))),this._register(YE((e=>{const t=this._options.enableSplitViewResizing.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()})))}_computeSashLeft(e,t){const n=this._dimensions.width.read(t),i=Math.floor(this._options.splitViewDefaultRatio.read(t)*n),o=this._options.enableSplitViewResizing.read(t)?Math.floor(e*n):i,s=100;return n<=200?i:on-s?n-s:o}}const AX=dd("editorWorkerService");var RX,PX=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},OX=function(e,t){return function(n,i){t(n,i,e)}};const FX=dd("diffProviderFactoryService");let BX=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(WX,e)}};BX=PX([OX(0,ad)],BX),yg(FX,BX,1);let WX=RX=class{constructor(e,t,n){this.editorWorkerService=t,this.telemetryService=n,this.onDidChangeEventEmitter=new Ct,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){var e;null===(e=this.diffAlgorithmOnDidChangeSubscription)||void 0===e||e.dispose()}async computeDiff(e,t,n,i){var o,s;if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(e,t,n,i);if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return 1===t.getLineCount()&&1===t.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new BV(new wh(1,2),new wh(1,t.getLineCount()+1),[new WV(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const r=JSON.stringify([e.uri.toString(),t.uri.toString()]),l=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(n)]),a=RX.diffCache.get(r);if(a&&a.context===l)return a.result;const d=mt.create(),u=await this.editorWorkerService.computeDiff(e.uri,t.uri,n,this.diffAlgorithm),c=d.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:c,timedOut:null===(o=null==u?void 0:u.quitEarly)||void 0===o||o,detectedMoves:n.computeMoves?null!==(s=null==u?void 0:u.moves.length)&&void 0!==s?s:0:-1}),i.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!u)throw new Error("no diff result available");return RX.diffCache.size>10&&RX.diffCache.delete(RX.diffCache.keys().next().value),RX.diffCache.set(r,{result:u,context:l}),u}setOptions(e){var t;let n=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(null===(t=this.diffAlgorithmOnDidChangeSubscription)||void 0===t||t.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,"string"!=typeof e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange((()=>this.onDidChangeEventEmitter.fire()))),n=!0),n&&this.onDidChangeEventEmitter.fire()}};WX.diffCache=new Map,WX=RX=PX([OX(1,AX),OX(2,Mu)],WX);let VX=class extends lt{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,n){super(),this.model=e,this._options=t,this._diffProviderFactoryService=n,this._isDiffUpToDate=VE(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=VE(this,void 0),this.diff=this._diff,this._unchangedRegions=VE(this,void 0),this.unchangedRegions=jE(this,(e=>{var t,n;return this._options.hideUnchangedRegions.read(e)?null!==(n=null===(t=this._unchangedRegions.read(e))||void 0===t?void 0:t.regions)&&void 0!==n?n:[]:(OE((e=>{var t;for(const n of(null===(t=this._unchangedRegions.get())||void 0===t?void 0:t.regions)||[])n.collapseAll(e)})),[])})),this.movedTextToCompare=VE(this,void 0),this._activeMovedText=VE(this,void 0),this._hoveredMovedText=VE(this,void 0),this.activeMovedText=jE(this,(e=>{var t,n;return null!==(n=null!==(t=this.movedTextToCompare.read(e))&&void 0!==t?t:this._hoveredMovedText.read(e))&&void 0!==n?n:this._activeMovedText.read(e)})),this._cancellationTokenSource=new Tt,this._diffProvider=jE(this,(e=>{const t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)});return{diffProvider:t,onChangeSignal:sI("onDidChange",t.onDidChange)}})),this._register(st((()=>this._cancellationTokenSource.cancel())));const i=lI("contentChangedSignal"),o=this._register(new jt((()=>i.trigger(void 0)),200));this._register(YE((t=>{const n=this._unchangedRegions.read(t);if(!n||n.regions.some((e=>e.isDragged.read(t))))return;const i=n.originalDecorationIds.map((t=>e.original.getDecorationRange(t))).map((e=>e?wh.fromRangeInclusive(e):void 0)),o=n.modifiedDecorationIds.map((t=>e.modified.getDecorationRange(t))).map((e=>e?wh.fromRangeInclusive(e):void 0)),s=n.regions.map(((e,n)=>i[n]&&o[n]?new UX(i[n].startLineNumber,o[n].startLineNumber,i[n].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t)):void 0)).filter(pa),r=[];let l=!1;for(const e of Rc(s,((e,n)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===n.getHiddenModifiedRange(t).startLineNumber)))if(e.length>1){l=!0;const t=e.reduce(((e,t)=>e+t.lineCount),0),n=new UX(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.get(),e[e.length-1].visibleLineCountBottom.get());r.push(n)}else r.push(e[0]);if(l){const t=e.original.deltaDecorations(n.originalDecorationIds,r.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),i=e.modified.deltaDecorations(n.modifiedDecorationIds,r.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));OE((e=>{this._unchangedRegions.set({regions:r,originalDecorationIds:t,modifiedDecorationIds:i},e)}))}})));const s=(t,n,i)=>{const o=UX.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(i),this._options.hideUnchangedRegionsContextLineCount.read(i));let s;const r=this._unchangedRegions.get();if(r){const t=r.originalDecorationIds.map((t=>e.original.getDecorationRange(t))).map((e=>e?wh.fromRangeInclusive(e):void 0)),n=r.modifiedDecorationIds.map((t=>e.modified.getDecorationRange(t))).map((e=>e?wh.fromRangeInclusive(e):void 0)),o=function(e,t){let n;return e.filter((e=>{const t=((e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount)(e,n);return n=e,t}))}(r.regions.map(((e,i)=>{if(!t[i]||!n[i])return;const o=t[i].length;return new UX(t[i].startLineNumber,n[i].startLineNumber,o,Math.min(e.visibleLineCountTop.get(),o),Math.min(e.visibleLineCountBottom.get(),o-e.visibleLineCountTop.get()))})).filter(pa));let l=o.map((e=>new FV(e.getHiddenOriginalRange(i),e.getHiddenModifiedRange(i))));l=FV.clip(l,wh.ofLength(1,e.original.getLineCount()),wh.ofLength(1,e.modified.getLineCount())),s=FV.inverse(l,e.original.getLineCount(),e.modified.getLineCount())}const l=[];if(s)for(const e of o){const t=s.filter((t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange)));l.push(...e.setVisibleRanges(t,n))}else l.push(...o);const a=e.original.deltaDecorations((null==r?void 0:r.originalDecorationIds)||[],l.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),d=e.modified.deltaDecorations((null==r?void 0:r.modifiedDecorationIds)||[],l.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));this._unchangedRegions.set({regions:l,originalDecorationIds:a,modifiedDecorationIds:d},n)};this._register(e.modified.onDidChangeContent((t=>{if(this._diff.get()){Np.fromModelContentChanges(t.changes);const n=(this._lastDiff,e.original,void e.modified);n&&(this._lastDiff=n,OE((e=>{this._diff.set(HX.fromDiffResult(this._lastDiff),e),s(n,e);const t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified))):void 0,e)})))}this._isDiffUpToDate.set(!1,void 0),o.schedule()}))),this._register(e.original.onDidChangeContent((t=>{if(this._diff.get()){Np.fromModelContentChanges(t.changes);const n=(this._lastDiff,e.original,void e.modified);n&&(this._lastDiff=n,OE((e=>{this._diff.set(HX.fromDiffResult(this._lastDiff),e),s(n,e);const t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified))):void 0,e)})))}this._isDiffUpToDate.set(!1,void 0),o.schedule()}))),this._register(JE((async(t,n)=>{var r,l;this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),o.cancel(),i.read(t);const a=this._diffProvider.read(t);a.onChangeSignal.read(t),UY(wH,t),UY(mH,t),this._isDiffUpToDate.set(!1,void 0);let d=[];n.add(e.original.onDidChangeContent((e=>{const t=Np.fromModelContentChanges(e.changes);d=am(d,t)})));let u=[];n.add(e.modified.onDidChangeContent((e=>{const t=Np.fromModelContentChanges(e.changes);u=am(u,t)})));let c=await a.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token);var h,g,p;this._cancellationTokenSource.token.isCancellationRequested||(h=c,g=e.original,p=e.modified,c={changes:h.changes.map((e=>new BV(e.original,e.modified,e.innerChanges?e.innerChanges.map((e=>function(e,t,n){let i=e.originalRange,o=e.modifiedRange;return(1!==i.endColumn||1!==o.endColumn)&&i.endColumn===t.getLineMaxColumn(i.endLineNumber)&&o.endColumn===n.getLineMaxColumn(o.endLineNumber)&&i.endLineNumber{s(c,e),this._lastDiff=c;const t=HX.fromDiffResult(c);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);const n=this.movedTextToCompare.get();this.movedTextToCompare.set(n?this._lastDiff.moves.find((e=>e.lineRangeMapping.modified.intersect(n.lineRangeMapping.modified))):void 0,e)})))})))}ensureModifiedLineIsVisible(e,t,n){var i,o;if(0===(null===(i=this.diff.get())||void 0===i?void 0:i.mappings.length))return;const s=(null===(o=this._unchangedRegions.get())||void 0===o?void 0:o.regions)||[];for(const i of s)if(i.getHiddenModifiedRange(void 0).contains(e))return void i.showModifiedLine(e,t,n)}ensureOriginalLineIsVisible(e,t,n){var i,o;if(0===(null===(i=this.diff.get())||void 0===i?void 0:i.mappings.length))return;const s=(null===(o=this._unchangedRegions.get())||void 0===o?void 0:o.regions)||[];for(const i of s)if(i.getHiddenOriginalRange(void 0).contains(e))return void i.showOriginalLine(e,t,n)}async waitForDiff(){var e;await(e=this.isDiffUpToDate,e=>e,new Promise(((t,n)=>{let i=!0,o=!1;const s=e.map((e=>({isFinished:e,error:!1,state:e}))),r=YE((e=>{const{isFinished:l,error:a,state:d}=s.read(e);(l||a)&&(i?o=!0:r.dispose(),a?n(!0===a?d:a):t(d))}));i=!1,o&&r.dispose()})))}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:null==e?void 0:e.regions.map((e=>({range:e.getHiddenModifiedRange(void 0).serialize()})))}}restoreSerializedState(e){var t;const n=null===(t=e.collapsedRegions)||void 0===t?void 0:t.map((e=>wh.deserialize(e.range))),i=this._unchangedRegions.get();i&&n&&OE((e=>{for(const t of i.regions)for(const i of n)if(t.modifiedUnchangedRange.intersect(i)){t.setHiddenModifiedRange(i,e);break}}))}};VX=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,FX)],VX);class HX{static fromDiffResult(e){return new HX(e.changes.map((e=>new zX(e))),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,n,i){this.mappings=e,this.movedTexts=t,this.identical=n,this.quitEarly=i}}class zX{constructor(e){this.lineRangeMapping=e}}class UX{static fromDiffs(e,t,n,i,o){const s=BV.inverse(e,t,n),r=[];for(const e of s){let s=e.original.startLineNumber,l=e.modified.startLineNumber,a=e.original.length;const d=1===s&&1===l,u=s+a===t+1&&l+a===n+1;(d||u)&&a>=o+i?(d&&!u&&(a-=o),u&&!d&&(s+=o,l+=o,a-=o),r.push(new UX(s,l,a,0,0))):a>=2*o+i&&(s+=o,l+=o,a-=2*o,r.push(new UX(s,l,a,0,0)))}return r}get originalUnchangedRange(){return wh.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return wh.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,n,i,o){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=n,this._visibleLineCountTop=VE(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=VE(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=jE(this,(e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e))),this.isDragged=VE(this,void 0);const s=Math.max(Math.min(i,this.lineCount),0),r=Math.max(Math.min(o,this.lineCount-i),0);gu(i===s),gu(o===r),this._visibleLineCountTop.set(s,void 0),this._visibleLineCountBottom.set(r,void 0)}setVisibleRanges(e,t){const n=[],i=new Ch(e.map((e=>e.modified))).subtractFrom(this.modifiedUnchangedRange);let o=this.originalLineNumber,s=this.modifiedLineNumber;const r=this.modifiedLineNumber+this.lineCount;if(0===i.ranges.length)this.showAll(t),n.push(this);else{let e=0;for(const l of i.ranges){const a=e===i.ranges.length-1;e++;const d=(a?r:l.endLineNumberExclusive)-s,u=new UX(o,s,d,0,0);u.setHiddenModifiedRange(l,t),n.push(u),o=u.originalUnchangedRange.endLineNumberExclusive,s=u.modifiedUnchangedRange.endLineNumberExclusive}}return n}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return wh.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return wh.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const n=e.startLineNumber-this.modifiedLineNumber,i=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(n,i,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const n=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,n),t)}showMoreBelow(e=10,t){const n=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,n),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,n){const i=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),o=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;0===t&&i{var o;this._contextMenuService.showContextMenu({domForShadowRoot:c&&null!==(o=n.getDomNode())&&void 0!==o?o:void 0,getAnchor:()=>({x:e,y:t}),getActions:()=>{const e=[],t=i.modified.isEmpty;return e.push(new pd("diff.clipboard.copyDeletedContent",t?i.original.length>1?_(0,"Copy deleted lines"):_(0,"Copy deleted line"):i.original.length>1?_(0,"Copy changed lines"):_(0,"Copy changed line"),void 0,!0,(async()=>{const e=this._originalTextModel.getValueInRange(i.original.toExclusiveRange());await this._clipboardService.writeText(e)}))),i.original.length>1&&e.push(new pd("diff.clipboard.copyDeletedLineContent",_(0,t?"Copy deleted line ({0})":"Copy changed line ({0})",i.original.startLineNumber+u),void 0,!0,(async()=>{let e=this._originalTextModel.getLineContent(i.original.startLineNumber+u);""===e&&(e=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"),await this._clipboardService.writeText(e)}))),n.getOption(91)||e.push(new pd("diff.inline.revertChange",_(0,"Revert this change"),void 0,!0,(async()=>{this._editor.revert(this._diff)}))),e},autoSelectFirstItem:!0})};this._register(_s(this._diffActions,"mousedown",(e=>{if(!e.leftButton)return;const{top:t,height:n}=Es(this._diffActions),i=Math.floor(d/3);e.preventDefault(),h(e.posx,t+n+i)}))),this._register(n.onMouseMove((e=>{8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId!==this._getViewZoneId()?this.visibility=!1:(u=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,d),this.visibility=!0)}))),this._register(n.onMouseDown((e=>{!e.event.leftButton||8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),u=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,d),h(e.event.posx,e.event.posy+d))})))}_updateLightBulbPosition(e,t,n){const{top:i}=Es(e),o=t-i,s=Math.floor(o/n),r=s*n;if(this._diffActions.style.top=`${r}px`,this._viewLineCounts){let e=0;for(let t=0;te});function qX(e,t,n,i){nL(i,t.fontInfo);const o=n.length>0,s=new eg(1e4);let r=0,l=0;const a=[];for(let i=0;i');const a=t.getLineContent(),d=bP.isBasicASCII(a,o),u=bP.containsRTL(a,d,s),c=pA(new uA(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,a,!1,d,u,0,t,n,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==ED.OFF,null),l);return l.appendString(""),c.characterMapping.getHorizontalOffset(c.characterMapping.length)}var YX=function(e,t){return function(n,i){t(n,i,e)}};let XX=class extends lt{constructor(e,t,n,i,o,s,r,l,a,d){super(),this._targetWindow=e,this._editors=t,this._diffModel=n,this._options=i,this._diffEditorWidget=o,this._canIgnoreViewZoneUpdateEvent=s,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=l,this._clipboardService=a,this._contextMenuService=d,this._originalTopPadding=VE(this,0),this._originalScrollOffset=VE(this,0),this._originalScrollOffsetAnimated=BY(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=VE(this,0),this._modifiedScrollOffset=VE(this,0),this._modifiedScrollOffsetAnimated=BY(this._targetWindow,this._modifiedScrollOffset,this._store);const u=VE("invalidateAlignmentsState",0),c=this._register(new jt((()=>{u.set(u.get()+1,void 0)}),0));this._register(this._editors.original.onDidChangeViewZones((e=>{this._canIgnoreViewZoneUpdateEvent()||c.schedule()}))),this._register(this._editors.modified.onDidChangeViewZones((e=>{this._canIgnoreViewZoneUpdateEvent()||c.schedule()}))),this._register(this._editors.original.onDidChangeConfiguration((e=>{(e.hasChanged(146)||e.hasChanged(67))&&c.schedule()}))),this._register(this._editors.modified.onDidChangeConfiguration((e=>{(e.hasChanged(146)||e.hasChanged(67))&&c.schedule()})));const h=this._diffModel.map((e=>e?iI(e.model.original.onDidChangeTokens,(()=>2===e.model.original.tokenization.backgroundTokenizationState)):void 0)).map(((e,t)=>null==e?void 0:e.read(t))),g=jE((e=>{const t=this._diffModel.read(e),n=null==t?void 0:t.diff.read(e);if(!t||!n)return null;u.read(e);const i=this._options.renderSideBySide.read(e);return QX(this._editors.original,this._editors.modified,n.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,i)})),p=jE((e=>{var t;const n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.movedTextToCompare.read(e);if(!n)return null;u.read(e);const i=n.changes.map((e=>new zX(e)));return QX(this._editors.original,this._editors.modified,i,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)}));function m(){const e=document.createElement("div");return e.className="diagonal-fill",e}const f=this._register(new rt);this.viewZones=$E(this,((e,t)=>{var n,i,s,r,l,a,d,u;f.clear();const c=g.read(e)||[],_=[],v=[],b=this._modifiedTopPadding.read(e);b>0&&v.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:b,showInHiddenAreas:!0,suppressMouseDown:!0});const w=this._originalTopPadding.read(e);w>0&&_.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:w,showInHiddenAreas:!0,suppressMouseDown:!0});const C=this._options.renderSideBySide.read(e),y=C||null===(n=this._editors.modified._getViewModel())||void 0===n?void 0:n.createLineBreaksComputer();if(y){const I=this._editors.original.getModel();for(const M of c)if(M.diff)for(let T=M.originalRange.startLineNumber;TI.getLineCount())return{orig:_,mod:v};null==y||y.addRequest(I.getLineContent(T),null,null)}}const S=null!==(i=null==y?void 0:y.finalize())&&void 0!==i?i:[];let x=0;const k=this._editors.modified.getOption(67),L=null===(s=this._diffModel.read(e))||void 0===s?void 0:s.movedTextToCompare.read(e),D=null!==(l=null===(r=this._editors.original.getModel())||void 0===r?void 0:r.mightContainNonBasicASCII())&&void 0!==l&&l,N=null!==(d=null===(a=this._editors.original.getModel())||void 0===a?void 0:a.mightContainRTL())&&void 0!==d&&d,E=GX.fromEditor(this._editors.modified);for(const A of c)if(A.diff&&!C){if(!A.originalRange.isEmpty){h.read(e);const P=document.createElement("div");P.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const O=this._editors.original.getModel();if(A.originalRange.endLineNumberExclusive-1>O.getLineCount())return{orig:_,mod:v};const F=new $X(A.originalRange.mapToLineArray((e=>O.tokenization.getLineTokens(e))),A.originalRange.mapToLineArray((e=>S[x++])),D,N),B=[];for(const z of A.diff.innerChanges||[])B.push(new wP(z.originalRange.delta(-(A.diff.original.startLineNumber-1)),NX.className,0));const W=qX(F,E,B,P),V=document.createElement("div");if(V.className="inline-deleted-margin-view-zone",nL(V,E.fontInfo),this._options.renderIndicators.read(e))for(let U=0;U_a(H)),V,this._editors.modified,A.diff,this._diffEditorWidget,W.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let j=0;j1&&_.push({afterLineNumber:A.originalRange.startLineNumber+j,domNode:m(),heightInPx:(q-1)*k,showInHiddenAreas:!0,suppressMouseDown:!0})}v.push({afterLineNumber:A.modifiedRange.startLineNumber-1,domNode:P,heightInPx:W.heightInLines*k,minWidthInPx:W.minWidthInPx,marginDomNode:V,setZoneId(e){H=e},showInHiddenAreas:!0,suppressMouseDown:!0})}const R=document.createElement("div");R.className="gutter-delete",_.push({afterLineNumber:A.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:A.modifiedHeightInPx,marginDomNode:R,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const $=A.modifiedHeightInPx-A.originalHeightInPx;if($>0){if(null==L?void 0:L.lineRangeMapping.original.delta(-1).deltaLength(2).contains(A.originalRange.endLineNumberExclusive-1))continue;_.push({afterLineNumber:A.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:$,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(null==L?void 0:L.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(A.modifiedRange.endLineNumberExclusive-1))continue;function G(){const e=document.createElement("div");return e.className="arrow-revert-change "+ka.asClassName(Sa.arrowRight),t.add(ms(e,"mousedown",(e=>e.stopPropagation()))),t.add(ms(e,"click",(e=>{e.stopPropagation(),o.revert(A.diff)}))),mr("div",{},e)}let Z;A.diff&&A.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(Z=G()),v.push({afterLineNumber:A.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-$,marginDomNode:Z,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const Y of null!==(u=p.read(e))&&void 0!==u?u:[]){if(!(null==L?void 0:L.lineRangeMapping.original.intersect(Y.originalRange))||!(null==L?void 0:L.lineRangeMapping.modified.intersect(Y.modifiedRange)))continue;const X=Y.modifiedHeightInPx-Y.originalHeightInPx;X>0?_.push({afterLineNumber:Y.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:X,showInHiddenAreas:!0,suppressMouseDown:!0}):v.push({afterLineNumber:Y.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-X,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:_,mod:v}}));let _=!1;this._register(this._editors.original.onDidScrollChange((e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.modified.setScrollLeft(e.scrollLeft),_=!1)}))),this._register(this._editors.modified.onDidScrollChange((e=>{e.scrollLeftChanged&&!_&&(_=!0,this._editors.original.setScrollLeft(e.scrollLeft),_=!1)}))),this._originalScrollTop=iI(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=iI(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._register(YE((e=>{const t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)}))),this._register(YE((e=>{const t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)}))),this._register(YE((e=>{var t;const n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.movedTextToCompare.read(e);let i=0;if(n){const e=this._editors.original.getTopForLineNumber(n.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();i=this._editors.modified.getTopForLineNumber(n.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}i>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(i,void 0)):i<0?(this._modifiedTopPadding.set(-i,void 0),this._originalTopPadding.set(0,void 0)):setTimeout((()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)}),400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-i,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+i,void 0,!0)})))}};function QX(e,t,n,i,o,s){const r=new eh(JX(e,i)),l=new eh(JX(t,o)),a=e.getOption(67),d=t.getOption(67),u=[];let c=0,h=0;function g(e,t){for(;;){let n=r.peek(),i=l.peek();if(n&&n.lineNumber>=e&&(n=void 0),i&&i.lineNumber>=t&&(i=void 0),!n&&!i)break;const o=n?n.lineNumber-c:Number.MAX_VALUE,s=i?i.lineNumber-h:Number.MAX_VALUE;os?(l.dequeue(),n={lineNumber:i.lineNumber-h+c,heightInPx:0}):(r.dequeue(),l.dequeue()),u.push({originalRange:wh.ofLength(n.lineNumber,1),modifiedRange:wh.ofLength(i.lineNumber,1),originalHeightInPx:a+n.heightInPx,modifiedHeightInPx:d+i.heightInPx,diff:void 0})}}for(const p of n){const m=p.lineRangeMapping;g(m.original.startLineNumber,m.modified.startLineNumber);let f=!0,_=m.modified.startLineNumber,v=m.original.startLineNumber;function b(e,t){var n,i,o,s;if(et.lineNumbere+t.heightInPx),0))&&void 0!==i?i:0,m=null!==(s=null===(o=l.takeWhile((e=>e.lineNumbere+t.heightInPx),0))&&void 0!==s?s:0;u.push({originalRange:c,modifiedRange:h,originalHeightInPx:c.length*a+g,modifiedHeightInPx:h.length*d+m,diff:p.lineRangeMapping}),v=e,_=t}if(s)for(const w of m.innerChanges||[]){w.originalRange.startColumn>1&&w.modifiedRange.startColumn>1&&b(w.originalRange.startLineNumber,w.modifiedRange.startLineNumber);const C=e.getModel(),y=w.originalRange.endLineNumber<=C.getLineCount()?C.getLineMaxColumn(w.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;w.originalRange.endColumn1&&i.push({lineNumber:t,heightInPx:r*(e-1)})}for(const i of e.getWhitespaces()){if(t.has(i.id))continue;const e=0===i.afterLineNumber?0:s.convertViewPositionToModelPosition(new cd(i.afterLineNumber,1)).lineNumber;n.push({lineNumber:e,heightInPx:i.height})}return function(e,t,n,i){if(0===e.length)return t;if(0===t.length)return e;const o=[];let s=0,r=0;for(;sc?(o.push(d),r++):(o.push((a=d,{lineNumber:(l=i).lineNumber,heightInPx:l.heightInPx+a.heightInPx})),s++,r++)}for(var l,a;se.lineNumber))}XX=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([YX(8,fL),YX(9,HL)],XX);var eQ;let tQ=eQ=class extends lt{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,n,i){super(),this._editors=e,this._diffModel=t,this._options=n,this._instantiationService=i,this._modifiedOutlineSource=GE(this,(e=>{const t=this._editors.modifiedModel.read(e),n=eQ._breadcrumbsSourceFactory.read(e);return t&&n?n(t,this._instantiationService):void 0})),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition((e=>{if(1===e.reason)return;const t=this._diffModel.get();OE((e=>{for(const n of this._editors.original.getSelections()||[])null==t||t.ensureOriginalLineIsVisible(n.getStartPosition().lineNumber,0,e),null==t||t.ensureOriginalLineIsVisible(n.getEndPosition().lineNumber,0,e)}))}))),this._register(this._editors.modified.onDidChangeCursorPosition((e=>{if(1===e.reason)return;const t=this._diffModel.get();OE((e=>{for(const n of this._editors.modified.getSelections()||[])null==t||t.ensureModifiedLineIsVisible(n.getStartPosition().lineNumber,0,e),null==t||t.ensureModifiedLineIsVisible(n.getEndPosition().lineNumber,0,e)}))})));const o=this._diffModel.map(((e,t)=>{var n,i;const o=null!==(n=null==e?void 0:e.unchangedRegions.read(t))&&void 0!==n?n:[];return 1===o.length&&1===o[0].modifiedLineNumber&&o[0].lineCount===(null===(i=this._editors.modifiedModel.read(t))||void 0===i?void 0:i.getLineCount())?[]:o}));this.viewZones=$E(this,((e,t)=>{const n=this._modifiedOutlineSource.read(e);if(!n)return{origViewZones:[],modViewZones:[]};const i=[],s=[],r=this._options.renderSideBySide.read(e),l=o.read(e);for(const o of l)if(!o.shouldHideControls(e)){{const e=jE(this,(e=>o.getHiddenOriginalRange(e).startLineNumber-1)),s=new VY(e,24);i.push(s),t.add(new nQ(this._editors.original,s,o,o.originalUnchangedRange,!r,n,(e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0)),this._options))}{const e=jE(this,(e=>o.getHiddenModifiedRange(e).startLineNumber-1)),i=new VY(e,24);s.push(i),t.add(new nQ(this._editors.modified,i,o,o.modifiedUnchangedRange,!1,n,(e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0)),this._options))}}return{origViewZones:i,modViewZones:s}}));const s={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new ed(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(_(0,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+ka.asClassName(Sa.fold),zIndex:10001};this._register(PY(this._editors.original,jE(this,(e=>{const t=o.read(e),n=t.map((e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:s})));for(const i of t)i.shouldHideControls(e)&&n.push({range:nc.fromPositions(new cd(i.originalLineNumber,1)),options:r});return n})))),this._register(PY(this._editors.modified,jE(this,(e=>{const t=o.read(e),n=t.map((e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:s})));for(const i of t)i.shouldHideControls(e)&&n.push({range:wh.ofLength(i.modifiedLineNumber,1).toInclusiveRange(),options:r});return n})))),this._register(YE((e=>{const t=o.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map((t=>t.getHiddenOriginalRange(e).toInclusiveRange())).filter(pa)),this._editors.modified.setHiddenAreas(t.map((t=>t.getHiddenModifiedRange(e).toInclusiveRange())).filter(pa))}finally{this._isUpdatingHiddenAreas=!1}}))),this._register(this._editors.modified.onMouseUp((e=>{var t;if(!e.event.rightButton&&e.target.position&&(null===(t=e.target.element)||void 0===t?void 0:t.className.includes("fold-unchanged"))){const t=e.target.position.lineNumber,n=this._diffModel.get();if(!n)return;const i=n.unchangedRegions.get().find((e=>e.modifiedUnchangedRange.includes(t)));if(!i)return;i.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}}))),this._register(this._editors.original.onMouseUp((e=>{var t;if(!e.event.rightButton&&e.target.position&&(null===(t=e.target.element)||void 0===t?void 0:t.className.includes("fold-unchanged"))){const t=e.target.position.lineNumber,n=this._diffModel.get();if(!n)return;const i=n.unchangedRegions.get().find((e=>e.originalUnchangedRange.includes(t)));if(!i)return;i.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault()}})))}};tQ._breadcrumbsSourceFactory=VE("breadcrumbsSourceFactory",void 0),tQ=eQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,ad)],tQ);class nQ extends WY{constructor(e,t,n,i,o,s,r,l){const a=Dr("div.diff-hidden-lines-widget");super(e,t,a.root),this._editor=e,this._unchangedRegion=n,this._unchangedRegionRange=i,this._hide=o,this._modifiedOutlineSource=s,this._revealModifiedHiddenLine=r,this._options=l,this._nodes=Dr("div.diff-hidden-lines",[Dr("div.top@top",{title:_(0,"Click or drag to show more above")}),Dr("div.center@content",{style:{display:"flex"}},[Dr("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[mr("a",{title:_(0,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...bk("$(unfold)"))]),Dr("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),Dr("div.bottom@bottom",{title:_(0,"Click or drag to show more below"),role:"button"})]),a.root.appendChild(this._nodes.root);const d=iI(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));this._hide?cr(this._nodes.first):this._register(zY(this._nodes.first,{width:d.map((e=>e.contentLeft))})),this._register(YE((e=>{const t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!t),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle("canMoveBottom",!t);const n=this._unchangedRegion.isDragged.read(e),i=this._editor.getDomNode();i&&(i.classList.toggle("draggingUnchangedRegion",!!n),"top"===n?(i.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),i.classList.toggle("canMoveBottom",!t)):"bottom"===n?(i.classList.toggle("canMoveTop",!t),i.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(i.classList.toggle("canMoveTop",!1),i.classList.toggle("canMoveBottom",!1)))})));const u=this._editor;this._register(ms(this._nodes.top,"mousedown",(e=>{if(0!==e.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let n=!1;const i=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const o=is(this._nodes.top),s=ms(o,"mousemove",(e=>{const o=e.clientY-t;n=n||Math.abs(o)>2;const s=Math.round(o/u.getOption(67)),r=Math.max(0,Math.min(i+s,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(r,void 0)})),r=ms(o,"mouseup",(e=>{n||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),s.dispose(),r.dispose()}))}))),this._register(ms(this._nodes.bottom,"mousedown",(e=>{if(0!==e.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();const t=e.clientY;let n=!1;const i=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const o=is(this._nodes.bottom),s=ms(o,"mousemove",(e=>{const o=e.clientY-t;n=n||Math.abs(o)>2;const s=Math.round(o/u.getOption(67)),r=Math.max(0,Math.min(i-s,this._unchangedRegion.getMaxVisibleLineCountBottom())),l=this._unchangedRegionRange.endLineNumberExclusive>u.getModel().getLineCount()?u.getContentHeight():u.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(r,void 0);const a=this._unchangedRegionRange.endLineNumberExclusive>u.getModel().getLineCount()?u.getContentHeight():u.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);u.setScrollTop(u.getScrollTop()+(a-l))})),r=ms(o,"mouseup",(e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!n){const e=u.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const t=u.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);u.setScrollTop(u.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),s.dispose(),r.dispose()}))}))),this._register(YE((e=>{const t=[];if(!this._hide){const i=_(0,"{0} hidden lines",n.getHiddenModifiedRange(e).length),o=mr("span",{title:_(0,"Double click to unfold")},i);o.addEventListener("dblclick",(e=>{0===e.button&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))})),t.push(o);const s=this._unchangedRegion.getHiddenModifiedRange(e),r=this._modifiedOutlineSource.getBreadcrumbItems(s,e);if(r.length>0){t.push(mr("span",void 0,"  |  "));for(let e=0;e{this._revealModifiedHiddenLine(n.startLineNumber)}}}}cr(this._nodes.others,...t)})))}}var iQ;let oQ=iQ=class extends lt{constructor(e,t,n,i,o,s,r){super(),this._editors=e,this._rootElement=t,this._diffModel=n,this._rootWidth=i,this._rootHeight=o,this._modifiedEditorLayoutInfo=s,this._themeService=r,this.width=iQ.ENTIRE_DIFF_OVERVIEW_WIDTH;const l=iI(this._themeService.onDidColorThemeChange,(()=>this._themeService.getColorTheme())),a=jE((e=>{const t=l.read(e);return{insertColor:t.getColor(Ef)||(t.getColor(Df)||kf).transparent(2),removeColor:t.getColor(If)||(t.getColor(Nf)||Lf).transparent(2)}})),d=tL(document.createElement("div"));d.setClassName("diffViewport"),d.setPosition("absolute");const u=Dr("div.diffOverview",{style:{position:"absolute",top:"0px",width:iQ.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(OY(u,d.domNode)),this._register(_s(u,or.POINTER_DOWN,(e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)}))),this._register(ms(u,or.MOUSE_WHEEL,(e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:!1})),this._register(OY(this._rootElement,u)),this._register(JE(((e,t)=>{const n=this._diffModel.read(e),i=this._editors.original.createOverviewRuler("original diffOverviewRuler");i&&(t.add(i),t.add(OY(u,i.getDomNode())));const o=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(o&&(t.add(o),t.add(OY(u,o.getDomNode()))),!i||!o)return;const s=sI("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=sI("viewZoneChanged",this._editors.modified.onDidChangeViewZones),l=sI("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),c=sI("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);t.add(YE((e=>{var t;s.read(e),r.read(e),l.read(e),c.read(e);const d=a.read(e),u=null===(t=null==n?void 0:n.diff.read(e))||void 0===t?void 0:t.mappings;function h(e,t,n){const i=n._getViewModel();return i?e.filter((e=>e.length>0)).map((e=>{const n=i.coordinatesConverter.convertModelPositionToViewPosition(new cd(e.startLineNumber,1)),o=i.coordinatesConverter.convertModelPositionToViewPosition(new cd(e.endLineNumberExclusive,1)),s=o.lineNumber-n.lineNumber;return new qP(n.lineNumber,o.lineNumber,s,t.toString())})):[]}const g=h((u||[]).map((e=>e.lineRangeMapping.original)),d.removeColor,this._editors.original),p=h((u||[]).map((e=>e.lineRangeMapping.modified)),d.insertColor,this._editors.modified);null==i||i.setZones(g),null==o||o.setZones(p)}))),t.add(YE((e=>{const t=this._rootHeight.read(e),n=this._rootWidth.read(e),s=this._modifiedEditorLayoutInfo.read(e);if(s){const n=iQ.ENTIRE_DIFF_OVERVIEW_WIDTH-2*iQ.ONE_OVERVIEW_WIDTH;i.setLayout({top:0,height:t,right:n+iQ.ONE_OVERVIEW_WIDTH,width:iQ.ONE_OVERVIEW_WIDTH}),o.setLayout({top:0,height:t,right:0,width:iQ.ONE_OVERVIEW_WIDTH});const r=this._editors.modifiedScrollTop.read(e),l=this._editors.modifiedScrollHeight.read(e),a=this._editors.modified.getOption(103),u=new ZN(a.verticalHasArrows?a.arrowSize:0,a.verticalScrollbarSize,0,s.height,l,r);d.setTop(u.getSliderPosition()),d.setHeight(u.getSliderSize())}else d.setTop(0),d.setHeight(0);u.style.height=t+"px",u.style.left=n-iQ.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",d.setWidth(iQ.ENTIRE_DIFF_OVERVIEW_WIDTH)})))})))}};oQ.ONE_OVERVIEW_WIDTH=15,oQ.ENTIRE_DIFF_OVERVIEW_WIDTH=2*iQ.ONE_OVERVIEW_WIDTH,oQ=iQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(6,Tv)],oQ);const sQ=[];class rQ extends lt{constructor(e,t,n,i){super(),this._editors=e,this._diffModel=t,this._options=n,this._widget=i,this._selectedDiffs=jE(this,(e=>{const t=this._diffModel.read(e),n=null==t?void 0:t.diff.read(e);if(!n)return sQ;const i=this._editors.modifiedSelections.read(e);if(i.every((e=>e.isEmpty())))return sQ;const o=new Ch(i.map((e=>wh.fromRangeInclusive(e)))),s=n.mappings.filter((e=>e.lineRangeMapping.innerChanges&&o.intersects(e.lineRangeMapping.modified))).map((e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter((e=>i.some((t=>nc.areIntersecting(e.modifiedRange,t)))))})));return 0===s.length||s.every((e=>0===e.rangeMappings.length))?sQ:s})),this._register(JE(((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;const n=this._diffModel.read(e),i=null==n?void 0:n.diff.read(e);if(!n||!i)return;if(n.movedTextToCompare.read(e))return;const o=[],s=this._selectedDiffs.read(e),r=new Set(s.map((e=>e.mapping)));if(s.length>0){const n=this._editors.modifiedSelections.read(e),i=t.add(new lQ(n[n.length-1].positionLineNumber,this._widget,s.flatMap((e=>e.rangeMappings)),!0));this._editors.modified.addGlyphMarginWidget(i),o.push(i)}for(const e of i.mappings)if(!r.has(e)&&!e.lineRangeMapping.modified.isEmpty&&e.lineRangeMapping.innerChanges){const n=t.add(new lQ(e.lineRangeMapping.modified.startLineNumber,this._widget,e.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(n),o.push(n)}t.add(st((()=>{for(const e of o)this._editors.modified.removeGlyphMarginWidget(e)})))})))}}class lQ extends lt{getId(){return this._id}constructor(e,t,n,i){super(),this._lineNumber=e,this._widget=t,this._diffs=n,this._revertSelection=i,this._id="revertButton"+lQ.counter++,this._domNode=Dr("div.revertButton",{title:this._revertSelection?_(0,"Revert Selected Changes"):_(0,"Revert Change")},[wk(Sa.arrowRight)]).root,this._register(ms(this._domNode,or.MOUSE_DOWN,(e=>{2!==e.button&&(e.stopPropagation(),e.preventDefault())}))),this._register(ms(this._domNode,or.MOUSE_UP,(e=>{e.stopPropagation(),e.preventDefault()}))),this._register(ms(this._domNode,or.CLICK,(e=>{this._diffs instanceof FV?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()})))}getDomNode(){return this._domNode}getPosition(){return{lane:wc.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}lQ.counter=0;var aQ=function(e,t){return function(n,i){t(n,i,e)}};let dQ=class extends lt{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,n,i,o,s,r){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=n,this._argCodeEditorWidgetOptions=i,this._createInnerEditor=o,this._instantiationService=s,this._keybindingService=r,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new Ct),this.modifiedScrollTop=iI(this.modified.onDidScrollChange,(()=>this.modified.getScrollTop())),this.modifiedScrollHeight=iI(this.modified.onDidScrollChange,(()=>this.modified.getScrollHeight())),this.modifiedModel=iI(this.modified.onDidChangeModel,(()=>this.modified.getModel())),this.modifiedSelections=iI(this.modified.onDidChangeCursorSelection,(()=>{var e;return null!==(e=this.modified.getSelections())&&void 0!==e?e:[]})),this.modifiedCursor=qE({owner:this,equalityComparer:cd.equals},(e=>{var t,n;return null!==(n=null===(t=this.modifiedSelections.read(e)[0])||void 0===t?void 0:t.getPosition())&&void 0!==n?n:new cd(1,1)})),this.originalCursor=iI(this.original.onDidChangeCursorPosition,(()=>{var e;return null!==(e=this.original.getPosition())&&void 0!==e?e:new cd(1,1)})),this._argCodeEditorWidgetOptions=null,this._register(QE({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(n.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},((e,t)=>{n.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))})))}_createLeftHandSideEditor(e,t){const n=this._adjustOptionsForLeftHandSide(void 0,e),i=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,n,t);return i.setContextValue("isInDiffLeftEditor",!0),i}_createRightHandSideEditor(e,t){const n=this._adjustOptionsForRightHandSide(void 0,e),i=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,n,t);return i.setContextValue("isInDiffRightEditor",!0),i}_constructInnerEditor(e,t,n,i){const o=this._createInnerEditor(e,t,n,i);return this._register(o.onDidContentSizeChange((e=>{const t=this.original.getContentWidth()+this.modified.getContentWidth()+oQ.ENTIRE_DIFF_OVERVIEW_WIDTH,n=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:n,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})}))),o}_adjustOptionsForLeftHandSide(e,t){const n=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(n.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},n.wordWrapOverride1=this._options.diffWordWrap.get()):(n.wordWrapOverride1="off",n.wordWrapOverride2="off",n.stickyScroll={enabled:!1},n.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),n.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(n.ariaLabel=t.originalAriaLabel),n.ariaLabel=this._updateAriaLabel(n.ariaLabel),n.readOnly=!this._options.originalEditable.get(),n.dropIntoEditor={enabled:!n.readOnly},n.extraEditorClassName="original-in-monaco-diff-editor",n}_adjustOptionsForRightHandSide(e,t){const n=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(n.ariaLabel=t.modifiedAriaLabel),n.ariaLabel=this._updateAriaLabel(n.ariaLabel),n.wordWrapOverride1=this._options.diffWordWrap.get(),n.revealHorizontalRightPadding=$D.revealHorizontalRightPadding.defaultValue+oQ.ENTIRE_DIFF_OVERVIEW_WIDTH,n.scrollbar.verticalHasArrows=!1,n.extraEditorClassName="modified-in-monaco-diff-editor",n}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var t;e||(e="");const n=_(0," use {0} to open the accessibility help.",null===(t=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))||void 0===t?void 0:t.getAriaLabel());return this._options.accessibilityVerbose.get()?e+n:e?e.replaceAll(n,""):""}};dQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([aQ(5,ad),aQ(6,zL)],dQ);class uQ extends lt{constructor(){super(...arguments),this._id=++uQ.idCounter,this._onDidDispose=this._register(new Ct),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,n=0){this._targetEditor.revealLines(e,t,n)}revealLinesInCenter(e,t,n=0){this._targetEditor.revealLinesInCenter(e,t,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,n)}revealLinesNearTop(e,t,n=0){this._targetEditor.revealLinesNearTop(e,t,n)}revealRange(e,t=0,n=!1,i=!0){this._targetEditor.revealRange(e,t,n,i)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,n){this._targetEditor.trigger(e,t,n)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}uQ.idCounter=0;let cQ=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=VE(this,0),this._screenReaderMode=iI(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>this._accessibilityService.isScreenReaderOptimized())),this.couldShowInlineViewBecauseOfSize=jE(this,(e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint)),this.renderOverviewRuler=jE(this,(e=>this._options.read(e).renderOverviewRuler)),this.renderSideBySide=jE(this,(e=>this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e)))),this.readOnly=jE(this,(e=>this._options.read(e).readOnly)),this.shouldRenderOldRevertArrows=jE(this,(e=>!(!this._options.read(e).renderMarginRevertIcon||!this.renderSideBySide.read(e)||this.readOnly.read(e)||this.shouldRenderGutterMenu.read(e)))),this.shouldRenderGutterMenu=jE(this,(e=>this._options.read(e).renderGutterMenu)),this.renderIndicators=jE(this,(e=>this._options.read(e).renderIndicators)),this.enableSplitViewResizing=jE(this,(e=>this._options.read(e).enableSplitViewResizing)),this.splitViewDefaultRatio=jE(this,(e=>this._options.read(e).splitViewDefaultRatio)),this.ignoreTrimWhitespace=jE(this,(e=>this._options.read(e).ignoreTrimWhitespace)),this.maxComputationTimeMs=jE(this,(e=>this._options.read(e).maxComputationTime)),this.showMoves=jE(this,(e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e))),this.isInEmbeddedEditor=jE(this,(e=>this._options.read(e).isInEmbeddedEditor)),this.diffWordWrap=jE(this,(e=>this._options.read(e).diffWordWrap)),this.originalEditable=jE(this,(e=>this._options.read(e).originalEditable)),this.diffCodeLens=jE(this,(e=>this._options.read(e).diffCodeLens)),this.accessibilityVerbose=jE(this,(e=>this._options.read(e).accessibilityVerbose)),this.diffAlgorithm=jE(this,(e=>this._options.read(e).diffAlgorithm)),this.showEmptyDecorations=jE(this,(e=>this._options.read(e).experimental.showEmptyDecorations)),this.onlyShowAccessibleDiffViewer=jE(this,(e=>this._options.read(e).onlyShowAccessibleDiffViewer)),this.hideUnchangedRegions=jE(this,(e=>this._options.read(e).hideUnchangedRegions.enabled)),this.hideUnchangedRegionsRevealLineCount=jE(this,(e=>this._options.read(e).hideUnchangedRegions.revealLineCount)),this.hideUnchangedRegionsContextLineCount=jE(this,(e=>this._options.read(e).hideUnchangedRegions.contextLineCount)),this.hideUnchangedRegionsMinimumLineCount=jE(this,(e=>this._options.read(e).hideUnchangedRegions.minimumLineCount));const n={...e,...hQ(e,dD)};this._options=VE(this,n)}updateOptions(e){const t=hQ(e,this._options.get()),n={...this._options.get(),...e,...t};this._options.set(n,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}};function hQ(e,t){var n,i,o,s,r,l,a,d;return{enableSplitViewResizing:_D(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:CD(e.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:_D(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:_D(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:bD(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:bD(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:_D(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:_D(e.renderIndicators,t.renderIndicators),originalEditable:_D(e.originalEditable,t.originalEditable),diffCodeLens:_D(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:_D(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:xD(e.diffWordWrap,t.diffWordWrap,["off","on","inherit"]),diffAlgorithm:xD(e.diffAlgorithm,t.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:_D(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:_D(null===(n=e.experimental)||void 0===n?void 0:n.showMoves,t.experimental.showMoves),showEmptyDecorations:_D(null===(i=e.experimental)||void 0===i?void 0:i.showEmptyDecorations,t.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:_D(null!==(s=null===(o=e.hideUnchangedRegions)||void 0===o?void 0:o.enabled)&&void 0!==s?s:null===(r=e.experimental)||void 0===r?void 0:r.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:bD(null===(l=e.hideUnchangedRegions)||void 0===l?void 0:l.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:bD(null===(a=e.hideUnchangedRegions)||void 0===a?void 0:a.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:bD(null===(d=e.hideUnchangedRegions)||void 0===d?void 0:d.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:_D(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:_D(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:bD(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:_D(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:_D(e.renderGutterMenu,t.renderGutterMenu)}}cQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,qS)],cQ);class gQ extends lt{constructor(e,t,n){super(),this._editor=e,this._domNode=t,this.itemProvider=n,this.scrollTop=iI(this._editor.onDidScrollChange,(e=>this._editor.getScrollTop())),this.isScrollTopZero=this.scrollTop.map((e=>0===e)),this.modelAttached=iI(this._editor.onDidChangeModel,(e=>this._editor.hasModel())),this.editorOnDidChangeViewZones=sI("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=sI("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=lI("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const i=this._domNode.appendChild(Dr("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),o=new ResizeObserver((()=>{OE((e=>{this.domNodeSizeChanged.trigger(e)}))}));o.observe(this._domNode),this._register(st((()=>o.disconnect()))),this._register(YE((e=>{i.className=this.isScrollTopZero.read(e)?"":"scroll-decoration"}))),this._register(YE((e=>this.render(e))))}dispose(){super.dispose(),cr(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),n=this._editor.getVisibleRanges(),i=new Set(this.views.keys()),o=ch.ofStartAndLength(0,this._domNode.clientHeight);if(!o.isEmpty)for(const s of n){const n=new wh(s.startLineNumber,s.endLineNumber+1),r=this.itemProvider.getIntersectingGutterItems(n,e);OE((e=>{for(const s of r){if(!s.range.intersect(n))continue;i.delete(s.id);let r=this.views.get(s.id);if(r)r.item.set(s,e);else{const e=document.createElement("div");this._domNode.appendChild(e);const t=VE("item",s),n=this.itemProvider.createView(t,e);r=new pQ(t,n,e),this.views.set(s.id,r)}const l=s.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(s.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(s.range.startLineNumber-1,!1)-t,a=(s.range.isEmpty?l:this._editor.getBottomForLineNumber(s.range.endLineNumberExclusive-1,!0)-t)-l;r.domNode.style.top=`${l}px`,r.domNode.style.height=`${a}px`,r.gutterItemView.layout(ch.ofStartAndLength(l,a),o)}}))}for(const e of i){const t=this.views.get(e);t.gutterItemView.dispose(),this._domNode.removeChild(t.domNode),this.views.delete(e)}}}class pQ{constructor(e,t,n){this.item=e,this.gutterItemView=t,this.domNode=n}}class mQ extends md{constructor(e){super(),this._getContext=e}runAction(e,t){const n=this._getContext();return super.runAction(e,n)}}class fQ{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;tmu(e,((e,t)=>e.range.getEndPosition().isBeforeOrEqual(t.range.getStartPosition())))))}apply(e){let t="",n=new cd(1,1);for(const i of this.edits){const o=i.range,s=o.getStartPosition(),r=o.getEndPosition(),l=bQ(n,s);l.isEmpty()||(t+=e.getValueOfRange(l)),t+=i.text,n=r}const i=bQ(n,e.endPositionExclusive);return i.isEmpty()||(t+=e.getValueOfRange(i)),t}applyToString(e){const t=new CQ(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,n=0,i=0;for(const o of this.edits){const s=gp.ofText(o.text),r=cd.lift({lineNumber:o.range.startLineNumber+n,column:o.range.startColumn+(o.range.startLineNumber===t?i:0)}),l=s.createRange(r);e.push(l),n=l.endLineNumber-o.range.endLineNumber,i=l.endColumn-o.range.endColumn,t=o.range.endLineNumber}return e}}class vQ{constructor(e,t){this.range=e,this.text=t}}function bQ(e,t){if(!e.isBeforeOrEqual(t))throw new Re("start must be before end");return new nc(e.lineNumber,e.column,t.lineNumber,t.column)}class wQ{get endPositionExclusive(){return this.length.addToPosition(new cd(1,1))}}class CQ extends wQ{constructor(e){super(),this.value=e,this._t=new fQ(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}class yQ extends wQ{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new gp(e-1,t)}}var SQ=function(e,t){return function(n,i){t(n,i,e)}};const xQ=dd("hoverService");let kQ=class extends lt{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,n={},i,o){super(),this.placement=e,this.instantHover=t,this.overrideOptions=n,this.configurationService=i,this.hoverService=o,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new rt),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))})))}showHover(e,t){const n="function"==typeof this.overrideOptions?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const i=e.target instanceof HTMLElement?[e.target]:e.target.targetElements;for(const e of i)this.hoverDisposables.add(_s(e,"keydown",(e=>{e.equals(9)&&this.hoverService.hideHover()})));const o=e.content instanceof HTMLElement?void 0:e.content.toString();return this.hoverService.showHover({...e,...n,persistence:{hideOnKeyDown:!0,...n.persistence},id:o,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...n.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([SQ(3,pg),SQ(4,xQ)],kQ);var LQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},DQ=function(e,t){return function(n,i){t(n,i,e)}};const NQ=[];let EQ=class extends lt{constructor(e,t,n,i,o,s){var r,l;super(),this._diffModel=t,this._editors=n,this._instantiationService=i,this._contextKeyService=o,this._menuService=s,this._menu=this._register(this._menuService.createMenu(Su.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=iI(this._menu.onDidChange,(()=>this._menu.getActions())),this._hasActions=this._actions.map((e=>e.length>0)),this.width=jE(this,(e=>this._hasActions.read(e)?35:0)),this.elements=Dr("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:"35px"}},[]),this._currentDiff=jE(this,(e=>{var t;const n=this._diffModel.read(e);if(!n)return;const i=null===(t=n.diff.read(e))||void 0===t?void 0:t.mappings,o=this._editors.modifiedCursor.read(e);return o?null==i?void 0:i.find((e=>e.lineRangeMapping.modified.contains(o.lineNumber))):void 0})),this._selectedDiffs=jE(this,(e=>{const t=this._diffModel.read(e),n=null==t?void 0:t.diff.read(e);if(!n)return NQ;const i=this._editors.modifiedSelections.read(e);if(i.every((e=>e.isEmpty())))return NQ;const o=new Ch(i.map((e=>wh.fromRangeInclusive(e)))),s=n.mappings.filter((e=>e.lineRangeMapping.innerChanges&&o.intersects(e.lineRangeMapping.modified))).map((e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter((e=>i.some((t=>nc.areIntersecting(e.modifiedRange,t)))))})));return 0===s.length||s.every((e=>0===e.rangeMappings.length))?NQ:s})),this._register((r=e,l=this.elements.root,r.prepend(l),st((()=>{r.removeChild(l)})))),this._register(ms(this.elements.root,"click",(()=>{this._editors.modified.focus()}))),this._register(zY(this.elements.root,{display:this._hasActions.map((e=>e?"block":"none"))})),this._register(new gQ(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{const n=this._diffModel.read(t);if(!n)return[];const i=n.diff.read(t);if(!i)return[];const o=this._selectedDiffs.read(t);if(o.length>0){const e=BV.fromRangeMappings(o.flatMap((e=>e.rangeMappings)));return[new IQ(e,!0,Su.DiffEditorSelectionToolbar,void 0,n.model.original.uri,n.model.modified.uri)]}const s=this._currentDiff.read(t);return i.mappings.map((e=>new IQ(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===(null==s?void 0:s.lineRangeMapping),Su.DiffEditorHunkToolbar,void 0,n.model.original.uri,n.model.modified.uri)))},createView:(e,t)=>this._instantiationService.createInstance(MQ,e,t,this)})),this._register(ms(this.elements.gutter,or.MOUSE_WHEEL,(e=>{this._editors.modified.getOption(103).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:!1}))}computeStagedValue(e){var t;const n=null!==(t=e.innerChanges)&&void 0!==t?t:[];return new _Q(n.map((e=>new vQ(e.originalRange,this._editors.modifiedModel.get().getValueInRange(e.modifiedRange))))).apply(new yQ(this._editors.original.getModel()))}layout(e){this.elements.gutter.style.left=e+"px"}};EQ=LQ([DQ(3,ad),DQ(4,su),DQ(5,xu)],EQ);class IQ{constructor(e,t,n,i,o,s){this.mapping=e,this.showAlways=t,this.menuId=n,this.rangeOverride=i,this.originalUri=o,this.modifiedUri=s}get id(){return this.mapping.modified.toString()}get range(){var e;return null!==(e=this.rangeOverride)&&void 0!==e?e:this.mapping.modified}}let MQ=class extends lt{constructor(e,t,n,i){super(),this._item=e,this._elements=Dr("div.gutterItem",{style:{height:"20px",width:"34px"}},[Dr("div.background@background",{},[]),Dr("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,(e=>e.showAlways)),this._menuId=this._item.map(this,(e=>e.menuId)),this._isSmall=VE(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const o=this._register(i.createInstance(kQ,"element",!0,{position:{hoverPosition:1}}));this._register(OY(t,this._elements.root)),this._register(YE((e=>{const t=this._showAlways.read(e);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",t),setTimeout((()=>{this._elements.root.classList.toggle("noTransition",!1)}),0)}))),this._register(JE(((e,t)=>{this._elements.buttons.replaceChildren();const s=t.add(i.createInstance(ZZ,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:o,toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new mQ((()=>{const e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:n.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}})),menuOptions:{shouldForwardArgs:!0}}));t.add(s.onDidChangeMenuItems((()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)})))})))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let n=this._elements.buttons.clientHeight;this._isSmall.set(1===this._item.get().mapping.original.startLineNumber&&e.length<30,void 0),n=this._elements.buttons.clientHeight,this._elements.root.style.top=e.start+"px",this._elements.root.style.height=e.length+"px";const i=e.length/2-n/2,o=n;let s=e.start+i;const r=ch.tryCreate(o,t.endExclusive-o-n),l=ch.tryCreate(e.start+o,e.endExclusive-n-o);l&&r&&l.start!!this._options.onlyShowAccessibleDiffViewer.read(e)||this._accessibleDiffViewerShouldBeVisible.read(e))),this._movedBlocksLinesPart=VE(this,void 0),this._layoutInfo=jE(this,(e=>{var t,n,i,o,s;const r=this._rootSizeObserver.width.read(e),l=this._rootSizeObserver.height.read(e),a=this._sash.read(e),d=this._gutter.read(e),u=null!==(t=null==d?void 0:d.width.read(e))&&void 0!==t?t:0,c=null!==(i=null===(n=this._overviewRulerPart.read(e))||void 0===n?void 0:n.width)&&void 0!==i?i:0;let h,g,p,m,f;if(a){const t=a.sashLeft.read(e);h=0,g=t-u-(null!==(s=null===(o=this._movedBlocksLinesPart.read(e))||void 0===o?void 0:o.width.read(e))&&void 0!==s?s:0),f=t-u,p=t,m=r-p-c}else f=0,h=u,g=Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft),p=u+g,m=r-p-c;return this.elements.original.style.left=h+"px",this.elements.original.style.width=g+"px",this._editors.original.layout({width:g,height:l},!0),null==d||d.layout(f),this.elements.modified.style.left=p+"px",this.elements.modified.style.width=m+"px",this._editors.modified.layout({width:m,height:l},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}})),this._diffValue=this._diffModel.map(((e,t)=>null==e?void 0:e.diff.read(t))),this.onDidUpdateDiff=ft.fromObservableLight(this._diffValue),s.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(st((()=>this._domElement.removeChild(this.elements.root)))),this._rootSizeObserver=this._register(new FY(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(null!==(a=t.automaticLayout)&&void 0!==a&&a),this._options=this._instantiationService.createInstance(cQ,t),this._register(YE((e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))}))),this._contextKeyService.createKey(oc.isEmbeddedDiffEditor.key,!1),this._register($Y(oc.isEmbeddedDiffEditor,this._contextKeyService,(e=>this._options.isInEmbeddedEditor.read(e)))),this._register($Y(oc.comparingMovedCode,this._contextKeyService,(e=>{var t;return!!(null===(t=this._diffModel.read(e))||void 0===t?void 0:t.movedTextToCompare.read(e))}))),this._register($Y(oc.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,(e=>this._options.couldShowInlineViewBecauseOfSize.read(e)))),this._register($Y(oc.diffEditorInlineMode,this._contextKeyService,(e=>!this._options.renderSideBySide.read(e)))),this._register($Y(oc.hasChanges,this._contextKeyService,(e=>{var t,n,i;return(null!==(i=null===(n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.diff.read(e))||void 0===n?void 0:n.mappings.length)&&void 0!==i?i:0)>0}))),this._editors=this._register(this._instantiationService.createInstance(dQ,this.elements.original,this.elements.modified,this._options,n,((e,t,n,i)=>this._createInnerEditor(e,t,n,i)))),this._register($Y(oc.diffEditorOriginalWritable,this._contextKeyService,(e=>this._options.originalEditable.read(e)))),this._register($Y(oc.diffEditorModifiedWritable,this._contextKeyService,(e=>!this._options.readOnly.read(e)))),this._register($Y(oc.diffEditorOriginalUri,this._contextKeyService,(e=>{var t,n;return null!==(n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.model.original.uri.toString())&&void 0!==n?n:""}))),this._register($Y(oc.diffEditorModifiedUri,this._contextKeyService,(e=>{var t,n;return null!==(n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.model.modified.uri.toString())&&void 0!==n?n:""}))),this._overviewRulerPart=GE(this,(e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance(UY(oQ,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((e=>e.modifiedEditor))):void 0)).recomputeInitiallyAndOnChange(this._store),this._sash=GE(this,(e=>{const t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle("side-by-side",t),t?new TX(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(((e,t)=>{var n,i;return e-(null!==(i=null===(n=this._overviewRulerPart.read(t))||void 0===n?void 0:n.width)&&void 0!==i?i:0)}))},this._boundarySashes):void 0})).recomputeInitiallyAndOnChange(this._store);const d=GE(this,(e=>this._instantiationService.createInstance(UY(tQ,e),this._editors,this._diffModel,this._options))).recomputeInitiallyAndOnChange(this._store);GE(this,(e=>this._instantiationService.createInstance(UY(MX,e),this._editors,this._diffModel,this._options,this))).recomputeInitiallyAndOnChange(this._store);const u=new Set,c=new Set;let h=!1;const g=GE(this,(e=>this._instantiationService.createInstance(UY(XX,e),is(this._domElement),this._editors,this._diffModel,this._options,this,(()=>h||d.get().isUpdatingHiddenAreas),u,c))).recomputeInitiallyAndOnChange(this._store),p=jE(this,(e=>{const t=g.read(e).viewZones.read(e).orig,n=d.read(e).viewZones.read(e).origViewZones;return t.concat(n)})),m=jE(this,(e=>{const t=g.read(e).viewZones.read(e).mod,n=d.read(e).viewZones.read(e).modViewZones;return t.concat(n)}));let f;this._register(KY(this._editors.original,p,(e=>{h=e}),u)),this._register(KY(this._editors.modified,m,(e=>{h=e,h?f=OB.capture(this._editors.modified):(null==f||f.restore(this._editors.modified),f=void 0)}),c)),this._accessibleDiffViewer=GE(this,(e=>this._instantiationService.createInstance(UY(sX,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,((e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t)),this._options.onlyShowAccessibleDiffViewer.map((e=>!e)),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(((e,t)=>{var n;return null===(n=null==e?void 0:e.diff.read(t))||void 0===n?void 0:n.mappings.map((e=>e.lineRangeMapping))})),new mX(this._editors)))).recomputeInitiallyAndOnChange(this._store);const _=this._accessibleDiffViewerVisible.map((e=>e?"hidden":"visible"));this._register(zY(this.elements.modified,{visibility:_})),this._register(zY(this.elements.original,{visibility:_})),this._createDiffEditorContributions(),s.addDiffEditor(this),this._gutter=GE(this,(e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance(UY(EQ,e),this.elements.root,this._diffModel,this._editors):void 0)),this._register(dI(this._layoutInfo)),GE(this,(e=>new(UY(fX,e))(this.elements.root,this._diffModel,this._layoutInfo.map((e=>e.originalEditor)),this._layoutInfo.map((e=>e.modifiedEditor)),this._editors))).recomputeInitiallyAndOnChange(this._store,(e=>{this._movedBlocksLinesPart.set(e,void 0)})),this._register(zY(this.elements.overlay,{width:this._layoutInfo.map(((e,t)=>e.originalEditor.width+(this._options.renderSideBySide.read(t)?0:e.modifiedEditor.width))),visibility:jE((e=>{var t,n;return this._options.hideUnchangedRegions.read(e)&&0===(null===(n=null===(t=this._diffModel.read(e))||void 0===t?void 0:t.diff.read(e))||void 0===n?void 0:n.mappings.length)?"visible":"hidden"}))})),this._register(ft.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(e=>this._handleCursorPositionChange(e,!0)))),this._register(ft.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,(e=>this._handleCursorPositionChange(e,!1))));const v=this._diffModel.map(this,((e,t)=>{if(e)return void 0===e.diff.read(t)&&!e.isDiffUpToDate.read(t)}));this._register(JE(((e,t)=>{if(!0===v.read(e)){const e=this._editorProgressService.show(!0,1e3);t.add(st((()=>e.done())))}}))),this._register(st((()=>{var e;this._shouldDisposeDiffModel&&(null===(e=this._diffModel.get())||void 0===e||e.dispose())}))),this._register(JE(((e,t)=>{t.add(new(UY(rQ,e))(this._editors,this._diffModel,this._options,this))})))}_createInnerEditor(e,t,n,i){return e.createInstance(yB,t,n,i)}_createDiffEditorContributions(){const e=Yu.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(e){xe(e)}}get _targetEditor(){return this._editors.modified}getEditorType(){return WO.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var e;return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:null===(e=this._diffModel.get())||void 0===e?void 0:e.serializeState()}}restoreViewState(e){var t;if(e&&e.original&&e.modified){const n=e;this._editors.original.restoreViewState(n.original),this._editors.modified.restoreViewState(n.modified),n.modelState&&(null===(t=this._diffModel.get())||void 0===t||t.restoreSerializedState(n.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(VX,e,this._options)}getModel(){var e,t;return null!==(t=null===(e=this._diffModel.get())||void 0===e?void 0:e.model)&&void 0!==t?t:null}setModel(e,t){!e&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();const n=e?"model"in e?{model:e,shouldDispose:!1}:{model:this.createViewModel(e),shouldDispose:!0}:void 0;this._diffModel.get()!==(null==n?void 0:n.model)&&BE(t,(e=>{var t;iI.batchEventsGlobally(e,(()=>{this._editors.original.setModel(n?n.model.model.original:null),this._editors.modified.setModel(n?n.model.model.modified:null)}));const i=this._diffModel.get(),o=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=null!==(t=null==n?void 0:n.shouldDispose)&&void 0!==t&&t,this._diffModel.set(null==n?void 0:n.model,e),o&&(null==i||i.dispose())}))}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var e;const t=null===(e=this._diffModel.get())||void 0===e?void 0:e.diff.get();return t?t.mappings.map((e=>{const t=e.lineRangeMapping;let n,i,o,s,r=t.innerChanges;return t.original.isEmpty?(n=t.original.startLineNumber-1,i=0,r=void 0):(n=t.original.startLineNumber,i=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(o=t.modified.startLineNumber-1,s=0,r=void 0):(o=t.modified.startLineNumber,s=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:n,originalEndLineNumber:i,modifiedStartLineNumber:o,modifiedEndLineNumber:s,charChanges:null==r?void 0:r.map((e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn})))}})):null}revert(e){const t=this._diffModel.get();t&&t.isDiffUpToDate.get()&&this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const n=e.map((e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)})));this._editors.modified.executeEdits("diffEditor",n)}_goTo(e){this._editors.modified.setPosition(new cd(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var t,n,i,o;const s=null===(n=null===(t=this._diffModel.get())||void 0===t?void 0:t.diff.get())||void 0===n?void 0:n.mappings;if(!s||0===s.length)return;const r=this._editors.modified.getPosition().lineNumber;let l;l="next"===e?null!==(i=s.find((e=>e.lineRangeMapping.modified.startLineNumber>r)))&&void 0!==i?i:s[0]:null!==(o=gh(s,(e=>e.lineRangeMapping.modified.startLineNumber{var t;const n=null===(t=e.diff.get())||void 0===t?void 0:t.mappings;n&&0!==n.length&&this._goTo(n[0])}))}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){var e,t;const n=this._editors.modified.hasWidgetFocus(),i=n?this._editors.modified:this._editors.original,o=n?this._editors.original:this._editors.modified;let s;const r=i.getSelection();if(r){const i=null===(t=null===(e=this._diffModel.get())||void 0===e?void 0:e.diff.get())||void 0===t?void 0:t.mappings.map((e=>n?e.lineRangeMapping.flip():e.lineRangeMapping));if(i){const e=qY(r.getStartPosition(),i),t=qY(r.getEndPosition(),i);s=nc.plusRange(e,t)}}return{destination:o,destinationSelection:s}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var e;const t=null===(e=this._diffModel.get())||void 0===e?void 0:e.unchangedRegions.get();t&&OE((e=>{for(const n of t)n.collapseAll(e)}))}showAllUnchangedRegions(){var e;const t=null===(e=this._diffModel.get())||void 0===e?void 0:e.unchangedRegions.get();t&&OE((e=>{for(const n of t)n.showAll(e)}))}_handleCursorPositionChange(e,t){var n,i;if(3===(null==e?void 0:e.reason)){const o=null===(i=null===(n=this._diffModel.get())||void 0===n?void 0:n.diff.get())||void 0===i?void 0:i.mappings.find((n=>t?n.lineRangeMapping.modified.contains(e.position.lineNumber):n.lineRangeMapping.original.contains(e.position.lineNumber)));(null==o?void 0:o.lineRangeMapping.modified.isEmpty)?this._accessibilitySignalService.playSignal(XY.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):(null==o?void 0:o.lineRangeMapping.original.isEmpty)?this._accessibilitySignalService.playSignal(XY.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):o&&this._accessibilitySignalService.playSignal(XY.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};AQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([TQ(3,su),TQ(4,ad),TQ(5,ud),TQ(6,GY),TQ(7,bL)],AQ);class RQ extends Eu{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:v(0,"Toggle Show Moved Code Blocks"),precondition:Bd.has("isInDiffEditor")})}run(e,...t){const n=e.get(pg),i=!n.getValue("diffEditor.experimental.showMoves");n.updateValue("diffEditor.experimental.showMoves",i)}}class PQ extends Eu{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:v(0,"Toggle Use Inline View When Space Is Limited"),precondition:Bd.has("isInDiffEditor")})}run(e,...t){const n=e.get(pg),i=!n.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");n.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",i)}}const OQ=v(0,"Diff Editor");class FQ extends Eu{constructor(){super({id:"diffEditor.revert",title:v(0,"Revert"),f1:!1,category:OQ})}run(e,t){var n;const i=function(e,t,n){return e.get(ud).listDiffEditors().find((e=>{var i,o;const s=e.getModifiedEditor(),r=e.getOriginalEditor();return s&&(null===(i=s.getModel())||void 0===i?void 0:i.uri.toString())===n.toString()&&r&&(null===(o=r.getModel())||void 0===o?void 0:o.uri.toString())===t.toString()}))||null}(e,t.originalUri,t.modifiedUri);i instanceof AQ&&i.revertRangeMappings(null!==(n=t.mapping.innerChanges)&&void 0!==n?n:[])}}const BQ=v(0,"Accessible Diff Viewer");class WQ extends Eu{constructor(){super({id:WQ.id,title:v(0,"Go to Next Difference"),category:BQ,precondition:Bd.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=HQ(e);null==t||t.accessibleDiffViewerNext()}}WQ.id="editor.action.accessibleDiffViewer.next";class VQ extends Eu{constructor(){super({id:VQ.id,title:v(0,"Go to Previous Difference"),category:BQ,precondition:Bd.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=HQ(e);null==t||t.accessibleDiffViewerPrev()}}function HQ(e){const t=e.get(ud).listDiffEditors(),n=Vs();if(n)for(const e of t)if(zQ(e.getContainerDomNode(),n))return e;return null}function zQ(e,t){let n=t;for(;n;){if(n===e)return!0;n=n.parentElement}return!1}VQ.id="editor.action.accessibleDiffViewer.prev",Iu(class extends Eu{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:v(0,"Toggle Collapse Unchanged Regions"),icon:Sa.map,toggled:Bd.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Bd.has("isInDiffEditor"),menu:{when:Bd.has("isInDiffEditor"),id:Su.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const n=e.get(pg),i=!n.getValue("diffEditor.hideUnchangedRegions.enabled");n.updateValue("diffEditor.hideUnchangedRegions.enabled",i)}}),Iu(RQ),Iu(PQ),Lu.appendMenuItem(Su.EditorTitle,{command:{id:(new PQ).desc.id,title:_(0,"Use Inline View When Space Is Limited"),toggled:Bd.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Bd.has("isInDiffEditor")},order:11,group:"1_diff",when:Bd.and(oc.diffEditorRenderSideBySideInlineBreakpointReached,Bd.has("isInDiffEditor"))}),Lu.appendMenuItem(Su.EditorTitle,{command:{id:(new RQ).desc.id,title:_(0,"Show Moved Code Blocks"),icon:Sa.move,toggled:Ud.create("config.diffEditor.experimental.showMoves",!0),precondition:Bd.has("isInDiffEditor")},order:10,group:"1_diff",when:Bd.has("isInDiffEditor")}),Iu(FQ);for(const e of[{icon:Sa.arrowRight,key:oc.diffEditorInlineMode.toNegated()},{icon:Sa.discard,key:oc.diffEditorInlineMode}])Lu.appendMenuItem(Su.DiffEditorHunkToolbar,{command:{id:(new FQ).desc.id,title:_(0,"Revert Block"),icon:e.icon},when:Bd.and(oc.diffEditorModifiedWritable,e.key),order:5,group:"primary"}),Lu.appendMenuItem(Su.DiffEditorSelectionToolbar,{command:{id:(new FQ).desc.id,title:_(0,"Revert Selection"),icon:e.icon},when:Bd.and(oc.diffEditorModifiedWritable,e.key),order:5,group:"primary"});Iu(class extends Ku{constructor(){super({id:"diffEditor.switchSide",title:v(0,"Switch Side"),icon:Sa.arrowSwap,precondition:Bd.has("isInDiffEditor"),f1:!0,category:OQ})}runEditorCommand(e,t,n){const i=HQ(e);if(i instanceof AQ){if(n&&n.dryRun)return{destinationSelection:i.mapToOtherSide().destinationSelection};i.switchSide()}}}),Iu(class extends Ku{constructor(){super({id:"diffEditor.exitCompareMove",title:v(0,"Exit Compare Move"),icon:Sa.close,precondition:oc.comparingMovedCode,f1:!1,category:OQ,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...n){const i=HQ(e);i instanceof AQ&&i.exitCompareMove()}}),Iu(class extends Ku{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:v(0,"Collapse All Unchanged Regions"),icon:Sa.fold,precondition:Bd.has("isInDiffEditor"),f1:!0,category:OQ})}runEditorCommand(e,t,...n){const i=HQ(e);i instanceof AQ&&i.collapseAllUnchangedRegions()}}),Iu(class extends Ku{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:v(0,"Show All Unchanged Regions"),icon:Sa.unfold,precondition:Bd.has("isInDiffEditor"),f1:!0,category:OQ})}runEditorCommand(e,t,...n){const i=HQ(e);i instanceof AQ&&i.showAllUnchangedRegions()}}),Lu.appendMenuItem(Su.EditorTitle,{command:{id:WQ.id,title:_(0,"Open Accessible Diff Viewer"),precondition:Bd.has("isInDiffEditor")},order:10,group:"2_diff",when:Bd.and(oc.accessibleDiffViewerVisible.negate(),Bd.has("isInDiffEditor"))}),Cd.registerCommandAlias("editor.action.diffReview.next",WQ.id),Iu(WQ),Cd.registerCommandAlias("editor.action.diffReview.prev",VQ.id),Iu(VQ);var UQ=function(e,t){return function(n,i){t(n,i,e)}};class KQ{remove(){var e;null===(e=this.parent)||void 0===e||e.children.delete(this.id)}static findId(e,t){let n;"string"==typeof e?n=`${t.id}/${e}`:(n=`${t.id}/${e.name}`,void 0!==t.children.get(n)&&(n=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let i=n;for(let e=0;void 0!==t.children.get(i);e++)i=`${n}_${e}`;return i}static empty(e){return 0===e.children.size}}class jQ extends KQ{constructor(e,t,n){super(),this.id=e,this.parent=t,this.symbol=n,this.children=new Map}}class qQ extends KQ{constructor(e,t,n,i){super(),this.id=e,this.parent=t,this.label=n,this.order=i,this.children=new Map}}class $Q extends KQ{static create(e,t,n){const i=new Tt(n),o=new $Q(t.uri),s=e.ordered(t),r=s.map(((e,n)=>{var s;const r=KQ.findId(`provider_${n}`,o),l=new qQ(r,o,null!==(s=e.displayName)&&void 0!==s?s:"Unknown Outline Provider",n);return Promise.resolve(e.provideDocumentSymbols(t,i.token)).then((e=>{for(const t of e||[])$Q._makeOutlineElement(t,l);return l}),(e=>(ke(e),l))).then((e=>{KQ.empty(e)?e.remove():o._groups.set(r,e)}))})),l=e.onDidChange((()=>{Ic(e.ordered(t),s)||i.cancel()}));return Promise.all(r).then((()=>i.token.isCancellationRequested&&!n.isCancellationRequested?$Q.create(e,t,n):o._compact())).finally((()=>{i.dispose(),l.dispose(),i.dispose()}))}static _makeOutlineElement(e,t){const n=KQ.findId(e,t),i=new jQ(n,t,e);if(e.children)for(const t of e.children)$Q._makeOutlineElement(t,i);t.children.set(i.id,i)}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,n]of this._groups)0===n.children.size?this._groups.delete(t):e+=1;if(1!==e)this.children=this._groups;else{const e=Ye.first(this._groups.values());for(const[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof jQ?e.push(t.symbol):e.push(...Ye.map(t.children.values(),(e=>e.symbol)));return e.sort(((e,t)=>nc.compareRangesUsingStarts(e.range,t.range)))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return $Q._flattenDocumentSymbols(t,e,""),t.sort(((e,t)=>cd.compare(nc.getStartPosition(e.range),nc.getStartPosition(t.range))||cd.compare(nc.getEndPosition(t.range),nc.getEndPosition(e.range))))}static _flattenDocumentSymbols(e,t,n){for(const i of t)e.push({kind:i.kind,tags:i.tags,name:i.name,detail:i.detail,containerName:i.containerName||n,range:i.range,selectionRange:i.selectionRange,children:void 0}),i.children&&$Q._flattenDocumentSymbols(e,i.children,i.name)}}const GQ=dd("IOutlineModelService");let ZQ=class{constructor(e,t,n){this._languageFeaturesService=e,this._disposables=new rt,this._cache=new il(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(n.onModelRemoved((e=>{this._cache.delete(e.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const n=this._languageFeaturesService.documentSymbolProvider,i=n.ordered(e);let o=this._cache.get(e.id);if(!o||o.versionId!==e.getVersionId()||!Ic(o.provider,i)){const t=new Tt;o={versionId:e.getVersionId(),provider:i,promiseCnt:0,source:t,promise:$Q.create(n,e,t.token),model:void 0},this._cache.set(e.id,o);const s=Date.now();o.promise.then((t=>{o.model=t,this._debounceInformation.update(e,Date.now()-s)})).catch((t=>{this._cache.delete(e.id)}))}if(o.model)return o.model;o.promiseCnt+=1;const s=t.onCancellationRequested((()=>{0==--o.promiseCnt&&(o.source.cancel(),this._cache.delete(e.id))}));try{return await o.promise}finally{s.dispose()}}};ZQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([UQ(0,wx),UQ(1,sW),UQ(2,hd)],ZQ),yg(GQ,ZQ,1);var YQ=function(e,t){return function(n,i){t(n,i,e)}};let XQ=class extends lt{constructor(e,t,n){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=n,this._currentModel=VE(this,void 0);const i=sI("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),o=sI("_textModel.onDidChangeContent",ft.debounce((e=>this._textModel.onDidChangeContent(e)),(()=>{}),100));this._register(JE((async(e,t)=>{i.read(e),o.read(e);const n=t.add(new jY),s=await this._outlineModelService.getOrCreate(this._textModel,n.token);t.isDisposed||this._currentModel.set(s,void 0)})))}getBreadcrumbItems(e,t){const n=this._currentModel.read(t);if(!n)return[];const i=n.asListOfDocumentSymbols().filter((t=>e.contains(t.range.startLineNumber)&&!e.contains(t.range.endLineNumber)));return i.sort(Jc(Yc((e=>e.range.endLineNumber-e.range.startLineNumber),Xc))),i.map((e=>({name:e.name,kind:e.kind,startLineNumber:e.range.startLineNumber})))}};XQ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([YQ(1,wx),YQ(2,GQ)],XQ),tQ.setBreadcrumbsSourceFactory(((e,t)=>t.createInstance(XQ,e)));var QQ,JQ=n(8357),eJ={};eJ.styleTagTransform=Vr(),eJ.setAttributes=Or(),eJ.insert=Rr().bind(null,"head"),eJ.domAPI=Tr(),eJ.insertStyleElement=Br(),Ir()(JQ.A,eJ),JQ.A&&JQ.A.locals&&JQ.A.locals;class tJ{constructor(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n,this.targetSelection=null}getEditOperations(e,t){const n=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new nc(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),n),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new ic(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):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new ic(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):this.targetPosition.lineNumberthis._onEditorMouseDown(e)))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(e)))),this._register(this._editor.onMouseDrag((e=>this._onEditorMouseDrag(e)))),this._register(this._editor.onMouseDrop((e=>this._onEditorMouseDrop(e)))),this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled()))),this._register(this._editor.onKeyDown((e=>this.onEditorKeyDown(e)))),this._register(this._editor.onKeyUp((e=>this.onEditorKeyUp(e)))),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)&&(nJ(e)&&(this._modifierPressed=!0),this._mouseDown&&nJ(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){this._editor.getOption(35)&&!this._editor.getOption(22)&&(nJ(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===iJ.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(null===this._dragSelection){const e=(this._editor.getSelections()||[]).filter((e=>t.position&&e.containsPosition(t.position)));if(1!==e.length)return;this._dragSelection=e[0]}nJ(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 cd(e.target.position.lineNumber,e.target.position.column);if(null===this._dragSelection){let n=null;if(e.event.shiftKey){const e=this._editor.getSelection();if(e){const{selectionStartLineNumber:i,selectionStartColumn:o}=e;n=[new ic(i,o,t.lineNumber,t.column)]}}else n=(this._editor.getSelections()||[]).map((e=>e.containsPosition(t)?new ic(t.lineNumber,t.column,t.lineNumber,t.column):e));this._editor.setSelections(n||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(nJ(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(iJ.ID,new tJ(this._dragSelection,t,nJ(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 nc(e.lineNumber,e.column,e.lineNumber,e.column),options:iJ._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return 6===e.type||7===e.type}_hitMargin(e){return 2===e.type||3===e.type||4===e.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}iJ.ID="editor.contrib.dragAndDrop",iJ.TRIGGER_KEY_VALUE=U?6:5,iJ._DECORATION_OPTIONS=My.register({description:"dnd-target",className:"dnd-target"}),Zu(iJ.ID,iJ,2),Cd.registerCommand("_executeDocumentSymbolProvider",(async function(e,...t){const[n]=t;fa(Io.isUri(n));const i=e.get(GQ),o=e.get(gd),s=await o.createModelReference(n);try{return(await i.getOrCreate(s.object.textEditorModel,It.None)).getTopLevelSymbols()}finally{s.dispose()}})),Zu(JL.ID,JL,0),$H(Hx),qu(new class extends Hu{constructor(){super({id:YL,precondition:XL,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t){var n;return null===(n=JL.get(t))||void 0===n?void 0:n.changePasteType()}}),qu(new class extends Hu{constructor(){super({id:"editor.hidePasteWidget",precondition:XL,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t){var n;null===(n=JL.get(t))||void 0===n||n.clearWidgets()}}),$u((QQ=class extends zu{constructor(){super({id:"editor.action.pasteAs",label:_(0,"Paste As..."),alias:"Paste As...",precondition:oc.writable,metadata:{description:"Paste as",args:[{name:"args",schema:QQ.argsSchema}]}})}run(e,t,n){var i;let o="string"==typeof(null==n?void 0:n.kind)?n.kind:void 0;return!o&&n&&(o="string"==typeof n.id?n.id:void 0),null===(i=JL.get(t))||void 0===i?void 0:i.pasteAs(o?new dx(o):void 0)}},QQ.argsSchema={type:"object",properties:{kind:{type:"string",description:_(0,"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.")}}},QQ)),$u(class extends zu{constructor(){super({id:"editor.action.pasteAsText",label:_(0,"Paste as Text"),alias:"Paste as Text",precondition:oc.writable})}run(e,t){var n;return null===(n=JL.get(t))||void 0===n?void 0:n.pasteAs({providerId:Px.id})}});class oJ{constructor(e){this.identifier=e}}const sJ=dd("treeViewsDndService");yg(sJ,class{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}}},1);var rJ,lJ=function(e,t){return function(n,i){t(n,i,e)}};const aJ="editor.experimental.dropIntoEditor.defaultProvider",dJ="editor.changeDropType",uJ=new ou("dropWidgetVisible",!1,_(0,"Whether the drop widget is showing"));let cJ=rJ=class extends lt{static get(e){return e.getContribution(rJ.ID)}constructor(e,t,n,i,o){super(),this._configService=n,this._languageFeaturesService=i,this._treeViewsDragAndDropService=o,this.treeItemsTransfer=cx.getInstance(),this._dropProgressManager=this._register(t.createInstance(hk,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance($L,"dropIntoEditor",e,uJ,{id:dJ,label:_(0,"Show drop options...")})),this._register(e.onDropIntoEditor((t=>this.onDropIntoEditor(e,t.position,t.event))))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,n){var i;if(!n.dataTransfer||!e.hasModel())return;null===(i=this._currentOperation)||void 0===i||i.cancel(),e.focus(),e.setPosition(t);const o=Pt((async i=>{const s=new rk(e,1,void 0,i);try{const o=await this.extractDataTransferData(n);if(0===o.size||s.token.isCancellationRequested)return;const r=e.getModel();if(!r)return;const l=this._languageFeaturesService.documentOnDropEditProvider.ordered(r).filter((e=>!e.dropMimeTypes||e.dropMimeTypes.some((e=>o.matches(e))))),a=await this.getDropEdits(l,r,t,o,s);if(s.token.isCancellationRequested)return;if(a.length){const n=this.getInitialActiveEditIndex(r,a),o="afterDrop"===e.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([nc.fromPositions(t)],{activeEditIndex:n,allEdits:a},o,(async e=>e),i)}}finally{s.dispose(),this._currentOperation===o&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(t,_(0,"Running drop handlers. Click to cancel"),o),this._currentOperation=o}async getDropEdits(e,t,n,i,o){const s=await Ot(Promise.all(e.map((async e=>{try{const s=await e.provideDocumentOnDropEdits(t,n,i,o.token);return null==s?void 0:s.map((t=>({...t,providerId:e.id})))}catch(e){console.error(e)}}))),o.token);return tk(Oc(null!=s?s:[]).flat())}getInitialActiveEditIndex(e,t){const n=this._configService.getValue(aJ,{resource:e.uri});for(const[e,i]of Object.entries(n)){const n=new dx(i),o=t.findIndex((t=>n.value===t.providerId&&t.handledMimeType&&rx(e,[t.handledMimeType])));if(o>=0)return o}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new ox;const t=mx(e.dataTransfer);if(this.treeItemsTransfer.hasData(oJ.prototype)){const e=this.treeItemsTransfer.getData(oJ.prototype);if(Array.isArray(e))for(const n of e){const e=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(e)for(const[n,i]of e)t.replace(n,i)}}return t}};cJ.ID="editor.contrib.dropIntoEditorController",cJ=rJ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([lJ(1,ad),lJ(2,pg),lJ(3,wx),lJ(4,sJ)],cJ),Zu(cJ.ID,cJ,2),$H(Vx),qu(new class extends Hu{constructor(){super({id:dJ,precondition:uJ,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t,n){var i;null===(i=cJ.get(t))||void 0===i||i.changeDropType()}}),qu(new class extends Hu{constructor(){super({id:"editor.hideDropWidget",precondition:uJ,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t,n){var i;null===(i=cJ.get(t))||void 0===i||i.clearWidgets()}}),fu.as(Dg).registerConfiguration({...GD,properties:{[aJ]:{type:"object",scope:5,description:_(0,"Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class hJ{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((e=>this._editor.getModel().getDecorationRange(e))).filter((e=>!!e));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{if(null!==this._highlightedDecorationId&&(e.changeDecorationOptions(this._highlightedDecorationId,hJ._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==t&&(this._highlightedDecorationId=t,e.changeDecorationOptions(this._highlightedDecorationId,hJ._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(e.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==t){let n=this._editor.getModel().getDecorationRange(t);if(n.startLineNumber!==n.endLineNumber&&1===n.endColumn){const e=n.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);n=new nc(n.startLineNumber,n.startColumn,e,t)}this._rangeHighlightDecorationId=e.addDecoration(n,hJ._RANGE_HIGHLIGHT_DECORATION)}})),n}set(e,t){this._editor.changeDecorations((n=>{let i=hJ._FIND_MATCH_DECORATION;const o=[];if(e.length>1e3){i=hJ._FIND_MATCH_NO_OVERVIEW_DECORATION;const t=this._editor.getModel().getLineCount(),n=this._editor.getLayoutInfo().height/t,s=Math.max(2,Math.ceil(3/n));let r=e[0].range.startLineNumber,l=e[0].range.endLineNumber;for(let t=1,n=e.length;t=n.startLineNumber?n.endLineNumber>l&&(l=n.endLineNumber):(o.push({range:new nc(r,1,l,1),options:hJ._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=n.startLineNumber,l=n.endLineNumber)}o.push({range:new nc(r,1,l,1),options:hJ._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const s=new Array(e.length);for(let t=0,n=e.length;tn.removeDecoration(e))),this._findScopeDecorationIds=[]),(null==t?void 0:t.length)&&(this._findScopeDecorationIds=t.map((e=>n.addDecoration(e,hJ._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(e){if(0===this._decorations.length)return null;for(let t=this._decorations.length-1;t>=0;t--){const n=this._decorations[t],i=this._editor.getModel().getDecorationRange(n);if(i&&!(i.endLineNumber>e.lineNumber)){if(i.endLineNumbere.column))return i}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(0===this._decorations.length)return null;for(let t=0,n=this._decorations.length;te.lineNumber)return i;if(!(i.startColumn0){const e=[];for(let t=0;tnc.compareRangesUsingStarts(e.range,t.range)));const n=[];let i=e[0];for(let t=1;t0?t[0].toUpperCase()+t.substr(1):e[0][0].toUpperCase()!==e[0][0]&&t.length>0?t[0].toLowerCase()+t.substr(1):t}return t}function mJ(e,t,n){return-1!==e[0].indexOf(n)&&-1!==t.indexOf(n)&&e[0].split(n).length===t.split(n).length}function fJ(e,t,n){const i=t.split(n),o=e[0].split(n);let s="";return i.forEach(((e,t)=>{s+=pJ([o[t]],e)+n})),s.slice(0,-1)}class _J{constructor(e){this.staticValue=e,this.kind=0}}class vJ{constructor(e){this.pieces=e,this.kind=1}}class bJ{static fromStaticValue(e){return new bJ([wJ.staticValue(e)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?this._state=new _J(e[0].staticValue):this._state=new vJ(e):this._state=new _J("")}buildReplaceString(e,t){if(0===this._state.kind)return t?pJ(e,this._state.staticValue):this._state.staticValue;let n="";for(let t=0,i=this._state.pieces.length;t0){const e=[],t=i.caseOps.length;let n=0;for(let s=0,r=o.length;s=t){e.push(o.slice(s));break}switch(i.caseOps[n]){case"U":e.push(o[s].toUpperCase());break;case"u":e.push(o[s].toUpperCase()),n++;break;case"L":e.push(o[s].toLowerCase());break;case"l":e.push(o[s].toLowerCase()),n++;break;default:e.push(o[s])}}o=e.join("")}n+=o}return n}static _substitute(e,t){if(null===t)return"";if(0===e)return t[0];let n="";for(;e>0;){if(ethis.research(!1)),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((e=>{3!==e.reason&&5!==e.reason&&6!==e.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,it(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)}),240)):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 n=null;void 0!==t?null!==t&&(n=Array.isArray(t)?t:[t]):n=this._decorations.getFindScopes(),null!==n&&(n=n.map((e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return 1===e.endColumn&&(t-=1),new nc(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e})));const i=this._findMatches(n,!1,VJ);this._decorations.set(i,n);const o=this._editor.getSelection();let s=this._decorations.getCurrentMatchesPosition(o);if(0===s&&i.length>0){const e=fh(i.map((e=>e.range)),(e=>nc.compareRangesUsingStarts(e,o)>=0));s=e>0?e-1+1:s}this._state.changeMatchInfo(s,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:n,column:i}=e;const o=this._editor.getModel();return t||1===i?(1===n?n=o.getLineCount():n--,i=o.getLineMaxColumn(n)):i--,new cd(n,i)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const t=this._decorations.matchAfterPosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:n,column:i}=e;const o=this._editor.getModel();return t||i===o.getLineMaxColumn(n)?(n===o.getLineCount()?n=1:n++,i=1):i++,new cd(n,i)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const t=this._decorations.matchBeforePosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=o)break;const s=e.charCodeAt(i);if(36===s){n.emitUnchanged(i-1),n.emitStatic("$",i+1);continue}if(48===s||38===s){n.emitUnchanged(i-1),n.emitMatchIndex(0,i+1,t),t.length=0;continue}if(49<=s&&s<=57){let r=s-48;if(i+1=o)break;const s=e.charCodeAt(i);switch(s){case 92:n.emitUnchanged(i-1),n.emitStatic("\\",i+1);break;case 110:n.emitUnchanged(i-1),n.emitStatic("\n",i+1);break;case 116:n.emitUnchanged(i-1),n.emitStatic("\t",i+1);break;case 117:case 85:case 108:case 76:n.emitUnchanged(i-1),n.emitStatic("",i+1),t.push(String.fromCharCode(s))}}}return n.finalize()}(this._state.replaceString):bJ.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),!0,!1);if(n)if(t.equalsRange(n.range)){const i=e.buildReplaceString(n.matches,this._state.preserveCase),o=new Qy(t,i);this._executeEditorCommand("replace",o),this._decorations.setStartPosition(new cd(t.startLineNumber,t.startColumn+i.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}_findMatches(e,t,n){const i=(e||[null]).map((e=>HJ._getSearchRange(this._editor.getModel(),e)));return this._editor.getModel().findMatches(this._state.searchString,i,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null,t,n)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();null===e&&this._state.matchesCount>=VJ?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const e=new Zw(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e="mu";t.ignoreCase&&(e+="i"),t.global&&(e+="g"),t=new RegExp(t.source,e)}const n=this._editor.getModel(),i=n.getValue(1),o=n.getFullModelRange(),s=this._getReplacePattern();let r;const l=this._state.preserveCase;r=s.hasReplacementPatterns||l?i.replace(t,(function(){return s.buildReplaceString(arguments,l)})):i.replace(t,s.buildReplaceString(null,l));const a=new nS(o,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",a)}_regularReplaceAll(e){const t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),i=[];for(let e=0,o=n.length;ee.range)),i);this._executeEditorCommand("replaceAll",o)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let t=this._findMatches(e,!1,1073741824).map((e=>new ic(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)));const n=this._editor.getSelection();for(let e=0,i=t.length;ethis._hide()),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=n,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 i={inputActiveOptionBorder:ym(a_),inputActiveOptionForeground:ym(u_),inputActiveOptionBackground:ym(d_)},o=this._register(ML());this.caseSensitive=this._register(new wK({appendTitle:this._keybindingLabelFor(AJ),isChecked:this._state.matchCase,hoverDelegate:o,...i})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new CK({appendTitle:this._keybindingLabelFor(RJ),isChecked:this._state.wholeWord,hoverDelegate:o,...i})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new yK({appendTitle:this._keybindingLabelFor(PJ),isChecked:this._state.isRegex,hoverDelegate:o,...i})),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((e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()}))),this._register(ms(this._domNode,or.MOUSE_LEAVE,(e=>this._onMouseLeave()))),this._register(ms(this._domNode,"mouseover",(e=>this._onMouseOver())))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return KJ.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")}}function jJ(e,t){return 1===e||2!==e&&t}KJ.ID="editor.contrib.findOptionsWidget";class qJ extends lt{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return jJ(this._isRegexOverride,this._isRegex)}get wholeWord(){return jJ(this._wholeWordOverride,this._wholeWord)}get matchCase(){return jJ(this._matchCaseOverride,this._matchCase)}get preserveCase(){return jJ(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 Ct),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,n){const i={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 o=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,i.matchesPosition=!0,o=!0),this._matchesCount!==t&&(this._matchesCount=t,i.matchesCount=!0,o=!0),void 0!==n&&(nc.equalsRange(this._currentMatch,n)||(this._currentMatch=n,i.currentMatch=!0,o=!0)),o&&this._onFindReplaceStateChange.fire(i)}change(e,t,n=!0){var i;const o={moveCursor:t,updateHistory:n,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,l=this.wholeWord,a=this.matchCase,d=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,s=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,s=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,s=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,s=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&((null===(i=e.searchScope)||void 0===i?void 0:i.every((e=>{var t;return null===(t=this._searchScope)||void 0===t?void 0:t.some((t=>!nc.equalsRange(t,e)))})))||(this._searchScope=e.searchScope,o.searchScope=!0,s=!0)),void 0!==e.loop&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,s=!0),void 0!==e.isSearching&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,s=!0),void 0!==e.filters&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,s=!0),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,o.isRegex=!0),l!==this.wholeWord&&(s=!0,o.wholeWord=!0),a!==this.matchCase&&(s=!0,o.matchCase=!0),d!==this.preserveCase&&(s=!0,o.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=VJ}}var $J=n(5395),GJ={};GJ.styleTagTransform=Vr(),GJ.setAttributes=Or(),GJ.insert=Rr().bind(null,"head"),GJ.domAPI=Tr(),GJ.insertStyleElement=Br(),Ir()($J.A,GJ),$J.A&&$J.A.locals&&$J.A.locals;const ZJ=_(0,"input"),YJ=_(0,"Preserve Case");class XJ extends fK{constructor(e){var t;super({icon:Sa.preserveCase,title:YJ+e.appendTitle,isChecked:e.isChecked,hoverDelegate:null!==(t=e.hoverDelegate)&&void 0!==t?t:IL("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class QJ extends jN{constructor(e,t,n,i){super(),this._showOptionButtons=n,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Ct),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Ct),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Ct),this._onInput=this._register(new Ct),this._onKeyUp=this._register(new Ct),this._onPreserveCaseKeyDown=this._register(new Ct),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||ZJ;const o=i.appendPreserveCaseLabel||"",s=i.history||[],r=!!i.flexibleHeight,l=!!i.flexibleWidth,a=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new EK(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:s,showHistoryHint:i.showHistoryHint,flexibleHeight:r,flexibleWidth:l,flexibleMaxHeight:a,inputBoxStyles:i.inputBoxStyles})),this.preserveCase=this._register(new XJ({appendTitle:o,isChecked:!1,...i.toggleStyles})),this._register(this.preserveCase.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((e=>{this._onPreserveCaseKeyDown.fire(e)}))),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const d=[this.preserveCase.domNode];this.onkeydown(this.domNode,(e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){const t=d.indexOf(this.domNode.ownerDocument.activeElement);if(t>=0){let n=-1;e.equals(17)?n=(t+1)%d.length:e.equals(15)&&(n=0===t?d.length-1:t-1),e.equals(9)?(d[t].blur(),this.inputBox.focus()):n>=0&&d[n].focus(),rr(e,!0)}}}));const u=document.createElement("div");u.className="controls",u.style.display=this._showOptionButtons?"block":"none",u.appendChild(this.preserveCase.domNode),this.domNode.appendChild(u),null==e||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}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;null===(e=this.inputBox)||void 0===e||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var JJ=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},e2=function(e,t){return function(n,i){t(n,i,e)}};const t2=new ou("suggestWidgetVisible",!1,_(0,"Whether suggestion are visible")),n2="historyNavigationWidgetFocus",i2="historyNavigationForwardsEnabled",o2="historyNavigationBackwardsEnabled";let s2;const r2=[];function l2(e,t){if(r2.includes(t))throw new Error("Cannot register the same widget multiple times");r2.push(t);const n=new rt,i=new ou(n2,!1).bindTo(e),o=new ou(i2,!0).bindTo(e),s=new ou(o2,!0).bindTo(e),r=()=>{i.set(!0),s2=t},l=()=>{i.set(!1),s2===t&&(s2=void 0)};return Hs(t.element)&&r(),n.add(t.onDidFocus((()=>r()))),n.add(t.onDidBlur((()=>l()))),n.add(st((()=>{r2.splice(r2.indexOf(t),1),l()}))),{historyNavigationForwardsEnablement:o,historyNavigationBackwardsEnablement:s,dispose(){n.dispose()}}}let a2=class extends AK{constructor(e,t,n,i){super(e,t,n);const o=this._register(i.createScoped(this.inputBox.element));this._register(l2(o,this.inputBox))}};a2=JJ([e2(3,su)],a2);let d2=class extends QJ{constructor(e,t,n,i,o=!1){super(e,t,o,n);const s=this._register(i.createScoped(this.inputBox.element));this._register(l2(s,this.inputBox))}};function u2(e){var t,n;return"Up"===(null===(t=e.lookupKeybinding("history.showPrevious"))||void 0===t?void 0:t.getElectronAccelerator())&&"Down"===(null===(n=e.lookupKeybinding("history.showNext"))||void 0===n?void 0:n.getElectronAccelerator())}d2=JJ([e2(3,su)],d2),vu.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Bd.and(Bd.has(n2),Bd.equals(o2,!0),Bd.not("isComposing"),t2.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{null==s2||s2.showPreviousValue()}}),vu.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Bd.and(Bd.has(n2),Bd.equals(i2,!0),Bd.not("isComposing"),t2.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{null==s2||s2.showNextValue()}});const c2=fz("find-selection",Sa.selection,_(0,"Icon for 'Find in Selection' in the editor find widget.")),h2=fz("find-collapsed",Sa.chevronRight,_(0,"Icon to indicate that the editor find widget is collapsed.")),g2=fz("find-expanded",Sa.chevronDown,_(0,"Icon to indicate that the editor find widget is expanded.")),p2=fz("find-replace",Sa.replace,_(0,"Icon for 'Replace' in the editor find widget.")),m2=fz("find-replace-all",Sa.replaceAll,_(0,"Icon for 'Replace All' in the editor find widget.")),f2=fz("find-previous-match",Sa.arrowUp,_(0,"Icon for 'Find Previous' in the editor find widget.")),_2=fz("find-next-match",Sa.arrowDown,_(0,"Icon for 'Find Next' in the editor find widget.")),v2=_(0,"Find / Replace"),b2=_(0,"Find"),w2=_(0,"Find"),C2=_(0,"Previous Match"),y2=_(0,"Next Match"),S2=_(0,"Find in Selection"),x2=_(0,"Close"),k2=_(0,"Replace"),L2=_(0,"Replace"),D2=_(0,"Replace"),N2=_(0,"Replace All"),E2=_(0,"Toggle Replace"),I2=_(0,"Only the first {0} results are highlighted, but all find operations work on the entire text.",VJ),M2=_(0,"{0} of {1}"),T2=_(0,"No results"),A2=419;let R2=69;const P2="ctrlEnterReplaceAll.windows.donotask",O2=U?256:2048;class F2{constructor(e){this.afterLineNumber=e,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function B2(e,t,n){const i=!!t.match(/\n/);n&&i&&n.selectionStart>0&&e.stopPropagation()}function W2(e,t,n){const i=!!t.match(/\n/);n&&i&&n.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((e=>{if(e.hasChanged(91)&&(this._codeEditor.getOption(91)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(145)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(41)){const e=this._codeEditor.getOption(41).loop;this._state.change({loop:e},!1);const t=this._codeEditor.getOption(41).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new F2(0),this._showViewZone()),!t&&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 e=await this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}}))),this._findInputFocused=SJ.bindTo(s),this._findFocusTracker=this._register(ar(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=xJ.bindTo(s),this._replaceFocusTracker=this._register(ar(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 F2(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return V2.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(91)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=Ms(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 e=this._state.searchString.length>0&&0===this._state.matchesCount;this._domNode.classList.toggle("no-results",e),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,xe)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let e;if(this._matchesCount.style.minWidth=R2+"px",this._state.matchesCount>=VJ?this._matchesCount.title=I2:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=VJ&&(t+="+");let n=String(this._state.matchesPosition);"0"===n&&(n="?"),e=oi(M2,n,t)}else e=T2;this._matchesCount.appendChild(document.createTextNode(e)),Zr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),R2=Math.max(R2,this._matchesCount.clientWidth)}_getAriaLabel(e,t,n){if(e===T2)return""===n?_(0,"{0} found",e):_(0,"{0} found for '{1}'",e,n);if(t){const i=_(0,"{0} found for '{1}', at {2}",e,n,t.startLineNumber+":"+t.startColumn),o=this._codeEditor.getModel();return o&&t.startLineNumber<=o.getLineCount()&&t.startLineNumber>=1?`${o.getLineContent(t.startLineNumber)}, ${i}`:i}return _(0,"{0} found for '{1}'",e,n)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),n=this._toggleSelectionFind.checked;this._isVisible&&(n||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 n=!this._codeEditor.getOption(91);this._toggleReplaceBtn.setEnabled(this._isVisible&&n)}_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 t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;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 n=this._codeEditor.getDomNode();if(n){const i=Es(n),o=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),s=i.left+(o?o.left:0),r=o?o.top:0;if(this._viewZone&&re.startLineNumber&&(t=!1);const n=Ns(this._domNode).left;s>n&&(t=!1);const o=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());i.left+(o?o.left:0)>n&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach((e=>{clearTimeout(e)})),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)return void this._removeViewZone();if(!this._isVisible)return;const t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones((n=>{t.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)}))}_showViewZone(e=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new F2(0));const t=this._viewZone;this._codeEditor.changeViewZones((n=>{if(void 0!==this._viewZoneId){const i=this._getHeight();if(i===t.heightInPx)return;const o=i-t.heightInPx;return t.heightInPx=i,n.layoutZone(this._viewZoneId),void(e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+o))}{let i=this._getHeight();if(i-=this._codeEditor.getOption(84).top,i<=0)return;t.heightInPx=i,this._viewZoneId=n.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+i)}}))}_removeViewZone(){this._codeEditor.changeViewZones((e=>{void 0!==this._viewZoneId&&(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)return;if(!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const t=e.width,n=e.minimap.minimapWidth;let i=!1,o=!1,s=!1;if(this._resized&&Ms(this._domNode)>A2)return this._domNode.style.maxWidth=t-28-n-15+"px",void(this._replaceInput.width=Ms(this._findInput.domNode));if(447+n>=t&&(o=!0),447+n-R2>=t&&(s=!0),447+n-R2>=t+50&&(i=!0),this._domNode.classList.toggle("collapsed-find-widget",i),this._domNode.classList.toggle("narrow-find-widget",s),this._domNode.classList.toggle("reduced-find-widget",o),s||i||(this._domNode.style.maxWidth=t-28-n-15+"px"),this._findInput.layout({collapsedFindWidget:i,narrowFindWidget:s,reducedFindWidget:o}),this._resized){const e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=Ms(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(null===this._cachedHeight||this._cachedHeight!==e)&&(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((e=>{1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));const t=this._state.currentMatch;return e.startLineNumber===e.endLineNumber||nc.equalsRange(e,t)?null:e})).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){return e.equals(3|O2)?(this._keybindingService.dispatchEvent(e,e.target)||this._findInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?B2(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?W2(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(e){return e.equals(3|O2)?(this._keybindingService.dispatchEvent(e,e.target)||(z&&j&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(_(0,"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(P2,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?B2(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?W2(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){const e=!0,t=!0;this._findInput=this._register(new a2(null,this._contextViewProvider,{width:221,label:b2,placeholder:w2,appendCaseSensitiveLabel:this._keybindingLabelFor(AJ),appendWholeWordsLabel:this._keybindingLabelFor(RJ),appendRegexLabel:this._keybindingLabelFor(PJ),validation:e=>{if(0===e.length||!this._findInput.getRegex())return null;try{return new RegExp(e,"gu"),null}catch(e){return{content:e.message}}},flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>u2(this._keybindingService),inputBoxStyles:CM,toggleStyles:wM},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((e=>this._onFindInputKeyDown(e)))),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((e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((e=>{this._tryUpdateHeight()&&this._showViewZone()}))),K&&this._register(this._findInput.onMouseDown((e=>this._onFindInputMouseDown(e)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const n=this._register(ML());this._prevBtn=this._register(new H2({label:C2+this._keybindingLabelFor(MJ),icon:f2,hoverDelegate:n,onTrigger:()=>{_a(this._codeEditor.getAction(MJ)).run().then(void 0,xe)}})),this._nextBtn=this._register(new H2({label:y2+this._keybindingLabelFor(IJ),icon:_2,hoverDelegate:n,onTrigger:()=>{_a(this._codeEditor.getAction(IJ)).run().then(void 0,xe)}}));const i=document.createElement("div");i.className="find-part",i.appendChild(this._findInput.domNode);const o=document.createElement("div");o.className="find-actions",i.appendChild(o),o.appendChild(this._matchesCount),o.appendChild(this._prevBtn.domNode),o.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new fK({icon:c2,title:S2+this._keybindingLabelFor(OJ),isChecked:!1,hoverDelegate:n,inputActiveOptionBackground:ym(d_),inputActiveOptionBorder:ym(a_),inputActiveOptionForeground:ym(u_)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let e=this._codeEditor.getSelections();e=e.map((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)}))),o.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new H2({label:x2+this._keybindingLabelFor(TJ),icon:Cz,hoverDelegate:n,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}})),this._replaceInput=this._register(new d2(null,void 0,{label:k2,placeholder:L2,appendPreserveCaseLabel:this._keybindingLabelFor(FJ),history:[],flexibleHeight:e,flexibleWidth:t,flexibleMaxHeight:118,showHistoryHint:()=>u2(this._keybindingService),inputBoxStyles:CM,toggleStyles:wM},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((e=>this._onReplaceInputKeyDown(e)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((e=>{e.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(),e.preventDefault())})));const s=this._register(ML());this._replaceBtn=this._register(new H2({label:D2+this._keybindingLabelFor(BJ),icon:p2,hoverDelegate:s,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}})),this._replaceAllBtn=this._register(new H2({label:N2+this._keybindingLabelFor(WJ),icon:m2,hoverDelegate:s,onTrigger:()=>{this._controller.replaceAll()}}));const r=document.createElement("div");r.className="replace-part",r.appendChild(this._replaceInput.domNode);const l=document.createElement("div");l.className="replace-actions",r.appendChild(l),l.appendChild(this._replaceBtn.domNode),l.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new H2({label:E2,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Ms(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),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=v2,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(i),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(r),this._resizeSash=this._register(new uU(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let a=A2;this._register(this._resizeSash.onDidStart((()=>{a=Ms(this._domNode)}))),this._register(this._resizeSash.onDidChange((e=>{this._resized=!0;const t=a+e.startX-e.currentX;t(parseFloat(xs(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=Ms(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const e=Ms(this._domNode);if(e{this._opts.onTrigger(),e.preventDefault()})),this.onkeydown(this._domNode,(e=>{var t,n;if(e.equals(10)||e.equals(3))return this._opts.onTrigger(),void e.preventDefault();null===(n=(t=this._opts).onKeyDown)||void 0===n||n.call(t,e)}))}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(...ka.asClassNameArray(h2)),this._domNode.classList.add(...ka.asClassNameArray(g2))):(this._domNode.classList.remove(...ka.asClassNameArray(g2)),this._domNode.classList.add(...ka.asClassNameArray(h2)))}}Fv(((e,t)=>{const n=e.getColor(pf);n&&t.addRule(`.monaco-editor .findMatch { border: 1px ${Iv(e.type)?"dotted":"solid"} ${n}; box-sizing: border-box; }`);const i=e.getColor(mf);i&&t.addRule(`.monaco-editor .findScope { border: 1px ${Iv(e.type)?"dashed":"solid"} ${i}; }`);const o=e.getColor(Bm);o&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${o}; }`)}));var z2,U2=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},K2=function(e,t){return function(n,i){t(n,i,e)}};function j2(e,t="single",n=!1){if(!e.hasModel())return null;const i=e.getSelection();if("single"===t&&i.startLineNumber===i.endLineNumber||"multiple"===t)if(i.isEmpty()){const t=e.getConfiguredWordAtPosition(i.getStartPosition());if(t&&!1===n)return t.word}else if(e.getModel().getValueLengthInRange(i)<524288)return e.getModel().getValueInRange(i);return null}let q2=z2=class extends lt{get editor(){return this._editor}static get(e){return e.getContribution(z2.ID)}constructor(e,t,n,i,o){super(),this._editor=e,this._findWidgetVisible=yJ.bindTo(t),this._contextKeyService=t,this._storageService=n,this._clipboardService=i,this._notificationService=o,this._updateHistoryDelayer=new Bt(500),this._state=this._register(new qJ),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const e=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),e&&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!!SJ.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((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=ri(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const n={...t,isRevealed:!0};if("single"===e.seedSearchStringFromSelection){const t=j2(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(this._state.isRegex?n.searchString=ri(t):n.searchString=t)}else if("multiple"===e.seedSearchStringFromSelection&&!e.updateSearchScope){const t=j2(this._editor,e.seedSearchStringFromSelection);t&&(n.searchString=t)}if(!n.searchString&&e.seedSearchStringFromGlobalClipboard){const e=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(n.searchString=e)}if(e.forceRevealReplace||n.isReplaceRevealed?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){const e=this._editor.getSelections();e.some((e=>!e.isEmpty()))&&(n.searchScope=e)}n.loop=e.loop,this._state.change(n,!1),this._model||(this._model=new HJ(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(e){return!!this._model&&(this._model.moveToMatch(e),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){var e;return!!this._model&&((null===(e=this._editor.getModel())||void 0===e?void 0:e.isTooLargeForHeapOperation())?(this._notificationService.warn(_(0,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}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)}};q2.ID="editor.contrib.findController",q2=z2=U2([K2(1,su),K2(2,KB),K2(3,fL),K2(4,nN)],q2);let $2=class extends q2{constructor(e,t,n,i,o,s,r,l){super(e,n,r,l,s),this._contextViewService=t,this._keybindingService=i,this._themeService=o,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const n=this._editor.getSelection();let i=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":i=!0;break;case"never":i=!1;break;case"multiline":i=!!n&&n.startLineNumber!==n.endLineNumber}e.updateSearchScope=e.updateSearchScope||i,await super._start(e,t),this._widget&&(2===e.shouldFocus?this._widget.focusReplaceInput():1===e.shouldFocus&&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 V2(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new KJ(this._editor,this._state,this._keybindingService))}};$2=U2([K2(1,VL),K2(2,su),K2(3,zL),K2(4,Tv),K2(5,nN),K2(6,KB),K2(7,fL)],$2),Gu(new Uu({id:"actions.find",label:_(0,"Find"),alias:"Find",precondition:Bd.or(oc.focus,Bd.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Su.MenubarEditMenu,group:"3_find",title:_(0,"&&Find"),order:1}})).addImplementation(0,((e,t,n)=>{const i=q2.get(t);return!!i&&i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})}));const G2={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 Z2 extends zu{async run(e,t){const n=q2.get(t);n&&!this._run(n)&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(n))}}class Y2 extends zu{async run(e,t){const n=q2.get(t);if(!n)return;const i=j2(t,"single",!1);i&&n.setSearchString(i),this._run(n)||(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(n))}}Gu(new Uu({id:"editor.action.startFindReplaceAction",label:_(0,"Replace"),alias:"Replace",precondition:Bd.or(oc.focus,Bd.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Su.MenubarEditMenu,group:"3_find",title:_(0,"&&Replace"),order:2}})).addImplementation(0,((e,t,n)=>{if(!t.hasModel()||t.getOption(91))return!1;const i=q2.get(t);if(!i)return!1;const o=t.getSelection(),s=i.isFindInputFocused(),r=!o.isEmpty()&&o.startLineNumber===o.endLineNumber&&"never"!==t.getOption(41).seedSearchStringFromSelection&&!s,l=s||r?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==t.getOption(41).seedSearchStringFromSelection,shouldFocus:l,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop})})),Zu(q2.ID,$2,0),$u(class extends zu{constructor(){super({id:"editor.actions.findWithArgs",label:_(0,"Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:G2})}async run(e,t,n){const i=q2.get(t);if(i){const e=n?{searchString:n.searchString,replaceString:n.replaceString,isReplaceRevealed:void 0!==n.replaceString,isRegex:n.isRegex,wholeWord:n.matchWholeWord,matchCase:n.isCaseSensitive,preserveCase:n.preserveCase}:{};await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===i.getState().searchString.length&&"never"!==t.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null==n?void 0:n.findInSelection)||!1,loop:t.getOption(41).loop},e),i.setGlobalBufferTerm(i.getState().searchString)}}}),$u(class extends zu{constructor(){super({id:"actions.findWithSelection",label:_(0,"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 n=q2.get(t);n&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),n.setGlobalBufferTerm(n.getState().searchString))}}),$u(class extends Z2{constructor(){super({id:IJ,label:_(0,"Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:oc.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Bd.and(oc.focus,SJ),primary:3,weight:100}]})}_run(e){return!!e.moveToNextMatch()&&(e.editor.pushUndoStop(),!0)}}),$u(class extends Z2{constructor(){super({id:MJ,label:_(0,"Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:oc.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Bd.and(oc.focus,SJ),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}),$u(class extends zu{constructor(){super({id:"editor.action.goToMatchFindAction",label:_(0,"Go to Match..."),alias:"Go to Match...",precondition:yJ}),this._highlightDecorations=[]}run(e,t,n){const i=q2.get(t);if(!i)return;const o=i.getState().matchesCount;if(o<1)return void e.get(nN).notify({severity:tN.Warning,message:_(0,"No matches. Try searching for something else.")});const s=e.get(SL).createInputBox();s.placeholder=_(0,"Type a number to go to a specific match (between 1 and {0})",o);const r=e=>{const t=parseInt(e);if(isNaN(t))return;const n=i.getState().matchesCount;return t>0&&t<=n?t-1:t<0&&t>=-n?n+t:void 0},l=e=>{const n=r(e);if("number"==typeof n){s.validationMessage=void 0,i.goToMatch(n);const e=i.getState().currentMatch;e&&this.addDecorations(t,e)}else s.validationMessage=_(0,"Please type a number between 1 and {0}",i.getState().matchesCount),this.clearDecorations(t)};s.onDidChangeValue((e=>{l(e)})),s.onDidAccept((()=>{const e=r(s.value);"number"==typeof e?(i.goToMatch(e),s.hide()):s.validationMessage=_(0,"Please type a number between 1 and {0}",i.getState().matchesCount)})),s.onDidHide((()=>{this.clearDecorations(t),s.dispose()})),s.show()}clearDecorations(e){e.changeDecorations((e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(e,t){e.changeDecorations((e=>{this._highlightDecorations=e.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:Av(mb),position:bc.Full}}}])}))}}),$u(class extends Y2{constructor(){super({id:"editor.action.nextSelectionMatchFindAction",label:_(0,"Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}),$u(class extends Y2{constructor(){super({id:"editor.action.previousSelectionMatchFindAction",label:_(0,"Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}});const X2=Hu.bindToContribution(q2.get);qu(new X2({id:TJ,precondition:yJ,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:Bd.and(oc.focus,Bd.not("isComposing")),primary:9,secondary:[1033]}})),qu(new X2({id:AJ,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:oc.focus,primary:kJ.primary,mac:kJ.mac,win:kJ.win,linux:kJ.linux}})),qu(new X2({id:RJ,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:oc.focus,primary:LJ.primary,mac:LJ.mac,win:LJ.win,linux:LJ.linux}})),qu(new X2({id:PJ,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:oc.focus,primary:DJ.primary,mac:DJ.mac,win:DJ.win,linux:DJ.linux}})),qu(new X2({id:OJ,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:oc.focus,primary:NJ.primary,mac:NJ.mac,win:NJ.win,linux:NJ.linux}})),qu(new X2({id:FJ,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:oc.focus,primary:EJ.primary,mac:EJ.mac,win:EJ.win,linux:EJ.linux}})),qu(new X2({id:BJ,precondition:yJ,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:oc.focus,primary:3094}})),qu(new X2({id:BJ,precondition:yJ,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:Bd.and(oc.focus,xJ),primary:3}})),qu(new X2({id:WJ,precondition:yJ,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:oc.focus,primary:2563}})),qu(new X2({id:WJ,precondition:yJ,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:Bd.and(oc.focus,xJ),primary:void 0,mac:{primary:2051}}})),qu(new X2({id:"editor.action.selectAllMatches",precondition:yJ,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:oc.focus,primary:515}}));var Q2=n(5405),J2={};J2.styleTagTransform=Vr(),J2.setAttributes=Or(),J2.insert=Rr().bind(null,"head"),J2.domAPI=Tr(),J2.insertStyleElement=Br(),Ir()(Q2.A,J2),Q2.A&&Q2.A.locals&&Q2.A.locals;const e3={0:" ",1:"u",2:"r"},t3=16777215,n3=4278190080;class i3{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,n=e%32;return!!(this._states[t]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new i3(e.length),this._userDefinedStates=new i3(e.length),this._recoveredStates=new i3(e.length),this._types=n,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(t,n)=>{const i=e[e.length-1];return this.getStartLineNumber(i)<=t&&this.getEndLineNumber(i)>=n};for(let n=0,i=this._startIndexes.length;nt3||o>t3)throw new Error("startLineNumber or endLineNumber must not exceed "+t3);for(;e.length>0&&!t(i,o);)e.pop();const s=e.length>0?e[e.length-1]:-1;e.push(n),this._startIndexes[n]=i+((255&s)<<24),this._endIndexes[n]=o+((65280&s)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&t3}getEndLineNumber(e){return this._endIndexes[e]&t3}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){1===t?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):2===t?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let n=!1;if(this._types)for(let i=0;i>>24)+((this._endIndexes[e]&n3)>>>16);return 65535===t?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,n=this._startIndexes.length;if(0===n)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(e)?n=>nn=d.startLineNumber))a&&a.startLineNumber===d.startLineNumber?(1===d.source?e=d:(e=a,e.isCollapsed=d.isCollapsed&&a.endLineNumber===d.endLineNumber,e.source=0),a=o(++r)):(e=d,d.isCollapsed&&0===d.source&&(e.source=2)),d=s(++l);else{let t=l,n=d;for(;;){if(!n||n.startLineNumber>a.endLineNumber){e=a;break}if(1===n.source&&n.endLineNumber>a.endLineNumber)break;n=s(++t)}a=o(++r)}if(e){for(;c&&c.endLineNumbere.startLineNumber&&e.startLineNumber>h&&e.endLineNumber<=n&&(!c||c.endLineNumber>=e.endLineNumber)&&(g.push(e),h=e.startLineNumber,c&&u.push(c),c=e)}}return g}}class s3{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 r3{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Ct,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new o3(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort(((e,t)=>e.regionIndex-t.regionIndex));const t={};this._decorationProvider.changeDecorations((n=>{let i=0,o=-1,s=-1;const r=e=>{for(;is&&(s=e),i++}};for(const n of e){const e=n.regionIndex,i=this._editorDecorationIds[e];if(i&&!t[i]){t[i]=!0,r(e);const n=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,n),o=Math.max(o,this._regions.getEndLineNumber(e))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,n=t=>{for(const n of e)if(!(n.startLineNumber>t.endLineNumber||t.startLineNumber>n.endLineNumber))return!0;return!1};for(let e=0;en&&(n=s)}this._decorationProvider.changeDecorations((e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t))),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){const t=(t,n)=>{for(const i of e)if(t=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>n)continue;const s=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);t.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,isCollapsed:o.isCollapsed,source:o.source,checksum:s})}return t.length>0?t:void 0}applyMemento(e){var t,n;if(!Array.isArray(e))return;const i=[],o=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>o)continue;const e=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);s.checksum&&e!==s.checksum||i.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:null===(t=s.isCollapsed)||void 0===t||t,source:null!==(n=s.source)&&void 0!==n?n:0})}const s=o3.sanitizeAndMerge(this._regions,i,o);this.updatePost(o3.fromFoldRanges(s))}_getLinesChecksum(e,t){return Go(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const n=[];if(this._regions){let i=this._regions.findRange(e),o=1;for(;i>=0;){const e=this._regions.toRegion(i);t&&!t(e,o)||n.push(e),o++,i=e.parentIndex}}return n}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 n=[],i=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length){const e=[];for(let s=i,r=this._regions.length;s0&&!i.containedBy(e[e.length-1]);)e.pop();e.push(i),t(i,e.length)&&n.push(i)}}else for(let e=i,s=this._regions.length;e1){const s=e.getRegionsInside(n,((e,n)=>e.isCollapsed!==o&&n0)for(const s of i){const i=e.getRegionAtLine(s);if(i&&(i.isCollapsed!==t&&o.push(i),n>1)){const s=e.getRegionsInside(i,((e,i)=>e.isCollapsed!==t&&ie.isCollapsed!==t&&ie.isCollapsed!==t&&i<=n));o.push(...i)}e.toggleCollapseState(o)}function u3(e,t,n){const i=[];for(const t of n){const n=e.getAllRegionsAtLine(t,void 0);n.length>0&&i.push(n[0])}const o=e.getRegionsInside(null,(e=>i.every((t=>!t.containedBy(e)&&!e.containedBy(t)))&&e.isCollapsed!==t));e.toggleCollapseState(o)}function c3(e,t,n){const i=e.textModel,o=e.regions,s=[];for(let e=o.length-1;e>=0;e--)if(n!==o.isCollapsed(e)){const n=o.getStartLineNumber(e);t.test(i.getLineContent(n))&&s.push(o.toRegion(e))}e.toggleCollapseState(s)}function h3(e,t,n){const i=e.regions,o=[];for(let e=i.length-1;e>=0;e--)n!==i.isCollapsed(e)&&t===i.getType(e)&&o.push(i.toRegion(e));e.toggleCollapseState(o)}class g3{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new Ct,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange((e=>this.updateHiddenRanges())),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some((e=>e.range.endLineNumber!==e.range.startLineNumber||0!==ah(e.text)[0])))}updateHiddenRanges(){let e=!1;const t=[];let n=0,i=0,o=Number.MAX_VALUE,s=-1;const r=this._foldingModel.regions;for(;n0}isHidden(e){return null!==p3(this._hiddenRanges,e)}adjustSelections(e){let t=!1;const n=this._foldingModel.textModel;let i=null;const o=e=>(i&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,i)||(i=p3(this._hiddenRanges,e)),i?i.startLineNumber-1:null);for(let i=0,s=e.length;i0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function p3(e,t){const n=fh(e,(e=>t=0&&e[n].endLineNumber>=t?e[n]:null}class m3{constructor(e,t,n){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=n,this.id="indent"}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,n=t&&!!t.offSide,i=t&&t.markers;return Promise.resolve(function(e,t,n,i=_3){const o=e.getOptions().tabSize,s=new f3(i);let r;n&&(r=new RegExp(`(${n.start.source})|(?:${n.end.source})`));const l=[],a=e.getLineCount()+1;l.push({indent:-1,endAbove:a,line:a});for(let n=e.getLineCount();n>0;n--){const i=e.getLineContent(n),a=Xb(i,o);let d,u=l[l.length-1];if(-1!==a){if(r&&(d=i.match(r))){if(!d[1]){l.push({indent:-2,endAbove:n,line:n});continue}{let e=l.length-1;for(;e>0&&-2!==l[e].indent;)e--;if(e>0){l.length=e+1,u=l[e],s.insertFirst(n,u.line,a),u.line=n,u.indent=a,u.endAbove=n;continue}}}if(u.indent>a){do{l.pop(),u=l[l.length-1]}while(u.indent>a);const e=u.endAbove-1;e-n>=1&&s.insertFirst(n,e,a)}u.indent===a?u.endAbove=n:l.push({indent:a,endAbove:n,line:n})}else t&&(u.endAbove=n)}return s.toIndentRanges(e)}(this.editorModel,n,i,this.foldingRangesLimit))}}class f3{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,n){if(e>t3||t>t3)return;const i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=this._length-1,i=0;n>=0;n--,i++)e[i]=this._startIndexes[n],t[i]=this._endIndexes[n];return new o3(e,t)}{this._foldingRangesLimit.update(this._length,t);let n=0,i=this._indentOccurrences.length;for(let e=0;et){i=e;break}n+=o}}const o=e.getOptions().tabSize,s=new Uint32Array(t),r=new Uint32Array(t);for(let l=this._length-1,a=0;l>=0;l--){const d=this._startIndexes[l],u=Xb(e.getLineContent(d),o);(u{}},v3=km("editor.foldBackground",{light:Nm(df,.3),dark:Nm(df,.3),hcDark:null,hcLight:null},_(0,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);km("editorGutter.foldingControlForeground",{dark:Om,light:Om,hcDark:Om,hcLight:Om},_(0,"Color of the folding control in the editor gutter."));const b3=fz("folding-expanded",Sa.chevronDown,_(0,"Icon for expanded ranges in the editor glyph margin.")),w3=fz("folding-collapsed",Sa.chevronRight,_(0,"Icon for collapsed ranges in the editor glyph margin.")),C3=fz("folding-manual-collapsed",w3,_(0,"Icon for manually collapsed ranges in the editor glyph margin.")),y3=fz("folding-manual-expanded",b3,_(0,"Icon for manually expanded ranges in the editor glyph margin.")),S3={color:Av(v3),position:1},x3=_(0,"Click to expand the range."),k3=_(0,"Click to collapse the range.");class L3{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,n){return t?L3.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?e?this.showFoldingHighlights?L3.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:L3.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:L3.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?n?this.showFoldingHighlights?L3.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:L3.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?L3.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:L3.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?n?L3.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:L3.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:n?L3.MANUALLY_EXPANDED_VISUAL_DECORATION:L3.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}L3.COLLAPSED_VISUAL_DECORATION=My.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:x3,firstLineDecorationClassName:ka.asClassName(w3)}),L3.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=My.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:S3,isWholeLine:!0,linesDecorationsTooltip:x3,firstLineDecorationClassName:ka.asClassName(w3)}),L3.MANUALLY_COLLAPSED_VISUAL_DECORATION=My.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:x3,firstLineDecorationClassName:ka.asClassName(C3)}),L3.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=My.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:S3,isWholeLine:!0,linesDecorationsTooltip:x3,firstLineDecorationClassName:ka.asClassName(C3)}),L3.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=My.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:x3}),L3.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=My.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:S3,isWholeLine:!0,linesDecorationsTooltip:x3}),L3.EXPANDED_VISUAL_DECORATION=My.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ka.asClassName(b3),linesDecorationsTooltip:k3}),L3.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=My.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ka.asClassName(b3),linesDecorationsTooltip:k3}),L3.MANUALLY_EXPANDED_VISUAL_DECORATION=My.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ka.asClassName(y3),linesDecorationsTooltip:k3}),L3.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=My.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:ka.asClassName(y3),linesDecorationsTooltip:k3}),L3.NO_CONTROLS_EXPANDED_RANGE_DECORATION=My.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),L3.HIDDEN_RANGE_DECORATION=My.register({description:"folding-hidden-range-decoration",stickiness:1});const D3={};class N3{constructor(e,t,n,i,o){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=n,this.foldingRangesLimit=i,this.fallbackRangeProvider=o,this.id="syntax",this.disposables=new rt,o&&this.disposables.add(o);for(const e of t)"function"==typeof e.onDidChange&&this.disposables.add(e.onDidChange(n))}compute(e){return function(e,t,n){let i=null;const o=e.map(((e,o)=>Promise.resolve(e.provideFoldingRanges(t,D3,n)).then((e=>{if(!n.isCancellationRequested&&Array.isArray(e)){Array.isArray(i)||(i=[]);const n=t.getLineCount();for(const t of e)t.start>0&&t.end>t.start&&t.end<=n&&i.push({start:t.start,end:t.end,rank:o,kind:t.kind})}}),ke)));return Promise.all(o).then((e=>i))}(this.providers,this.editorModel,e).then((t=>{var n,i;return t?function(e,t){const n=e.sort(((e,t)=>{let n=e.start-t.start;return 0===n&&(n=e.rank-t.rank),n})),i=new E3(t);let o;const s=[];for(const e of n)if(o){if(e.start>o.start)if(e.end<=o.end)s.push(o),o=e,i.add(e.start,e.end,e.kind&&e.kind.value,s.length);else{if(e.start>o.end){do{o=s.pop()}while(o&&e.start>o.end);o&&s.push(o),o=e}i.add(e.start,e.end,e.kind&&e.kind.value,s.length)}}else o=e,i.add(e.start,e.end,e.kind&&e.kind.value,s.length);return i.toIndentRanges()}(t,this.foldingRangesLimit):null!==(i=null===(n=this.fallbackRangeProvider)||void 0===n?void 0:n.compute(e))&&void 0!==i?i:null}))}dispose(){this.disposables.dispose()}}class E3{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,n,i){if(e>t3||t>t3)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=i,this._types[o]=n,this._length++,i<30&&(this._nestingLevelCounts[i]=(this._nestingLevelCounts[i]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=0;ne){n=i;break}t+=o}}const i=new Uint32Array(e),o=new Uint32Array(e),s=[];for(let r=0,l=0;rthis.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((e=>{if(e.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(47)&&this.onModelChanged(),e.hasChanged(110)||e.hasChanged(45)){const e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(110),this.foldingDecorationProvider.showFoldingHighlights=e.get(45),this.triggerFoldingModelChanged()}e.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),e.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),e.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(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n,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 r3(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new g3(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((e=>this.onHiddenRangesChanges(e)))),this.updateScheduler=new Bt(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new jt((()=>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((e=>this.onDidChangeModelContent(e)))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged()))),this.localToDispose.add(this.editor.onMouseDown((e=>this.onEditorMouseDown(e)))),this.localToDispose.add(this.editor.onMouseUp((e=>this.onEditorMouseUp(e)))),this.localToDispose.add({dispose:()=>{var e,t;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),null===(e=this.updateScheduler)||void 0===e||e.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,null===(t=this.rangeProvider)||void 0===t||t.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;null===(e=this.rangeProvider)||void 0===e||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new m3(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const n=I3.getFoldingRangeProviders(this.languageFeaturesService,e);n.length>0&&(this.rangeProvider=new N3(e,n,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;null===(t=this.hiddenRangeModel)||void 0===t||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 mt,n=this.getRangeProvider(e.textModel),i=this.foldingRegionPromise=Pt((e=>n.compute(e)));return i.then((n=>{if(n&&i===this.foldingRegionPromise){let i;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const e=n.setCollapsedAllOfType(NC.Imports.value,!0);e&&(i=OB.capture(this.editor),this._currentModelHasFoldedImports=e)}const o=this.editor.getSelections(),s=o?o.map((e=>e.startLineNumber)):[];e.update(n,s),null==i||i.restore(this.editor);const r=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return e}))})).then(void 0,(e=>(xe(e),null))))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then((e=>{if(e){const t=this.editor.getSelections();if(t&&t.length>0){const n=[];for(const i of t){const t=i.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&n.push(...e.getAllRegionsAtLine(t,(e=>e.isCollapsed&&t>e.startLineNumber)))}n.length&&(e.toggleCollapseState(n),this.reveal(t[0].getPosition()))}}})).then(void 0,xe)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range)return;if(!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let n=!1;switch(e.target.type){case 4:{const t=e.target.detail,i=e.target.element.offsetLeft;if(t.offsetX-i<4)return;n=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){const e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:n}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const n=this.mouseDownInfo.lineNumber,i=this.mouseDownInfo.iconClicked,o=e.target.range;if(!o||o.startLineNumber!==n)return;if(i){if(4!==e.target.type)return}else{const e=this.editor.getModel();if(!e||o.startColumn!==e.getLineMaxColumn(n))return}const s=t.getRegionAtLine(n);if(s&&s.startLineNumber===n){const o=s.isCollapsed;if(i||o){let i=[];if(e.event.altKey){const e=e=>!e.containedBy(s)&&!s.containedBy(e),n=t.getRegionsInside(null,e);for(const e of n)e.isCollapsed&&i.push(e);0===i.length&&(i=n)}else{const n=e.event.middleButton||e.event.shiftKey;if(n)for(const e of t.getRegionsInside(s))e.isCollapsed===o&&i.push(e);!o&&n&&0!==i.length||i.push(s)}t.toggleCollapseState(i),this.reveal({lineNumber:n,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};A3.ID="editor.contrib.folding",A3=I3=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([M3(1,su),M3(2,Qg),M3(3,nN),M3(4,sW),M3(5,wx)],A3);class R3{constructor(e){this.editor=e,this._onDidChange=new Ct,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 P3 extends zu{runEditorCommand(e,t,n){const i=e.get(Qg),o=A3.get(t);if(!o)return;const s=o.getFoldingModel();return s?(this.reportTelemetry(e,t),s.then((e=>{if(e){this.invoke(o,e,t,n,i);const s=t.getSelection();s&&o.reveal(s.getStartPosition())}}))):void 0}getSelectedLines(e){const t=e.getSelections();return t?t.map((e=>e.startLineNumber)):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map((e=>e+1)):this.getSelectedLines(t)}run(e,t){}}function O3(e){if(!ga(e)){if(!aa(e))return!1;const t=e;if(!ga(t.levels)&&!ua(t.levels))return!1;if(!ga(t.direction)&&!la(t.direction))return!1;if(!(ga(t.selectionLines)||Array.isArray(t.selectionLines)&&t.selectionLines.every(ua)))return!1}return!0}class F3 extends P3{getFoldingLevel(){return parseInt(this.id.substr(F3.ID_PREFIX.length))}invoke(e,t,n){!function(e,t,n,i){const o=e.getRegionsInside(null,((e,n)=>n===t&&true!==e.isCollapsed&&!i.some((t=>e.containsLine(t)))));e.toggleCollapseState(o)}(t,this.getFoldingLevel(),0,this.getSelectedLines(n))}}F3.ID_PREFIX="editor.foldLevel",F3.ID=e=>F3.ID_PREFIX+e,Zu(A3.ID,A3,0),$u(class extends P3{constructor(){super({id:"editor.unfold",label:_(0,"Unfold"),alias:"Unfold",precondition:T3,kbOpts:{kbExpr:oc.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:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* '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.\n\t\t\t\t\t\t",constraint:O3,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,n,i){const o=i&&i.levels||1,s=this.getLineNumbers(i,n);i&&"up"===i.direction?d3(t,!1,o,s):a3(t,!1,o,s)}}),$u(class extends P3{constructor(){super({id:"editor.unfoldRecursively",label:_(0,"Unfold Recursively"),alias:"Unfold Recursively",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2142),weight:100}})}invoke(e,t,n,i){a3(t,!1,Number.MAX_VALUE,this.getSelectedLines(n))}}),$u(class extends P3{constructor(){super({id:"editor.fold",label:_(0,"Fold"),alias:"Fold",precondition:T3,kbOpts:{kbExpr:oc.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:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* '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.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:O3,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,n,i){const o=this.getLineNumbers(i,n),s=i&&i.levels,r=i&&i.direction;"number"!=typeof s&&"string"!=typeof r?function(e,t,n){const i=[];for(const t of n){const n=e.getAllRegionsAtLine(t,(e=>true!==e.isCollapsed));n.length>0&&i.push(n[0])}e.toggleCollapseState(i)}(t,0,o):"up"===r?d3(t,!0,s||1,o):a3(t,!0,s||1,o)}}),$u(class extends P3{constructor(){super({id:"editor.foldRecursively",label:_(0,"Fold Recursively"),alias:"Fold Recursively",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2140),weight:100}})}invoke(e,t,n){const i=this.getSelectedLines(n);a3(t,!0,Number.MAX_VALUE,i)}}),$u(class extends P3{constructor(){super({id:"editor.foldAll",label:_(0,"Fold All"),alias:"Fold All",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2069),weight:100}})}invoke(e,t,n){a3(t,!0)}}),$u(class extends P3{constructor(){super({id:"editor.unfoldAll",label:_(0,"Unfold All"),alias:"Unfold All",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2088),weight:100}})}invoke(e,t,n){a3(t,!1)}}),$u(class extends P3{constructor(){super({id:"editor.foldAllBlockComments",label:_(0,"Fold All Block Comments"),alias:"Fold All Block Comments",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2138),weight:100}})}invoke(e,t,n,i,o){if(t.regions.hasTypes())h3(t,NC.Comment.value,!0);else{const e=n.getModel();if(!e)return;const i=o.getLanguageConfiguration(e.getLanguageId()).comments;i&&i.blockCommentStartToken&&c3(t,new RegExp("^\\s*"+ri(i.blockCommentStartToken)),!0)}}}),$u(class extends P3{constructor(){super({id:"editor.foldAllMarkerRegions",label:_(0,"Fold All Regions"),alias:"Fold All Regions",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2077),weight:100}})}invoke(e,t,n,i,o){if(t.regions.hasTypes())h3(t,NC.Region.value,!0);else{const e=n.getModel();if(!e)return;const i=o.getLanguageConfiguration(e.getLanguageId()).foldingRules;i&&i.markers&&i.markers.start&&c3(t,new RegExp(i.markers.start),!0)}}}),$u(class extends P3{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:_(0,"Unfold All Regions"),alias:"Unfold All Regions",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2078),weight:100}})}invoke(e,t,n,i,o){if(t.regions.hasTypes())h3(t,NC.Region.value,!1);else{const e=n.getModel();if(!e)return;const i=o.getLanguageConfiguration(e.getLanguageId()).foldingRules;i&&i.markers&&i.markers.start&&c3(t,new RegExp(i.markers.start),!1)}}}),$u(class extends P3{constructor(){super({id:"editor.foldAllExcept",label:_(0,"Fold All Except Selected"),alias:"Fold All Except Selected",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2136),weight:100}})}invoke(e,t,n){u3(t,!0,this.getSelectedLines(n))}}),$u(class extends P3{constructor(){super({id:"editor.unfoldAllExcept",label:_(0,"Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2134),weight:100}})}invoke(e,t,n){u3(t,!1,this.getSelectedLines(n))}}),$u(class extends P3{constructor(){super({id:"editor.toggleFold",label:_(0,"Toggle Fold"),alias:"Toggle Fold",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2090),weight:100}})}invoke(e,t,n){l3(t,1,this.getSelectedLines(n))}}),$u(class extends P3{constructor(){super({id:"editor.gotoParentFold",label:_(0,"Go to Parent Fold"),alias:"Go to Parent Fold",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,weight:100}})}invoke(e,t,n){const i=this.getSelectedLines(n);if(i.length>0){const e=function(e,t){let n=null;const i=t.getRegionAtLine(e);if(null!==i&&(n=i.startLineNumber,e===n)){const e=i.parentIndex;n=-1!==e?t.regions.getStartLineNumber(e):null}return n}(i[0],t);null!==e&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),$u(class extends P3{constructor(){super({id:"editor.gotoPreviousFold",label:_(0,"Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,weight:100}})}invoke(e,t,n){const i=this.getSelectedLines(n);if(i.length>0){const e=function(e,t){let n=t.getRegionAtLine(e);if(null!==n&&n.startLineNumber===e){if(e!==n.startLineNumber)return n.startLineNumber;{const e=n.parentIndex;let i=0;for(-1!==e&&(i=t.regions.getStartLineNumber(n.parentIndex));null!==n;){if(!(n.regionIndex>0))return null;if(n=t.regions.toRegion(n.regionIndex-1),n.startLineNumber<=i)return null;if(n.parentIndex===e)return n.startLineNumber}}}else if(t.regions.length>0)for(n=t.regions.toRegion(t.regions.length-1);null!==n;){if(n.startLineNumber0?t.regions.toRegion(n.regionIndex-1):null}return null}(i[0],t);null!==e&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),$u(class extends P3{constructor(){super({id:"editor.gotoNextFold",label:_(0,"Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,weight:100}})}invoke(e,t,n){const i=this.getSelectedLines(n);if(i.length>0){const e=function(e,t){let n=t.getRegionAtLine(e);if(null!==n&&n.startLineNumber===e){const e=n.parentIndex;let i=0;if(-1!==e)i=t.regions.getEndLineNumber(n.parentIndex);else{if(0===t.regions.length)return null;i=t.regions.getEndLineNumber(t.regions.length-1)}for(;null!==n;){if(!(n.regionIndex=i)return null;if(n.parentIndex===e)return n.startLineNumber}}else if(t.regions.length>0)for(n=t.regions.toRegion(0);null!==n;){if(n.startLineNumber>e)return n.startLineNumber;n=n.regionIndexe.startLineNumber&&(o.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),n.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(o.length>0){o.sort(((e,t)=>e.startLineNumber-t.startLineNumber));const e=o3.sanitizeAndMerge(t.regions,o,null===(i=n.getModel())||void 0===i?void 0:i.getLineCount());t.updatePost(o3.fromFoldRanges(e))}}}}),$u(class extends P3{constructor(){super({id:"editor.removeManualFoldingRanges",label:_(0,"Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2137),weight:100}})}invoke(e,t,n){const i=n.getSelections();if(i){const n=[];for(const e of i){const{startLineNumber:t,endLineNumber:i}=e;n.push(i>=t?{startLineNumber:t,endLineNumber:i}:{endLineNumber:i,startLineNumber:t})}t.removeManualRanges(n),e.triggerFoldingModelChanged()}}});for(let e=1;e<=7;e++)B3=new F3({id:F3.ID(e),label:_(0,"Fold Level {0}",e),alias:`Fold Level ${e}`,precondition:T3,kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2048|21+e),weight:100}}),Xu.INSTANCE.registerEditorAction(B3);var B3;Cd.registerCommand("_executeFoldingRangeProvider",(async function(e,...t){const[n]=t;if(!(n instanceof Io))throw Ie();const i=e.get(wx),o=e.get(hd).getModel(n);if(!o)throw Ie();const s=e.get(pg);if(!s.getValue("editor.folding",{resource:n}))return[];const r=e.get(Qg),l=s.getValue("editor.foldingStrategy",{resource:n}),a={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:n})},update:(e,t)=>{}},d=new m3(o,r,a);let u=d;if("indentation"!==l){const e=A3.getFoldingRangeProviders(i,o);e.length&&(u=new N3(o,e,(()=>{}),a,d))}const c=await u.compute(It.None),h=[];try{if(c)for(let e=0;ewY.replace(nc.lift(e.range),e.text)))):e.executeEdits("formatEditsCommand",o.map((e=>wY.replaceMove(nc.lift(e.range),e.text)))),n&&e.pushUndoStop(),i.restoreRelativeVerticalPositionOfCursor(e)}}class V3{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return"string"==typeof e?e.toLowerCase():e._lower}}class H3{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(V3.toKey(e))}has(e){return this._set.has(V3.toKey(e))}}function z3(e,t,n){const i=[],o=new H3,s=e.ordered(n);for(const e of s)i.push(e),e.extensionId&&o.add(e.extensionId);const r=t.ordered(n);for(const e of r){if(e.extensionId){if(o.has(e.extensionId))continue;o.add(e.extensionId)}i.push({displayName:e.displayName,extensionId:e.extensionId,provideDocumentFormattingEdits:(t,n,i)=>e.provideDocumentRangeFormattingEdits(t,t.getFullModelRange(),n,i)})}return i}class U3{static setFormatterSelector(e){return{dispose:U3._selectors.unshift(e)}}static async select(e,t,n,i){if(0===e.length)return;const o=Ye.first(U3._selectors);return o?await o(e,t,n,i):void 0}}async function K3(e,t,n,i,o,s,r){const l=e.get(ad),{documentRangeFormattingEditProvider:a}=e.get(wx),d=GU(t)?t.getModel():t,u=a.ordered(d),c=await U3.select(u,d,i,2);c&&(o.report(c),await l.invokeFunction(j3,c,t,n,s,r))}async function j3(e,t,n,i,o,s){var r,l;const a=e.get(AX),d=e.get(Tu),u=e.get(GY);let c,h;GU(n)?(c=n.getModel(),h=new rk(n,5,void 0,o)):(c=n,h=new lk(n,o));const g=[];let p=0;for(const e of $c(i).sort(nc.compareRangesUsingStarts))p>0&&nc.areIntersectingOrTouching(g[p-1],e)?g[p-1]=nc.fromPositions(g[p-1].getStartPosition(),e.getEndPosition()):p=g.push(e);const m=async e=>{var n,i;d.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(n=t.extensionId)||void 0===n?void 0:n.value,e);const o=await t.provideDocumentRangeFormattingEdits(c,e,c.getFormattingOptions(),h.token)||[];return d.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(i=t.extensionId)||void 0===i?void 0:i.value,o),o},f=(e,t)=>{if(!e.length||!t.length)return!1;const n=e.reduce(((e,t)=>nc.plusRange(e,t.range)),e[0].range);if(!t.some((e=>nc.intersectRanges(n,e.range))))return!1;for(const n of e)for(const e of t)if(nc.intersectRanges(n.range,e.range))return!0;return!1},_=[],v=[];try{if("function"==typeof t.provideDocumentRangesFormattingEdits){d.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(r=t.extensionId)||void 0===r?void 0:r.value,g);const e=await t.provideDocumentRangesFormattingEdits(c,g,c.getFormattingOptions(),h.token)||[];d.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(l=t.extensionId)||void 0===l?void 0:l.value,e),v.push(e)}else{for(const e of g){if(h.token.isCancellationRequested)return!0;v.push(await m(e))}for(let e=0;e({text:e.text,range:nc.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:n}of e)if(nc.areIntersectingOrTouching(n,t))return[new ic(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null}))}return u.playSignal(XY.format,{userGesture:s}),!0}async function q3(e,t,n,i,o,s){const r=e.get(ad),l=e.get(wx),a=GU(t)?t.getModel():t,d=z3(l.documentFormattingEditProvider,l.documentRangeFormattingEditProvider,a),u=await U3.select(d,a,n,1);u&&(i.report(u),await r.invokeFunction($3,u,t,n,o,s))}async function $3(e,t,n,i,o,s){const r=e.get(AX),l=e.get(GY);let a,d,u;GU(n)?(a=n.getModel(),d=new rk(n,5,void 0,o)):(a=n,d=new lk(n,o));try{const e=await t.provideDocumentFormattingEdits(a,a.getFormattingOptions(),d.token);if(u=await r.computeMoreMinimalEdits(a.uri,e),d.token.isCancellationRequested)return!0}finally{d.dispose()}if(!u||0===u.length)return!1;if(GU(n))W3.execute(n,u,2!==i),2!==i&&n.revealPositionInCenterIfOutsideViewport(n.getPosition(),1);else{const[{range:e}]=u,t=new ic(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);a.pushEditOperations([t],u.map((e=>({text:e.text,range:nc.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:n}of e)if(nc.areIntersectingOrTouching(n,t))return[new ic(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn)];return null}))}return l.playSignal(XY.format,{userGesture:s}),!0}function G3(e,t,n,i,o,s,r){const l=t.onTypeFormattingEditProvider.ordered(n);return 0===l.length||l[0].autoFormatTriggerCharacters.indexOf(o)<0?Promise.resolve(void 0):Promise.resolve(l[0].provideOnTypeFormattingEdits(n,i,o,s,r)).catch(ke).then((t=>e.computeMoreMinimalEdits(n.uri,t)))}U3._selectors=new gt,Cd.registerCommand("_executeFormatRangeProvider",(async function(e,...t){const[n,i,o]=t;fa(Io.isUri(n)),fa(nc.isIRange(i));const s=e.get(gd),r=e.get(AX),l=e.get(wx),a=await s.createModelReference(n);try{return async function(e,t,n,i,o,s){const r=t.documentRangeFormattingEditProvider.ordered(n);for(const t of r){const r=await Promise.resolve(t.provideDocumentRangeFormattingEdits(n,i,o,s)).catch(ke);if(Wc(r))return await e.computeMoreMinimalEdits(n.uri,r)}}(r,l,a.object.textEditorModel,nc.lift(i),o,It.None)}finally{a.dispose()}})),Cd.registerCommand("_executeFormatDocumentProvider",(async function(e,...t){const[n,i]=t;fa(Io.isUri(n));const o=e.get(gd),s=e.get(AX),r=e.get(wx),l=await o.createModelReference(n);try{return async function(e,t,n,i,o){const s=z3(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,n);for(const t of s){const s=await Promise.resolve(t.provideDocumentFormattingEdits(n,i,o)).catch(ke);if(Wc(s))return await e.computeMoreMinimalEdits(n.uri,s)}}(s,r,l.object.textEditorModel,i,It.None)}finally{l.dispose()}})),Cd.registerCommand("_executeFormatOnTypeProvider",(async function(e,...t){const[n,i,o,s]=t;fa(Io.isUri(n)),fa(cd.isIPosition(i)),fa("string"==typeof o);const r=e.get(gd),l=e.get(AX),a=e.get(wx),d=await r.createModelReference(n);try{return G3(l,a,d.object.textEditorModel,cd.lift(i),o,s,It.None)}finally{d.dispose()}}));var Z3=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Y3=function(e,t){return function(n,i){t(n,i,e)}};let X3=class{constructor(e,t,n,i){this._editor=e,this._languageFeaturesService=t,this._workerService=n,this._accessibilitySignalService=i,this._disposables=new rt,this._sessionDisposables=new rt,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((e=>{e.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const n=new jw;for(const e of t.autoFormatTriggerCharacters)n.add(e.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((e=>{const t=e.charCodeAt(e.length-1);n.has(t)&&this._trigger(String.fromCharCode(t))})))}_trigger(e){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),n=this._editor.getPosition(),i=new Tt,o=this._editor.onDidChangeModelContent((e=>{if(e.isFlush)return i.cancel(),void o.dispose();for(let t=0,s=e.changes.length;t{i.token.isCancellationRequested||Wc(e)&&(this._accessibilitySignalService.playSignal(XY.format,{userGesture:!1}),W3.execute(this._editor,e,!0))})).finally((()=>{o.dispose()}))}};X3.ID="editor.contrib.autoFormat",X3=Z3([Y3(1,wx),Y3(2,AX),Y3(3,GY)],X3);let Q3=class{constructor(e,t,n){this.editor=e,this._languageFeaturesService=t,this._instantiationService=n,this._callOnDispose=new rt,this._callOnModel=new rt,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(K3,this.editor,e,2,vL.None,It.None,!1).catch(xe))}};Q3.ID="editor.contrib.formatOnPaste",Q3=Z3([Y3(1,wx),Y3(2,ad)],Q3),Zu(X3.ID,X3,2),Zu(Q3.ID,Q3,2),$u(class extends zu{constructor(){super({id:"editor.action.formatDocument",label:_(0,"Format Document"),alias:"Format Document",precondition:Bd.and(oc.notInCompositeEditor,oc.writable,oc.hasDocumentFormattingProvider),kbOpts:{kbExpr:oc.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const n=e.get(ad),i=e.get(bL);await i.showWhile(n.invokeFunction(q3,t,1,vL.None,It.None,!0),250)}}}),$u(class extends zu{constructor(){super({id:"editor.action.formatSelection",label:_(0,"Format Selection"),alias:"Format Selection",precondition:Bd.and(oc.writable,oc.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:oc.editorTextFocus,primary:ye(2089,2084),weight:100},contextMenuOpts:{when:oc.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const n=e.get(ad),i=t.getModel(),o=t.getSelections().map((e=>e.isEmpty()?new nc(e.startLineNumber,1,e.startLineNumber,i.getLineMaxColumn(e.startLineNumber)):e)),s=e.get(bL);await s.showWhile(n.invokeFunction(K3,t,o,1,vL.None,It.None,!0),250)}}),Cd.registerCommand("editor.action.format",(async e=>{const t=e.get(ud).getFocusedCodeEditor();if(!t||!t.hasModel())return;const n=e.get(wd);t.getSelection().isEmpty()?await n.executeCommand("editor.action.formatDocument"):await n.executeCommand("editor.action.formatSelection")}));class J3{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t){var n;const i=new rt;e.canAcceptInBackground=!!(null===(n=this.options)||void 0===n?void 0:n.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const o=i.add(new at);return o.value=this.doProvide(e,t),i.add(this.onDidActiveTextEditorControlChange((()=>{o.value=void 0,o.value=this.doProvide(e,t)}))),i}doProvide(e,t){var n;const i=new rt,o=this.activeTextEditorControl;if(o&&this.canProvideWithTextEditor(o)){const s={editor:o},r=YU(o);if(r){let e=null!==(n=o.saveViewState())&&void 0!==n?n:void 0;i.add(r.onDidChangeCursorPosition((()=>{var t;e=null!==(t=o.saveViewState())&&void 0!==t?t:void 0}))),s.restoreViewState=()=>{e&&o===this.activeTextEditorControl&&o.restoreViewState(e)},i.add(Ze(t.onCancellationRequested)((()=>{var e;return null===(e=s.restoreViewState)||void 0===e?void 0:e.call(s)})))}i.add(st((()=>this.clearDecorations(o)))),i.add(this.provideWithTextEditor(s,e,t))}else i.add(this.provideWithoutTextEditor(e,t));return i}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const n=e.getModel();n&&"getLineContent"in n&&Yr(`${n.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return ZU(e)?null===(t=e.getModel())||void 0===t?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations((e=>{const n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const i=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:Av(mb),position:bc.Full}}}],[o,s]=e.deltaDecorations(n,i);this.rangeHighlightDecorationId={rangeHighlightId:o,overviewRulerDecorationId:s}}))}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations((e=>{e.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class e0 extends J3{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=_(0,"Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,lt.None}provideWithTextEditor(e,t,n){const i=e.editor,o=new rt;o.add(t.onDidAccept((n=>{const[o]=t.selectedItems;if(o){if(!this.isValidLineNumber(i,o.lineNumber))return;this.gotoLocation(e,{range:this.toRange(o.lineNumber,o.column),keyMods:t.keyMods,preserveFocus:n.inBackground}),n.inBackground||t.hide()}})));const s=()=>{const e=this.parsePosition(i,t.value.trim().substr(e0.PREFIX.length)),n=this.getPickLabel(i,e.lineNumber,e.column);if(t.items=[{lineNumber:e.lineNumber,column:e.column,label:n}],t.ariaLabel=n,!this.isValidLineNumber(i,e.lineNumber))return void this.clearDecorations(i);const o=this.toRange(e.lineNumber,e.column);i.revealRangeInCenter(o,0),this.addDecorations(i,o)};s(),o.add(t.onDidChangeValue((()=>s())));const r=YU(i);return r&&2===r.getOptions().get(68).renderType&&(r.updateOptions({lineNumbers:"on"}),o.add(st((()=>r.updateOptions({lineNumbers:"relative"}))))),o}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const n=t.split(/,|:|#/).map((e=>parseInt(e,10))).filter((e=>!isNaN(e))),i=this.lineCount(e)+1;return{lineNumber:n[0]>0?n[0]:i+n[0],column:n[1]}}getPickLabel(e,t,n){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,n)?_(0,"Go to line {0} and character {1}.",t,n):_(0,"Go to line {0}.",t);const i=e.getPosition()||{lineNumber:1,column:1},o=this.lineCount(e);return o>1?_(0,"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",i.lineNumber,i.column,o):_(0,"Current Line: {0}, Character: {1}. Type a line number to navigate to.",i.lineNumber,i.column)}isValidLineNumber(e,t){return!(!t||"number"!=typeof t)&&t>0&&t<=this.lineCount(e)}isValidColumn(e,t,n){if(!n||"number"!=typeof n)return!1;const i=this.getModel(e);if(!i)return!1;const o={lineNumber:t,column:n};return i.validatePosition(o).equals(o)}lineCount(e){var t,n;return null!==(n=null===(t=this.getModel(e))||void 0===t?void 0:t.getLineCount())&&void 0!==n?n:0}}var t0;e0.PREFIX=":",function(e){e[e.PRESERVE=0]="PRESERVE",e[e.LAST=1]="LAST"}(t0||(t0={}));const n0="workbench.contributions.quickaccess";var i0,o0,s0,r0,l0,a0,d0,u0;fu.add(n0,new class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return 0===e.prefix.length?this.defaultProvider=e:this.providers.push(e),this.providers.sort(((e,t)=>t.prefix.length-e.prefix.length)),st((()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)}))}getQuickAccessProviders(){return Oc([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find((t=>e.startsWith(t.prefix)))||this.defaultProvider}}),function(e){e.inspectTokensAction=_(0,"Developer: Inspect Tokens")}(i0||(i0={})),function(e){e.gotoLineActionLabel=_(0,"Go to Line/Column...")}(o0||(o0={})),function(e){e.helpQuickAccessActionLabel=_(0,"Show all Quick Access Providers")}(s0||(s0={})),function(e){e.quickCommandActionLabel=_(0,"Command Palette"),e.quickCommandHelp=_(0,"Show And Run Commands")}(r0||(r0={})),function(e){e.quickOutlineActionLabel=_(0,"Go to Symbol..."),e.quickOutlineByCategoryActionLabel=_(0,"Go to Symbol by Category...")}(l0||(l0={})),function(e){e.editorViewAccessibleLabel=_(0,"Editor content"),e.accessibilityHelpMessage=_(0,"Press Alt+F1 for Accessibility Options.")}(a0||(a0={})),function(e){e.toggleHighContrast=_(0,"Toggle High Contrast Theme")}(d0||(d0={})),function(e){e.bulkEditServiceSummary=_(0,"Made {0} edits in {1} files")}(u0||(u0={}));let c0=class extends e0{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=ft.None}get activeTextEditorControl(){var e;return null!==(e=this.editorService.getFocusedCodeEditor())&&void 0!==e?e:void 0}};c0=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,ud)],c0);class h0 extends zu{constructor(){super({id:h0.ID,label:o0.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(SL).quickAccess.show(c0.PREFIX)}}h0.ID="editor.action.gotoLine",$u(h0),fu.as(n0).registerQuickAccessProvider({ctor:c0,prefix:c0.PREFIX,helpEntries:[{description:o0.gotoLineActionLabel,commandId:h0.ID}]});var g0=n(9337),p0={};p0.styleTagTransform=Vr(),p0.setAttributes=Or(),p0.insert=Rr().bind(null,"head"),p0.domAPI=Tr(),p0.insertStyleElement=Br(),Ir()(g0.A,p0),g0.A&&g0.A.locals&&g0.A.locals;class m0 extends lt{constructor(e){super(),this.editor=e,this.widget=null,G&&(this._register(e.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const e=!this.editor.getOption(91);!this.widget&&e?this.widget=new f0(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}m0.ID="editor.contrib.iPadShowKeyboard";class f0 extends lt{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(ms(this._domNode,"touchstart",(e=>{this.editor.focus()}))),this._register(ms(this._domNode,"focus",(e=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return f0.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}f0.ID="editor.contrib.ShowKeyboardWidget",Zu(m0.ID,m0,3);class _0{constructor(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new ic(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new ic(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var v0=n(6437),b0={};b0.styleTagTransform=Vr(),b0.setAttributes=Or(),b0.insert=Rr().bind(null,"head"),b0.domAPI=Tr(),b0.insertStyleElement=Br(),Ir()(v0.A,b0),v0.A&&v0.A.locals&&v0.A.locals;var w0;let C0=w0=class{static get(e){return e.getContribution(w0.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var n;null===(n=this.currentRequest)||void 0===n||n.cancel();const i=this.editor.getSelection(),o=this.editor.getModel();if(!o||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const r=new sk(this.editor,5),l=o.uri;return this.editorWorkerService.canNavigateValueSet(l)?(this.currentRequest=Pt((e=>this.editorWorkerService.navigateValueSet(l,s,t))),this.currentRequest.then((t=>{var n;if(!t||!t.range||!t.value)return;if(!r.validate(this.editor))return;const i=nc.lift(t.range);let o=t.range;const l=t.value.length-(s.endColumn-s.startColumn);o={startLineNumber:o.startLineNumber,startColumn:o.startColumn,endLineNumber:o.endLineNumber,endColumn:o.startColumn+t.value.length},l>1&&(s=new ic(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+l-1));const a=new _0(i,s,t.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,a),this.editor.pushUndoStop(),this.decorations.set([{range:o,options:w0.DECORATION}]),null===(n=this.decorationRemover)||void 0===n||n.cancel(),this.decorationRemover=Vt(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(xe)})).catch(xe)):Promise.resolve(void 0)}};function y0(e,t){let n=0;for(let i=0;ii-1)return[];const{tabSize:r,indentSize:l,insertSpaces:a}=e.getOptions(),d=(e,t)=>(t=t||1,fS.shiftIndent(e,e.length+t,r,l,a)),u=(e,t)=>(t=t||1,fS.unshiftIndent(e,e.length+t,r,l,a)),c=[];let h;const g=e.getLineContent(n);let p=g;if(null!=o){h=o;const e=gi(g);p=h+g.substring(e.length),s.decreaseIndentPattern&&s.decreaseIndentPattern.test(p)&&(h=u(h),p=h+g.substring(e.length)),g!==p&&c.push(wY.replaceMove(new ic(n,1,n,e.length+1),uh(h,l,a)))}else h=gi(g);let m=h;s.increaseIndentPattern&&s.increaseIndentPattern.test(p)?(m=d(m),h=d(h)):s.indentNextLinePattern&&s.indentNextLinePattern.test(p)&&(m=d(m));for(let t=++n;t<=i;t++){const n=e.getLineContent(t),i=gi(n),o=m+n.substring(i.length);s.decreaseIndentPattern&&s.decreaseIndentPattern.test(o)&&(m=u(m),h=u(h)),i!==m&&c.push(wY.replaceMove(new ic(t,1,t,i.length+1),uh(m,l,a))),s.unIndentedLinePattern&&s.unIndentedLinePattern.test(n)||(s.increaseIndentPattern&&s.increaseIndentPattern.test(o)?(h=d(h),m=h):m=s.indentNextLinePattern&&s.indentNextLinePattern.test(o)?d(m):h)}return c}C0.ID="editor.contrib.inPlaceReplaceController",C0.DECORATION=My.register({description:"in-place-replace",className:"valueSetReplacement"}),C0=w0=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,AX)],C0),Zu(C0.ID,C0,4),$u(class extends zu{constructor(){super({id:"editor.action.inPlaceReplace.up",label:_(0,"Replace with Previous Value"),alias:"Replace with Previous Value",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:3159,weight:100}})}run(e,t){const n=C0.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)}}),$u(class extends zu{constructor(){super({id:"editor.action.inPlaceReplace.down",label:_(0,"Replace with Next Value"),alias:"Replace with Next Value",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:3161,weight:100}})}run(e,t){const n=C0.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)}});class k0 extends zu{constructor(){super({id:k0.ID,label:_(0,"Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:oc.writable})}run(e,t){const n=t.getModel();if(!n)return;const i=n.getOptions(),o=t.getSelection();if(!o)return;const s=new P0(o,i.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),n.updateOptions({insertSpaces:!0})}}k0.ID="editor.action.indentationToSpaces";class L0 extends zu{constructor(){super({id:L0.ID,label:_(0,"Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:oc.writable})}run(e,t){const n=t.getModel();if(!n)return;const i=n.getOptions(),o=t.getSelection();if(!o)return;const s=new O0(o,i.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),n.updateOptions({insertSpaces:!1})}}L0.ID="editor.action.indentationToTabs";class D0 extends zu{constructor(e,t,n){super(n),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const n=e.get(SL),i=e.get(hd),o=t.getModel();if(!o)return;const s=i.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget),r=o.getOptions(),l=[1,2,3,4,5,6,7,8].map((e=>({id:e.toString(),label:e.toString(),description:e===s.tabSize&&e===r.tabSize?_(0,"Configured Tab Size"):e===s.tabSize?_(0,"Default Tab Size"):e===r.tabSize?_(0,"Current Tab Size"):void 0}))),a=Math.min(o.getOptions().tabSize-1,7);setTimeout((()=>{n.pick(l,{placeHolder:_(0,"Select Tab Size for Current File"),activeItem:l[a]}).then((e=>{if(e&&o&&!o.isDisposed()){const t=parseInt(e.label,10);this.displaySizeOnly?o.updateOptions({tabSize:t}):o.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}}))}),50)}}class N0 extends D0{constructor(){super(!1,!1,{id:N0.ID,label:_(0,"Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}N0.ID="editor.action.indentUsingTabs";class E0 extends D0{constructor(){super(!0,!1,{id:E0.ID,label:_(0,"Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}E0.ID="editor.action.indentUsingSpaces";class I0 extends D0{constructor(){super(!0,!0,{id:I0.ID,label:_(0,"Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}I0.ID="editor.action.changeTabDisplaySize";class M0 extends zu{constructor(){super({id:M0.ID,label:_(0,"Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const n=e.get(hd),i=t.getModel();if(!i)return;const o=n.getCreationOptions(i.getLanguageId(),i.uri,i.isForSimpleWidget);i.detectIndentation(o.insertSpaces,o.tabSize)}}M0.ID="editor.action.detectIndentation";class T0{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const t of e)t.range&&"string"==typeof t.text&&this._edits.push(t)}getEditOperations(e,t){for(const e of this._edits)t.addEditOperation(nc.lift(e.range),e.text);let n=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),n||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let A0=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new rt,this.callOnModel=new rt,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(null===t||t.length>1)return;const n=this.editor.getModel();if(!n)return;if(!n.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const i=this.editor.getOption(12),{tabSize:o,indentSize:s,insertSpaces:r}=n.getOptions(),l=[],a={shiftIndent:e=>fS.shiftIndent(e,e.length+1,o,s,r),unshiftIndent:e=>fS.unshiftIndent(e,e.length+1,o,s,r)};let d=e.startLineNumber;for(;d<=e.endLineNumber&&this.shouldIgnoreLine(n,d);)d++;if(d>e.endLineNumber)return;let u=n.getLineContent(d);if(!/\S/.test(u.substring(0,e.startColumn-1))){const e=wS(i,n,n.getLanguageId(),d,a,this._languageConfigurationService);if(null!==e){const t=gi(u),i=y0(e,o);if(i!==y0(t,o)){const e=S0(i,o,r);l.push({range:new nc(d,1,d,t.length+1),text:e}),u=e+u.substr(t.length)}else{const e=CS(n,d,this._languageConfigurationService);if(0===e||8===e)return}}}const c=d;for(;dn.tokenization.getLineTokens(e),getLanguageId:()=>n.getLanguageId(),getLanguageIdAtPosition:(e,t)=>n.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===c?u:n.getLineContent(e)},n.getLanguageId(),d+1,a,this._languageConfigurationService);if(null!==t){const i=y0(t,o),s=y0(gi(n.getLineContent(d+1)),o);if(i!==s){const t=i-s;for(let i=d+1;i<=e.endLineNumber;i++){const e=gi(n.getLineContent(i)),s=S0(y0(e,o)+t,o,r);s!==e&&l.push({range:new nc(i,1,i,e.length+1),text:s})}}}}if(l.length>0){this.editor.pushUndoStop();const e=new T0(l,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",e),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const n=e.getLineFirstNonWhitespaceColumn(t);if(0===n)return!0;const i=e.tokenization.getLineTokens(t);if(i.getCount()>0){const e=i.findTokenIndexAtOffset(n);if(e>=0&&1===i.getStandardTokenType(e))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function R0(e,t,n,i){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;let o="";for(let e=0;e=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,Qg)],A0);class P0{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),R0(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class O0{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),R0(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}Zu(A0.ID,A0,2),$u(k0),$u(L0),$u(N0),$u(E0),$u(I0),$u(M0),$u(class extends zu{constructor(){super({id:"editor.action.reindentlines",label:_(0,"Reindent Lines"),alias:"Reindent Lines",precondition:oc.writable})}run(e,t){const n=e.get(Qg),i=t.getModel();if(!i)return;const o=x0(i,n,1,i.getLineCount());o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}),$u(class extends zu{constructor(){super({id:"editor.action.reindentselectedlines",label:_(0,"Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:oc.writable})}run(e,t){const n=e.get(Qg),i=t.getModel();if(!i)return;const o=t.getSelections();if(null===o)return;const s=[];for(const e of o){let t=e.startLineNumber,o=e.endLineNumber;if(t!==o&&1===e.endColumn&&o--,1===t){if(t===o)continue}else t--;const r=x0(i,n,t,o);s.push(...r)}s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}});class F0{constructor(e,t){this.range=e,this.direction=t}}class B0{constructor(e,t,n){this.hint=e,this.anchor=t,this.provider=n,this._isResolved=!1}with(e){const t=new B0(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,e.isCancellationRequested)return;return this.resolve(e)}this._isResolved||(this._currentResolve=this._doResolve(e).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(e){var t,n,i;try{const o=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=null!==(t=null==o?void 0:o.tooltip)&&void 0!==t?t:this.hint.tooltip,this.hint.label=null!==(n=null==o?void 0:o.label)&&void 0!==n?n:this.hint.label,this.hint.textEdits=null!==(i=null==o?void 0:o.textEdits)&&void 0!==i?i:this.hint.textEdits,this._isResolved=!0}catch(e){ke(e),this._isResolved=!1}}}class W0{static async create(e,t,n,i){const o=[],s=e.ordered(t).reverse().map((e=>n.map((async n=>{try{const s=await e.provideInlayHints(t,n,i);((null==s?void 0:s.hints.length)||e.onDidChangeInlayHints)&&o.push([null!=s?s:W0._emptyInlayHintList,e])}catch(e){ke(e)}}))));if(await Promise.all(s.flat()),i.isCancellationRequested||t.isDisposed())throw new Ee;return new W0(n,o,t)}constructor(e,t,n){this._disposables=new rt,this.ranges=e,this.provider=new Set;const i=[];for(const[e,o]of t){this._disposables.add(e),this.provider.add(o);for(const t of e.hints){const e=n.validatePosition(t.position);let s="before";const r=W0._getRangeAtPosition(n,e);let l;r.getStartPosition().isBefore(e)?(l=nc.fromPositions(r.getStartPosition(),e),s="after"):(l=nc.fromPositions(e,r.getEndPosition()),s="before"),i.push(new B0(t,new F0(l,s),o))}}this.items=i.sort(((e,t)=>cd.compare(e.hint.position,t.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const n=t.lineNumber,i=e.getWordAtPosition(t);if(i)return new nc(n,i.startColumn,n,i.endColumn);e.tokenization.tokenizeIfCheap(n);const o=e.tokenization.getLineTokens(n),s=t.column-1,r=o.findTokenIndexAtOffset(s);let l=o.getStartOffset(r),a=o.getEndOffset(r);return a-l==1&&(l===s&&r>1?(l=o.getStartOffset(r-1),a=o.getEndOffset(r-1)):a===s&&ryu(e)?e.command.id:nx())));for(const e of aG.all())h.has(e.desc.id)&&c.push(new pd(e.desc.id,Nu.label(e.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const n=await s.createModelReference(u.uri);try{const o=new lG(n.object.textEditorModel,nc.getStartPosition(u.range)),s=i.item.anchor.range;await a.invokeFunction(e.runEditorCommand.bind(e),t,o,s)}finally{n.dispose()}})));if(i.part.command){const{command:e}=i.part;c.push(new fd),c.push(new pd(e.id,e.title,void 0,!0,(async()=>{var t;try{await l.executeCommand(e.id,...null!==(t=e.arguments)&&void 0!==t?t:[])}catch(e){d.notify({severity:tN.Error,source:i.item.provider.displayName,message:e})}})))}const g=t.getOption(127);r.showContextMenu({domForShadowRoot:g&&null!==(o=t.getDomNode())&&void 0!==o?o:void 0,getAnchor:()=>{const e=Es(n);return{x:e.left,y:e.top+e.height+8}},getActions:()=>c,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}async function H0(e,t,n,i){const o=e.get(gd),s=await o.createModelReference(i.uri);await n.invokeWithinContext((async e=>{const o=t.hasSideBySideModifier,r=e.get(su),l=BU.inPeekEditor.getValue(r),a=!o&&n.getOption(88)&&!l;return new dG({openToSide:o,openInPeek:a,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e,new lG(s.object.textEditorModel,nc.getStartPosition(i.range)),nc.lift(i.range))})),s.dispose()}W0._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});var z0,U0=function(e,t){return function(n,i){t(n,i,e)}};class K0{constructor(){this._entries=new il(50)}get(e){const t=K0._key(e);return this._entries.get(t)}set(e,t){const n=K0._key(e);this._entries.set(n,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const j0=dd("IInlayHintsCache");yg(j0,K0,1);class q0{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return"string"==typeof e?{label:e}:e[this.index]}}class $0{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let G0=z0=class{static get(e){var t;return null!==(t=e.getContribution(z0.ID))&&void 0!==t?t:void 0}constructor(e,t,n,i,o,s,r){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=i,this._commandService=o,this._notificationService=s,this._instaService=r,this._disposables=new rt,this._sessionDisposables=new rt,this._decorationsMetadata=new Map,this._ruleFactory=new KT(this._editor),this._activeRenderMode=0,this._debounceInfo=n.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((e=>{e.hasChanged(141)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(141);if("off"===e.enabled)return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if("on"===e.enabled)this._activeRenderMode=0;else{let t,n;"onUnlessPressed"===e.enabled?(t=0,n=1):(t=1,n=0),this._activeRenderMode=t,this._sessionDisposables.add(xr.getInstance().event((e=>{if(!this._editor.hasModel())return;const i=e.altKey&&e.ctrlKey&&!e.shiftKey&&!e.metaKey?n:t;if(i!==this._activeRenderMode){this._activeRenderMode=i;const e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),s.schedule(0)}})))}const n=this._inlayHintsCache.get(t);let i;n&&this._updateHintsDecorators([t.getFullModelRange()],n),this._sessionDisposables.add(st((()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)})));const o=new Set,s=new jt((async()=>{const e=Date.now();null==i||i.dispose(!0),i=new Tt;const n=t.onWillDispose((()=>null==i?void 0:i.cancel()));try{const n=i.token,r=await W0.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),n);if(s.delay=this._debounceInfo.update(t,Date.now()-e),n.isCancellationRequested)return void r.dispose();for(const e of r.provider)"function"!=typeof e.onDidChangeInlayHints||o.has(e)||(o.add(e),this._sessionDisposables.add(e.onDidChangeInlayHints((()=>{s.isScheduled()||s.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(t)}catch(e){xe(e)}finally{i.dispose(),n.dispose()}}),this._debounceInfo.get(t));this._sessionDisposables.add(s),this._sessionDisposables.add(st((()=>null==i?void 0:i.dispose(!0)))),s.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((e=>{!e.scrollTopChanged&&s.isScheduled()||s.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((e=>{null==i||i.cancel();const t=Math.max(s.delay,1250);s.schedule(t)}))),this._sessionDisposables.add(this._installDblClickGesture((()=>s.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new rt,t=e.add(new Zz(this._editor)),n=new rt;return e.add(n),e.add(t.onMouseMoveOrRelevantKeyDown((e=>{const[t]=e,i=this._getInlayHintLabelPart(t),o=this._editor.getModel();if(!i||!o)return void n.clear();const s=new Tt;n.add(st((()=>s.dispose(!0)))),i.item.resolve(s.token),this._activeInlayHintPart=i.part.command||i.part.location?new $0(i,t.hasTriggerModifier):void 0;const r=o.validatePosition(i.item.hint.position).lineNumber,l=new nc(r,1,r,o.getLineMaxColumn(r)),a=this._getInlineHintsForRange(l);this._updateHintsDecorators([l],a),n.add(st((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([l],a)})))}))),e.add(t.onCancel((()=>n.clear()))),e.add(t.onExecute((async e=>{const t=this._getInlayHintLabelPart(e);if(t){const n=t.part;n.location?this._instaService.invokeFunction(H0,e,this._editor,n.location):LC.is(n.command)&&await this._invokeCommand(n.command,t.item)}}))),e}_getInlineHintsForRange(e){const t=new Set;for(const n of this._decorationsMetadata.values())e.containsRange(n.item.anchor.range)&&t.add(n.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp((async t=>{if(2!==t.event.detail)return;const n=this._getInlayHintLabelPart(t);if(n&&(t.event.preventDefault(),await n.item.resolve(It.None),Wc(n.item.hint.textEdits))){const t=n.item.hint.textEdits.map((e=>wY.replace(nc.lift(e.range),e.text)));this._editor.executeEdits("inlayHint.default",t),e()}}))}_installContextMenu(){return this._editor.onContextMenu((async e=>{if(!(e.event.target instanceof HTMLElement))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(V0,this._editor,e.event.target,t)}))}_getInlayHintLabelPart(e){var t;if(6!==e.target.type)return;const n=null===(t=e.target.detail.injectedText)||void 0===t?void 0:t.options;return n instanceof Iy&&(null==n?void 0:n.attachedData)instanceof q0?n.attachedData:void 0}async _invokeCommand(e,t){var n;try{await this._commandService.executeCommand(e.id,...null!==(n=e.arguments)&&void 0!==n?n:[])}catch(e){this._notificationService.notify({severity:tN.Error,source:t.provider.displayName,message:e})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[n,i]of this._decorationsMetadata){if(t.has(i.item))continue;const o=e.getDecorationRange(n);if(o){const e=new F0(o,i.item.anchor.direction),n=i.item.with({anchor:e});t.set(i.item,n)}}return Array.from(t.values())}_getHintsRanges(){const e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(const i of t.sort(nc.compareRangesUsingStarts)){const t=e.validateRange(new nc(i.startLineNumber-30,i.startColumn,i.endLineNumber+30,i.endColumn));0!==n.length&&nc.areIntersectingOrTouching(n[n.length-1],t)?n[n.length-1]=nc.plusRange(n[n.length-1],t):n.push(t)}return n}_updateHintsDecorators(e,t){var n,i;const o=[],s=(e,t,n,i,s)=>{const r={content:n,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:i,attachedData:s};o.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:"InlayHint",showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},r=(e,t)=>{const n=this._ruleFactory.createClassNameRef({width:(l/3|0)+"px",display:"inline-block"});s(e,n," ",t?Cc.Right:Cc.None)},{fontSize:l,fontFamily:a,padding:d,isUniform:u}=this._getLayoutInfo(),c="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(c,a);let h={line:0,totalLen:0};for(const e of t){if(h.line!==e.anchor.range.startLineNumber&&(h={line:e.anchor.range.startLineNumber,totalLen:0}),h.totalLen>z0._MAX_LABEL_LEN)continue;e.hint.paddingLeft&&r(e,!1);const t="string"==typeof e.hint.label?[{label:e.hint.label}]:e.hint.label;for(let i=0;i0&&(p=p.slice(0,-f)+"…",m=!0),s(e,this._ruleFactory.createClassNameRef(g),p.replace(/[ \t]/g," "),a&&!e.hint.paddingRight?Cc.Right:Cc.None,new q0(e,i)),m)break}if(e.hint.paddingRight&&r(e,!0),o.length>z0._MAX_DECORATORS)break}const g=[];for(const[t,n]of this._decorationsMetadata){const o=null===(i=this._editor.getModel())||void 0===i?void 0:i.getDecorationRange(t);o&&e.some((e=>e.containsRange(o)))&&(g.push(t),n.classNameRef.dispose(),this._decorationsMetadata.delete(t))}const p=OB.capture(this._editor);this._editor.changeDecorations((e=>{const t=e.deltaDecorations(g,o.map((e=>e.decoration)));for(let e=0;en)&&(o=n);const s=e.fontFamily||i;return{fontSize:o,fontFamily:s,padding:t,isUniform:!t&&s===i&&o===n}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};G0.ID="editor.contrib.InlayHints",G0._MAX_DECORATORS=1500,G0._MAX_LABEL_LEN=43,G0=z0=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([U0(1,wx),U0(2,sW),U0(3,j0),U0(4,wd),U0(5,nN),U0(6,ad)],G0),Cd.registerCommand("_executeInlayHintProvider",(async(e,...t)=>{const[n,i]=t;fa(Io.isUri(n)),fa(nc.isIRange(i));const{inlayHintsProvider:o}=e.get(wx),s=await e.get(gd).createModelReference(n);try{const e=await W0.create(o,s.object.textEditorModel,[nc.lift(i)],It.None),t=e.items.map((e=>e.hint));return setTimeout((()=>e.dispose()),0),t}finally{s.dispose()}}));var Z0=function(e,t){return function(n,i){t(n,i,e)}};class Y0 extends DG{constructor(e,t,n,i){super(10,t,e.item.anchor.range,n,i,!0),this.part=e}}let X0=class extends QG{constructor(e,t,n,i,o,s){super(e,t,n,i,s),this._resolverService=o,this.hoverOrdinal=6}suggestHoverAnchor(e){var t;if(!G0.get(this._editor))return null;if(6!==e.target.type)return null;const n=null===(t=e.target.detail.injectedText)||void 0===t?void 0:t.options;return n instanceof Iy&&n.attachedData instanceof q0?new Y0(n.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,n){return e instanceof Y0?new Qt((async t=>{const{part:i}=e;if(await i.item.resolve(n),n.isCancellationRequested)return;let o,s;if("string"==typeof i.item.hint.tooltip?o=(new ed).appendText(i.item.hint.tooltip):i.item.hint.tooltip&&(o=i.item.hint.tooltip),o&&t.emitOne(new XG(this,e.range,[o],!1,0)),Wc(i.item.hint.textEdits)&&t.emitOne(new XG(this,e.range,[(new ed).appendText(_(0,"Double-click to insert"))],!1,10001)),"string"==typeof i.part.tooltip?s=(new ed).appendText(i.part.tooltip):i.part.tooltip&&(s=i.part.tooltip),s&&t.emitOne(new XG(this,e.range,[s],!1,1)),i.part.location||i.part.command){let n;const o=_(0,"altKey"===this._editor.getOption(78)?U?"cmd + click":"ctrl + click":U?"option + click":"alt + click");i.part.location&&i.part.command?n=(new ed).appendText(_(0,"Go to Definition ({0}), right click for more",o)):i.part.location?n=(new ed).appendText(_(0,"Go to Definition ({0})",o)):i.part.command&&(n=new ed(`[${_(0,"Execute Command")}](${r=i.part.command,Io.from({scheme:Ho.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${i.part.command.title}") (${o})`,{isTrusted:!0})),n&&t.emitOne(new XG(this,e.range,[n],!1,1e4))}var r;const l=await this._resolveInlayHintLabelPartHover(i,n);for await(const e of l)t.emitOne(e)})):Qt.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Qt.EMPTY;const{uri:n,range:i}=e.part.location,o=await this._resolverService.createModelReference(n);try{const n=o.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(n)?GG(this._languageFeaturesService.hoverProvider,n,new cd(i.startLineNumber,i.startColumn),t).filter((e=>!td(e.hover.contents))).map((t=>new XG(this,e.item.anchor.range,t.hover.contents,!1,2+t.ordinal))):Qt.EMPTY}finally{o.dispose()}}};X0=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Z0(1,Sh),Z0(2,rL),Z0(3,pg),Z0(4,gd),Z0(5,wx)],X0),Zu(G0.ID,G0,1),NG.register(X0);class Q0 extends lt{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Q0.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Q0.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Q0.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Q0.suppressSuggestions.bindTo(this.contextKeyService),this._register(YE((e=>{const t=this.model.read(e),n=null==t?void 0:t.state.read(e),i=!!(null==n?void 0:n.inlineCompletion)&&void 0!==(null==n?void 0:n.primaryGhostText)&&!(null==n?void 0:n.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(i),(null==n?void 0:n.primaryGhostText)&&(null==n?void 0:n.inlineCompletion)&&this.suppressSuggestions.set(n.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register(YE((e=>{const t=this.model.read(e);let n=!1,i=!0;const o=null==t?void 0:t.primaryGhostText.read(e);if((null==t?void 0:t.selectedSuggestItem)&&o&&o.parts.length>0){const{column:e,lines:s}=o.parts[0],r=s[0];if(e<=t.textModel.getLineIndentColumn(o.lineNumber)){let e=hi(r);-1===e&&(e=r.length-1),n=e>0;const o=t.textModel.getOptions().tabSize;i=dh.visibleColumnFromColumn(r,e+1,o)t.equals(e.parts[n])))}renderForScreenReader(e){if(0===this.parts.length)return"";const t=this.parts[this.parts.length-1],n=e.substr(0,t.column-1);return new _Q([...this.parts.map((e=>new vQ(nc.fromPositions(new cd(1,e.column)),e.lines.join("\n"))))]).applyToString(n).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((e=>0===e.lines.length))}get lineCount(){return 1+this.parts.reduce(((e,t)=>e+t.lines.length-1),0)}}class n1{constructor(e,t,n){this.column=e,this.text=t,this.preview=n,this.lines=ci(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every(((t,n)=>t===e.lines[n]))}}class i1{constructor(e,t,n,i=0){this.lineNumber=e,this.columnRange=t,this.text=n,this.additionalReservedLineCount=i,this.parts=[new n1(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=ci(this.text)}renderForScreenReader(e){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((e=>0===e.lines.length))}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every(((t,n)=>t===e.newLines[n]))&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function o1(e,t){return Ic(e,t,s1)}function s1(e,t){return e===t||!(!e||!t)&&(e instanceof t1&&t instanceof t1||e instanceof i1&&t instanceof i1)&&e.equals(t)}const r1=[];class l1{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Re(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new nc(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function a1(e,t){const n=new rt,i=e.createDecorationsCollection();return n.add(XE({debugName:()=>`Apply decorations from ${t.debugName}`},(e=>{const n=t.read(e);i.set(n)}))),n.add({dispose:()=>{i.clear()}}),n}function d1(e,t){return new cd(e.lineNumber-t.lineNumber+1,e.lineNumber-t.lineNumber==0?e.column-t.column+1:e.column)}const u1="ghost-text";let c1=class extends lt{constructor(e,t,n){super(),this.editor=e,this.model=t,this.languageService=n,this.isDisposed=VE(this,!1),this.currentTextModel=iI(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=jE(this,(e=>{if(this.isDisposed.read(e))return;const t=this.currentTextModel.read(e);if(t!==this.model.targetTextModel.read(e))return;const n=this.model.ghostText.read(e);if(!n)return;const i=n instanceof i1?n.columnRange:void 0,o=[],s=[];function r(e,t){if(s.length>0){const n=s[s.length-1];t&&n.decorations.push(new oA(n.content.length+1,n.content.length+1+e[0].length,t,0)),n.content+=e[0],e=e.slice(1)}for(const n of e)s.push({content:n,decorations:t?[new oA(1,n.length+1,t,0)]:[]})}const l=t.getLineContent(n.lineNumber);let a,d=0;for(const e of n.parts){let t=e.lines;void 0===a?(o.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):r([l.substring(d,e.column-1)],void 0),t.length>0&&(r(t,u1),void 0===a&&e.column<=l.length&&(a=e.column)),d=e.column-1}void 0!==a&&r([l.substring(d)],void 0);const u=void 0!==a?new l1(a,l.length+1):void 0;return{replacedRange:i,inlineTexts:o,additionalLines:s,hiddenRange:u,lineNumber:n.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:t}})),this.decorations=jE(this,(e=>{const t=this.uiState.read(e);if(!t)return[];const n=[];t.replacedRange&&n.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),t.hiddenRange&&n.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const e of t.inlineTexts)n.push({range:nc.fromPositions(new cd(t.lineNumber,e.column)),options:{description:u1,after:{content:e.text,inlineClassName:e.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Cc.Left},showIfCollapsed:!0}});return n})),this.additionalLinesWidget=this._register(new h1(this.editor,this.languageService.languageIdCodec,jE((e=>{const t=this.uiState.read(e);return t?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0})))),this._register(st((()=>{this.isDisposed.set(!0,void 0)}))),this._register(a1(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};c1=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,Sh)],c1);class h1 extends lt{get viewZoneId(){return this._viewZoneId}constructor(e,t,n){super(),this.editor=e,this.languageIdCodec=t,this.lines=n,this._viewZoneId=void 0,this.editorOptionsChanged=sI("editorOptionChanged",ft.filter(this.editor.onDidChangeConfiguration,(e=>e.hasChanged(33)||e.hasChanged(117)||e.hasChanged(99)||e.hasChanged(94)||e.hasChanged(51)||e.hasChanged(50)||e.hasChanged(67)))),this._register(YE((e=>{const t=this.lines.read(e);this.editorOptionsChanged.read(e),t?this.updateLines(t.lineNumber,t.additionalLines,t.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,n){const i=this.editor.getModel();if(!i)return;const{tabSize:o}=i.getOptions();this.editor.changeViewZones((i=>{this._viewZoneId&&(i.removeZone(this._viewZoneId),this._viewZoneId=void 0);const s=Math.max(t.length,n);if(s>0){const n=document.createElement("div");!function(e,t,n,i,o){const s=i.get(33),r=i.get(117),l=i.get(94),a=i.get(51),d=i.get(50),u=i.get(67),c=new eg(1e4);c.appendString('
    ');for(let e=0,i=n.length;e');const g=Fi(h),p=Pi(h),m=BC.createEmpty(h,o);pA(new uA(d.isMonospace&&!s,d.canUseHalfwidthRightwardsArrow,h,!1,g,p,0,m,i.decorations,t,0,d.spaceWidth,d.middotWidth,d.wsmiddotWidth,r,"none",l,a!==ED.OFF,null),c),c.appendString("
    ")}c.appendString(""),nL(e,d);const h=c.build(),g=g1?g1.createHTML(h):h;e.innerHTML=g}(n,o,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=i.addZone({afterLineNumber:e,heightInLines:s,domNode:n,afterColumnAffinity:1})}}))}}const g1=Yk("editorGhostText",{createHTML:e=>e});class p1{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function m1(e,t,n,i,o=It.None,s){const r=function(e,t){const n=t.getWordAtPosition(e),i=t.getLineMaxColumn(e.lineNumber);return n?new nc(e.lineNumber,n.startColumn,e.lineNumber,i):nc.fromPositions(e,e.with(void 0,i))}(t,n),l=e.all(n),a=new sl;for(const e of l)e.groupId&&a.add(e.groupId,e);function d(e){if(!e.yieldsToGroupIds)return[];const t=[];for(const n of e.yieldsToGroupIds||[]){const e=a.get(n);for(const n of e)t.push(n)}return t}const u=new Map,c=new Set;function h(e,t){if(t=[...t,e],c.has(e))return t;c.add(e);try{const n=d(e);for(const e of n){const n=h(e,t);if(n)return n}}finally{c.delete(e)}}function g(e){const s=u.get(e);if(s)return s;const r=h(e,[]);r&&ke(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((e=>e.toString?e.toString():""+e)).join(" -> ")}`));const l=new Yt;return u.set(e,l.p),(async()=>{if(!r){const t=d(e);for(const e of t){const t=await g(e);if(t&&t.items.length>0)return}}try{return await e.provideInlineCompletions(n,t,i,o)}catch(e){return void ke(e)}})().then((e=>l.complete(e)),(e=>l.error(e))),l.p}const p=await Promise.all(l.map((async e=>({provider:e,completions:await g(e)})))),m=new Map,f=[];for(const e of p){const t=e.completions;if(!t)continue;const i=new _1(t,e.provider);f.push(i);for(const e of t.items){const t=v1.from(e,i,r,n,s);m.set(t.hash(),t)}}return new f1(Array.from(m.values()),new Set(m.keys()),f)}class f1{constructor(e,t,n){this.completions=e,this.hashs=t,this.providerResults=n}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class _1{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class v1{static from(e,t,n,i,o){let s,r,l=e.range?nc.lift(e.range):n;if("string"==typeof e.insertText){if(s=e.insertText,o&&e.completeBracketPairs){s=b1(s,l.getStartPosition(),i,o);const t=s.length-e.insertText.length;0!==t&&(l=new nc(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+t))}r=void 0}else if("snippet"in e.insertText){const t=e.insertText.snippet.length;if(o&&e.completeBracketPairs){e.insertText.snippet=b1(e.insertText.snippet,l.getStartPosition(),i,o);const n=e.insertText.snippet.length-t;0!==n&&(l=new nc(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+n))}const n=(new Jx).parse(e.insertText.snippet);1===n.children.length&&n.children[0]instanceof Kx?(s=n.children[0].value,r=void 0):(s=n.toString(),r={snippet:e.insertText.snippet,range:l})}else hu(e.insertText);return new v1(s,e.command,l,s,r,e.additionalTextEdits||r1,e,t)}constructor(e,t,n,i,o,s,r,l){this.filterText=e,this.command=t,this.range=n,this.insertText=i,this.snippetInfo=o,this.additionalTextEdits=s,this.sourceInlineCompletion=r,this.source=l,i=(e=e.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(e){return new v1(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()})}}function b1(e,t,n,i){const o=n.getLineContent(t.lineNumber).substring(0,t.column-1)+e,s=n.tokenization.tokenizeLineWithEdit(t,o.length-(t.column-1),e),r=null==s?void 0:s.sliceAndInflate(t.column-1,o.length,0);if(!r)return e;const l=function(e,t){const n=new Rp,i=new Jp(n,(e=>t.getLanguageConfiguration(e))),o=rm(new Zp(new p1([e]),i),[],void 0,!0);let s="";const r=e.getLineContent();return function e(t,n){if(2===t.kind)if(e(t.openingBracket,n),n=bp(n,t.openingBracket.length),t.child&&(e(t.child,n),n=bp(n,t.child.length)),t.closingBracket)e(t.closingBracket,n),n=bp(n,t.closingBracket.length);else{const e=i.getSingleLanguageBracketTokens(t.openingBracket.languageId).findClosingTokenText(t.openingBracket.bracketIds);s+=e}else if(3===t.kind);else if(0===t.kind||1===t.kind)s+=r.substring(n,bp(n,t.length));else if(4===t.kind)for(const i of t.children)e(i,n),n=bp(n,i.length)}(o,pp),s}(r,i);return l}function w1(e,t,n){const i=n?e.range.intersectRanges(n):e.range;if(!i)return e;const o=t.getValueInRange(i,1),s=xi(o,e.text),r=gp.ofText(o.substring(0,s)).addToPosition(e.range.getStartPosition()),l=e.text.substring(s),a=nc.fromPositions(r,e.range.getEndPosition());return new vQ(a,l)}function C1(e,t){return e.text.startsWith(t.text)&&(n=e.range,(i=t.range).getStartPosition().equals(n.getStartPosition())&&i.getEndPosition().isBeforeOrEqual(n.getEndPosition()));var n,i}function y1(e,t,n,i,o=0){let s=w1(e,t);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=t.getLineContent(s.range.startLineNumber),l=gi(r).length;if(s.range.startColumn-1<=l){const e=gi(s.text).length,t=r.substring(s.range.startColumn-1,l),[n,i]=[s.range.getStartPosition(),s.range.getEndPosition()],o=n.column+t.length<=i.column?n.delta(0,t.length):i,a=nc.fromPositions(o,i),d=s.text.startsWith(t)?s.text.substring(t.length):s.text.substring(e);s=new vQ(a,d)}const a=t.getValueInRange(s.range),d=function(e,t){if((null==S1?void 0:S1.originalValue)===e&&(null==S1?void 0:S1.newValue)===t)return null==S1?void 0:S1.changes;{let n=k1(e,t,!0);if(n){const i=x1(n);if(i>0){const o=k1(e,t,!1);o&&x1(o)0===e.originalLength));if(e.length>1||1===e.length&&e[0].originalStart!==a.length)return}const h=s.text.length-o;for(const e of d){const t=s.range.startColumn+e.originalStart+e.originalLength;if("subwordSmart"===n&&i&&i.lineNumber===s.range.startLineNumber&&t0)return;if(0===e.modifiedLength)continue;const o=e.modifiedStart+e.modifiedLength,r=Math.max(e.modifiedStart,Math.min(o,h)),l=s.text.substring(e.modifiedStart,r),a=s.text.substring(r,Math.max(e.modifiedStart,o));l.length>0&&c.push(new n1(t,l,!1)),a.length>0&&c.push(new n1(t,a,!0))}return new t1(u,c)}let S1;function x1(e){let t=0;for(const n of e)t+=n.originalLength;return t}function k1(e,t,n){if(e.length>5e3||t.length>5e3)return;function i(e){let t=0;for(let n=0,i=e.length;nt&&(t=i)}return t}const o=Math.max(i(e),i(t));function s(e){if(e<0)throw new Error("unexpected");return o+e+1}function r(e){let t=0,i=0;const o=new Int32Array(e.length);for(let r=0,l=e.length;rl},{getElements:()=>a}).ComputeDiff(!1).changes}var L1=function(e,t){return function(n,i){t(n,i,e)}};let D1=class extends lt{constructor(e,t,n,i,o){super(),this.textModel=e,this.versionId=t,this._debounceValue=n,this.languageFeaturesService=i,this.languageConfigurationService=o,this._updateOperation=this._register(new at),this.inlineCompletions=zE("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=zE("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(e,t,n){var i,o;const s=new N1(e,t,this.textModel.getVersionId()),r=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(null===(i=this._updateOperation.value)||void 0===i?void 0:i.request.satisfies(s))return this._updateOperation.value.promise;if(null===(o=r.get())||void 0===o?void 0:o.request.satisfies(s))return Promise.resolve(!0);const l=!!this._updateOperation.value;this._updateOperation.clear();const a=new Tt,d=(async()=>{var i,o;if((l||t.triggerKind===vC.Automatic)&&await(i=this._debounceValue.get(this.textModel),o=a.token,new Promise((e=>{let t;const n=setTimeout((()=>{t&&t.dispose(),e()}),i);o&&(t=o.onCancellationRequested((()=>{clearTimeout(n),t&&t.dispose(),e()})))}))),a.token.isCancellationRequested||this.textModel.getVersionId()!==s.versionId)return!1;const d=new Date,u=await m1(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,a.token,this.languageConfigurationService);if(a.token.isCancellationRequested||this.textModel.getVersionId()!==s.versionId)return!1;const c=new Date;this._debounceValue.update(this.textModel,c.getTime()-d.getTime());const h=new I1(u,s,this.textModel,this.versionId);if(n){const t=n.toInlineCompletion(void 0);n.canBeReused(this.textModel,e)&&!u.has(t)&&h.prepend(n.inlineCompletion,t.range,!0)}return this._updateOperation.clear(),OE((e=>{r.set(h,e)})),!0})(),u=new E1(s,a,d);return this._updateOperation.value=u,d}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;(null===(t=this._updateOperation.value)||void 0===t?void 0:t.request.context.selectedSuggestionInfo)&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};D1=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([L1(3,wx),L1(4,Qg)],D1);class N1{constructor(e,t,n){this.position=e,this.context=t,this.versionId=n}satisfies(e){return this.position.equals(e.position)&&(t=this.context.selectedSuggestionInfo,n=e.context.selectedSuggestionInfo,t&&n?((e,t)=>e.equals(t))(t,n):t===n)&&(e.context.triggerKind===vC.Automatic||this.context.triggerKind===vC.Explicit)&&this.versionId===e.versionId;var t,n}}class E1{constructor(e,t,n){this.request=e,this.cancellationTokenSource=t,this.promise=n}dispose(){this.cancellationTokenSource.cancel()}}class I1{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,n,i){this.inlineCompletionProviderResult=e,this.request=t,this.textModel=n,this.versionId=i,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=jE(this,(e=>{this.versionId.read(e);let t=!1;for(const e of this._inlineCompletions)t=t||e._updateRange(this.textModel);return t&&this._rangeVersionIdValue++,this._rangeVersionIdValue}));const o=n.deltaDecorations([],e.completions.map((e=>({range:e.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=e.completions.map(((e,t)=>new M1(e,o[t],this._rangeVersionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){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,n){n&&e.source.addRef();const i=this.textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new M1(e,i,this._rangeVersionId,t)),this._prependedInlineCompletionItems.push(e)}}class M1{get forwardStable(){var e;return null!==(e=this.inlineCompletion.source.inlineCompletions.enableForwardStability)&&void 0!==e&&e}constructor(e,t,n,i){this.inlineCompletion=e,this.decorationId=t,this.rangeVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=null!=i?i:e.range}toInlineCompletion(e){return this.inlineCompletion.withRange(this._getUpdatedRange(e))}toSingleTextEdit(e){return new vQ(this._getUpdatedRange(e),this.inlineCompletion.insertText)}isVisible(e,t,n){const i=w1(this._toFilterTextReplacement(n),e);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(n).getStartPosition())||t.lineNumber!==i.range.startLineNumber)return!1;const o=e.getValueInRange(i.range,1),s=i.text,r=Math.max(0,t.column-i.range.startColumn);let l=s.substring(0,r),a=s.substring(r),d=o.substring(0,r),u=o.substring(r);const c=e.getLineIndentColumn(i.range.startLineNumber);return i.range.startColumn<=c&&(d=d.trimStart(),0===d.length&&(u=u.trimStart()),l=l.trimStart(),0===l.length&&(a=a.trimStart())),l.startsWith(d)&&!!_l(u,a)}canBeReused(e,t){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(t)&&this.isVisible(e,t,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(e){return new vQ(this._getUpdatedRange(e),this.inlineCompletion.filterText)}_isSmallerThanOriginal(e){return T1(this._getUpdatedRange(e)).isBefore(T1(this.inlineCompletion.range))}_getUpdatedRange(e){return this.rangeVersion.read(e),this._updatedRange}_updateRange(e){const t=e.getDecorationRange(this.decorationId);return t?!this._updatedRange.equalsRange(t)&&(this._updatedRange=t,!0):(this._isValid=!1,!0)}}function T1(e){return e.startLineNumber===e.endLineNumber?new cd(1,1+e.endColumn-e.startColumn):new cd(1+e.endLineNumber-e.startLineNumber,e.endColumn)}const A1={Visible:t2,HasFocusedSuggestion:new ou("suggestWidgetHasFocusedSuggestion",!1,_(0,"Whether any suggestion is focused")),DetailsVisible:new ou("suggestWidgetDetailsVisible",!1,_(0,"Whether suggestion details are visible")),MultipleSuggestions:new ou("suggestWidgetMultipleSuggestions",!1,_(0,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new ou("suggestionMakesTextEdit",!0,_(0,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ou("acceptSuggestionOnEnter",!0,_(0,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ou("suggestionHasInsertAndReplaceRange",!1,_(0,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new ou("suggestionInsertMode",void 0,{type:"string",description:_(0,"Whether the default behaviour is to insert or replace")}),CanResolve:new ou("suggestionCanResolve",!1,_(0,"Whether the current suggestion supports to resolve further details"))},R1=new Su("suggestWidgetStatusBar");class P1{constructor(e,t,n,i){var o;this.position=e,this.completion=t,this.container=n,this.provider=i,this.isInvalid=!1,this.score=ta.Default,this.distance=0,this.textLabel="string"==typeof t.label?t.label:null===(o=t.label)||void 0===o?void 0:o.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,nc.isIRange(t.range)?(this.editStart=new cd(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new cd(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new cd(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||nc.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new cd(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new cd(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new cd(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||nc.spansMultipleLines(t.range.insert)||nc.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),"function"!=typeof i.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),n=new mt(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then((e=>{Object.assign(this.completion,e),this._resolveDuration=n.elapsed()}),(e=>{Ne(e)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{t.dispose()}))}return this._resolveCache}}class O1{constructor(e=2,t=new Set,n=new Set,i=new Map,o=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=n,this.providerItemsToReuse=i,this.showDeprecated=o}}O1.default=new O1;class F1{constructor(e,t,n,i){this.items=e,this.needsClipboard=t,this.durations=n,this.disposable=i}}async function B1(e,t,n,i=O1.default,o={triggerKind:0},s=It.None){const r=new mt;n=n.clone();const l=t.getWordAtPosition(n),a=l?new nc(n.lineNumber,l.startColumn,n.lineNumber,l.endColumn):nc.fromPositions(n),d={replace:a,insert:a.setEndPosition(n.lineNumber,n.column)},u=[],c=new rt,h=[];let g=!1;const p=(e,t,o)=>{var s,r,l;let a=!1;if(!t)return a;for(const o of t.suggestions)if(!i.kindFilter.has(o.kind)){if(!i.showDeprecated&&(null===(s=null==o?void 0:o.tags)||void 0===s?void 0:s.includes(1)))continue;o.range||(o.range=d),o.sortText||(o.sortText="string"==typeof o.label?o.label:o.label.label),!g&&o.insertTextRules&&4&o.insertTextRules&&(g=Jx.guessNeedsClipboard(o.insertText)),u.push(new P1(n,o,t,e)),a=!0}return nt(t)&&c.add(t),h.push({providerName:null!==(r=e._debugDisplayName)&&void 0!==r?r:"unknown_provider",elapsedProvider:null!==(l=t.duration)&&void 0!==l?l:-1,elapsedOverall:o.elapsed()}),a},m=(async()=>{})();for(const r of e.orderedGroups(t)){let e=!1;if(await Promise.all(r.map((async r=>{if(i.providerItemsToReuse.has(r)){const t=i.providerItemsToReuse.get(r);return t.forEach((e=>u.push(e))),void(e=e||t.length>0)}if(!(i.providerFilter.size>0)||i.providerFilter.has(r))try{const i=new mt,l=await r.provideCompletionItems(t,n,o,s);e=p(r,l,i)||e}catch(e){ke(e)}}))),e||s.isCancellationRequested)break}return await m,s.isCancellationRequested?(c.dispose(),Promise.reject(new Ee)):new F1(u.sort((f=i.snippetSortOrder,V1.get(f))),g,{entries:h,elapsed:r.elapsed()},c);var f}function W1(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLowt.sortTextLow)return 1}return e.textLabelt.textLabel?1:e.completion.kind-t.completion.kind}const V1=new Map;V1.set(0,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return W1(e,t)})),V1.set(2,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return W1(e,t)})),V1.set(1,W1),Cd.registerCommand("_executeCompletionItemProvider",(async(e,...t)=>{const[n,i,o,s]=t;fa(Io.isUri(n)),fa(cd.isIPosition(i)),fa("string"==typeof o||!o),fa("number"==typeof s||!s);const{completionProvider:r}=e.get(wx),l=await e.get(gd).createModelReference(n);try{const e={incomplete:!1,suggestions:[]},t=[],n=l.object.textEditorModel.validatePosition(i),a=await B1(r,l.object.textEditorModel,n,void 0,{triggerCharacter:null!=o?o:void 0,triggerKind:o?1:0});for(const n of a.items)t.length<(null!=s?s:0)&&t.push(n.resolve(It.None)),e.incomplete=e.incomplete||n.container.incomplete,e.suggestions.push(n.completion);try{return await Promise.all(t),e}finally{setTimeout((()=>a.disposable.dispose()),100)}}finally{l.dispose()}}));class H1{static isAllOff(e){return"off"===e.other&&"off"===e.comments&&"off"===e.strings}static isAllOn(e){return"on"===e.other&&"on"===e.comments&&"on"===e.strings}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}var z1=n(69),U1={};function K1(e,t=z){return function(e,t=z){return!!t&&Ba(e.charCodeAt(0))&&58===e.charCodeAt(1)}(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}U1.styleTagTransform=Vr(),U1.setAttributes=Or(),U1.insert=Rr().bind(null,"head"),U1.domAPI=Tr(),U1.insertStyleElement=Br(),Ir()(z1.A,U1),z1.A&&z1.A.locals&&z1.A.locals,Object.create(null);Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class j1{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const n=t.resolve(e);if(void 0!==n)return n}}}class q1{constructor(e,t,n,i){this._model=e,this._selection=t,this._selectionIdx=n,this._overtypingCapturer=i}resolve(e){const{name:t}=e;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){let t=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){const e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,n=e.multiline)}if(t&&n&&e.snippet){const n=gi(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1);let i=n;e.snippet.walk((t=>t!==e&&(t instanceof Kx&&(i=gi(ci(t.value).pop())),!0)));const o=xi(i,n);t=t.replace(/(\r\n|\r|\n)(.*)/g,((e,t,n)=>`${t}${i.substr(o)}${n}`))}return t}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){const e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}return"TM_LINE_INDEX"===t?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===t?String(this._selection.positionLineNumber):"CURSOR_INDEX"===t?String(this._selectionIdx):"CURSOR_NUMBER"===t?String(this._selectionIdx+1):void 0}}class $1{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if("TM_FILENAME"===t)return Co(this._model.uri.fsPath);if("TM_FILENAME_BASE"===t){const e=Co(this._model.uri.fsPath),t=e.lastIndexOf(".");return t<=0?e:e.slice(0,t)}return"TM_DIRECTORY"===t?"."===wo(this._model.uri.fsPath)?"":this._labelService.getUriLabel(qa(this._model.uri)):"TM_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class G1{constructor(e,t,n,i){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=n,this._spread=i}resolve(e){if("CLIPBOARD"!==e.name)return;const t=this._readClipboardText();if(t){if(this._spread){const e=t.split(/\r\n|\n|\r/).filter((e=>!ni(e)));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}}let Z1=class{constructor(e,t,n){this._model=e,this._selection=t,this._languageConfigurationService=n}resolve(e){const{name:t}=e,n=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),i=this._languageConfigurationService.getLanguageConfiguration(n).comments;if(i)return"LINE_COMMENT"===t?i.lineCommentToken||void 0:"BLOCK_COMMENT_START"===t?i.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===t&&i.blockCommentEndToken||void 0}};Z1=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,Qg)],Z1);class Y1{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if("CURRENT_YEAR"===t)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===t)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===t)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===t)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===t)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===t)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===t)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===t)return Y1.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===t)return Y1.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===t)return Y1.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===t)return Y1.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===t)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===t){const e=this._date.getTimezoneOffset(),t=e>0?"-":"+",n=Math.trunc(Math.abs(e/60)),i=n<10?"0"+n:n,o=Math.abs(e)-60*n;return t+i+":"+(o<10?"0"+o:o)}}}Y1.dayNames=[_(0,"Sunday"),_(0,"Monday"),_(0,"Tuesday"),_(0,"Wednesday"),_(0,"Thursday"),_(0,"Friday"),_(0,"Saturday")],Y1.dayNamesShort=[_(0,"Sun"),_(0,"Mon"),_(0,"Tue"),_(0,"Wed"),_(0,"Thu"),_(0,"Fri"),_(0,"Sat")],Y1.monthNames=[_(0,"January"),_(0,"February"),_(0,"March"),_(0,"April"),_(0,"May"),_(0,"June"),_(0,"July"),_(0,"August"),_(0,"September"),_(0,"October"),_(0,"November"),_(0,"December")],Y1.monthNamesShort=[_(0,"Jan"),_(0,"Feb"),_(0,"Mar"),_(0,"Apr"),_(0,"May"),_(0,"Jun"),_(0,"Jul"),_(0,"Aug"),_(0,"Sep"),_(0,"Oct"),_(0,"Nov"),_(0,"Dec")];class X1{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=function(e,t){if("string"==typeof e||void 0===e)return"string"==typeof e?{id:Co(e)}:Ex;const n=e;return n.configuration?{id:n.id,configPath:n.configuration}:1===n.folders.length?{id:n.id,uri:n.folders[0].uri}:{id:n.id}}(this._workspaceService.getWorkspace());return"string"!=typeof(null==(n=t)?void 0:n.id)||Nx(n)||function(e){const t=e;return"string"==typeof(null==t?void 0:t.id)&&Io.isUri(t.configPath)}(n)?"WORKSPACE_NAME"===e.name?this._resolveWorkspaceName(t):"WORKSPACE_FOLDER"===e.name?this._resoveWorkspacePath(t):void 0:void 0;var n}_resolveWorkspaceName(e){if(Nx(e))return Co(e.uri.path);let t=Co(e.configPath.path);return t.endsWith("code-workspace")&&(t=t.substr(0,t.length-14-1)),t}_resoveWorkspacePath(e){if(Nx(e))return K1(e.uri.fsPath);const t=Co(e.configPath.path);let n=e.configPath.fsPath;return n.endsWith(t)&&(n=n.substr(0,n.length-t.length-1)),n?K1(n):"/"}}class Q1{resolve(e){const{name:t}=e;return"RANDOM"===t?Math.random().toString().slice(-6):"RANDOM_HEX"===t?Math.random().toString(16).slice(-6):"UUID"===t?nx():void 0}}var J1;class e4{constructor(e,t,n){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=n,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=Ac(t.placeholders,qx.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(-1===this._offset)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 n of this._snippet.placeholders){const i=this._snippet.offset(n),o=this._snippet.fullLen(n),s=nc.fromPositions(e.getPositionAt(this._offset+i),e.getPositionAt(this._offset+i+o)),r=n.isFinalTabstop?e4._decor.inactiveFinal:e4._decor.inactive,l=t.addDecoration(s,r);this._placeholderDecorations.set(n,l)}}))}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const e=[];for(const t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){const n=this._placeholderDecorations.get(t),i=this._editor.getModel().getDecorationRange(n),o=this._editor.getModel().getValueInRange(i),s=t.transform.resolve(o).split(/\r\n|\r|\n/);for(let e=1;e0&&this._editor.executeEdits("snippet.placeholderTransform",e)}let t=!1;!0===e&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const n=this._editor.getModel().changeDecorations((e=>{const n=new Set,i=[];for(const o of this._placeholderGroups[this._placeholderGroupsIdx]){const s=this._placeholderDecorations.get(o),r=this._editor.getModel().getDecorationRange(s);i.push(new ic(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(o),e.changeDecorationOptions(s,o.isFinalTabstop?e4._decor.activeFinal:e4._decor.active),n.add(o);for(const t of this._snippet.enclosingPlaceholders(o)){const i=this._placeholderDecorations.get(t);e.changeDecorationOptions(i,t.isFinalTabstop?e4._decor.activeFinal:e4._decor.active),n.add(t)}}for(const[t,i]of this._placeholderDecorations)n.has(t)||e.changeDecorationOptions(i,t.isFinalTabstop?e4._decor.inactiveFinal:e4._decor.inactive);return i}));return t?this.move(e):null!=n?n:[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof qx){const e=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(e).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){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 n;for(const i of t){if(i.isFinalTabstop)break;n||(n=[],e.set(i.index,n));const t=this._placeholderDecorations.get(i),o=this._editor.getModel().getDecorationRange(t);if(!o){e.delete(i.index);break}n.push(o)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(null==e?void 0:e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const n=this._editor.getModel().getDecorationRange(t);return n?{range:n,choice:e.choice}:void 0}get hasChoice(){let e=!1;return this._snippet.walk((t=>(e=t instanceof $x,!e))),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((n=>{for(const i of this._placeholderGroups[this._placeholderGroupsIdx]){const o=e.shift();console.assert(-1!==o._offset),console.assert(!o._placeholderDecorations);const s=o._snippet.placeholderInfo.last.index;for(const e of o._snippet.placeholderInfo.all)e.isFinalTabstop?e.index=i.index+(s+1)/this._nestingLevel:e.index=i.index+e.index/this._nestingLevel;this._snippet.replace(i,o._snippet.children);const r=this._placeholderDecorations.get(i);n.removeDecoration(r),this._placeholderDecorations.delete(i);for(const e of o._snippet.placeholders){const i=o._snippet.offset(e),s=o._snippet.fullLen(e),r=nc.fromPositions(t.getPositionAt(o._offset+i),t.getPositionAt(o._offset+i+s)),l=n.addDecoration(r,e4._decor.inactive);this._placeholderDecorations.set(e,l)}}this._placeholderGroups=Ac(this._snippet.placeholders,qx.compareByIndex)}))}}e4._decor={active:My.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:My.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:My.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:My.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const t4={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let n4=J1=class{static adjustWhitespace(e,t,n,i,o){const s=gi(e.getLineContent(t.lineNumber),0,t.column-1);let r;return i.walk((t=>{if(!(t instanceof Kx)||t.parent instanceof $x)return!0;if(o&&!o.has(t))return!0;const l=t.value.split(/\r\n|\r|\n/);if(n){const n=i.offset(t);if(0===n)l[0]=e.normalizeIndentation(l[0]);else{r=null!=r?r:i.toString();const t=r.charCodeAt(n-1);10!==t&&13!==t||(l[0]=e.normalizeIndentation(s+l[0]))}for(let t=1;te.get(Dx))),g=e.invokeWithinContext((e=>new $1(e.get(_$),c))),p=()=>r,m=c.getValueInRange(J1.adjustSelection(c,e.getSelection(),n,0)),f=c.getValueInRange(J1.adjustSelection(c,e.getSelection(),0,i)),_=c.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),v=e.getSelections().map(((e,t)=>({selection:e,idx:t}))).sort(((e,t)=>nc.compareRangesUsingStarts(e.selection,t.selection)));for(const{selection:r,idx:b}of v){let w=J1.adjustSelection(c,r,n,0),C=J1.adjustSelection(c,r,0,i);m!==c.getValueInRange(w)&&(w=r),f!==c.getValueInRange(C)&&(C=r);const y=r.setStartPosition(w.startLineNumber,w.startColumn).setEndPosition(C.endLineNumber,C.endColumn),S=(new Jx).parse(t,!0,o),x=y.getStartPosition(),k=J1.adjustWhitespace(c,x,s||b>0&&_!==c.getLineFirstNonWhitespaceColumn(r.positionLineNumber),S);S.resolveVariables(new j1([g,new G1(p,b,v.length,"spread"===e.getOption(79)),new q1(c,r,b,l),new Z1(c,r,a),new Y1,new X1(h),new Q1])),d[b]=wY.replace(y,S.toString()),d[b].identifier={major:b,minor:0},d[b]._isTracked=!0,u[b]=new e4(e,S,k)}return{edits:d,snippets:u}}static createEditsAndSnippetsFromEdits(e,t,n,i,o,s,r){if(!e.hasModel()||0===t.length)return{edits:[],snippets:[]};const l=[],a=e.getModel(),d=new Jx,u=new Qx,c=new j1([e.invokeWithinContext((e=>new $1(e.get(_$),a))),new G1((()=>o),0,e.getSelections().length,"spread"===e.getOption(79)),new q1(a,e.getSelection(),0,s),new Z1(a,e.getSelection(),r),new Y1,new X1(e.invokeWithinContext((e=>e.get(Dx)))),new Q1]);t=t.sort(((e,t)=>nc.compareRangesUsingStarts(e.range,t.range)));let h=0;for(let e=0;e0){const i=t[e-1].range,o=nc.fromPositions(i.getEndPosition(),n.getStartPosition()),s=new Kx(a.getValueInRange(o));u.appendChild(s),h+=s.value.length}const o=d.parseFragment(i,u);J1.adjustWhitespace(a,n.getStartPosition(),!0,u,new Set(o)),u.resolveVariables(c);const s=u.toString(),r=s.slice(h);h=s.length;const g=wY.replace(n,r);g.identifier={major:e,minor:0},g._isTracked=!0,l.push(g)}return d.ensureFinalTabstop(u,n,!0),{edits:l,snippets:[new e4(e,u,"")]}}constructor(e,t,n=t4,i){this._editor=e,this._template=t,this._options=n,this._languageConfigurationService=i,this._templateMerges=[],this._snippets=[]}dispose(){it(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}="string"==typeof this._template?J1.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):J1.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,(e=>{const n=e.filter((e=>!!e.identifier));for(let e=0;eic.fromPositions(e.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=t4){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:n,snippets:i}=J1.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",n,(e=>{const t=e.filter((e=>!!e.identifier));for(let e=0;eic.fromPositions(e.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 n of this._snippets){const i=n.move(e);t.push(...i)}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{e.push(...i.get(t))}))}e.sort(nc.compareRangesUsingStarts);for(const[n,i]of t)if(i.length===e.length){i.sort(nc.compareRangesUsingStarts);for(let o=0;o0}};n4=J1=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,Qg)],n4);var i4,o4=function(e,t){return function(n,i){t(n,i,e)}};const s4={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let r4=i4=class{static get(e){return e.getContribution(i4.ID)}constructor(e,t,n,i,o){this._editor=e,this._logService=t,this._languageFeaturesService=n,this._languageConfigurationService=o,this._snippetListener=new rt,this._modelVersionId=-1,this._inSnippet=i4.InSnippetMode.bindTo(i),this._hasNextTabstop=i4.HasNextTabstop.bindTo(i),this._hasPrevTabstop=i4.HasPrevTabstop.bindTo(i)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),null===(e=this._session)||void 0===e||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,void 0===t?s4:{...s4,...t})}catch(t){this.cancel(),this._logService.error(t),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){var n;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof e&&this.cancel(),this._session?(fa("string"==typeof e),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new n4(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),null===(n=this._session)||void 0===n?void 0:n.hasChoice){const e={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!cd.equals(this._editor.getPosition(),t))return;const{activeChoice:n}=this._session;if(!n||0===n.choice.options.length)return;const i=e.getValueInRange(n.range),o=Boolean(n.choice.options.find((e=>e.value===i))),s=[];for(let e=0;e{null==n||n.dispose(),i=!1},s=()=>{i||(n=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(n),i=!0)};this._choiceCompletions={provider:e,enable:s,disable:o}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((e=>e.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 e;if(!this._session||!this._editor.hasModel())return void(this._currentChoice=void 0);const{activeChoice:t}=this._session;if(!t||!this._choiceCompletions)return null===(e=this._choiceCompletions)||void 0===e||e.disable(),void(this._currentChoice=void 0);this._currentChoice!==t.choice&&(this._currentChoice=t.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(e,t){var n;null===(n=e.getContribution("editor.contrib.suggestController"))||void 0===n||n.triggerSuggest((new Set).add(t),void 0,!0)}(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,null===(t=this._session)||void 0===t||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;null===(e=this._session)||void 0===e||e.prev(),this._updateState()}next(){var e;null===(e=this._session)||void 0===e||e.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};r4.ID="snippetController2",r4.InSnippetMode=new ou("inSnippetMode",!1,_(0,"Whether the editor in current in snippet mode")),r4.HasNextTabstop=new ou("hasNextTabstop",!1,_(0,"Whether there is a next tab stop when in snippet mode")),r4.HasPrevTabstop=new ou("hasPrevTabstop",!1,_(0,"Whether there is a previous tab stop when in snippet mode")),r4=i4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([o4(1,Tu),o4(2,wx),o4(3,su),o4(4,Qg)],r4),Zu(r4.ID,r4,4);const l4=Hu.bindToContribution(r4.get);qu(new l4({id:"jumpToNextSnippetPlaceholder",precondition:Bd.and(r4.InSnippetMode,r4.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:oc.editorTextFocus,primary:2}})),qu(new l4({id:"jumpToPrevSnippetPlaceholder",precondition:Bd.and(r4.InSnippetMode,r4.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:oc.editorTextFocus,primary:1026}})),qu(new l4({id:"leaveSnippet",precondition:r4.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:oc.editorTextFocus,primary:9,secondary:[1033]}})),qu(new l4({id:"acceptSnippet",precondition:r4.InSnippetMode,handler:e=>e.finish()}));var a4,d4=function(e,t){return function(n,i){t(n,i,e)}};!function(e){e[e.Undo=0]="Undo",e[e.Redo=1]="Redo",e[e.AcceptWord=2]="AcceptWord",e[e.Other=3]="Other"}(a4||(a4={}));let u4=class extends lt{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,n,i,o,s,r,l,a,d,u,c){let h;super(),this.textModel=e,this.selectedSuggestItem=t,this.textModelVersionId=n,this._positions=i,this._debounceValue=o,this._suggestPreviewEnabled=s,this._suggestPreviewMode=r,this._inlineSuggestMode=l,this._enabled=a,this._instantiationService=d,this._commandService=u,this._languageConfigurationService=c,this._source=this._register(this._instantiationService.createInstance(D1,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=VE(this,!1),this._forceUpdateSignal=lI("forceUpdate"),this._selectedInlineCompletionId=VE(this,void 0),this._primaryPosition=jE(this,(e=>{var t;return null!==(t=this._positions.read(e)[0])&&void 0!==t?t:new cd(1,1)})),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([a4.Redo,a4.Undo,a4.AcceptWord]),this._fetchInlineCompletions=function(e,t){var n;return new ZE(new xE(e.owner,e.debugName,void 0),t,e.createEmptyChangeSummary,e.handleChange,void 0,null!==(n=e.equalityComparer)&&void 0!==n?n:KE)}({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:vC.Automatic}),handleChange:(e,t)=>(e.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(e.change)?t.preserveCurrentCompletion=!0:e.didChange(this._forceUpdateSignal)&&(t.inlineCompletionTriggerKind=e.change),!0)},((e,t)=>{if(this._forceUpdateSignal.read(e),!(this._enabled.read(e)&&this.selectedSuggestItem.read(e)||this._isActive.read(e)))return void this._source.cancelUpdate();this.textModelVersionId.read(e);const n=this.selectedInlineCompletion.get(),i=t.preserveCurrentCompletion||(null==n?void 0:n.forwardStable)?n:void 0,o=this._source.suggestWidgetInlineCompletions.get(),s=this.selectedSuggestItem.read(e);if(o&&!s){const e=this._source.inlineCompletions.get();OE((t=>{(!e||o.request.versionId>e.request.versionId)&&this._source.inlineCompletions.set(o.clone(),t),this._source.clearSuggestWidgetInlineCompletions(t)}))}const r=this._primaryPosition.read(e),l={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:null==s?void 0:s.toSelectedSuggestionInfo()};return this._source.fetch(r,l,i)})),this._filteredInlineCompletionItems=jE(this,(e=>{const t=this._source.inlineCompletions.read(e);if(!t)return[];const n=this._primaryPosition.read(e),i=t.inlineCompletions.filter((t=>t.isVisible(this.textModel,n,e)));return i})),this.selectedInlineCompletionIndex=jE(this,(e=>{const t=this._selectedInlineCompletionId.read(e),n=this._filteredInlineCompletionItems.read(e),i=void 0===this._selectedInlineCompletionId?-1:n.findIndex((e=>e.semanticId===t));return-1===i?(this._selectedInlineCompletionId.set(void 0,void 0),0):i})),this.selectedInlineCompletion=jE(this,(e=>this._filteredInlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(e=>null==e?void 0:e.request.context.triggerKind)),this.inlineCompletionsCount=jE(this,(e=>this.lastTriggerKind.read(e)===vC.Explicit?this._filteredInlineCompletionItems.read(e).length:void 0)),this.state=qE({owner:this,equalityComparer:(e,t)=>e&&t?o1(e.ghostTexts,t.ghostTexts)&&e.inlineCompletion===t.inlineCompletion&&e.suggestItem===t.suggestItem:e===t},(e=>{var t,n;const i=this.textModel,o=this.selectedSuggestItem.read(e);if(o){const s=w1(o.toSingleTextEdit(),i),r=this._computeAugmentation(s,e);if(!this._suggestPreviewEnabled.read(e)&&!r)return;const l=null!==(t=null==r?void 0:r.edit)&&void 0!==t?t:s,a=r?r.edit.text.length-s.text.length:0,d=this._suggestPreviewMode.read(e),u=this._positions.read(e),c=[l,...c4(this.textModel,u,l)],h=c.map(((e,t)=>y1(e,i,d,u[t],a))).filter(pa);return{edits:c,primaryGhostText:null!==(n=h[0])&&void 0!==n?n:new t1(l.range.endLineNumber,[]),ghostTexts:h,inlineCompletion:null==r?void 0:r.completion,suggestItem:o}}{if(!this._isActive.read(e))return;const t=this.selectedInlineCompletion.read(e);if(!t)return;const n=t.toSingleTextEdit(e),o=this._inlineSuggestMode.read(e),s=this._positions.read(e),r=[n,...c4(this.textModel,s,n)],l=r.map(((e,t)=>y1(e,i,o,s[t],0))).filter(pa);if(!l[0])return;return{edits:r,primaryGhostText:l[0],ghostTexts:l,inlineCompletion:t,suggestItem:void 0}}})),this.ghostTexts=qE({owner:this,equalityComparer:o1},(e=>{const t=this.state.read(e);if(t)return t.ghostTexts})),this.primaryGhostText=qE({owner:this,equalityComparer:s1},(e=>{const t=this.state.read(e);if(t)return null==t?void 0:t.primaryGhostText})),this._register(dI(this._fetchInlineCompletions)),this._register(YE((e=>{var t,n;const i=this.state.read(e),o=null==i?void 0:i.inlineCompletion;if((null==o?void 0:o.semanticId)!==(null==h?void 0:h.semanticId)&&(h=o,o)){const e=o.inlineCompletion,i=e.source;null===(n=(t=i.provider).handleItemDidShow)||void 0===n||n.call(t,i.inlineCompletions,e.sourceInlineCompletion,e.insertText)}})))}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletions.get()}async triggerExplicitly(e){BE(e,(e=>{this._isActive.set(!0,e),this._forceUpdateSignal.trigger(e,vC.Explicit)})),await this._fetchInlineCompletions.get()}stop(e){BE(e,(e=>{this._isActive.set(!1,e),this._source.clear(e)}))}_computeAugmentation(e,t){const n=this.textModel,i=this._source.suggestWidgetInlineCompletions.read(t);return function(e,t){for(const n of e){const e=t(n);if(void 0!==e)return e}}(i?i.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(pa),(i=>{let o=i.toSingleTextEdit(t);return o=w1(o,n,nc.fromPositions(o.range.getStartPosition(),e.range.getEndPosition())),C1(o,e)?{completion:i,edit:o}:void 0}))}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const n=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[n].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 t;if(e.getModel()!==this.textModel)throw new Re;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const i=n.inlineCompletion.toInlineCompletion(void 0);if(e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[wY.replaceMove(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),null===(t=r4.get(e))||void 0===t||t.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const t=n.edits,o=h4(t).map((e=>ic.fromPositions(e)));e.executeEdits("inlineSuggestion.accept",[...t.map((e=>wY.replaceMove(e.range,e.text))),...i.additionalTextEdits]),e.setSelections(o,"inlineCompletionAccept")}i.command&&i.source.addRef(),OE((e=>{this._source.clear(e),this._isActive.set(!1,e)})),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,ke),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,((e,t)=>{const n=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),i=this._languageConfigurationService.getLanguageConfiguration(n),o=new RegExp(i.wordDefinition.source,i.wordDefinition.flags.replace("g","")),s=t.match(o);let r=0;r=s&&void 0!==s.index?0===s.index?s[0].length:s.index:t.length;const l=/\s+/g.exec(t);return l&&void 0!==l.index&&l.index+l[0].length{const n=t.match(/\n/);return n&&void 0!==n.index?n.index+1:t.length}),1)}async _acceptNext(e,t,n){if(e.getModel()!==this.textModel)throw new Re;const i=this.state.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineCompletion)return;const o=i.primaryGhostText,s=i.inlineCompletion.toInlineCompletion(void 0);if(s.snippetInfo||s.filterText!==s.insertText)return void await this.accept(e);const r=o.parts[0],l=new cd(o.lineNumber,r.column),a=r.text,d=t(l,a);if(d===a.length&&1===o.parts.length)return void this.accept(e);const u=a.substring(0,d),c=this._positions.get(),h=c[0];s.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const t=nc.fromPositions(h,l),n=e.getModel().getValueInRange(t)+u,i=new vQ(t,n),o=[i,...c4(this.textModel,c,i)],s=h4(o).map((e=>ic.fromPositions(e)));e.executeEdits("inlineSuggestion.accept",o.map((e=>wY.replaceMove(e.range,e.text)))),e.setSelections(s,"inlineCompletionPartialAccept")}finally{this._isAcceptingPartially=!1}if(s.source.provider.handlePartialAccept){const t=nc.fromPositions(s.range.getStartPosition(),gp.ofText(u).addToPosition(l)),i=e.getModel().getValueInRange(t,1);s.source.provider.handlePartialAccept(s.source.inlineCompletions,s.sourceInlineCompletion,i.length,{kind:n})}}finally{s.source.removeRef()}}handleSuggestAccepted(e){var t,n;const i=w1(e.toSingleTextEdit(),this.textModel),o=this._computeAugmentation(i,void 0);if(!o)return;const s=o.completion.inlineCompletion;null===(n=(t=s.source.provider).handlePartialAccept)||void 0===n||n.call(t,s.source.inlineCompletions,s.sourceInlineCompletion,i.text.length,{kind:2})}};function c4(e,t,n){if(1===t.length)return[];const i=t[0],o=t.slice(1),s=n.range.getStartPosition(),r=n.range.getEndPosition(),l=e.getValueInRange(nc.fromPositions(i,r)),a=d1(i,s);if(a.lineNumber<1)return xe(new Re(`positionWithinTextEdit line number should be bigger than 0.\n\t\t\tInvalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const d=function(e,t){let n="";const i=function(e){var t;const n=[],i=e.split(/(\r\n|\r|\n)/);for(let e=0;e{const n=(i=d1(t,s),o=r,new cd(i.lineNumber+o.lineNumber-1,1===o.lineNumber?i.column+o.column-1:o.column));var i,o;const a=e.getValueInRange(nc.fromPositions(t,n)),u=xi(l,a),c=nc.fromPositions(t,t.delta(0,u));return new vQ(c,d)}))}function h4(e){const t=nh.createSortPermutation(e,((e,t)=>nc.compareRangesUsingStarts(e.range,t.range))),n=new _Q(t.apply(e)).getNewRanges();return t.inverse().apply(n).map((e=>e.getEndPosition()))}u4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([d4(9,ad),d4(10,wd),d4(11,Qg)],u4);var g4,p4=function(e,t){return function(n,i){t(n,i,e)}};class m4{constructor(e){this.name=e}select(e,t,n){if(0===n.length)return 0;const i=n[0].score[0];for(let e=0;ethis._saveState()),500),this._disposables.add(e.onWillSaveState((e=>{e.reason===jB.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,n){this._withStrategy(e,t).memorize(e,t,n),this._persistSoon.schedule()}select(e,t,n){return this._withStrategy(e,t).select(e,t,n)}_withStrategy(e,t){var n;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if((null===(n=this._strategy)||void 0===n?void 0:n.name)!==i){this._saveState();const e=g4._strategyCtors.get(i)||f4;this._strategy=new e;try{const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=this._storageService.get(`${g4._storagePrefix}/${i}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch(e){}}return this._strategy}_saveState(){if(this._strategy){const e=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,t=JSON.stringify(this._strategy);this._storageService.store(`${g4._storagePrefix}/${this._strategy.name}`,t,e,1)}}};_4._strategyCtors=new Map([["recentlyUsedByPrefix",class extends m4{constructor(){super("recentlyUsedByPrefix"),this._trie=Lx.forStrings(),this._seq=0}memorize(e,t,n){const{word:i}=e.getWordUntilPosition(t),o=`${e.getLanguageId()}/${i}`;this._trie.set(o,{type:n.completion.kind,insertText:n.completion.insertText,touch:this._seq++})}select(e,t,n){const{word:i}=e.getWordUntilPosition(t);if(!i)return super.select(e,t,n);const o=`${e.getLanguageId()}/${i}`;let s=this._trie.get(o);if(s||(s=this._trie.findSubstr(o)),s)for(let e=0;ee.push([n,t]))),e.sort(((e,t)=>-(e[1].touch-t[1].touch))).forEach(((e,t)=>e[1].touch=t)),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,n]of e)n.type="number"==typeof n.type?n.type:_C.fromString(n.type),this._trie.set(t,n)}}}],["recentlyUsed",class extends m4{constructor(){super("recentlyUsed"),this._cache=new il(300,.66),this._seq=0}memorize(e,t,n){const i=`${e.getLanguageId()}/${n.textLabel}`;this._cache.set(i,{touch:this._seq++,type:n.completion.kind,insertText:n.completion.insertText})}select(e,t,n){if(0===n.length)return 0;const i=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(i))return super.select(e,t,n);const o=n[0].score[0];let s=-1,r=-1;for(let t=0;tr&&o.type===n[t].completion.kind&&o.insertText===n[t].completion.insertText&&(r=o.touch,s=t),n[t].completion.preselect)return t}return-1!==s?s:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(const[t,n]of e)n.touch=0,n.type="number"==typeof n.type?n.type:_C.fromString(n.type),this._cache.set(t,n);this._seq=this._cache.size}}],["first",f4]]),_4._storagePrefix="suggest/memories",_4=g4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([p4(0,KB),p4(1,pg)],_4);const v4=dd("ISuggestMemories");yg(v4,_4,1);var b4;let w4=b4=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=b4.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration((e=>e.hasChanged(123)&&this._update())),this._update()}dispose(){var e;this._configListener.dispose(),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._ckAtEnd.reset()}_update(){const e="on"===this._editor.getOption(123);if(this._enabled!==e)if(this._enabled=e,this._enabled){const e=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const e=this._editor.getModel(),t=this._editor.getSelection(),n=e.getWordAtPosition(t.getStartPosition());n?this._ckAtEnd.set(n.endColumn===t.getStartPosition().column):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};w4.AtEnd=new ou("atEndOfWord",!1),w4=b4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,su)],w4);var C4;let y4=C4=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=C4.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),null===(e=this._listener)||void 0===e||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},n){0!==e.items.length&&C4._moveIndex(!0,e,t)!==t?(this._acceptNext=n,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(e,t,n){let i=n;for(let o=t.items.length;o>0&&(i=(i+t.items.length+(e?1:-1))%t.items.length,i!==n)&&t.items[i].completion.additionalTextEdits;o--);return i}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=C4._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};y4.OtherSuggestions=new ou("hasOtherSuggestions",!1),y4=C4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,su)],y4);class S4{constructor(e,t,n,i){this._disposables=new rt,this._disposables.add(n.onDidSuggest((e=>{0===e.completionModel.items.length&&this.reset()}))),this._disposables.add(n.onDidCancel((e=>{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((o=>{if(this._active&&!t.isFrozen()&&0!==n.state){const t=o.charCodeAt(o.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&i(this._active.item)}})))}_onItem(e){if(!e||!Wc(e.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===e.item)return;const t=new jw;for(const n of e.item.completion.commitCharacters)n.length>0&&t.add(n.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class x4{async provideSelectionRanges(e,t){const n=[];for(const i of t){const t=[];n.push(t);const o=new Map;await new Promise((t=>x4._bracketsRightYield(t,0,e,i,o))),await new Promise((n=>x4._bracketsLeftYield(n,0,e,i,o,t)))}return n}static _bracketsRightYield(e,t,n,i,o){const s=new Map,r=Date.now();for(;;){if(t>=x4._maxRounds){e();break}if(!i){e();break}const l=n.bracketPairs.findNextBracket(i);if(!l){e();break}if(Date.now()-r>x4._maxDuration){setTimeout((()=>x4._bracketsRightYield(e,t+1,n,i,o)));break}if(l.bracketInfo.isOpeningBracket){const e=l.bracketInfo.bracketText,t=s.has(e)?s.get(e):0;s.set(e,t+1)}else{const e=l.bracketInfo.getOpeningBrackets()[0].bracketText;let t=s.has(e)?s.get(e):0;if(t-=1,s.set(e,Math.max(0,t)),t<0){let t=o.get(e);t||(t=new gt,o.set(e,t)),t.push(l.range)}}i=l.range.getEndPosition()}}static _bracketsLeftYield(e,t,n,i,o,s){const r=new Map,l=Date.now();for(;;){if(t>=x4._maxRounds&&0===o.size){e();break}if(!i){e();break}const a=n.bracketPairs.findPrevBracket(i);if(!a){e();break}if(Date.now()-l>x4._maxDuration){setTimeout((()=>x4._bracketsLeftYield(e,t+1,n,i,o,s)));break}if(a.bracketInfo.isOpeningBracket){const e=a.bracketInfo.bracketText;let t=r.has(e)?r.get(e):0;if(t-=1,r.set(e,Math.max(0,t)),t<0){const t=o.get(e);if(t){const i=t.shift();0===t.size&&o.delete(e);const r=nc.fromPositions(a.range.getEndPosition(),i.getStartPosition()),l=nc.fromPositions(a.range.getStartPosition(),i.getEndPosition());s.push({range:r}),s.push({range:l}),x4._addBracketLeading(n,l,s)}}}else{const e=a.bracketInfo.getOpeningBrackets()[0].bracketText,t=r.has(e)?r.get(e):0;r.set(e,t+1)}i=a.range.getStartPosition()}}static _addBracketLeading(e,t,n){if(t.startLineNumber===t.endLineNumber)return;const i=t.startLineNumber,o=e.getLineFirstNonWhitespaceColumn(i);0!==o&&o!==t.startColumn&&(n.push({range:nc.fromPositions(new cd(i,o),t.getEndPosition())}),n.push({range:nc.fromPositions(new cd(i,1),t.getEndPosition())}));const s=i-1;if(s>0){const i=e.getLineFirstNonWhitespaceColumn(s);i===t.startColumn&&i!==e.getLineLastNonWhitespaceColumn(s)&&(n.push({range:nc.fromPositions(new cd(s,i),t.getEndPosition())}),n.push({range:nc.fromPositions(new cd(s,1),t.getEndPosition())}))}}}x4._maxDuration=30,x4._maxRounds=2;class k4{static async create(e,t){if(!t.getOption(118).localityBonus)return k4.None;if(!t.hasModel())return k4.None;const n=t.getModel(),i=t.getPosition();if(!e.canComputeWordRanges(n.uri))return k4.None;const[o]=await(new x4).provideSelectionRanges(n,[i]);if(0===o.length)return k4.None;const s=await e.computeWordRanges(n.uri,o[0].range);if(!s)return k4.None;const r=n.getWordUntilPosition(i);return delete s[r.word],new class extends k4{distance(e,n){if(!i.equals(t.getPosition()))return 0;if(17===n.kind)return 2<<20;const r="string"==typeof n.label?n.label:n.label.label,l=s[r];if(Bc(l))return 2<<20;const a=Mc(l,nc.fromPositions(e),nc.compareRangesUsingStarts),d=a>=0?l[a]:l[Math.max(0,~a-1)];let u=o.length;for(const e of o){if(!nc.containsRange(e.range,d))break;u-=1}return u}}}}k4.None=new class extends k4{distance(){return 0}};class L4{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}}class D4{constructor(e,t,n,i,o,s,r=na.default,l=void 0){this.clipboardText=l,this._snippetCompareFn=D4._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=i,this._options=o,this._refilterKind=1,this._lineContext=n,this._fuzzyScoreOptions=r,"top"===s?this._snippetCompareFn=D4._compareCompletionItemsSnippetsUp:"bottom"===s&&(this._snippetCompareFn=D4._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&n[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:n}=this._lineContext;let i="",o="";const s=1===this._refilterKind?this._items:this._filteredItems,r=[],l=!this._options.filterGraceful||s.length>2e3?ia:sa;for(let a=0;a=h)d.score=ta.Default;else if("string"==typeof d.completion.filterText){const t=l(i,o,e,d.completion.filterText,d.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;0===_i(d.completion.filterText,d.textLabel)?d.score=t:(d.score=Vl(i,o,e,d.textLabel,d.labelLow,0),d.score[0]=t[0])}else{const t=l(i,o,e,d.textLabel,d.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;d.score=t}}d.idx=a,d.distance=this._wordDistance.distance(d.position,d.completion),r.push(d),e.push(d.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?Tc(e.length-.85,e,((e,t)=>e-t)):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return D4._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return D4._compareCompletionItems(e,t)}}var N4,E4=function(e,t){return function(n,i){t(n,i,e)}};class I4{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),n=e.getPosition();t.tokenization.tokenizeIfCheap(n.lineNumber);const i=t.getWordAtPosition(n);return!(!i||i.endColumn!==n.column&&i.startColumn+1!==n.column||!isNaN(Number(i.word)))}constructor(e,t,n){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=n}}let M4=N4=class{constructor(e,t,n,i,o,s,r,l,a){this._editor=e,this._editorWorkerService=t,this._clipboardService=n,this._telemetryService=i,this._logService=o,this._contextKeyService=s,this._configurationService=r,this._languageFeaturesService=l,this._envService=a,this._toDispose=new rt,this._triggerCharacterListener=new rt,this._triggerQuickSuggest=new Ut,this._triggerState=void 0,this._completionDisposables=new rt,this._onDidCancel=new Ct,this._onDidTrigger=new Ct,this._onDidSuggest=new Ct,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new ic(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 d=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{d=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{d=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((e=>{d||this._onCursorChange(e)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{d||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){it(this._triggerCharacterListener),it([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(91)||!this._editor.hasModel()||!this._editor.getOption(121))return;const e=new Map;for(const t of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const n of t.triggerCharacters||[]){let i=e.get(n);i||(i=new Set,i.add(undefined),e.set(n,i)),i.add(t)}const t=t=>{var n;if(!function(e,t,n){if(!Boolean(t.getContextKeyValue("inlineSuggestionVisible")))return!0;const i=t.getContextKeyValue(Q0.suppressSuggestions.key);return void 0!==i?!i:!e.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService,this._configurationService))return;if(I4.shouldAutoTrigger(this._editor))return;if(!t){const e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let i="";Di(t.charCodeAt(t.length-1))?Li(t.charCodeAt(t.length-2))&&(i=t.substr(t.length-2)):i=t.charAt(t.length-1);const o=e.get(i);if(o){const e=new Map;if(this._completionModel)for(const[t,n]of this._completionModel.getItemsByProvider())o.has(t)||e.set(t,n);this.trigger({auto:!0,triggerKind:1,triggerCharacter:i,retrigger:Boolean(this._completionModel),clipboardText:null===(n=this._completionModel)||void 0===n?void 0:n.clipboardText,completionOptions:{providerFilter:o,providerItemsToReuse:e}})}};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;void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),null===(t=this._requestToken)||void 0===t||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(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||0!==e.reason&&3!==e.reason||"keyboard"!==e.source&&"deleteLeft"!==e.source?this.cancel():void 0===this._triggerState&&0===e.reason?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===e.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;H1.isAllOff(this._editor.getOption(89))||this._editor.getOption(118).snippetsPreventQuickSuggestions&&(null===(e=r4.get(this._editor))||void 0===e?void 0:e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!I4.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const e=this._editor.getModel(),t=this._editor.getPosition(),n=this._editor.getOption(89);if(!H1.isAllOff(n)){if(!H1.isAllOn(n)){e.tokenization.tokenizeIfCheap(t.lineNumber);const i=e.tokenization.getLineTokens(t.lineNumber),o=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("on"!==H1.valueFor(n,o))return}(function(e,t,n){if(!Boolean(t.getContextKeyValue(Q0.inlineSuggestionVisible.key)))return!0;const i=t.getContextKeyValue(Q0.suppressSuggestions.key);return void 0!==i?!i:!e.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&this.trigger({auto:!0})}}),this._editor.getOption(90)))}_refilterCompletionItems(){fa(this._editor.hasModel()),fa(void 0!==this._triggerState);const e=this._editor.getModel(),t=this._editor.getPosition(),n=new I4(e,t,{...this._triggerState,refilter:!0});this._onNewContext(n)}trigger(e){var t,n,i,o,s,r;if(!this._editor.hasModel())return;const l=this._editor.getModel(),a=new I4(l,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:null!==(t=e.shy)&&void 0!==t&&t,position:this._editor.getPosition()}),this._context=a;let d={triggerKind:null!==(n=e.triggerKind)&&void 0!==n?n:0};e.triggerCharacter&&(d={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new Tt;let u=1;switch(this._editor.getOption(112)){case"top":u=0;break;case"bottom":u=2}const{itemKind:c,showDeprecated:h}=N4.createSuggestFilter(this._editor),g=new O1(u,null!==(o=null===(i=e.completionOptions)||void 0===i?void 0:i.kindFilter)&&void 0!==o?o:c,null===(s=e.completionOptions)||void 0===s?void 0:s.providerFilter,null===(r=e.completionOptions)||void 0===r?void 0:r.providerItemsToReuse,h),p=k4.create(this._editorWorkerService,this._editor),m=B1(this._languageFeaturesService.completionProvider,l,this._editor.getPosition(),g,d,this._requestToken.token);Promise.all([m,p]).then((async([t,n])=>{var i;if(null===(i=this._requestToken)||void 0===i||i.dispose(),!this._editor.hasModel())return;let o=null==e?void 0:e.clipboardText;if(!o&&t.needsClipboard&&(o=await this._clipboardService.readText()),void 0===this._triggerState)return;const s=this._editor.getModel(),r=new I4(s,this._editor.getPosition(),e),l={...na.default,firstMatchCanBeWeak:!this._editor.getOption(118).matchOnWordStartOnly};if(this._completionModel=new D4(t.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},n,this._editor.getOption(118),this._editor.getOption(112),l,o),this._completionDisposables.add(t.disposable),this._onNewContext(r),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)})).catch(xe)}_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;"none"===e.getOption(112)&&t.add(27);const n=e.getOption(118);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)if(gi(e.leadingLineContent)===gi(this._context.leadingLineContent)){if(e.columnthis._context.leadingWord.startColumn){if(I4.shouldAutoTrigger(this._editor)&&this._context){const e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}}else if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==e.leadingWord.word.length){const e=new Map,t=new Set;for(const[n,i]of this._completionModel.getItemsByProvider())i.length>0&&i[0].container.incomplete?t.add(n):e.set(n,i);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{const t=this._completionModel.lineContext;let n=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){const i=I4.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(i&&this._context.leadingWord.endColumn0,n&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:n})}}else this.cancel();else this.cancel()}};M4=N4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([E4(1,AX),E4(2,fL),E4(3,Mu),E4(4,Tu),E4(5,su),E4(6,pg),E4(7,wx),E4(8,iW)],M4);class T4{constructor(e,t){this._disposables=new rt,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType((()=>{if(this._locked||!e.hasModel())return;const t=e.getSelections(),n=t.length;let i=!1;for(let e=0;eT4._maxSelectionLength)return;this._lastOvertyped[e]={value:o.getValueInRange(n),multiline:n.startLineNumber!==n.endLineNumber}}}))),this._disposables.add(t.onDidTrigger((e=>{this._locked=!0}))),this._disposables.add(t.onDidCancel((e=>{this._locked=!1})))}getLastOvertypedInfo(e){if(e>=0&&ee instanceof Nu?n.createInstance(O4,e,void 0):void 0;this._leftActions=new iM(this.element,{actionViewItemProvider:s}),this._rightActions=new iM(this.element,{actionViewItemProvider:s}),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 t=[],n=[];for(const[i,o]of e.getActions())"left"===i?t.push(...o):n.push(...o);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange((()=>t()))),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};F4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([P4(2,ad),P4(3,xu),P4(4,su)],F4);function B4(e){return!!e&&Boolean(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}let W4=class{constructor(e,t){this._editor=e,this._onDidClose=new Ct,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Ct,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new rt,this._renderDisposeable=new rt,this._borderWidth=1,this._size=new Ds(330,0),this.domNode=mr(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(dL,{editor:e}),this._body=mr(".body"),this._scrollbar=new cE(this._body,{alwaysConsumeMouseWheel:!0}),dr(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=dr(this._body,mr(".header")),this._close=dr(this._header,mr("span"+ka.asCSSSelector(Sa.close))),this._close.title=_(0,"Close"),this._type=dr(this._header,mr("p.type")),this._docs=dr(this._body,mr("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),n=t.getMassagedFontFamily(),i=e.get(119)||t.fontSize,o=e.get(120)||t.lineHeight,s=t.fontWeight,r=`${i}px`,l=`${o}px`;this.domNode.style.fontSize=r,this.domNode.style.lineHeight=""+o/i,this.domNode.style.fontWeight=s,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=n,this._close.style.height=l,this._close.style.width=l}getLayoutInfo(){const e=this._editor.getOption(120)||this._editor.getOption(50).lineHeight,t=this._borderWidth;return{lineHeight:e,borderWidth:t,borderHeight:2*t,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=_(0,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(e,t){var n,i;this._renderDisposeable.clear();let{detail:o,documentation:s}=e.completion;if(t){let t="";t+=`score: ${e.score[0]}\n`,t+=`prefix: ${null!==(n=e.word)&&void 0!==n?n:"(no prefix)"}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}\n`,t+=`commit_chars: ${null===(i=e.completion.commitCharacters)||void 0===i?void 0:i.join("")}\n`,s=(new ed).appendCodeblock("empty",t),o=`Provider: ${e.provider._debugDisplayName}`}if(t||B4(e)){if(this.domNode.classList.remove("no-docs","no-type"),o){const e=o.length>1e5?`${o.substr(0,1e5)}…`:o;this._type.textContent=e,this._type.title=e,fr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(e))}else gs(this._type),this._type.title="",_r(this._type),this.domNode.classList.add("no-type");if(gs(this._docs),"string"==typeof s)this._docs.classList.remove("markdown-docs"),this._docs.textContent=s;else if(s){this._docs.classList.add("markdown-docs"),gs(this._docs);const e=this._markdownRenderer.render(s);this._docs.appendChild(e.element),this._renderDisposeable.add(e),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=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}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 n=new Ds(e,t);Ds.equals(n,this._size)||(this._size=n,function(e,t,n){"number"==typeof t&&(e.style.width=`${t}px`),"number"==typeof n&&(e.style.height=`${n}px`)}(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}};W4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,ad)],W4);class V4{constructor(e,t){let n,i;this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new rt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new EG,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let o=0,s=0;this._disposables.add(this._resizable.onDidWillResize((()=>{n=this._topLeft,i=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((e=>{if(n&&i){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(s=i.width-e.dimension.width,t=!0),e.north&&(o=i.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:n.top+o,left:n.left+s})}e.done&&(n=void 0,i=void 0,o=0,s=0,this._userSize=e.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{var e;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e: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){var n;const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,null!==(n=this._userSize)&&void 0!==n?n:this.widget.size,t)}_placeAtAnchor(e,t,n){var i;const o=ks(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Ds(220,2*s.lineHeight),l=e.top,a=function(){const n=o.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),i=-s.borderWidth+e.left+e.width,a=new Ds(n,o.height-e.top-s.borderHeight-s.verticalPadding),d=a.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:i,fit:n-t.width,maxSizeTop:a,maxSizeBottom:d,minSize:r.with(Math.min(n,r.width))}}(),d=function(){const n=e.left-s.borderWidth-s.horizontalPadding,i=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),a=new Ds(n,o.height-e.top-s.borderHeight-s.verticalPadding),d=a.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:l,left:i,fit:n-t.width,maxSizeTop:a,maxSizeBottom:d,minSize:r.with(Math.min(n,r.width))}}(),u=function(){const n=e.left,i=-s.borderWidth+e.top+e.height,l=new Ds(e.width-s.borderHeight,o.height-e.top-e.height-s.verticalPadding);return{top:i,left:n,fit:l.height-t.height,maxSizeBottom:l,maxSizeTop:l,minSize:r.with(l.width)}}(),c=[a,d,u],h=null!==(i=c.find((e=>e.fit>=0)))&&void 0!==i?i:c.sort(((e,t)=>t.fit-e.fit))[0],g=e.top+e.height-s.borderHeight;let p,m=t.height;const f=Math.max(h.maxSizeTop.height,h.maxSizeBottom.height);let _;m>f&&(m=f),n?m<=h.maxSizeTop.height?(p=!0,_=h.maxSizeTop):(p=!1,_=h.maxSizeBottom):m<=h.maxSizeBottom.height?(p=!1,_=h.maxSizeBottom):(p=!0,_=h.maxSizeTop);let{top:v,left:b}=h;!p&&m>e.height&&(v=g-m);const w=this._editor.getDomNode();if(w){const e=w.getBoundingClientRect();v-=e.top,b-=e.left}this._applyTopLeft({left:b,top:v}),this._resizable.enableSashes(!p,h===a,p,h!==a),this._resizable.minSize=h.minSize,this._resizable.maxSize=_,this._resizable.layout(m,Math.min(_.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var H4;!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(H4||(H4={}));const z4=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function U4(e,t,n,i,o){if(o)return[`codicon-${o.id}`,"predefined-file-icon"];const s=i===H4.ROOT_FOLDER?["rootfolder-icon"]:i===H4.FOLDER?["folder-icon"]:["file-icon"];if(n){let o;if(n.scheme===Ho.data)o=Ja.parseMetaData(n).get(Ja.META_DATA_LABEL);else{const e=n.path.match(z4);e?(o=K4(e[2].toLowerCase()),e[1]&&s.push(`${K4(e[1].toLowerCase())}-name-dir-icon`)):o=K4(n.authority.toLowerCase())}if(i===H4.ROOT_FOLDER)s.push(`${o}-root-name-folder-icon`);else if(i===H4.FOLDER)s.push(`${o}-name-folder-icon`);else{if(o){if(s.push(`${o}-name-file-icon`),s.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t{const e=this._editor.getOptions(),t=e.get(50),o=t.getMassagedFontFamily(),s=t.fontFeatureSettings,l=e.get(119)||t.fontSize,a=e.get(120)||t.lineHeight,d=t.fontWeight,u=`${l}px`,c=`${a}px`,h=`${t.letterSpacing}px`;n.style.fontSize=u,n.style.fontWeight=d,n.style.letterSpacing=h,r.style.fontFamily=o,r.style.fontFeatureSettings=s,r.style.lineHeight=c,i.style.height=c,i.style.width=c,p.style.height=c,p.style.width=c}}}renderElement(e,t,n){n.configureFont();const{completion:i}=e;n.root.id=$4(t),n.colorspan.style.backgroundColor="";const o={labelEscapeNewLines:!0,matches:Hl(e.score)},s=[];if(19===i.kind&&Z4.extract(e,s))n.icon.className="icon customcolor",n.iconContainer.className="icon hide",n.colorspan.style.backgroundColor=s[0];else if(20===i.kind&&this._themeService.getFileIconTheme().hasFileIcons){n.icon.className="icon hide",n.iconContainer.className="icon hide";const t=U4(this._modelService,this._languageService,Io.from({scheme:"fake",path:e.textLabel}),H4.FILE),s=U4(this._modelService,this._languageService,Io.from({scheme:"fake",path:i.detail}),H4.FILE);o.extraClasses=t.length>s.length?t:s}else 23===i.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(n.icon.className="icon hide",n.iconContainer.className="icon hide",o.extraClasses=[U4(this._modelService,this._languageService,Io.from({scheme:"fake",path:e.textLabel}),H4.FOLDER),U4(this._modelService,this._languageService,Io.from({scheme:"fake",path:i.detail}),H4.FOLDER)].flat()):(n.icon.className="icon hide",n.iconContainer.className="",n.iconContainer.classList.add("suggest-icon",...ka.asClassNameArray(_C.toIcon(i.kind))));i.tags&&i.tags.indexOf(1)>=0&&(o.extraClasses=(o.extraClasses||[]).concat(["deprecated"]),o.matches=[]),n.iconLabel.setLabel(e.textLabel,void 0,o),"string"==typeof i.label?(n.parametersLabel.textContent="",n.detailsLabel.textContent=X4(i.detail||""),n.root.classList.add("string-label")):(n.parametersLabel.textContent=X4(i.label.detail||""),n.detailsLabel.textContent=X4(i.label.description||""),n.root.classList.remove("string-label")),this._editor.getOption(118).showInlineDetails?fr(n.detailsLabel):_r(n.detailsLabel),B4(e)?(n.right.classList.add("can-expand-details"),fr(n.readMore),n.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},n.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(n.right.classList.remove("can-expand-details"),_r(n.readMore),n.readMore.onmousedown=null,n.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};function X4(e){return e.replace(/\r\n|\r|\n/g,"")}Y4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([q4(1,hd),q4(2,Sh),q4(3,Tv)],Y4);var Q4,J4=function(e,t){return function(n,i){t(n,i,e)}};km("editorSuggestWidget.background",{dark:Ym,light:Ym,hcDark:Ym,hcLight:Ym},_(0,"Background color of the suggest widget.")),km("editorSuggestWidget.border",{dark:Qm,light:Qm,hcDark:Qm,hcLight:Qm},_(0,"Border color of the suggest widget."));const e5=km("editorSuggestWidget.foreground",{dark:Zm,light:Zm,hcDark:Zm,hcLight:Zm},_(0,"Foreground color of the suggest widget."));km("editorSuggestWidget.selectedForeground",{dark:Lv,light:Lv,hcDark:Lv,hcLight:Lv},_(0,"Foreground color of the selected entry in the suggest widget.")),km("editorSuggestWidget.selectedIconForeground",{dark:Dv,light:Dv,hcDark:Dv,hcLight:Dv},_(0,"Icon foreground color of the selected entry in the suggest widget."));const t5=km("editorSuggestWidget.selectedBackground",{dark:Nv,light:Nv,hcDark:Nv,hcLight:Nv},_(0,"Background color of the selected entry in the suggest widget."));km("editorSuggestWidget.highlightForeground",{dark:tv,light:tv,hcDark:tv,hcLight:tv},_(0,"Color of the match highlights in the suggest widget.")),km("editorSuggestWidget.focusHighlightForeground",{dark:nv,light:nv,hcDark:nv,hcLight:nv},_(0,"Color of the match highlights in the suggest widget when an item is focused.")),km("editorSuggestWidgetStatus.foreground",{dark:Nm(e5,.5),light:Nm(e5,.5),hcDark:Nm(e5,.5),hcLight:Nm(e5,.5)},_(0,"Foreground color of the suggest widget status."));class n5{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Jz}`}restore(){var e;const t=null!==(e=this._service.get(this._key,0))&&void 0!==e?e:"";try{const e=JSON.parse(t);if(Ds.is(e))return Ds.lift(e)}catch(e){}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let i5=Q4=class{constructor(e,t,n,i,o){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new at,this._pendingShowDetails=new at,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Ut,this._disposables=new rt,this._onDidSelect=new St,this._onDidFocus=new St,this._onDidHide=new Ct,this._onDidShow=new Ct,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Ct,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new EG,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new o5(this,e),this._persistedSize=new n5(t,e);class s{constructor(e,t,n=!1,i=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=n,this.persistWidth=i}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new s(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((e=>{var t,n,i,o;if(this._resize(e.dimension.width,e.dimension.height),r&&(r.persistHeight=r.persistHeight||!!e.north||!!e.south,r.persistWidth=r.persistWidth||!!e.east||!!e.west),e.done){if(r){const{itemHeight:e,defaultSize:s}=this.getLayoutInfo(),l=Math.round(e/2);let{width:a,height:d}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-d)<=l)&&(d=null!==(n=null===(t=r.persistedSize)||void 0===t?void 0:t.height)&&void 0!==n?n:s.height),(!r.persistWidth||Math.abs(r.currentSize.width-a)<=l)&&(a=null!==(o=null===(i=r.persistedSize)||void 0===i?void 0:i.width)&&void 0!==o?o:s.width),this._persistedSize.store(new Ds(a,d))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=dr(this.element.domNode,mr(".message")),this._listElement=dr(this.element.domNode,mr(".tree"));const l=this._disposables.add(o.createInstance(W4,this.editor));l.onDidClose(this.toggleDetails,this,this._disposables),this._details=new V4(l,this.editor);const a=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(118).showIcons);a();const d=o.createInstance(Y4,this.editor);this._disposables.add(d),this._disposables.add(d.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new HI("SuggestWidget",this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>"suggestion"},[d],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>_(0,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:e=>{let t=e.textLabel;if("string"!=typeof e.completion.label){const{detail:n,description:i}=e.completion.label;n&&i?t=_(0,"{0} {1}, {2}",t,n,i):n?t=_(0,"{0} {1}",t,n):i&&(t=_(0,"{0}, {1}",t,i))}if(!e.isResolved||!this._isDetailsVisible())return t;const{documentation:n,detail:i}=e.completion;return _(0,"{0}, docs: {1}",t,oi("{0}{1}",i||"",n?"string"==typeof n?n:n.value:""))}}}),this._list.style(kM({listInactiveFocusBackground:t5,listInactiveFocusOutline:Wm})),this._status=o.createInstance(F4,this.element.domNode,R1);const u=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(118).showStatusBar);u(),this._disposables.add(i.onDidColorThemeChange((e=>this._onThemeChange(e)))),this._onThemeChange(i.getColorTheme()),this._disposables.add(this._list.onMouseDown((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onTap((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onDidChangeSelection((e=>this._onListSelection(e)))),this._disposables.add(this._list.onDidChangeFocus((e=>this._onListFocus(e)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((e=>{e.hasChanged(118)&&(u(),a()),this._completionModel&&(e.hasChanged(50)||e.hasChanged(119)||e.hasChanged(120))&&this._list.splice(0,this._list.length,this._completionModel.items)}))),this._ctxSuggestWidgetVisible=A1.Visible.bindTo(n),this._ctxSuggestWidgetDetailsVisible=A1.DetailsVisible.bindTo(n),this._ctxSuggestWidgetMultipleSuggestions=A1.MultipleSuggestions.bindTo(n),this._ctxSuggestWidgetHasFocusedSuggestion=A1.HasFocusedSuggestion.bindTo(n),this._disposables.add(_s(this._details.widget.domNode,"keydown",(e=>{this._onDetailsKeydown.fire(e)}))),this._disposables.add(this.editor.onMouseDown((e=>this._onEditorMouseDown(e))))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(e=this._loadingTimeout)||void 0===e||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(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(e){void 0!==e.element&&void 0!==e.index&&(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 n=this._completionModel;n&&(this._onDidSelect.fire({item:e,index:t,model:n}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=Iv(e.type)?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!e.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const n=e.elements[0],i=e.indexes[0];n!==this._focusedItem&&(null===(t=this._currentSuggestionDetails)||void 0===t||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=n,this._list.reveal(i),this._currentSuggestionDetails=Pt((async e=>{const t=Ht((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),i=e.onCancellationRequested((()=>t.dispose()));try{return await n.resolve(e)}finally{t.dispose(),i.dispose()}})),this._currentSuggestionDetails.then((()=>{i>=this._list.length||n!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[n]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:$4(i)}))})).catch(xe)),this._onDidFocus.fire({item:n,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",4===e),this.element.domNode.classList.remove("message"),e){case 0:_r(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=Q4.LOADING_MESSAGE,_r(this._listElement,this._status.element),fr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Yr(Q4.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Q4.NO_SUGGESTIONS_MESSAGE,_r(this._listElement,this._status.element),fr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Yr(Q4.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:_r(this._messageElement),fr(this._listElement,this._status.element),this._show();break;case 5:_r(this._messageElement),fr(this._listElement,this._status.element),this._details.show(),this._show()}}_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){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=Ht((()=>this._setState(1)),t)))}showSuggestions(e,t,n,i,o){var s,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(s=this._loadingTimeout)||void 0===s||s.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),n&&2!==this._state&&0!==this._state)return void this._setState(4);const l=this._completionModel.items.length,a=0===l;if(this._ctxSuggestWidgetMultipleSuggestions.set(l>1),a)return this._setState(i?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(n?4:3),this._list.reveal(t,0),this._list.setFocus(o?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=ws(is(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(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&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")):!B4(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=ws(is(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 e;this._pendingLayout.clear(),this._pendingShowDetails.clear(),null===(e=this._loadingTimeout)||void 0===e||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const t=this._persistedSize.restore(),n=Math.ceil(4.3*this.getLayoutInfo().itemHeight);t&&t.heighta&&(l=a);const d=this._completionModel?this._completionModel.stats.pLabelLen*s.typicalHalfwidthCharacterWidth:l,u=s.statusBarHeight+this._list.contentHeight+s.borderHeight,c=s.itemHeight+s.statusBarHeight,h=Es(this.editor.getDomNode()),g=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=h.top+g.top+g.height,m=Math.min(o.height-p-s.verticalPadding,u),f=h.top+g.top-s.verticalPadding,_=Math.min(f,u);let v=Math.min(Math.max(_,m)+s.borderHeight,u);r===(null===(t=this._cappedHeight)||void 0===t?void 0:t.capped)&&(r=this._cappedHeight.wanted),rv&&(r=v);const b=150;r>m||this._forceRenderingAbove&&f>b?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),v=_):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),v=m),this.element.preferredSize=new Ds(d,s.defaultSize.height),this.element.maxSize=new Ds(a,v),this.element.minSize=new Ds(220,c),this._cappedHeight=r===u?{wanted:null!==(i=null===(n=this._cappedHeight)||void 0===n?void 0:n.wanted)&&void 0!==i?i:e.height,capped:r}:void 0}this._resize(l,r)}_resize(e,t){const{width:n,height:i}=this.element.maxSize;e=Math.min(n,e),t=Math.min(i,t);const{statusBarHeight:o}=this.getLayoutInfo();this._list.layout(t-o,e),this._listElement.style.height=t-o+"px",this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===(null===(e=this._contentWidget.getPosition())||void 0===e?void 0:e.preference[0]))}getLayoutInfo(){const e=this.editor.getOption(50),t=BN(this.editor.getOption(120)||e.lineHeight,8,1e3),n=this.editor.getOption(118).showStatusBar&&2!==this._state&&1!==this._state?t:0,i=this._details.widget.borderWidth,o=2*i;return{itemHeight:t,statusBarHeight:n,borderWidth:i,borderHeight:o,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Ds(430,n+12*t+o)}}_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}};i5.LOADING_MESSAGE=_(0,"Loading..."),i5.NO_SUGGESTIONS_MESSAGE=_(0,"No suggestions."),i5=Q4=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([J4(1,KB),J4(2,su),J4(3,Tv),J4(4,ad)],i5);class o5{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?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:n,horizontalPadding:i}=this._widget.getLayoutInfo();return new Ds(t+2*n+i,e+2*n)}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 s5,r5=function(e,t){return function(n,i){t(n,i,e)}};class l5{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=My.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const n=e.getOffsetAt(t),i=e.getPositionAt(n+1);e.changeDecorations((e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(nc.fromPositions(t,i),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)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let a5=s5=class{static get(e){return e.getContribution(s5.ID)}constructor(e,t,n,i,o,s,r){this._memoryService=t,this._commandService=n,this._contextKeyService=i,this._instantiationService=o,this._logService=s,this._telemetryService=r,this._lineSuffix=new at,this._toDispose=new rt,this._selectors=new d5((e=>e.priority)),this._onWillInsertSuggestItem=new Ct,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=o.createInstance(M4,this.editor),this._selectors.register({priority:0,select:(e,t,n)=>this._memoryService.select(e,t,n)});const l=A1.InsertMode.bindTo(i);l.set(e.getOption(118).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>l.set(e.getOption(118).insertMode)))),this.widget=this._toDispose.add(new bs(is(e.getDomNode()),(()=>{const e=this._instantiationService.createInstance(i5,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect((e=>this._insertSuggestion(e,0)),this));const t=new S4(this.editor,e,this.model,(e=>this._insertSuggestion(e,2)));this._toDispose.add(t);const n=A1.MakesTextEdit.bindTo(this._contextKeyService),i=A1.HasInsertAndReplaceRange.bindTo(this._contextKeyService),o=A1.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(st((()=>{n.reset(),i.reset(),o.reset()}))),this._toDispose.add(e.onDidFocus((({item:e})=>{const t=this.editor.getPosition(),s=e.editStart.column,r=t.column;let l=!0;"smart"!==this.editor.getOption(1)||2!==this.model.state||e.completion.additionalTextEdits||4&e.completion.insertTextRules||r-s!==e.completion.insertText.length||(l=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:s,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText),n.set(l),i.set(!cd.equals(e.editInsertEnd,e.editReplaceEnd)),o.set(Boolean(e.provider.resolveCompletionItem)||Boolean(e.completion.documentation)||e.completion.detail!==e.completion.label)}))),this._toDispose.add(e.onDetailsKeyDown((e=>{e.toKeyCodeChord().equals(new Fe(!0,!1,!1,!1,33))||U&&e.toKeyCodeChord().equals(new Fe(!1,!1,!1,!0,33))?e.stopPropagation():e.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),e}))),this._overtypingCapturer=this._toDispose.add(new bs(is(e.getDomNode()),(()=>this._toDispose.add(new T4(this.editor,this.model))))),this._alternatives=this._toDispose.add(new bs(is(e.getDomNode()),(()=>this._toDispose.add(new y4(this.editor,this._contextKeyService))))),this._toDispose.add(o.createInstance(w4,e)),this._toDispose.add(this.model.onDidTrigger((e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new l5(this.editor.getModel(),e.position)}))),this._toDispose.add(this.model.onDidSuggest((e=>{if(e.triggerOptions.shy)return;let t=-1;for(const n of this._selectors.itemsOrderedByPriorityDesc)if(t=n.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),-1!==t)break;if(-1===t&&(t=0),0===this.model.state)return;let n=!1;if(e.triggerOptions.auto){const t=this.editor.getOption(118);"never"===t.selectionMode||"always"===t.selectionMode?n="never"===t.selectionMode:"whenTriggerCharacter"===t.selectionMode?n=1!==e.triggerOptions.triggerKind:"whenQuickSuggestion"===t.selectionMode&&(n=1===e.triggerOptions.triggerKind&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,n)}))),this._toDispose.add(this.model.onDidCancel((e=>{e.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const a=A1.AcceptSuggestionsOnEnter.bindTo(i),d=()=>{const e=this.editor.getOption(1);a.set("on"===e||"smart"===e)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>d()))),d()}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)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const n=r4.get(this.editor);if(!n)return;this._onWillInsertSuggestItem.fire({item:e.item});const i=this.editor.getModel(),o=i.getAlternativeVersionId(),{item:s}=e,r=[],l=new Tt;1&t||this.editor.pushUndoStop();const a=this.getOverwriteInfo(s,Boolean(8&t));this._memoryService.memorize(i,this.editor.getPosition(),s);const d=s.isResolved;let u=-1,c=-1;if(Array.isArray(s.completion.additionalTextEdits)){this.model.cancel();const e=OB.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",s.completion.additionalTextEdits.map((e=>{let t=nc.lift(e.range);if(t.startLineNumber===s.position.lineNumber&&t.startColumn>s.position.column){const e=this.editor.getPosition().column-s.position.column,n=e,i=nc.spansMultipleLines(t)?0:e;t=new nc(t.startLineNumber,t.startColumn+n,t.endLineNumber,t.endColumn+i)}return wY.replaceMove(t,e.text)}))),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!d){const e=new mt;let n;const o=i.onDidChangeContent((e=>{if(e.isFlush)return l.cancel(),void o.dispose();for(const t of e.changes){const e=nc.getEndPosition(t.range);n&&!cd.isBefore(e,n)||(n=e)}})),a=t;t|=2;let d=!1;const u=this.editor.onWillType((()=>{u.dispose(),d=!0,2&a||this.editor.pushUndoStop()}));r.push(s.resolve(l.token).then((()=>{if(!s.completion.additionalTextEdits||l.token.isCancellationRequested)return;if(n&&s.completion.additionalTextEdits.some((e=>cd.isBefore(n,nc.getStartPosition(e.range)))))return!1;d&&this.editor.pushUndoStop();const e=OB.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",s.completion.additionalTextEdits.map((e=>wY.replaceMove(nc.lift(e.range),e.text)))),e.restoreRelativeVerticalPositionOfCursor(this.editor),!d&&2&a||this.editor.pushUndoStop(),!0})).then((t=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",e.elapsed(),t),c=!0===t?1:!1===t?0:-2})).finally((()=>{o.dispose(),u.dispose()})))}let{insertText:h}=s.completion;if(4&s.completion.insertTextRules||(h=Jx.escape(h)),this.model.cancel(),n.insert(h,{overwriteBefore:a.overwriteBefore,overwriteAfter:a.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&s.completion.insertTextRules),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&t||this.editor.pushUndoStop(),s.completion.command)if(s.completion.command.id===u5.id)this.model.trigger({auto:!0,retrigger:!0});else{const e=new mt;r.push(this._commandService.executeCommand(s.completion.command.id,...s.completion.command.arguments?[...s.completion.command.arguments]:[]).catch((e=>{s.completion.extensionId?ke(e):xe(e)})).finally((()=>{u=e.elapsed()})))}4&t&&this._alternatives.value.set(e,(e=>{for(l.cancel();i.canUndo();){o!==i.getAlternativeVersionId()&&i.undo(),this._insertSuggestion(e,3|(8&t?8:0));break}})),this._alertCompletionItem(s),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(s,i,d,u,c),this.model.clear(),l.dispose()}))}_reportSuggestionAcceptedTelemetry(e,t,n,i,o){var s,r,l;0!==Math.floor(100*Math.random())&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:null!==(r=null===(s=e.extensionId)||void 0===s?void 0:s.value)&&void 0!==r?r:"unknown",providerId:null!==(l=e.provider._debugDisplayName)&&void 0!==l?l:"unknown",kind:e.completion.kind,basenameHash:Go(Ka(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:ja(t.uri),resolveInfo:e.provider.resolveCompletionItem?n?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:i,additionalEditsAsync:o})}getOverwriteInfo(e,t){fa(this.editor.hasModel());let n="replace"===this.editor.getOption(118).insertMode;t&&(n=!n);const i=e.position.column-e.editStart.column,o=(n?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column;return{overwriteBefore:i+(this.editor.getPosition().column-e.position.column),overwriteAfter:o+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(e){Wc(e.completion.additionalTextEdits)&&Zr(_(0,"Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length))}triggerSuggest(e,t,n){this.editor.hasModel()&&(this.model.trigger({auto:null!=t&&t,completionOptions:{providerFilter:e,kindFilter:n?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(),n=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},i=e=>{if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;const t=this.editor.getPosition(),n=e.editStart.column,i=t.column;return i-n!==e.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:n,endLineNumber:t.lineNumber,endColumn:i})!==e.completion.insertText};ft.once(this.model.onDidTrigger)((e=>{const t=[];ft.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{it(t),n()}),void 0,t),this.model.onDidSuggest((({completionModel:e})=>{if(it(t),0===e.items.length)return void n();const o=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),s=e.items[o];i(s)?(this.editor.pushUndoStop(),this._insertSuggestion({index:o,item:s,model:e},7)):n()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const n=this.widget.value.getFocusedItem();let i=0;e&&(i|=4),t&&(i|=8),this._insertSuggestion(n,i)}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)}};a5.ID="editor.contrib.suggestController",a5=s5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([r5(1,v4),r5(2,wd),r5(3,su),r5(4,ad),r5(5,Tu),r5(6,Mu)],a5);class d5{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(-1!==this._items.indexOf(e))throw new Error("Value is already registered");return this._items.push(e),this._items.sort(((e,t)=>this.prioritySelector(t)-this.prioritySelector(e))),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class u5 extends zu{constructor(){super({id:u5.id,label:_(0,"Trigger Suggest"),alias:"Trigger Suggest",precondition:Bd.and(oc.writable,oc.hasCompletionItemProvider,A1.Visible.toNegated()),kbOpts:{kbExpr:oc.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,n){const i=a5.get(t);if(!i)return;let o;n&&"object"==typeof n&&!0===n.auto&&(o=!0),i.triggerSuggest(void 0,o,void 0)}}u5.id="editor.action.triggerSuggest",Zu(a5.ID,a5,2),$u(u5);const c5=190,h5=Hu.bindToContribution(a5.get);qu(new h5({id:"acceptSelectedSuggestion",precondition:Bd.and(A1.Visible,A1.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Bd.and(A1.Visible,oc.textInputFocus),weight:c5},{primary:3,kbExpr:Bd.and(A1.Visible,oc.textInputFocus,A1.AcceptSuggestionsOnEnter,A1.MakesTextEdit),weight:c5}],menuOpts:[{menuId:R1,title:_(0,"Insert"),group:"left",order:1,when:A1.HasInsertAndReplaceRange.toNegated()},{menuId:R1,title:_(0,"Insert"),group:"left",order:1,when:Bd.and(A1.HasInsertAndReplaceRange,A1.InsertMode.isEqualTo("insert"))},{menuId:R1,title:_(0,"Replace"),group:"left",order:1,when:Bd.and(A1.HasInsertAndReplaceRange,A1.InsertMode.isEqualTo("replace"))}]})),qu(new h5({id:"acceptAlternativeSelectedSuggestion",precondition:Bd.and(A1.Visible,oc.textInputFocus,A1.HasFocusedSuggestion),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:R1,group:"left",order:2,when:Bd.and(A1.HasInsertAndReplaceRange,A1.InsertMode.isEqualTo("insert")),title:_(0,"Replace")},{menuId:R1,group:"left",order:2,when:Bd.and(A1.HasInsertAndReplaceRange,A1.InsertMode.isEqualTo("replace")),title:_(0,"Insert")}]})),Cd.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),qu(new h5({id:"hideSuggestWidget",precondition:A1.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:9,secondary:[1033]}})),qu(new h5({id:"selectNextSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),qu(new h5({id:"selectNextPageSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:12,secondary:[2060]}})),qu(new h5({id:"selectLastSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),qu(new h5({id:"selectPrevSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),qu(new h5({id:"selectPrevPageSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:11,secondary:[2059]}})),qu(new h5({id:"selectFirstSuggestion",precondition:Bd.and(A1.Visible,Bd.or(A1.MultipleSuggestions,A1.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),qu(new h5({id:"focusSuggestion",precondition:Bd.and(A1.Visible,A1.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),qu(new h5({id:"focusAndAcceptSuggestion",precondition:Bd.and(A1.Visible,A1.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),qu(new h5({id:"toggleSuggestionDetails",precondition:Bd.and(A1.Visible,A1.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:R1,group:"right",order:1,when:Bd.and(A1.DetailsVisible,A1.CanResolve),title:_(0,"show less")},{menuId:R1,group:"right",order:1,when:Bd.and(A1.DetailsVisible.toNegated(),A1.CanResolve),title:_(0,"show more")}]})),qu(new h5({id:"toggleExplainMode",precondition:A1.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),qu(new h5({id:"toggleSuggestionFocus",precondition:A1.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:2570,mac:{primary:778}}})),qu(new h5({id:"insertBestCompletion",precondition:Bd.and(oc.textInputFocus,Bd.equals("config.editor.tabCompletion","on"),w4.AtEnd,A1.Visible.toNegated(),y4.OtherSuggestions.toNegated(),r4.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(aa(t)?{fallback:"tab",...t}:{fallback:"tab"})},kbOpts:{weight:c5,primary:2}})),qu(new h5({id:"insertNextSuggestion",precondition:Bd.and(oc.textInputFocus,Bd.equals("config.editor.tabCompletion","on"),y4.OtherSuggestions,A1.Visible.toNegated(),r4.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:2}})),qu(new h5({id:"insertPrevSuggestion",precondition:Bd.and(oc.textInputFocus,Bd.equals("config.editor.tabCompletion","on"),y4.OtherSuggestions,A1.Visible.toNegated(),r4.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:c5,kbExpr:oc.textInputFocus,primary:1026}})),$u(class extends zu{constructor(){super({id:"editor.action.resetSuggestSize",label:_(0,"Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(e,t){var n;null===(n=a5.get(t))||void 0===n||n.resetWidgetSize()}});class g5 extends lt{get selectedItem(){return this._selectedItem}constructor(e,t,n,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.checkModelVersion=n,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=VE(this,void 0),this._register(e.onKeyDown((e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(e.onKeyUp((e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const o=a5.get(this.editor);if(o){this._register(o.registerSelector({priority:100,select:(e,t,n)=>{OE((e=>this.checkModelVersion(e)));const i=this.editor.getModel();if(!i)return-1;const s=this.suggestControllerPreselector(),r=s?w1(s,i):void 0;if(!r)return-1;const l=cd.lift(t),a=vh(n.map(((e,t)=>{const n=w1(p5.fromSuggestion(o,i,l,e,this.isShiftKeyPressed).toSingleTextEdit(),i);return{index:t,valid:C1(r,n),prefixLength:n.text.length,suggestItem:e}})).filter((e=>e&&e.valid&&e.prefixLength>0)),Yc((e=>e.prefixLength),Xc));return a?a.index:-1}}));let e=!1;const t=()=>{e||(e=!0,this._register(o.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(o.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(o.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(ft.once(o.model.onDidTrigger)((e=>{t()}))),this._register(o.onWillInsertSuggestItem((e=>{const t=this.editor.getPosition(),n=this.editor.getModel();if(!t||!n)return;const i=p5.fromSuggestion(o,n,t,e.item,this.isShiftKeyPressed);this.onWillAccept(i)})))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();var n,i;this._isActive===e&&((n=this._currentSuggestItemInfo)===(i=t)||n&&i&&n.equals(i))||(this._isActive=e,this._currentSuggestItemInfo=t,OE((e=>{this.checkModelVersion(e),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,e)})))}getSuggestItemInfo(){const e=a5.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),n=this.editor.getPosition(),i=this.editor.getModel();return t&&n&&i?p5.fromSuggestion(e,i,n,t.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const e=a5.get(this.editor);null==e||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=a5.get(this.editor);null==e||e.forceRenderingAbove()}}class p5{static fromSuggestion(e,t,n,i,o){let{insertText:s}=i.completion,r=!1;if(4&i.completion.insertTextRules){const e=(new Jx).parse(s);e.children.length<100&&n4.adjustWhitespace(t,n,!0,e),s=e.toString(),r=!0}const l=e.getOverwriteInfo(i,o);return new p5(nc.fromPositions(n.delta(0,-l.overwriteBefore),n.delta(0,Math.max(l.overwriteAfter,0))),s,i.completion.kind,r)}constructor(e,t,n,i){this.range=e,this.insertText=t,this.completionItemKind=n,this.isSnippetText=i}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new yC(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new vQ(this.range,this.insertText)}}var m5,f5=function(e,t){return function(n,i){t(n,i,e)}};let _5=m5=class extends lt{static get(e){return e.getContribution(m5.ID)}constructor(e,t,n,i,o,s,r,l,a){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=n,this._configurationService=i,this._commandService=o,this._debounceService=s,this._languageFeaturesService=r,this._accessibilitySignalService=l,this._keybindingService=a,this.model=this._register(zE("inlineCompletionModel",void 0)),this._textModelVersionId=VE(this,-1),this._positions=VE(this,[new cd(1,1)]),this._suggestWidgetAdaptor=this._register(new g5(this.editor,(()=>{var e,t;return null===(t=null===(e=this.model.get())||void 0===e?void 0:e.selectedInlineCompletion.get())||void 0===t?void 0:t.toSingleTextEdit(void 0)}),(e=>this.updateObservables(e,a4.Other)),(e=>{OE((t=>{var n;this.updateObservables(t,a4.Other),null===(n=this.model.get())||void 0===n||n.handleSuggestAccepted(e)}))}))),this._enabled=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._fontFamily=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).fontFamily)),this._ghostTexts=jE(this,(e=>{var t;const n=this.model.read(e);return null!==(t=null==n?void 0:n.ghostTexts.read(e))&&void 0!==t?t:[]})),this._stablizedGhostTexts=function(e,t){const n=VE("result",[]),i=[];return t.add(YE((t=>{const o=e.read(t);OE((e=>{if(o.length!==i.length){i.length=o.length;for(let e=0;et.set(o[n],e)))}))}))),n}(this._ghostTexts,this._store),this._ghostTextWidgets=function(e,t,n,i){let o=new cI(n,void 0);return qE({debugReferenceFn:n,owner:e,onLastObserverRemoved:()=>{o.dispose(),o=new cI(n)}},(e=>(o.setItems(t.read(e)),o.getItems())))}(this,this._stablizedGhostTexts,((e,t)=>t.add(this._instantiationService.createInstance(c1,this.editor,{ghostText:e,minReservedLineCount:tI(0),targetTextModel:this.model.map((e=>null==e?void 0:e.textModel))})))).recomputeInitiallyAndOnChange(this._store),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAccessibilitySignal=lI(this),this._isReadonly=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(91))),this._textModel=iI(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this._textModelIfWritable=jE((e=>this._isReadonly.read(e)?void 0:this._textModel.read(e))),this._register(new Q0(this._contextKeyService,this.model)),this._register(YE((n=>{const i=this._textModelIfWritable.read(n);OE((n=>{if(this.model.set(void 0,n),this.updateObservables(n,a4.Other),i){const o=t.createInstance(u4,i,this._suggestWidgetAdaptor.selectedItem,this._textModelVersionId,this._positions,this._debounceValue,iI(e.onDidChangeConfiguration,(()=>e.getOption(118).preview)),iI(e.onDidChangeConfiguration,(()=>e.getOption(118).previewMode)),iI(e.onDidChangeConfiguration,(()=>e.getOption(62).mode)),this._enabled);this.model.set(o,n)}}))})));const d=this._register(js());this._register(YE((e=>{const t=this._fontFamily.read(e);d.setStyle(""===t||"default"===t?"":`\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .ghost-text {\n\tfont-family: ${t};\n}`)})));const u=e=>{var t;return e.isUndoing?a4.Undo:e.isRedoing?a4.Redo:(null===(t=this.model.get())||void 0===t?void 0:t.isAcceptingPartially)?a4.AcceptWord:a4.Other};let c;this._register(e.onDidChangeModelContent((e=>OE((t=>this.updateObservables(t,u(e))))))),this._register(e.onDidChangeCursorPosition((e=>OE((t=>{var n;this.updateObservables(t,a4.Other),3!==e.reason&&"api"!==e.source||null===(n=this.model.get())||void 0===n||n.stop(t)}))))),this._register(e.onDidType((()=>OE((e=>{var t;this.updateObservables(e,a4.Other),this._enabled.get()&&(null===(t=this.model.get())||void 0===t||t.trigger(e))}))))),this._register(this._commandService.onDidExecuteCommand((t=>{new Set([FS.Tab.id,FS.DeleteLeft.id,FS.DeleteRight.id,WZ,"acceptSelectedSuggestion"]).has(t.commandId)&&e.hasTextFocus()&&this._enabled.get()&&OE((e=>{var t;null===(t=this.model.get())||void 0===t||t.trigger(e)}))}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||nY.dropDownVisible||OE((e=>{var t;null===(t=this.model.get())||void 0===t||t.stop(e)}))}))),this._register(YE((e=>{var t;const n=null===(t=this.model.read(e))||void 0===t?void 0:t.state.read(e);(null==n?void 0:n.suggestItem)?n.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(st((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(QE({handleChange:(e,t)=>(e.didChange(this._playAccessibilitySignal)&&(c=void 0),!0)},(async e=>{this._playAccessibilitySignal.read(e);const t=this.model.read(e),n=null==t?void 0:t.state.read(e);if(t&&n&&n.inlineCompletion){if(n.inlineCompletion.semanticId!==c){c=n.inlineCompletion.semanticId;const e=t.textModel.getLineContent(n.primaryGhostText.lineNumber);this._accessibilitySignalService.playSignal(XY.inlineSuggestion).then((()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(n.primaryGhostText.renderForScreenReader(e))}))}}else c=void 0}))),this._register(new JZ(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.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"),n=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let i;!t&&n&&this.editor.getOption(149)&&(i=_(0,"Inspect this in the accessible view ({0})",n.getAriaLabel())),Zr(i?e+", "+i:e)}updateObservables(e,t){var n,i,o;const s=this.editor.getModel();this._textModelVersionId.set(null!==(n=null==s?void 0:s.getVersionId())&&void 0!==n?n:-1,e,t),this._positions.set(null!==(o=null===(i=this.editor.getSelections())||void 0===i?void 0:i.map((e=>e.getPosition())))&&void 0!==o?o:[new cd(1,1)],e)}shouldShowHoverAt(e){var t;const n=null===(t=this.model.get())||void 0===t?void 0:t.primaryGhostText.get();return!!n&&n.parts.some((t=>e.containsPosition(new cd(n.lineNumber,t.column))))}shouldShowHoverAtViewZone(e){var t,n;return null!==(n=null===(t=this._ghostTextWidgets.get()[0])||void 0===t?void 0:t.ownsViewZone(e))&&void 0!==n&&n}};_5.ID="editor.contrib.inlineCompletionsController",_5=m5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([f5(1,ad),f5(2,su),f5(3,pg),f5(4,wd),f5(5,sW),f5(6,wx),f5(7,GY),f5(8,zL)],_5);class v5 extends zu{constructor(){super({id:v5.ID,label:_(0,"Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Bd.and(oc.writable,Q0.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=_5.get(t);null===(n=null==i?void 0:i.model.get())||void 0===n||n.next()}}v5.ID=HZ;class b5 extends zu{constructor(){super({id:b5.ID,label:_(0,"Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Bd.and(oc.writable,Q0.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=_5.get(t);null===(n=null==i?void 0:i.model.get())||void 0===n||n.previous()}}b5.ID=VZ;class w5 extends zu{constructor(){super({id:w5.ID,label:_(0,"Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Q0.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const n=_5.get(t);OE((e=>{var t;null===(t=null==n?void 0:n.model.get())||void 0===t||t.stop(e)}))}}w5.ID="editor.action.inlineSuggest.hide";class C5 extends Eu{constructor(){super({id:C5.ID,title:_(0,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Su.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Bd.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const n=e.get(pg),i="always"===n.getValue("editor.inlineSuggest.showToolbar")?"onHover":"always";n.updateValue("editor.inlineSuggest.showToolbar",i)}}C5.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var y5=function(e,t){return function(n,i){t(n,i,e)}};class S5{constructor(e,t,n){this.owner=e,this.range=t,this.controller=n}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let x5=class{constructor(e,t,n,i,o,s){this._editor=e,this._languageService=t,this._openerService=n,this.accessibilityService=i,this._instantiationService=o,this._telemetryService=s,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=_5.get(this._editor);if(!t)return null;const n=e.target;if(8===n.type){const i=n.detail;if(t.shouldShowHoverAtViewZone(i.viewZoneId))return new DG(1e3,this,nc.fromPositions(this._editor.getModel().validatePosition(i.positionBefore||i.position)),e.event.posx,e.event.posy,!1)}return 7===n.type&&t.shouldShowHoverAt(n.range)||6===n.type&&n.detail.mightBeForeignElement&&t.shouldShowHoverAt(n.range)?new DG(1e3,this,n.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const n=_5.get(this._editor);return n&&n.shouldShowHoverAt(e.range)?[new S5(this,e.range,n)]:[]}renderHoverParts(e,t){const n=new rt,i=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(e,i,n);const o=i.controller.model.get(),s=this._instantiationService.createInstance(nY,this._editor,!1,tI(null),o.selectedInlineCompletionIndex,o.inlineCompletionsCount,o.selectedInlineCompletion.map((e=>{var t;return null!==(t=null==e?void 0:e.inlineCompletion.source.inlineCompletions.commands)&&void 0!==t?t:[]})));return e.fragment.appendChild(s.getDomNode()),o.triggerExplicitly(),n.add(s),n}renderScreenReaderText(e,t,n){const i=mr,o=i("div.hover-row.markdown-hover"),s=dr(o,i("div.hover-contents",{"aria-live":"assertive"})),r=n.add(new dL({editor:this._editor},this._languageService,this._openerService));n.add(YE((i=>{var o;const l=null===(o=t.controller.model.read(i))||void 0===o?void 0:o.primaryGhostText.read(i);if(l){const t=this._editor.getModel().getLineContent(l.lineNumber);(t=>{n.add(r.onDidRenderAsync((()=>{s.className="hover-contents code-hover-contents",e.onContentsChanged()})));const i=_(0,"Suggestion:"),o=n.add(r.render((new ed).appendText(i).appendCodeblock("text",t)));s.replaceChildren(o.element)})(l.renderForScreenReader(t))}else cr(s)}))),e.fragment.appendChild(o)}};x5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([y5(1,Sh),y5(2,rL),y5(3,qS),y5(4,ad),y5(5,Mu)],x5),Zu(_5.ID,_5,3),$u(class extends zu{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:_(0,"Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:oc.writable})}async run(e,t){const n=_5.get(t);await async function(e,t){const n=new WE(e,void 0);try{await e(n)}finally{n.finish()}}((async e=>{var t;await(null===(t=null==n?void 0:n.model.get())||void 0===t?void 0:t.triggerExplicitly(e)),null==n||n.playAccessibilitySignal(e)}))}}),$u(v5),$u(b5),$u(class extends zu{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:_(0,"Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:Bd.and(oc.writable,Q0.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Bd.and(oc.writable,Q0.inlineSuggestionVisible)},menuOpts:[{menuId:Su.InlineSuggestionToolbar,title:_(0,"Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=_5.get(t);await(null===(n=null==i?void 0:i.model.get())||void 0===n?void 0:n.acceptNextWord(i.editor))}}),$u(class extends zu{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:_(0,"Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:Bd.and(oc.writable,Q0.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Su.InlineSuggestionToolbar,title:_(0,"Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=_5.get(t);await(null===(n=null==i?void 0:i.model.get())||void 0===n?void 0:n.acceptNextLine(i.editor))}}),$u(class extends zu{constructor(){super({id:WZ,label:_(0,"Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Q0.inlineSuggestionVisible,menuOpts:[{menuId:Su.InlineSuggestionToolbar,title:_(0,"Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Bd.and(Q0.inlineSuggestionVisible,oc.tabMovesFocus.toNegated(),Q0.inlineSuggestionHasIndentationLessThanTabSize,A1.Visible.toNegated(),oc.hoverFocused.toNegated())}})}async run(e,t){var n;const i=_5.get(t);i&&(null===(n=i.model.get())||void 0===n||n.accept(i.editor),i.editor.focus())}}),$u(w5),Iu(C5),NG.register(x5);var k5=n(1935),L5={};L5.styleTagTransform=Vr(),L5.setAttributes=Or(),L5.insert=Rr().bind(null,"head"),L5.domAPI=Tr(),L5.insertStyleElement=Br(),Ir()(k5.A,L5),k5.A&&k5.A.locals&&k5.A.locals;const D5="inline-edit";let N5=class extends lt{constructor(e,t,n){super(),this.editor=e,this.model=t,this.languageService=n,this.isDisposed=VE(this,!1),this.currentTextModel=iI(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=jE(this,(e=>{var t;if(this.isDisposed.read(e))return;const n=this.currentTextModel.read(e);if(n!==this.model.targetTextModel.read(e))return;const i=this.model.ghostText.read(e);if(!i)return;let o=null===(t=this.model.range)||void 0===t?void 0:t.read(e);o&&o.startLineNumber===o.endLineNumber&&o.startColumn===o.endColumn&&(o=void 0);const s=(!o||o.startLineNumber===o.endLineNumber)&&1===i.parts.length&&1===i.parts[0].lines.length,r=1===i.parts.length&&i.parts[0].lines.every((e=>0===e.length)),l=[],a=[];function d(e,t){if(a.length>0){const n=a[a.length-1];t&&n.decorations.push(new oA(n.content.length+1,n.content.length+1+e[0].length,t,0)),n.content+=e[0],e=e.slice(1)}for(const n of e)a.push({content:n,decorations:t?[new oA(1,n.length+1,t,0)]:[]})}const u=n.getLineContent(i.lineNumber);let c,h=0;if(!r){for(const e of i.parts){let t=e.lines;o&&!s&&(d(t,D5),t=[]),void 0===c?(l.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):d([u.substring(h,e.column-1)],void 0),t.length>0&&(d(t,D5),void 0===c&&e.column<=u.length&&(c=e.column)),h=e.column-1}void 0!==c&&d([u.substring(h)],void 0)}const g=void 0!==c?new l1(c,u.length+1):void 0,p=s||!o?i.lineNumber:o.endLineNumber-1;return{inlineTexts:l,additionalLines:a,hiddenRange:g,lineNumber:p,additionalReservedLineCount:this.model.minReservedLineCount.read(e),targetTextModel:n,range:o,isSingleLine:s,isPureRemove:r,backgroundColoring:this.model.backgroundColoring.read(e)}})),this.decorations=jE(this,(e=>{const t=this.uiState.read(e);if(!t)return[];const n=[];if(t.hiddenRange&&n.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),t.range){const e=[];if(t.isSingleLine)e.push(t.range);else if(t.isPureRemove){const n=t.range.endLineNumber-t.range.startLineNumber;for(let i=0;i{const t=this.uiState.read(e);return t&&!t.isPureRemove?{lineNumber:t.lineNumber,additionalLines:t.additionalLines,minReservedLineCount:t.additionalReservedLineCount,targetTextModel:t.targetTextModel}:void 0})))),this._register(st((()=>{this.isDisposed.set(!0,void 0)}))),this._register(a1(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};N5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,Sh)],N5);var E5=n(5269),I5={};I5.styleTagTransform=Vr(),I5.setAttributes=Or(),I5.insert=Rr().bind(null,"head"),I5.domAPI=Tr(),I5.insertStyleElement=Br(),Ir()(E5.A,I5),E5.A&&E5.A.locals&&E5.A.locals;var M5,T5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},A5=function(e,t){return function(n,i){t(n,i,e)}};let R5=class extends lt{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=iI(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(63).showToolbar)),this.sessionPosition=void 0,this.position=jE(this,(e=>{var t,n,i;const o=null===(t=this.model.read(e))||void 0===t?void 0:t.widget.model.ghostText.read(e);if(!this.alwaysShowToolbar.read(e)||!o||0===o.parts.length)return this.sessionPosition=void 0,null;const s=o.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==o.lineNumber&&(this.sessionPosition=void 0);const r=new cd(o.lineNumber,Math.min(s,null!==(i=null===(n=this.sessionPosition)||void 0===n?void 0:n.column)&&void 0!==i?i:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(JE(((t,n)=>{if(!this.model.read(t)||!this.alwaysShowToolbar.read(t))return;const i=n.add(this.instantiationService.createInstance(P5,this.editor,!0,this.position));e.addContentWidget(i),n.add(st((()=>e.removeContentWidget(i))))})))}};R5=T5([A5(2,ad)],R5);let P5=M5=class extends lt{constructor(e,t,n,i,o,s){super(),this.editor=e,this.withBorder=t,this._position=n,this._contextKeyService=o,this._menuService=s,this.id="InlineEditHintsContentWidget"+M5.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Dr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Dr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Su.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(i.createInstance(F5,this.nodes.toolBar,this.editor,Su.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>{if(e instanceof Nu)return i.createInstance(O5,e,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{M5._dropDownVisible=e}))),this._register(YE((e=>{this._position.read(e),this.editor.layoutContentWidget(this)}))),this._register(YE((e=>{const t=[];for(const[e,n]of this.inlineCompletionsActionsMenus.getActions())for(const e of n)e instanceof Nu&&t.push(e);t.length>0&&t.unshift(new fd),this.toolBar.setAdditionalSecondaryActions(t)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};P5._dropDownVisible=!1,P5.id=0,P5=M5=T5([A5(3,ad),A5(4,su),A5(5,xu)],P5);class O5 extends IU{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Dr("div.keybinding").root;this._register(new fM(t,ee,{disableTitle:!0,...mM})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let F5=class extends GZ{constructor(e,t,n,i,o,s,r,l,a){super(e,{resetMenu:n,...i},o,s,r,l,a),this.editor=t,this.menuId=n,this.options2=i,this.menuService=o,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._store.add(this.editor.onDidChangeCursorPosition((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){var e,t,n,i,o,s,r;const l=[],a=[];NU(this.menu,null===(e=this.options2)||void 0===e?void 0:e.menuOptions,{primary:l,secondary:a},null===(n=null===(t=this.options2)||void 0===t?void 0:t.toolbarOptions)||void 0===n?void 0:n.primaryGroup,null===(o=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===o?void 0:o.shouldInlineSubmenu,null===(r=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),a.push(...this.additionalActions),l.unshift(...this.prependedPrimaryActions),this.setActions(l,a)}setAdditionalSecondaryActions(e){Ic(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};F5=T5([A5(4,xu),A5(5,su),A5(6,HL),A5(7,zL),A5(8,Mu)],F5);var B5,W5=function(e,t){return function(n,i){t(n,i,e)}};class V5{constructor(e,t){this.widget=e,this.edit=t}dispose(){this.widget.dispose()}}let H5=B5=class extends lt{static get(e){return e.getContribution(B5.ID)}constructor(e,t,n,i,o,s){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=n,this.languageFeaturesService=i,this._commandService=o,this._configurationService=s,this._isVisibleContext=B5.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=B5.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=this._register(zE(this,void 0)),this._isAccepting=VE(this,!1),this._enabled=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).enabled)),this._fontFamily=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).fontFamily)),this._backgroundColoring=iI(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(63).backgroundColoring));const r=sI("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(YE((t=>{this._enabled.read(t)&&(r.read(t),this._isAccepting.read(t)||this.getInlineEdit(e,!0))})));const l=iI(e.onDidChangeCursorPosition,(()=>e.getPosition()));this._register(YE((e=>{if(!this._enabled.read(e))return;const t=l.read(e);t&&this.checkCursorPosition(t)}))),this._register(YE((t=>{const n=this._currentEdit.read(t);if(this._isCursorAtInlineEditContext.set(!1),!n)return void this._isVisibleContext.set(!1);this._isVisibleContext.set(!0);const i=e.getPosition();i&&this.checkCursorPosition(i)})));const a=sI("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(YE((async t=>{var n;this._enabled.read(t)&&(a.read(t),this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur||(null===(n=this._currentRequestCts)||void 0===n||n.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))})));const d=sI("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(YE((t=>{this._enabled.read(t)&&(d.read(t),this.getInlineEdit(e,!0))})));const u=this._register(js());this._register(YE((e=>{const t=this._fontFamily.read(e);u.setStyle(""===t||"default"===t?"":`\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .inline-edit {\n\tfont-family: ${t};\n}`)}))),this._register(new R5(this.editor,this._currentEdit,this.instantiationService))}checkCursorPosition(e){var t;if(!this._currentEdit)return void this._isCursorAtInlineEditContext.set(!1);const n=null===(t=this._currentEdit.get())||void 0===t?void 0:t.edit;n?this._isCursorAtInlineEditContext.set(nc.containsPosition(n.range,e)):this._isCursorAtInlineEditContext.set(!1)}validateInlineEdit(e,t){var n,i;if(t.text.includes("\n")&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(1!==t.range.startColumn)return!1;const o=t.range.endLineNumber;if(t.range.endColumn!==(null!==(i=null===(n=e.getModel())||void 0===n?void 0:n.getLineLength(o))&&void 0!==i?i:0)+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const n=e.getModel();if(!n)return;const i=n.getVersionId(),o=this.languageFeaturesService.inlineEditProvider.all(n);if(0===o.length)return;const s=o[0];this._currentRequestCts=new Tt;const r=this._currentRequestCts.token,l=t?MC.Automatic:MC.Invoke;var a;if(t&&await(50,a=r,new Promise((e=>{let t;const n=setTimeout((()=>{t&&t.dispose(),e()}),50);a&&(t=a.onCancellationRequested((()=>{clearTimeout(n),t&&t.dispose(),e()})))}))),r.isCancellationRequested||n.isDisposed()||n.getVersionId()!==i)return;const d=await s.provideInlineEdit(n,{triggerKind:l},r);return d&&!r.isCancellationRequested&&!n.isDisposed()&&n.getVersionId()===i&&this.validateInlineEdit(e,d)?d:void 0}async getInlineEdit(e,t){var n;this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);if(!i)return;const o=i.range.endLineNumber,s=i.range.endColumn,r=new t1(o,[new n1(s,i.text,!1)]),l=this.instantiationService.createInstance(N5,this.editor,{ghostText:tI(r),minReservedLineCount:tI(0),targetTextModel:tI(null!==(n=this.editor.getModel())&&void 0!==n?n:void 0),range:tI(i.range),backgroundColoring:this._backgroundColoring});this._currentEdit.set(new V5(l,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(){var e;this._isAccepting.set(!0,void 0);const t=null===(e=this._currentEdit.get())||void 0===e?void 0:e.edit;if(!t)return;let n=t.text;t.text.startsWith("\n")&&(n=t.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[wY.replace(nc.lift(t.range),n)]),t.accepted&&await this._commandService.executeCommand(t.accepted.id,...t.accepted.arguments||[]).then(void 0,ke),this.freeEdit(t),OE((e=>{this._currentEdit.set(void 0,e),this._isAccepting.set(!1,e)}))}jumpToCurrent(){var e,t;this._jumpBackPosition=null===(e=this.editor.getSelection())||void 0===e?void 0:e.getStartPosition();const n=null===(t=this._currentEdit.get())||void 0===t?void 0:t.edit;if(!n)return;const i=cd.lift({lineNumber:n.range.startLineNumber,column:n.range.startColumn});this.editor.setPosition(i),this.editor.revealPositionInCenterIfOutsideViewport(i)}async clear(e=!0){var t;const n=null===(t=this._currentEdit.get())||void 0===t?void 0:t.edit;n&&(null==n?void 0:n.rejected)&&e&&await this._commandService.executeCommand(n.rejected.id,...n.rejected.arguments||[]).then(void 0,ke),n&&this.freeEdit(n),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const n=this.languageFeaturesService.inlineEditProvider.all(t);0!==n.length&&n[0].freeInlineEdit(e)}shouldShowHoverAt(e){const t=this._currentEdit.get();if(!t)return!1;const n=t.edit,i=t.widget.model;if(nc.containsPosition(n.range,e.getStartPosition())||nc.containsPosition(n.range,e.getEndPosition()))return!0;const o=i.ghostText.get();return!!o&&o.parts.some((t=>e.containsPosition(new cd(o.lineNumber,t.column))))}shouldShowHoverAtViewZone(e){var t,n;return null!==(n=null===(t=this._currentEdit.get())||void 0===t?void 0:t.widget.ownsViewZone(e))&&void 0!==n&&n}};H5.ID="editor.contrib.inlineEditController",H5.inlineEditVisibleKey="inlineEditVisible",H5.inlineEditVisibleContext=new ou(B5.inlineEditVisibleKey,!1),H5.cursorAtInlineEditKey="cursorAtInlineEdit",H5.cursorAtInlineEditContext=new ou(B5.cursorAtInlineEditKey,!1),H5=B5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([W5(1,ad),W5(2,su),W5(3,wx),W5(4,wd),W5(5,pg)],H5);var z5=function(e,t){return function(n,i){t(n,i,e)}};class U5{constructor(e,t,n){this.owner=e,this.range=t,this.controller=n}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let K5=class{constructor(e,t,n){this._editor=e,this._instantiationService=t,this._telemetryService=n,this.hoverOrdinal=5}suggestHoverAnchor(e){const t=H5.get(this._editor);if(!t)return null;const n=e.target;if(8===n.type){const i=n.detail;if(t.shouldShowHoverAtViewZone(i.viewZoneId)){const t=n.range;return new DG(1e3,this,t,e.event.posx,e.event.posy,!1)}}return 7===n.type&&t.shouldShowHoverAt(n.range)||6===n.type&&n.detail.mightBeForeignElement&&t.shouldShowHoverAt(n.range)?new DG(1e3,this,n.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if("onHover"!==this._editor.getOption(63).showToolbar)return[];const n=H5.get(this._editor);return n&&n.shouldShowHoverAt(e.range)?[new U5(this,e.range,n)]:[]}renderHoverParts(e,t){const n=new rt;this._telemetryService.publicLog2("inlineEditHover.shown");const i=this._instantiationService.createInstance(P5,this._editor,!1,tI(null));return e.fragment.appendChild(i.getDomNode()),n.add(i),n}};K5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([z5(1,ad),z5(2,Mu)],K5),$u(class extends zu{constructor(){super({id:"editor.action.inlineEdit.accept",label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:Bd.and(oc.writable,H5.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:Bd.and(oc.writable,H5.inlineEditVisibleContext,H5.cursorAtInlineEditContext)}],menuOpts:[{menuId:Su.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const n=H5.get(t);await(null==n?void 0:n.accept())}}),$u(class extends zu{constructor(){const e=Bd.and(oc.writable,H5.inlineEditVisibleContext);super({id:"editor.action.inlineEdit.reject",label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:Su.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const n=H5.get(t);await(null==n?void 0:n.clear())}}),$u(class extends zu{constructor(){const e=Bd.and(oc.writable,H5.inlineEditVisibleContext,Bd.not(H5.cursorAtInlineEditKey));super({id:"editor.action.inlineEdit.jumpTo",label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:Su.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const n=H5.get(t);null==n||n.jumpToCurrent()}}),$u(class extends zu{constructor(){const e=Bd.and(oc.writable,H5.cursorAtInlineEditContext);super({id:"editor.action.inlineEdit.jumpBack",label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:Su.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const n=H5.get(t);null==n||n.jumpBack()}}),$u(class extends zu{constructor(){const e=Bd.and(oc.writable,Bd.not(H5.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 n=H5.get(t);null==n||n.trigger()}}),Zu(H5.ID,H5,3),NG.register(K5);var j5=n(2931),q5={};q5.styleTagTransform=Vr(),q5.setAttributes=Or(),q5.insert=Rr().bind(null,"head"),q5.domAPI=Tr(),q5.insertStyleElement=Br(),Ir()(j5.A,q5),j5.A&&j5.A.locals&&j5.A.locals;const $5=dd("themeService");var G5,Z5=function(e,t){return function(n,i){t(n,i,e)}};let Y5=G5=class extends lt{static get(e){return e.getContribution(G5.ID)}constructor(e,t,n){super(),this._editor=e,this._languageService=n,this._widget=null,this._register(this._editor.onDidChangeModel((e=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((e=>this.stop()))),this._register(IC.onDidChange((e=>this.stop()))),this._register(this._editor.onKeyUp((e=>9===e.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new X5(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};Y5.ID="editor.contrib.inspectTokens",Y5=G5=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Z5(1,$5),Z5(2,Sh)],Y5);class X5 extends lt{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=function(e,t){const n=IC.get(t);if(n)return n;const i=e.encodeLanguageId(t);return{getInitialState:()=>TC,tokenize:(e,n,i)=>AC(t,i),tokenizeEncoded:(e,t,n)=>RC(i,n)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((e=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return X5._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let n=0;for(let i=t.tokens1.length-1;i>=0;i--){const o=t.tokens1[i];if(e.column-1>=o.offset){n=i;break}}let i=0;for(let n=t.tokens2.length>>>1;n>=0;n--)if(e.column-1>=t.tokens2[n<<1]){i=n;break}const o=this._model.getLineContent(e.lineNumber);let s="";if(ne.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber));for(let e=t.length-2;e>=0;e--)t[e].lineNumber===t[e+1].lineNumber&&t.splice(e,1);const i=[];let o=0,s=0;const r=t.length;for(let l=1,a=e.getLineCount();l<=a;l++){const a=e.getLineContent(l),d=a.length+1;let u=0;if(se.tokenization.getLineTokens(t),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,n)=>e.getLanguageIdAtPosition(t,n)},getLineContent:null};if(i.startLineNumber===i.endLineNumber&&1===e.getLineMaxColumn(i.startLineNumber)){const n=i.startLineNumber,o=this._isMovingDown?n+1:n-1;1===e.getLineMaxColumn(o)?t.addEditOperation(new nc(1,1,1,1),null):(t.addEditOperation(new nc(n,1,n,1),e.getLineContent(o)),t.addEditOperation(new nc(o,1,o,e.getLineMaxColumn(o)),null)),i=new ic(o,1,o,1)}else{let n,s;if(this._isMovingDown){n=i.endLineNumber+1,s=e.getLineContent(n),t.addEditOperation(new nc(n-1,e.getLineMaxColumn(n-1),n,e.getLineMaxColumn(n)),null);let d=s;if(this.shouldAutoIndent(e,i)){const u=this.matchEnterRule(e,l,o,n,i.startLineNumber-1);if(null!==u){const t=S0(u+y0(gi(e.getLineContent(n)),o),o,r);d=t+this.trimStart(s)}else{a.getLineContent=t=>t===i.startLineNumber?e.getLineContent(n):e.getLineContent(t);const t=wS(this._autoIndent,a,e.getLanguageIdAtPosition(n,1),i.startLineNumber,l,this._languageConfigurationService);if(null!==t){const i=gi(e.getLineContent(n)),l=y0(t,o);if(l!==y0(i,o)){const e=S0(l,o,r);d=e+this.trimStart(s)}}}t.addEditOperation(new nc(i.startLineNumber,1,i.startLineNumber,1),d+"\n");const c=this.matchEnterRuleMovingDown(e,l,o,i.startLineNumber,n,d);if(null!==c)0!==c&&this.getIndentEditsOfMovingBlock(e,t,i,o,r,c);else{a.getLineContent=t=>t===i.startLineNumber?d:t>=i.startLineNumber+1&&t<=i.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t);const s=wS(this._autoIndent,a,e.getLanguageIdAtPosition(n,1),i.startLineNumber+1,l,this._languageConfigurationService);if(null!==s){const n=gi(e.getLineContent(i.startLineNumber)),l=y0(s,o),a=y0(n,o);if(l!==a){const n=l-a;this.getIndentEditsOfMovingBlock(e,t,i,o,r,n)}}}}else t.addEditOperation(new nc(i.startLineNumber,1,i.startLineNumber,1),d+"\n")}else if(n=i.startLineNumber-1,s=e.getLineContent(n),t.addEditOperation(new nc(n,1,n+1,1),null),t.addEditOperation(new nc(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),"\n"+s),this.shouldAutoIndent(e,i)){a.getLineContent=t=>t===n?e.getLineContent(i.startLineNumber):e.getLineContent(t);const s=this.matchEnterRule(e,l,o,i.startLineNumber,i.startLineNumber-2);if(null!==s)0!==s&&this.getIndentEditsOfMovingBlock(e,t,i,o,r,s);else{const s=wS(this._autoIndent,a,e.getLanguageIdAtPosition(i.startLineNumber,1),n,l,this._languageConfigurationService);if(null!==s){const n=gi(e.getLineContent(i.startLineNumber)),l=y0(s,o),a=y0(n,o);if(l!==a){const n=l-a;this.getIndentEditsOfMovingBlock(e,t,i,o,r,n)}}}}}this._selectionId=t.trackSelection(i)}buildIndentConverter(e,t,n){return{shiftIndent:i=>fS.shiftIndent(i,i.length+1,e,t,n),unshiftIndent:i=>fS.unshiftIndent(i,i.length+1,e,t,n)}}parseEnterResult(e,t,n,i,o){if(o){let s=o.indentation;o.indentAction===Ih.None||o.indentAction===Ih.Indent?s=o.indentation+o.appendText:o.indentAction===Ih.IndentOutdent?s=o.indentation:o.indentAction===Ih.Outdent&&(s=t.unshiftIndent(o.indentation)+o.appendText);const r=e.getLineContent(i);if(this.trimStart(r).indexOf(this.trimStart(s))>=0){const o=gi(e.getLineContent(i));let r=gi(s);const l=CS(e,i,this._languageConfigurationService);return null!==l&&2&l&&(r=t.unshiftIndent(r)),y0(r,n)-y0(o,n)}}return null}matchEnterRuleMovingDown(e,t,n,i,o,s){if(pi(s)>=0){const s=e.getLineMaxColumn(o),r=hS(this._autoIndent,e,new nc(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,r)}{let o=i-1;for(;o>=1&&!(pi(e.getLineContent(o))>=0);)o--;if(o<1||i>e.getLineCount())return null;const s=e.getLineMaxColumn(o),r=hS(this._autoIndent,e,new nc(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,r)}}matchEnterRule(e,t,n,i,o,s){let r=o;for(;r>=1;){let t;if(t=r===o&&void 0!==s?s:e.getLineContent(r),pi(t)>=0)break;r--}if(r<1||i>e.getLineCount())return null;const l=e.getLineMaxColumn(r),a=hS(this._autoIndent,e,new nc(r,l,r,l),this._languageConfigurationService);return this.parseEnterResult(e,t,n,i,a)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4)return!1;if(!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(n).indentRulesSupport}getIndentEditsOfMovingBlock(e,t,n,i,o,s){for(let r=n.startLineNumber;r<=n.endLineNumber;r++){const l=gi(e.getLineContent(r)),a=S0(y0(l,i)+s,i,o);a!==l&&(t.addEditOperation(new nc(r,1,r,l.length+1),a),r===n.endLineNumber&&n.endColumn<=l.length+1&&""===a&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,Qg)],e6);class t6{static getCollator(){return t6._COLLATOR||(t6._COLLATOR=new Intl.Collator),t6._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const n=function(e,t,n){const i=n6(e,t,n);return i?wY.replace(new nc(i.startLineNumber,1,i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),i.after.join("\n")):null}(e,this.selection,this.descending);n&&t.addEditOperation(n.range,n.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,n){if(null===e)return!1;const i=n6(e,t,n);if(!i)return!1;for(let e=0,t=i.before.length;e=o)return null;const s=[];for(let t=i;t<=o;t++)s.push(e.getLineContent(t));let r=s.slice(0);return r.sort(t6.getCollator().compare),!0===n&&(r=r.reverse()),{startLineNumber:i,endLineNumber:o,before:s,after:r}}t6._COLLATOR=null;class i6 extends zu{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const n=t.getSelections().map(((e,t)=>({selection:e,index:t,ignore:!1})));n.sort(((e,t)=>nc.compareRangesUsingStarts(e.selection,t.selection)));let i=n[0];for(let e=1;enew cd(e.positionLineNumber,e.positionColumn))));const o=t.getSelection();if(null===o)return;const s=e.get(pg),r=t.getModel(),l=s.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:null==r?void 0:r.getLanguageId(),resource:null==r?void 0:r.uri}),a=new Q5(o,i,l);t.pushUndoStop(),t.executeCommands(this.id,[a]),t.pushUndoStop()}}r6.ID="editor.action.trimTrailingWhitespace";class l6 extends zu{run(e,t){if(!t.hasModel())return;const n=t.getSelection(),i=this._getRangesToDelete(t),o=[];for(let e=0,t=i.length-1;ewY.replace(e,"")));t.pushUndoStop(),t.executeEdits(this.id,r,s),t.pushUndoStop()}}class a6 extends zu{run(e,t){const n=t.getSelections();if(null===n)return;const i=t.getModel();if(null===i)return;const o=t.getOption(131),s=[];for(const e of n)if(e.isEmpty()){const n=e.getStartPosition(),r=t.getConfiguredWordAtPosition(n);if(!r)continue;const l=new nc(n.lineNumber,r.startColumn,n.lineNumber,r.endColumn),a=i.getValueInRange(l);s.push(wY.replace(l,this._modifyText(a,o)))}else{const t=i.getValueInRange(e);s.push(wY.replace(e,this._modifyText(t,o)))}t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop()}}class d6{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(e){}}return this._actual}isSupported(){return null!==this.get()}}class u6 extends a6{constructor(){super({id:"editor.action.transformToTitlecase",label:_(0,"Transform to Title Case"),alias:"Transform to Title Case",precondition:oc.writable})}_modifyText(e,t){const n=u6.titleBoundary.get();return n?e.toLocaleLowerCase().replace(n,(e=>e.toLocaleUpperCase())):e}}u6.titleBoundary=new d6("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class c6 extends a6{constructor(){super({id:"editor.action.transformToSnakecase",label:_(0,"Transform to Snake Case"),alias:"Transform to Snake Case",precondition:oc.writable})}_modifyText(e,t){const n=c6.caseBoundary.get(),i=c6.singleLetters.get();return n&&i?e.replace(n,"$1_$2").replace(i,"$1_$2$3").toLocaleLowerCase():e}}c6.caseBoundary=new d6("(\\p{Ll})(\\p{Lu})","gmu"),c6.singleLetters=new d6("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class h6 extends a6{constructor(){super({id:"editor.action.transformToCamelcase",label:_(0,"Transform to Camel Case"),alias:"Transform to Camel Case",precondition:oc.writable})}_modifyText(e,t){const n=h6.wordBoundary.get();if(!n)return e;const i=e.split(n);return i.shift()+i.map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join("")}}h6.wordBoundary=new d6("[_\\s-]","gm");class g6 extends a6{constructor(){super({id:"editor.action.transformToPascalcase",label:_(0,"Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:oc.writable})}_modifyText(e,t){const n=g6.wordBoundary.get(),i=g6.wordBoundaryToMaintain.get();return n&&i?e.split(i).map((e=>e.split(n))).flat().map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join(""):e}}g6.wordBoundary=new d6("[_\\s-]","gm"),g6.wordBoundaryToMaintain=new d6("(?<=\\.)","gm");class p6 extends a6{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((e=>e.isSupported()))}constructor(){super({id:"editor.action.transformToKebabcase",label:_(0,"Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:oc.writable})}_modifyText(e,t){const n=p6.caseBoundary.get(),i=p6.singleLetters.get(),o=p6.underscoreBoundary.get();return n&&i&&o?e.replace(o,"$1-$3").replace(n,"$1-$2").replace(i,"$1-$2").toLocaleLowerCase():e}}p6.caseBoundary=new d6("(\\p{Ll})(\\p{Lu})","gmu"),p6.singleLetters=new d6("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),p6.underscoreBoundary=new d6("(\\S)(_)(\\S)","gm"),$u(class extends i6{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:_(0,"Copy Line Up"),alias:"Copy Line Up",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"&&Copy Line Up"),order:1}})}}),$u(class extends i6{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:_(0,"Copy Line Down"),alias:"Copy Line Down",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"Co&&py Line Down"),order:2}})}}),$u(class extends zu{constructor(){super({id:"editor.action.duplicateSelection",label:_(0,"Duplicate Selection"),alias:"Duplicate Selection",precondition:oc.writable,menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"&&Duplicate Selection"),order:5}})}run(e,t,n){if(!t.hasModel())return;const i=[],o=t.getSelections(),s=t.getModel();for(const e of o)if(e.isEmpty())i.push(new J5(e,!0));else{const t=new ic(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn);i.push(new Jy(t,s.getValueInRange(e)))}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}),$u(class extends o6{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:_(0,"Move Line Up"),alias:"Move Line Up",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"Mo&&ve Line Up"),order:3}})}}),$u(class extends o6{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:_(0,"Move Line Down"),alias:"Move Line Down",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"2_line",title:_(0,"Move &&Line Down"),order:4}})}}),$u(class extends s6{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:_(0,"Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:oc.writable})}}),$u(class extends s6{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:_(0,"Sort Lines Descending"),alias:"Sort Lines Descending",precondition:oc.writable})}}),$u(class extends zu{constructor(){super({id:"editor.action.removeDuplicateLines",label:_(0,"Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:oc.writable})}run(e,t){if(!t.hasModel())return;const n=t.getModel();if(1===n.getLineCount()&&1===n.getLineMaxColumn(1))return;const i=[],o=[];let s=0,r=!0,l=t.getSelections();1===l.length&&l[0].isEmpty()&&(l=[new ic(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))],r=!1);for(const e of l){const t=new Set,r=[];for(let i=e.startLineNumber;i<=e.endLineNumber;i++){const e=n.getLineContent(i);t.has(e)||(r.push(e),t.add(e))}const l=new ic(e.startLineNumber,1,e.endLineNumber,n.getLineMaxColumn(e.endLineNumber)),a=e.startLineNumber-s,d=new ic(a,1,a+r.length-1,r[r.length-1].length);i.push(wY.replace(l,r.join("\n"))),o.push(d),s+=e.endLineNumber-e.startLineNumber+1-r.length}t.pushUndoStop(),t.executeEdits(this.id,i,r?o:void 0),t.pushUndoStop()}}),$u(r6),$u(class extends zu{constructor(){super({id:"editor.action.deleteLines",label:_(0,"Delete Line"),alias:"Delete Line",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const n=this._getLinesToRemove(t),i=t.getModel();if(1===i.getLineCount()&&1===i.getLineMaxColumn(1))return;let o=0;const s=[],r=[];for(let e=0,t=n.length;e1&&(l-=1,d=i.getLineMaxColumn(l)),s.push(wY.replace(new ic(l,d,a,u),"")),r.push(new ic(l-o,t.positionColumn,l-o,t.positionColumn)),o+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,s,r),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map((e=>{let t=e.endLineNumber;return e.startLineNumbere.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber));const n=[];let i=t[0];for(let e=1;e=t[e].startLineNumber?i.endLineNumber=t[e].endLineNumber:(n.push(i),i=t[e]);return n.push(i),n}}),$u(class extends zu{constructor(){super({id:"editor.action.indentLines",label:_(0,"Indent Line"),alias:"Indent Line",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:2142,weight:100}})}run(e,t){const n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,yS.indent(n.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}),$u(class extends zu{constructor(){super({id:"editor.action.outdentLines",label:_(0,"Outdent Line"),alias:"Outdent Line",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:2140,weight:100}})}run(e,t){FS.Outdent.runEditorCommand(e,t,null)}}),$u(class extends zu{constructor(){super({id:"editor.action.insertLineBefore",label:_(0,"Insert Line Above"),alias:"Insert Line Above",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:3075,weight:100}})}run(e,t){const n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,yS.lineInsertBefore(n.cursorConfig,t.getModel(),t.getSelections())))}}),$u(class extends zu{constructor(){super({id:"editor.action.insertLineAfter",label:_(0,"Insert Line Below"),alias:"Insert Line Below",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:2051,weight:100}})}run(e,t){const n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,yS.lineInsertAfter(n.cursorConfig,t.getModel(),t.getSelections())))}}),$u(class extends l6{constructor(){super({id:"deleteAllLeft",label:_(0,"Delete All Left"),alias:"Delete All Left",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let n=null;const i=[];let o=0;return t.forEach((t=>{let s;if(1===t.endColumn&&o>0){const e=t.startLineNumber-o;s=new ic(e,t.startColumn,e,t.startColumn)}else s=new ic(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);o+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=s:i.push(s)})),n&&i.unshift(n),i}_getRangesToDelete(e){const t=e.getSelections();if(null===t)return[];let n=t;const i=e.getModel();return null===i?[]:(n.sort(nc.compareRangesUsingStarts),n=n.map((e=>{if(e.isEmpty()){if(1===e.startColumn){const t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:i.getLineLength(t)+1;return new nc(t,n,e.startLineNumber,1)}return new nc(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new nc(e.startLineNumber,1,e.endLineNumber,e.endColumn)})),n)}}),$u(class extends l6{constructor(){super({id:"deleteAllRight",label:_(0,"Delete All Right"),alias:"Delete All Right",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let n=null;const i=[];for(let o=0,s=t.length,r=0;o{if(e.isEmpty()){const n=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===n?new nc(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new nc(e.startLineNumber,e.startColumn,e.startLineNumber,n)}return e}));return i.sort(nc.compareRangesUsingStarts),i}}),$u(class extends zu{constructor(){super({id:"editor.action.joinLines",label:_(0,"Join Lines"),alias:"Join Lines",precondition:oc.writable,kbOpts:{kbExpr:oc.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const n=t.getSelections();if(null===n)return;let i=t.getSelection();if(null===i)return;n.sort(nc.compareRangesUsingStarts);const o=[],s=n.reduce(((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(i.equalsSelection(e)&&(i=t),t):t.startLineNumber>e.endLineNumber+1?(o.push(e),t):new ic(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new ic(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)));o.push(s);const r=t.getModel();if(null===r)return;const l=[],a=[];let d=i,u=0;for(let e=0,t=o.length;e=1){let e=!0;""===m&&(e=!1),!e||" "!==m.charAt(m.length-1)&&"\t"!==m.charAt(m.length-1)||(e=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g," "));const i=t.substr(n-1);m+=(e?" ":"")+i,g=e?i.length+1:i.length}else g=0}const f=new nc(n,s,c,h);if(!f.isEmpty()){let e;t.isEmpty()?(l.push(wY.replace(f,m)),e=new ic(f.startLineNumber-u,m.length-g+1,n-u,m.length-g+1)):t.startLineNumber===t.endLineNumber?(l.push(wY.replace(f,m)),e=new ic(t.startLineNumber-u,t.startColumn,t.endLineNumber-u,t.endColumn)):(l.push(wY.replace(f,m)),e=new ic(t.startLineNumber-u,t.startColumn,t.startLineNumber-u,m.length-p)),null!==nc.intersectRanges(f,i)?d=e:a.push(e)}u+=f.endLineNumber-f.startLineNumber}a.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,l,a),t.pushUndoStop()}}),$u(class extends zu{constructor(){super({id:"editor.action.transpose",label:_(0,"Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:oc.writable})}run(e,t){const n=t.getSelections();if(null===n)return;const i=t.getModel();if(null===i)return;const o=[];for(let e=0,t=n.length;e=r){if(s.lineNumber===i.getLineCount())continue;const e=new nc(s.lineNumber,Math.max(1,s.column-1),s.lineNumber+1,1),t=i.getValueInRange(e).split("").reverse().join("");o.push(new Qy(new ic(s.lineNumber,Math.max(1,s.column-1),s.lineNumber+1,1),t))}else{const e=new nc(s.lineNumber,Math.max(1,s.column-1),s.lineNumber,s.column+1),t=i.getValueInRange(e).split("").reverse().join("");o.push(new nS(e,t,new ic(s.lineNumber,s.column+1,s.lineNumber,s.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}),$u(class extends a6{constructor(){super({id:"editor.action.transformToUppercase",label:_(0,"Transform to Uppercase"),alias:"Transform to Uppercase",precondition:oc.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}),$u(class extends a6{constructor(){super({id:"editor.action.transformToLowercase",label:_(0,"Transform to Lowercase"),alias:"Transform to Lowercase",precondition:oc.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}),c6.caseBoundary.isSupported()&&c6.singleLetters.isSupported()&&$u(c6),h6.wordBoundary.isSupported()&&$u(h6),g6.wordBoundary.isSupported()&&$u(g6),u6.titleBoundary.isSupported()&&$u(u6),p6.isSupported()&&$u(p6);var m6=n(3293),f6={};f6.styleTagTransform=Vr(),f6.setAttributes=Or(),f6.insert=Rr().bind(null,"head"),f6.domAPI=Tr(),f6.insertStyleElement=Br(),Ir()(m6.A,f6),m6.A&&m6.A.locals&&m6.A.locals;var _6,v6=function(e,t){return function(n,i){t(n,i,e)}};const b6=new ou("LinkedEditingInputVisible",!1);let w6=_6=class extends lt{static get(e){return e.getContribution(_6.ID)}constructor(e,t,n,i,o){super(),this.languageConfigurationService=i,this._syncRangesToken=0,this._localToDispose=this._register(new rt),this._editor=e,this._providers=n.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=b6.bindTo(t),this._debounceInformation=o.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 rt),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((e=>{(e.hasChanged(70)||e.hasChanged(93))&&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(),n=null!==t&&(this._editor.getOption(70)||this._editor.getOption(93))&&this._providers.has(t);if(n===this._enabled&&!e)return;if(this._enabled=n,this.clearRanges(),this._localToDispose.clear(),!n||null===t)return;this._localToDispose.add(ft.runAndSubscribe(t.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()})));const i=new Bt(this._debounceInformation.get(t)),o=()=>{var e;this._rangeUpdateTriggerPromise=i.trigger((()=>this.updateRanges()),null!==(e=this._debounceDuration)&&void 0!==e?e:this._debounceInformation.get(t))},s=new Bt(0),r=e=>{this._rangeSyncTriggerPromise=s.trigger((()=>this._syncRanges(e)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{o()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((e=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&e.changes.every((e=>t.intersectRanges(e.range))))return void r(this._syncRangesToken)}o()}))),this._localToDispose.add({dispose:()=>{i.dispose(),s.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||0===this._currentDecorations.length)return;const t=this._editor.getModel(),n=this._currentDecorations.getRange(0);if(!n||n.startLineNumber!==n.endLineNumber)return this.clearRanges();const i=t.getValueInRange(n);if(this._currentWordPattern){const e=i.match(this._currentWordPattern);if((e?e[0].length:0)!==i.length)return this.clearRanges()}const o=[];for(let e=1,n=this._currentDecorations.length;e1)return void this.clearRanges();const n=this._editor.getModel(),i=n.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===i){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const e=this._currentDecorations.getRange(0);if(e&&e.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=i;const o=this._currentRequestCts=new Tt;try{const e=new mt(!1),s=await C6(this._providers,n,t,o.token);if(this._debounceInformation.update(n,e.elapsed()),o!==this._currentRequestCts)return;if(this._currentRequestCts=null,i!==n.getVersionId())return;let r=[];(null==s?void 0:s.ranges)&&(r=s.ranges),this._currentWordPattern=(null==s?void 0:s.wordPattern)||this._languageWordPattern;let l=!1;for(let e=0,n=r.length;e({range:e,options:_6.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(a),this._syncRangesToken++}catch(e){Ne(e)||xe(e),this._currentRequestCts!==o&&this._currentRequestCts||this.clearRanges()}}};function C6(e,t,n,i){return zt(e.ordered(t).map((e=>async()=>{try{return await e.provideLinkedEditingRanges(t,n,i)}catch(e){return void ke(e)}})),(e=>!!e&&Wc(null==e?void 0:e.ranges)))}w6.ID="editor.contrib.linkedEditing",w6.DECORATION=My.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"}),w6=_6=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([v6(1,su),v6(2,wx),v6(3,Qg),v6(4,sW)],w6),qu(new(Hu.bindToContribution(w6.get))({id:"cancelLinkedEditingInput",precondition:b6,handler:e=>e.clearRanges(),kbOpts:{kbExpr:oc.editorTextFocus,weight:199,primary:9,secondary:[1033]}})),km("editor.linkedEditingBackground",{dark:lh.fromHex("#f00").transparent(.3),light:lh.fromHex("#f00").transparent(.3),hcDark:lh.fromHex("#f00").transparent(.3),hcLight:lh.white},_(0,"Background color when the editor auto renames on type.")),ju("_executeLinkedEditingProvider",((e,t,n)=>{const{linkedEditingRangeProvider:i}=e.get(wx);return C6(i,t,n,It.None)})),Zu(w6.ID,w6,1),$u(class extends zu{constructor(){super({id:"editor.action.linkedEditing",label:_(0,"Start Linked Editing"),alias:"Start Linked Editing",precondition:Bd.and(oc.writable,oc.hasRenameProvider),kbOpts:{kbExpr:oc.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const n=e.get(ud),[i,o]=Array.isArray(t)&&t||[void 0,void 0];return Io.isUri(i)&&cd.isIPosition(o)?n.openCodeEditor({resource:i},n.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(o),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),xe):super.runCommand(e,t)}run(e,t){const n=w6.get(t);return n?Promise.resolve(n.updateRanges(!0)):Promise.resolve()}});var y6=n(1177),S6={};S6.styleTagTransform=Vr(),S6.setAttributes=Or(),S6.insert=Rr().bind(null,"head"),S6.domAPI=Tr(),S6.insertStyleElement=Br(),Ir()(y6.A,S6),y6.A&&y6.A.locals&&y6.A.locals;class x6{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:"function"==typeof this._provider.resolveLink?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 k6{constructor(e){this._disposables=new rt;let t=[];for(const[n,i]of e){const e=n.links.map((e=>new x6(e,i)));t=k6._union(t,e),nt(n)&&this._disposables.add(n)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const n=[];let i,o,s,r;for(i=0,s=0,o=e.length,r=t.length;iPromise.resolve(e.provideLinks(t,n)).then((t=>{t&&(i[o]=[t,e])}),ke)));return Promise.all(o).then((()=>{const e=new k6(Oc(i));return n.isCancellationRequested?(e.dispose(),new k6([])):e}))}Cd.registerCommand("_executeLinkProvider",(async(e,...t)=>{let[n,i]=t;fa(n instanceof Io),"number"!=typeof i&&(i=0);const{linkProvider:o}=e.get(wx),s=e.get(hd).getModel(n);if(!s)return[];const r=await L6(o,s,It.None);if(!r)return[];for(let e=0;ethis.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const s=this._register(new Zz(e));this._register(s.onMouseMoveOrRelevantKeyDown((([e,t])=>{this._onEditorMouseMove(e,t)}))),this._register(s.onExecute((e=>{this.onEditorMouseUp(e)}))),this._register(s.onCancel((e=>{this.cleanUpActiveLinkDecoration()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(e.onDidChangeModelContent((e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(e.onDidChangeModel((e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(e.onDidChangeModelLanguage((e=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((e=>{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=Pt((t=>L6(this.providers,e,t)));try{const t=new mt(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(e){xe(e)}finally{this.computePromise=null}}}updateDecorations(e){const t="altKey"===this.editor.getOption(78),n=[],i=Object.keys(this.currentOccurrences);for(const e of i){const t=this.currentOccurrences[e];n.push(t.decorationId)}const o=[];if(e)for(const n of e)o.push(T6.decoration(n,t));this.editor.changeDecorations((t=>{const i=t.deltaDecorations(n,o);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let t=0,n=i.length;t{t.activate(e,n),this.activeLinkDecorationId=t.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e="altKey"===this.editor.getOption(78);if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations((n=>{t.deactivate(n,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,n=!1){if(!this.openerService)return;const{link:i}=e;i.resolve(It.None).then((e=>{if("string"==typeof e&&this.editor.hasModel()){const t=this.editor.getModel().uri;if(t.scheme===Ho.file&&e.startsWith(`${Ho.file}:`)){const n=Io.parse(e);if(n.scheme===Ho.file){const i=Wa(n);let o=null;i.startsWith("/./")||i.startsWith("\\.\\")?o=`.${i.substr(1)}`:(i.startsWith("//./")||i.startsWith("\\\\.\\"))&&(o=`.${i.substr(2)}`),o&&(e=$a(t,o))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:n,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(e=>{const t=e instanceof Error?e.message:e;"invalid"===t?this.notificationService.warn(_(0,"Failed to open this link because it is not well-formed: {0}",i.url.toString())):"missing"===t?this.notificationService.warn(_(0,"Failed to open this link because its target is missing.")):xe(e)}))}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 e of t){const t=this.currentOccurrences[e.id];if(t)return t}return null}isEnabled(e,t){return Boolean(6===e.target.type&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&(null===(e=this.activeLinksList)||void 0===e||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};E6.ID="editor.linkDetector",E6=D6=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([N6(1,rL),N6(2,nN),N6(3,wx),N6(4,sW)],E6);const I6=My.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),M6=My.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class T6{static decoration(e,t){return{range:e.range,options:T6._getOptions(e,t,!1)}}static _getOptions(e,t,n){const i={...n?M6:I6};return i.hoverMessage=function(e,t){const n=e.url&&/^command:/i.test(e.url.toString()),i=e.tooltip?e.tooltip:_(0,n?"Execute command":"Follow link"),o=_(0,t?U?"cmd + click":"ctrl + click":U?"option + click":"alt + click");if(e.url){let t="";if(/^command:/i.test(e.url.toString())){const n=e.url.toString().match(/^command:([^?#]+)/);n&&(t=_(0,"Execute command {0}",n[1]))}return new ed("",!0).appendLink(e.url.toString(!0).replace(/ /g,"%20"),i,t).appendMarkdown(` (${o})`)}return(new ed).appendText(`${i} (${o})`)}(e,t),i}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,T6._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,T6._getOptions(this.link,t,!1))}}Zu(E6.ID,E6,1),$u(class extends zu{constructor(){super({id:"editor.action.openLink",label:_(0,"Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const n=E6.get(t);if(!n)return;if(!t.hasModel())return;const i=t.getSelections();for(const e of i){const t=n.getLinkOccurrence(e.getEndPosition());t&&n.openLinkOccurrence(t,!1)}}});class A6 extends lt{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown((e=>{const t=this._editor.getOption(117);t>=0&&6===e.target.type&&e.target.position.column>=t&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}A6.ID="editor.contrib.longLinesHelper",Zu(A6.ID,A6,2);var R6=n(9803),P6={};P6.styleTagTransform=Vr(),P6.setAttributes=Or(),P6.insert=Rr().bind(null,"head"),P6.domAPI=Tr(),P6.insertStyleElement=Br(),Ir()(R6.A,P6),R6.A&&R6.A.locals&&R6.A.locals;const O6=km("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},_(0,"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);km("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},_(0,"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),km("editor.wordHighlightTextBackground",{light:O6,dark:O6,hcDark:O6,hcLight:O6},_(0,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const F6=km("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of a symbol during read-access, like reading a variable."));km("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Wm,hcLight:Wm},_(0,"Border color of a symbol during write-access, like writing to a variable.")),km("editor.wordHighlightTextBorder",{light:F6,dark:F6,hcDark:F6,hcLight:F6},_(0,"Border color of a textual occurrence for a symbol."));const B6=km("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},_(0,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),W6=km("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},_(0,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),V6=km("editorOverviewRuler.wordHighlightTextForeground",{dark:$f,light:$f,hcDark:$f,hcLight:$f},_(0,"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),H6=My.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Av(W6),position:bc.Center},minimap:{color:Av(Qf),position:1}}),z6=My.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Av(V6),position:bc.Center},minimap:{color:Av(Qf),position:1}}),U6=My.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Av($f),position:bc.Center},minimap:{color:Av(Qf),position:1}}),K6=My.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),j6=My.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Av(B6),position:bc.Center},minimap:{color:Av(Qf),position:1}});function q6(e){return e?K6:U6}Fv(((e,t)=>{const n=e.getColor(hf);n&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${n.transparent(.5)}; }`)}));var $6;function G6(e,t){const n=t.filter((t=>!e.find((e=>e.equals(t)))));if(n.length>=1){const e=n.map((e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`)).join(", ");Yr(1===n.length?_(0,"Cursor added: {0}",e):_(0,"Cursors added: {0}",e))}}class Z6{constructor(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}}class Y6{static create(e,t){if(!e.hasModel())return null;const n=t.getState();if(!e.hasTextFocus()&&n.isRevealed&&n.searchString.length>0)return new Y6(e,t,!1,n.searchString,n.wholeWord,n.matchCase,null);let i,o,s=!1;const r=e.getSelections();1===r.length&&r[0].isEmpty()?(s=!0,i=!0,o=!0):(i=n.wholeWord,o=n.matchCase);const l=e.getSelection();let a,d=null;if(l.isEmpty()){const t=e.getConfiguredWordAtPosition(l.getStartPosition());if(!t)return null;a=t.word,d=new ic(l.startLineNumber,t.startColumn,l.startLineNumber,t.endColumn)}else a=e.getModel().getValueInRange(l).replace(/\r\n/g,"\n");return new Y6(e,t,s,a,i,o,d)}constructor(e,t,n,i,o,s,r){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=o,this.matchCase=s,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new Z6(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 Z6(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return n?new ic(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.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 Z6(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 Z6(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return n?new ic(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.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(131):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824)}}class X6 extends lt{static get(e){return e.getContribution(X6.ID)}constructor(e){super(),this._sessionDispose=this._register(new rt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Y6.create(this._editor,e);if(!t)return;this._session=t;const n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((e=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(e.getState().onFindReplaceStateChange((e=>{(e.matchCase||e.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 n=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return n?new ic(t.startLineNumber,n.startColumn,t.startLineNumber,n.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(!t9(this._editor.getModel(),t,n)){const e=this._editor.getModel(),n=[];for(let i=0,o=t.length;i0&&n.isRegex){const e=this._editor.getModel();t=n.searchScope?e.findMatches(n.searchString,n.searchScope,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(131):null,!1,1073741824):e.findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(131):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(n.searchScope)}if(t.length>0){const e=this._editor.getSelection();for(let n=0,i=t.length;nnew ic(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn))))}}}X6.ID="editor.contrib.multiCursorController";class Q6 extends zu{run(e,t){const n=X6.get(t);if(!n)return;const i=t._getViewModel();if(i){const o=i.getCursorStates(),s=q2.get(t);if(s)this._run(n,s);else{const i=e.get(ad).createInstance(q2,t);this._run(n,i),i.dispose()}G6(o,i.getCursorStates())}}}class J6{constructor(e,t,n,i,o){this._model=e,this._searchText=t,this._matchCase=n,this._wordSeparators=i,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,o&&this._model===o._model&&this._searchText===o._searchText&&this._matchCase===o._matchCase&&this._wordSeparators===o._wordSeparators&&this._modelVersionId===o._modelVersionId&&(this._cachedFindMatches=o._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((e=>e.range)),this._cachedFindMatches.sort(nc.compareRangesUsingStarts)),this._cachedFindMatches}}let e9=$6=class extends lt{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(108),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new jt((()=>this._update()),300)),this.state=null,this._register(e.onDidChangeConfiguration((t=>{this._isEnabled=e.getOption(108)}))),this._register(e.onDidChangeCursorSelection((e=>{this._isEnabled&&(e.selection.isEmpty()?3===e.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(e.onDidChangeModel((e=>{this._setState(null)}))),this._register(e.onDidChangeModelContent((e=>{this._isEnabled&&this.updateSoon.schedule()})));const n=q2.get(e);n&&this._register(n.getState().onFindReplaceStateChange((e=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState($6._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,n){if(!t)return null;if(!n.hasModel())return null;const i=n.getSelection();if(i.startLineNumber!==i.endLineNumber)return null;const o=X6.get(n);if(!o)return null;const s=q2.get(n);if(!s)return null;let r=o.getSession(s);if(!r){const e=n.getSelections();if(e.length>1){const t=s.getState().matchCase;if(!t9(n.getModel(),e,t))return null}r=Y6.create(n,s)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const l=s.getState(),a=l.matchCase;if(l.isRevealed){let e=l.searchString;a||(e=e.toLowerCase());let t=r.searchText;if(a||(t=t.toLowerCase()),e===t&&r.matchCase===l.matchCase&&r.wholeWord===l.wholeWord&&!l.isRegex)return null}return new J6(n.getModel(),r.searchText,r.matchCase,r.wholeWord?n.getOption(131):null,e)}_setState(e){if(this.state=e,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const n=this.state.findMatches(),i=this.editor.getSelections();i.sort(nc.compareRangesUsingStarts);const o=[];for(let e=0,t=0,s=n.length,r=i.length;e=r)o.push(s),e++;else{const n=nc.compareRangesUsingStarts(s,i[t]);n<0?(!i[t].isEmpty()&&nc.areIntersecting(s,i[t])||o.push(s),e++):(n>0||e++,t++)}}const s="off"!==this.editor.getOption(81),r=this._languageFeaturesService.documentHighlightProvider.has(t)&&s,l=o.map((e=>({range:e,options:q6(r)})));this._decorations.set(l)}dispose(){this._setState(null),super.dispose()}};function t9(e,t,n){const i=n9(e,t[0],!n);for(let o=1,s=t.length;o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,wx)],e9),Zu(X6.ID,X6,4),Zu(e9.ID,e9,1),$u(class extends zu{constructor(){super({id:"editor.action.insertCursorAbove",label:_(0,"Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"&&Add Cursor Above"),order:2}})}run(e,t,n){if(!t.hasModel())return;let i=!0;n&&!1===n.logicalLine&&(i=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(n.source,3,uS.addCursorUp(o,s,i)),o.revealTopMostCursor(n.source),G6(s,o.getCursorStates())}}),$u(class extends zu{constructor(){super({id:"editor.action.insertCursorBelow",label:_(0,"Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"A&&dd Cursor Below"),order:3}})}run(e,t,n){if(!t.hasModel())return;let i=!0;n&&!1===n.logicalLine&&(i=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(n.source,3,uS.addCursorDown(o,s,i)),o.revealBottomMostCursor(n.source),G6(s,o.getCursorStates())}}),$u(class extends zu{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:_(0,"Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:oc.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,n){if(!e.isEmpty()){for(let i=e.startLineNumber;i1&&n.push(new ic(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const n=t.getModel(),i=t.getSelections(),o=t._getViewModel(),s=o.getCursorStates(),r=[];i.forEach((e=>this.getCursorsForSelection(e,n,r))),r.length>0&&t.setSelections(r),G6(s,o.getCursorStates())}}),$u(class extends Q6{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:_(0,"Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:2082,weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:_(0,"Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:_(0,"Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:ye(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:_(0,"Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.selectHighlights",label:_(0,"Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:3114,weight:100},menuOpts:{menuId:Su.MenubarSelectionMenu,group:"3_multi",title:_(0,"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}),$u(class extends Q6{constructor(){super({id:"editor.action.changeAll",label:_(0,"Change All Occurrences"),alias:"Change All Occurrences",precondition:Bd.and(oc.writable,oc.editorTextFocus),kbOpts:{kbExpr:oc.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}),$u(class extends zu{constructor(){super({id:"editor.action.addCursorsToBottom",label:_(0,"Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const n=t.getSelections(),i=t.getModel().getLineCount(),o=[];for(let e=n[0].startLineNumber;e<=i;e++)o.push(new ic(e,n[0].startColumn,e,n[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();o.length>0&&t.setSelections(o),G6(r,s.getCursorStates())}}),$u(class extends zu{constructor(){super({id:"editor.action.addCursorsToTop",label:_(0,"Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const n=t.getSelections(),i=[];for(let e=n[0].startLineNumber;e>=1;e--)i.push(new ic(e,n[0].startColumn,e,n[0].endColumn));const o=t._getViewModel(),s=o.getCursorStates();i.length>0&&t.setSelections(i),G6(s,o.getCursorStates())}}),$u(class extends zu{constructor(){super({id:"editor.action.focusNextCursor",label:_(0,"Focus Next Cursor"),metadata:{description:_(0,"Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,n){if(!t.hasModel())return;const i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();const o=Array.from(i.getCursorStates()),s=o.shift();s&&(o.push(s),i.setCursorStates(n.source,3,o),i.revealPrimaryCursor(n.source,!0),G6(o,i.getCursorStates()))}}),$u(class extends zu{constructor(){super({id:"editor.action.focusPreviousCursor",label:_(0,"Focus Previous Cursor"),metadata:{description:_(0,"Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,n){if(!t.hasModel())return;const i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();const o=Array.from(i.getCursorStates()),s=o.pop();s&&(o.unshift(s),i.setCursorStates(n.source,3,o),i.revealPrimaryCursor(n.source,!0),G6(o,i.getCursorStates()))}});const i9={Visible:new ou("parameterHintsVisible",!1),MultipleSignatures:new ou("parameterHintsMultipleSignatures",!1)};async function o9(e,t,n,i,o){const s=e.ordered(t);for(const e of s)try{const s=await e.provideSignatureHelp(t,n,o,i);if(s)return s}catch(e){ke(e)}}var s9;Cd.registerCommand("_executeSignatureHelpProvider",(async(e,...t)=>{const[n,i,o]=t;fa(Io.isUri(n)),fa(cd.isIPosition(i)),fa("string"==typeof o||!o);const s=e.get(wx),r=await e.get(gd).createModelReference(n);try{const e=await o9(s.signatureHelpProvider,r.object.textEditorModel,cd.lift(i),{triggerKind:wC.Invoke,isRetrigger:!1,triggerCharacter:o},It.None);if(!e)return;return setTimeout((()=>e.dispose()),0),e.value}finally{r.dispose()}})),function(e){e.Default={type:0},e.Pending=class{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}},e.Active=class{constructor(e){this.hints=e,this.type=1}}}(s9||(s9={}));class r9 extends lt{constructor(e,t,n=r9.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Ct),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=s9.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new at),this.triggerChars=new jw,this.retriggerChars=new jw,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Bt(n),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((e=>this.onCursorChange(e)))),this._register(this.editor.onDidChangeModelContent((e=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((e=>this.onDidType(e)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){2===this._state.type&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=s9.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const n=this.editor.getModel();if(!n||!this.providers.has(n))return;const i=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger((()=>this.doTrigger(i)),t).catch(xe)}next(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t%e==e-1,i=this.editor.getOption(86).cycle;!(e<2||n)||i?this.updateActiveSignature(n&&i?0:t+1):this.cancel()}previous(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=0===t,i=this.editor.getOption(86).cycle;!(e<2||n)||i?this.updateActiveSignature(n&&i?e-1:t-1):this.cancel()}updateActiveSignature(e){1===this.state.type&&(this.state=new s9.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=1===this.state.type||2===this.state.type,n=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const i=this._pendingTriggers.reduce(l9);this._pendingTriggers=[];const o={triggerKind:i.triggerKind,triggerCharacter:i.triggerCharacter,isRetrigger:t,activeSignatureHelp:n};if(!this.editor.hasModel())return!1;const s=this.editor.getModel(),r=this.editor.getPosition();this.state=new s9.Pending(Pt((e=>o9(this.providers,s,r,o,e))),n);try{const t=await this.state.request;return e!==this.triggerId?(null==t||t.dispose(),!1):t&&t.value.signatures&&0!==t.value.signatures.length?(this.state=new s9.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(null==t||t.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(t){return e===this.triggerId&&(this.state=s9.Default),xe(t),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||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 e of t.signatureHelpTriggerCharacters||[])if(e.length){const t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(const e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,n=e.charCodeAt(t);(this.triggerChars.has(n)||this.isTriggered&&this.retriggerChars.has(n))&&this.trigger({triggerKind:wC.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){"mouse"===e.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:wC.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:wC.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function l9(e,t){switch(t.triggerKind){case wC.Invoke:return t;case wC.ContentChange:return e;case wC.TriggerCharacter:default:return t}}r9.DEFAULT_DELAY=120;var a9=n(991),d9={};d9.styleTagTransform=Vr(),d9.setAttributes=Or(),d9.insert=Rr().bind(null,"head"),d9.domAPI=Tr(),d9.insertStyleElement=Br(),Ir()(a9.A,d9),a9.A&&a9.A.locals&&a9.A.locals;var u9,c9=function(e,t){return function(n,i){t(n,i,e)}};const h9=mr,g9=fz("parameter-hints-next",Sa.chevronDown,_(0,"Icon for show next parameter hint.")),p9=fz("parameter-hints-previous",Sa.chevronUp,_(0,"Icon for show previous parameter hint."));let m9=u9=class extends lt{constructor(e,t,n,i,o){super(),this.editor=e,this.model=t,this.renderDisposeables=this._register(new rt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new dL({editor:e},o,i)),this.keyVisible=i9.Visible.bindTo(n),this.keyMultipleSignatures=i9.MultipleSignatures.bindTo(n)}createParameterHintDOMNodes(){const e=h9(".editor-widget.parameter-hints-widget"),t=dr(e,h9(".phwrapper"));t.tabIndex=-1;const n=dr(t,h9(".controls")),i=dr(n,h9(".button"+ka.asCSSSelector(p9))),o=dr(n,h9(".overloads")),s=dr(n,h9(".button"+ka.asCSSSelector(g9)));this._register(ms(i,"click",(e=>{rr(e),this.previous()}))),this._register(ms(s,"click",(e=>{rr(e),this.next()})));const r=h9(".body"),l=new cE(r,{alwaysConsumeMouseWheel:!0});this._register(l),t.appendChild(l.getDomNode());const a=dr(r,h9(".signature")),d=dr(r,h9(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:a,overloads:o,docs:d,scrollbar:l},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((e=>{this.visible&&this.editor.layoutContentWidget(this)})));const u=()=>{if(!this.domNodes)return;const e=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${e.fontSize}px`,this.domNodes.element.style.lineHeight=""+e.lineHeight/e.fontSize};u(),this._register(ft.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(e=>e.filter((e=>e.hasChanged(50)))))(u)),this._register(this.editor.onDidLayoutChange((e=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{var e;null===(e=this.domNodes)||void 0===e||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,null===(e=this.domNodes)||void 0===e||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const n=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",n),this.keyMultipleSignatures.set(n),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const o=dr(this.domNodes.signature,h9(".code")),s=this.editor.getOption(50);o.style.fontSize=`${s.fontSize}px`,o.style.fontFamily=s.fontFamily;const r=i.parameters.length>0,l=null!==(t=i.activeParameter)&&void 0!==t?t:e.activeParameter;r?this.renderParameters(o,i,l):dr(o,h9("span")).textContent=i.label;const a=i.parameters[l];if(null==a?void 0:a.documentation){const e=h9("span.documentation");if("string"==typeof a.documentation)e.textContent=a.documentation;else{const t=this.renderMarkdownDocs(a.documentation);e.appendChild(t.element)}dr(this.domNodes.docs,h9("p",{},e))}if(void 0===i.documentation);else if("string"==typeof i.documentation)dr(this.domNodes.docs,h9("p",{},i.documentation));else{const e=this.renderMarkdownDocs(i.documentation);dr(this.domNodes.docs,e.element)}const d=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let e="";const t=i.parameters[l];e=Array.isArray(t.label)?i.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+="string"==typeof t.documentation?`, ${t.documentation}`:`, ${t.documentation.value}`),i.documentation&&(e+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==e&&(Zr(_(0,"{0}, hint",e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var e;null===(e=this.domNodes)||void 0===e||e.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&"string"==typeof t.documentation&&_a(t.documentation).length>0||t&&"object"==typeof t.documentation&&_a(t.documentation).value.length>0||e.documentation&&"string"==typeof e.documentation&&_a(e.documentation).length>0||e.documentation&&"object"==typeof e.documentation&&_a(e.documentation.value).length>0)}renderParameters(e,t,n){const[i,o]=this.getParameterLabelOffsets(t,n),s=document.createElement("span");s.textContent=t.label.substring(0,i);const r=document.createElement("span");r.textContent=t.label.substring(i,o),r.className="parameter active";const l=document.createElement("span");l.textContent=t.label.substring(o),dr(e,s,r,l)}getParameterLabelOffsets(e,t){const n=e.parameters[t];if(n){if(Array.isArray(n.label))return n.label;if(n.label.length){const t=new RegExp(`(\\W|^)${ri(n.label)}(?=\\W|$)`,"g");t.test(e.label);const i=t.lastIndex-n.label.length;return i>=0?[i,t.lastIndex]:[0,0]}return[0,0]}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 u9.ID}updateMaxHeight(){if(!this.domNodes)return;const e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;const t=this.domNodes.element.getElementsByClassName("phwrapper");t.length&&(t[0].style.maxHeight=e)}};m9.ID="editor.widget.parameterHintsWidget",m9=u9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([c9(2,su),c9(3,rL),c9(4,Sh)],m9),km("editorHoverWidget.highlightForeground",{dark:tv,light:tv,hcDark:tv,hcLight:tv},_(0,"Foreground color of the active item in the parameter hint."));var f9,_9=function(e,t){return function(n,i){t(n,i,e)}};let v9=f9=class extends lt{static get(e){return e.getContribution(f9.ID)}constructor(e,t,n){super(),this.editor=e,this.model=this._register(new r9(e,n.signatureHelpProvider)),this._register(this.model.onChangedHints((e=>{var t;e?(this.widget.value.show(),this.widget.value.render(e)):null===(t=this.widget.rawValue)||void 0===t||t.hide()}))),this.widget=new ei((()=>this._register(t.createInstance(m9,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var e;null===(e=this.widget.rawValue)||void 0===e||e.previous()}next(){var e;null===(e=this.widget.rawValue)||void 0===e||e.next()}trigger(e){this.model.trigger(e,0)}};v9.ID="editor.controller.parameterHints",v9=f9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([_9(1,ad),_9(2,wx)],v9),Zu(v9.ID,v9,2),$u(class extends zu{constructor(){super({id:"editor.action.triggerParameterHints",label:_(0,"Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:oc.hasSignatureHelpProvider,kbOpts:{kbExpr:oc.editorTextFocus,primary:3082,weight:100}})}run(e,t){const n=v9.get(t);null==n||n.trigger({triggerKind:wC.Invoke})}});const b9=Hu.bindToContribution(v9.get);function w9(e,t){return t&&(e.stack||e.stacktrace)?_(0,"{0}: {1}",y9(e),C9(e.stack)||C9(e.stacktrace)):y9(e)}function C9(e){return Array.isArray(e)?e.join("\n"):e}function y9(e){return"ERR_UNC_HOST_NOT_ALLOWED"===e.code?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof e.code&&"number"==typeof e.errno&&"string"==typeof e.syscall?_(0,"A system error occurred ({0})",e.message):e.message||_(0,"An unknown error occurred. Please consult the log for more details.")}function S9(e=null,t=!1){if(!e)return _(0,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(e)){const n=Oc(e),i=S9(n[0],t);return n.length>1?_(0,"{0} ({1} errors in total)",i,n.length):i}if(la(e))return e;if(e.detail){const n=e.detail;if(n.error)return w9(n.error,t);if(n.exception)return w9(n.exception,t)}return e.stack?w9(e,t):e.message?e.message:_(0,"An unknown error occurred. Please consult the log for more details.")}qu(new b9({id:"closeParameterHints",precondition:i9.Visible,handler:e=>e.cancel(),kbOpts:{weight:175,kbExpr:oc.focus,primary:9,secondary:[1033]}})),qu(new b9({id:"showPrevParameterHint",precondition:Bd.and(i9.Visible,i9.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:175,kbExpr:oc.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),qu(new b9({id:"showNextParameterHint",precondition:Bd.and(i9.Visible,i9.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:175,kbExpr:oc.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));class x9{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const n=this.computeEmbedding(e),i=new Map,o=[];for(const[e,s]of this.documents){if(t.isCancellationRequested)return[];for(const t of s.chunks){const s=this.computeSimilarityScore(t,n,i);s>0&&o.push({key:e,score:s})}}return o}static termFrequencies(e){return function(e){var t;const n=new Map;for(const i of e)n.set(i,(null!==(t=n.get(i))&&void 0!==t?t:0)+1);return n}(x9.splitTerms(e))}static*splitTerms(e){const t=e=>e.toLowerCase();for(const[n]of e.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield t(n);const e=n.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(e.length>1)for(const n of e)n.length>2&&/\p{Letter}{3,}/gu.test(n)&&(yield t(n))}}updateDocuments(e){var t;for(const{key:t}of e)this.deleteDocument(t);for(const n of e){const e=[];for(const i of n.textChunks){const n=x9.termFrequencies(i);for(const e of n.keys())this.chunkOccurrences.set(e,(null!==(t=this.chunkOccurrences.get(e))&&void 0!==t?t:0)+1);e.push({text:i,tf:n})}this.chunkCount+=e.length,this.documents.set(n.key,{chunks:e})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const e of t.chunks)for(const t of e.tf.keys()){const e=this.chunkOccurrences.get(t);if("number"==typeof e){const n=e-1;n<=0?this.chunkOccurrences.delete(t):this.chunkOccurrences.set(t,n)}}}}computeSimilarityScore(e,t,n){let i=0;for(const[o,s]of Object.entries(t)){const t=e.tf.get(o);if(!t)continue;let r=n.get(o);"number"!=typeof r&&(r=this.computeIdf(o),n.set(o,r)),i+=t*r*s}return i}computeEmbedding(e){const t=x9.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){var t;const n=null!==(t=this.chunkOccurrences.get(e))&&void 0!==t?t:0;return n>0?Math.log((this.chunkCount+1)/n):0}computeTfidf(e){const t=Object.create(null);for(const[n,i]of e){const e=this.computeIdf(n);e>0&&(t[n]=i*e)}return t}}const k9=dd("dialogService");var L9;function D9(e){const t=e;return Array.isArray(t.items)}function N9(e){const t=e;return!!t.picks&&t.additionalPicks instanceof Promise}!function(e){e[e.NO_ACTION=0]="NO_ACTION",e[e.CLOSE_PICKER=1]="CLOSE_PICKER",e[e.REFRESH_PICKER=2]="REFRESH_PICKER",e[e.REMOVE_ITEM=3]="REMOVE_ITEM"}(L9||(L9={}));class E9 extends lt{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,n){var i;const o=new rt;let s;e.canAcceptInBackground=!!(null===(i=this.options)||void 0===i?void 0:i.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const r=o.add(new at),l=async()=>{var i;const o=r.value=new rt;null==s||s.dispose(!0),e.busy=!1,s=new Tt(t);const l=s.token;let a=e.value.substring(this.prefix.length);(null===(i=this.options)||void 0===i?void 0:i.shouldSkipTrimPickFilter)||(a=a.trim());const d=this._getPicks(a,o,l,n),u=(t,n)=>{var i;let o,s;if(D9(t)?(o=t.items,s=t.active):o=t,0===o.length){if(n)return!1;(a.length>0||e.hideInput)&&(null===(i=this.options)||void 0===i?void 0:i.noResultsPick)&&(o=va(this.options.noResultsPick)?[this.options.noResultsPick(a)]:[this.options.noResultsPick])}return e.items=o,s&&(e.activeItems=[s]),!0},c=async t=>{let n=!1,i=!1;await Promise.all([(async()=>{"number"==typeof t.mergeDelay&&(await Vt(t.mergeDelay),l.isCancellationRequested)||i||(n=u(t.picks,!0))})(),(async()=>{e.busy=!0;try{const i=await t.additionalPicks;if(l.isCancellationRequested)return;let o,s,r,a;if(D9(t.picks)?(o=t.picks.items,s=t.picks.active):o=t.picks,D9(i)?(r=i.items,a=i.active):r=i,r.length>0||!n){let t;if(!s&&!a){const n=e.activeItems[0];n&&-1!==o.indexOf(n)&&(t=n)}u({items:[...o,...r],active:s||a||t})}}finally{l.isCancellationRequested||(e.busy=!1),i=!0}})()])};if(null===d);else if(N9(d))await c(d);else if(d instanceof Promise){e.busy=!0;try{const e=await d;if(l.isCancellationRequested)return;N9(e)?await c(e):u(e)}finally{l.isCancellationRequested||(e.busy=!1)}}else u(d)};o.add(e.onDidChangeValue((()=>l()))),l(),o.add(e.onDidAccept((t=>{const[n]=e.selectedItems;"function"==typeof(null==n?void 0:n.accept)&&(t.inBackground||e.hide(),n.accept(e.keyMods,t))})));const a=async(n,i)=>{var o,s;if("function"!=typeof i.trigger)return;const r=null!==(s=null===(o=i.buttons)||void 0===o?void 0:o.indexOf(n))&&void 0!==s?s:-1;if(r>=0){const n=i.trigger(r,e.keyMods),o="number"==typeof n?n:await n;if(t.isCancellationRequested)return;switch(o){case L9.NO_ACTION:break;case L9.CLOSE_PICKER:e.hide();break;case L9.REFRESH_PICKER:l();break;case L9.REMOVE_ITEM:{const t=e.items.indexOf(i);if(-1!==t){const n=e.items.slice(),i=n.splice(t,1),o=e.activeItems.filter((e=>e!==i[0])),s=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=n,o&&(e.activeItems=o),e.keepScrollPosition=s}break}}}};return o.add(e.onDidTriggerItemButton((({button:e,item:t})=>a(e,t)))),o.add(e.onDidTriggerSeparatorButton((({button:e,separator:t})=>a(e,t)))),o}}var I9,M9,T9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},A9=function(e,t){return function(n,i){t(n,i,e)}};let R9=I9=class extends E9{constructor(e,t,n,i,o,s){super(I9.PREFIX,e),this.instantiationService=t,this.keybindingService=n,this.commandService=i,this.telemetryService=o,this.dialogService=s,this.commandsHistory=this._register(this.instantiationService.createInstance(P9)),this.options=e}async _getPicks(e,t,n,i){var o,s,r,l;const a=await this.getCommandPicks(n);if(n.isCancellationRequested)return[];const d=Ze((()=>{const t=new x9;return t.updateDocuments(a.map((e=>({key:e.commandId,textChunks:[this.getTfIdfChunk(e)]})))),function(e){var t,n;const i=e.slice(0);i.sort(((e,t)=>t.score-e.score));const o=null!==(n=null===(t=i[0])||void 0===t?void 0:t.score)&&void 0!==n?n:0;if(o>0)for(const e of i)e.score/=o;return i}(t.calculateScores(e,n)).filter((e=>e.score>I9.TFIDF_THRESHOLD)).slice(0,I9.TFIDF_MAX_RESULTS)})),u=[];for(const t of a){const i=null!==(o=I9.WORD_FILTER(e,t.label))&&void 0!==o?o:void 0,r=t.commandAlias&&null!==(s=I9.WORD_FILTER(e,t.commandAlias))&&void 0!==s?s:void 0;if(i||r)t.highlights={label:i,detail:this.options.showAlias?r:void 0},u.push(t);else if(e===t.commandId)u.push(t);else if(e.length>=3){const e=d();if(n.isCancellationRequested)return[];const i=e.find((e=>e.key===t.commandId));i&&(t.tfIdfScore=i.score,u.push(t))}}const c=new Map;for(const e of u){const t=c.get(e.label);t?(e.description=e.commandId,t.description=t.commandId):c.set(e.label,e)}u.sort(((e,t)=>{if(e.tfIdfScore&&t.tfIdfScore)return e.tfIdfScore===t.tfIdfScore?e.label.localeCompare(t.label):t.tfIdfScore-e.tfIdfScore;if(e.tfIdfScore)return 1;if(t.tfIdfScore)return-1;const n=this.commandsHistory.peek(e.commandId),i=this.commandsHistory.peek(t.commandId);if(n&&i)return n>i?-1:1;if(n)return-1;if(i)return 1;if(this.options.suggestedCommandIds){const n=this.options.suggestedCommandIds.has(e.commandId),i=this.options.suggestedCommandIds.has(t.commandId);if(n&&i)return 0;if(n)return-1;if(i)return 1}return e.label.localeCompare(t.label)}));const h=[];let g=!1,p=!0,m=!!this.options.suggestedCommandIds;for(let e=0;e{var t;const o=await this.getAdditionalCommandPicks(a,u,e,n);if(n.isCancellationRequested)return[];const s=o.map((e=>this.toCommandPick(e,i)));return p&&"separator"!==(null===(t=s[0])||void 0===t?void 0:t.type)&&s.unshift({type:"separator",label:_(0,"similar commands")}),s})()}:h}toCommandPick(e,t){if("separator"===e.type)return e;const n=this.keybindingService.lookupKeybinding(e.commandId),i=n?_(0,"{0}, {1}",e.label,n.getAriaLabel()):e.label;return{...e,ariaLabel:i,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:n,accept:async()=>{var n,i;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:null!==(n=null==t?void 0:t.from)&&void 0!==n?n:"quick open"});try{(null===(i=e.args)||void 0===i?void 0:i.length)?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(t){Ne(t)||this.dialogService.error(_(0,"Command '{0}' resulted in an error",e.label),S9(t))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:n}){let i=e;return t&&t!==e&&(i+=` - ${t}`),n&&n.value!==e&&(i+=` - ${n.value===n.original?n.value:`${n.value} (${n.original})`}`),i}};R9.PREFIX=">",R9.TFIDF_THRESHOLD=.5,R9.TFIDF_MAX_RESULTS=5,R9.WORD_FILTER=gl(pl,(function(e,t,n=!1){if(!t||0===t.length)return null;let i=null,o=0;for(e=e.toLowerCase(),t=t.toLowerCase();othis.updateConfiguration(e)))),this._register(this.storageService.onWillSaveState((e=>{e.reason===jB.SHUTDOWN&&this.saveState()})))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=M9.getConfiguredCommandHistoryLength(this.configurationService),M9.cache&&M9.cache.limit!==this.configuredCommandsHistoryLength&&(M9.cache.limit=this.configuredCommandsHistoryLength,M9.hasChanges=!0))}load(){const e=this.storageService.get(M9.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(e){this.logService.error(`[CommandsHistory] invalid data: ${e}`)}const n=M9.cache=new il(this.configuredCommandsHistoryLength,1);if(t){let e;e=t.usesLRU?t.entries:t.entries.sort(((e,t)=>e.value-t.value)),e.forEach((e=>n.set(e.key,e.value)))}M9.counter=this.storageService.getNumber(M9.PREF_KEY_COUNTER,0,M9.counter)}push(e){M9.cache&&(M9.cache.set(e,M9.counter++),M9.hasChanges=!0)}peek(e){var t;return null===(t=M9.cache)||void 0===t?void 0:t.peek(e)}saveState(){if(!M9.cache)return;if(!M9.hasChanges)return;const e={usesLRU:!0,entries:[]};M9.cache.forEach(((t,n)=>e.entries.push({key:n,value:t}))),this.storageService.store(M9.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(M9.PREF_KEY_COUNTER,M9.counter,0,0),M9.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var t,n;const i=null===(n=null===(t=e.getValue().workbench)||void 0===t?void 0:t.commandPalette)||void 0===n?void 0:n.history;return"number"==typeof i?i:M9.DEFAULT_COMMANDS_HISTORY_LENGTH}};P9.DEFAULT_COMMANDS_HISTORY_LENGTH=50,P9.PREF_KEY_CACHE="commandPalette.mru.cache",P9.PREF_KEY_COUNTER="commandPalette.mru.counter",P9.counter=1,P9.hasChanges=!1,P9=M9=T9([A9(0,KB),A9(1,pg),A9(2,Tu)],P9);class O9 extends R9{constructor(e,t,n,i,o,s){super(e,t,n,i,o,s)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions())t.push({commandId:n.id,commandAlias:n.alias,label:Ia(n.label)||n.id});return t}}var F9=function(e,t){return function(n,i){t(n,i,e)}};let B9=class extends O9{get activeTextEditorControl(){var e;return null!==(e=this.codeEditorService.getFocusedCodeEditor())&&void 0!==e?e:void 0}constructor(e,t,n,i,o,s){super({showAlias:!1},e,n,i,o,s),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};B9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([F9(0,ad),F9(1,ud),F9(2,zL),F9(3,wd),F9(4,Mu),F9(5,k9)],B9);class W9 extends zu{constructor(){super({id:W9.ID,label:r0.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:oc.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(SL).quickAccess.show(B9.PREFIX)}}W9.ID="editor.action.quickCommand",$u(W9),fu.as(n0).registerQuickAccessProvider({ctor:B9,prefix:B9.PREFIX,helpEntries:[{description:r0.quickCommandHelp,commandId:W9.ID}]});var V9,H9=function(e,t){return function(n,i){t(n,i,e)}};let z9=V9=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=fu.as(n0)}provide(e){const t=new rt;return t.add(e.onDidAccept((()=>{const[t]=e.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})}))),t.add(e.onDidChangeValue((e=>{const t=this.registry.getQuickAccessProvider(e.substr(V9.PREFIX.length));t&&t.prefix&&t.prefix!==V9.PREFIX&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})}))),e.items=this.getQuickAccessProviders().filter((e=>e.prefix!==V9.PREFIX)),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((e,t)=>e.prefix.localeCompare(t.prefix))).flatMap((e=>this.createPicks(e)))}createPicks(e){return e.helpEntries.map((t=>{const n=t.prefix||e.prefix,i=n||"…";return{prefix:n,label:i,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:_(0,"{0}, {1}",i,t.description),description:t.description}}))}};z9.PREFIX="?",z9=V9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([H9(0,SL),H9(1,zL)],z9),fu.as(n0).registerQuickAccessProvider({ctor:z9,prefix:"",helpEntries:[{description:s0.helpQuickAccessActionLabel}]});const U9=[void 0,[]];function K9(e,t,n=0,i=0){const o=t;return o.values&&o.values.length>1?function(e,t,n,i){let o=0;const s=[];for(const r of t){const[t,l]=j9(e,r,n,i);if("number"!=typeof t)return U9;o+=t,s.push(...l)}return[o,q9(s)]}(e,o.values,n,i):j9(e,t,n,i)}function j9(e,t,n,i){const o=ia(t.original,t.originalLowercase,n,e,e.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return o?[o[0],Hl(o)]:U9}function q9(e){const t=e.sort(((e,t)=>e.start-t.start)),n=[];let i;for(const e of t)!i||(s=e,(o=i).end=0,r=$9(e);let l;const a=e.split(G9);if(a.length>1)for(const e of a){const t=$9(e),{pathNormalized:n,normalized:i,normalizedLowercase:o}=Y9(e);i&&(l||(l=[]),l.push({original:e,originalLowercase:e.toLowerCase(),pathNormalized:n,normalized:i,normalizedLowercase:o,expectContiguousMatch:t}))}return{original:e,originalLowercase:t,pathNormalized:n,normalized:i,normalizedLowercase:o,values:l,containsPathSeparator:s,expectContiguousMatch:r}}function Y9(e){let t;t=z?e.replace(/\//g,So):e.replace(/\\/g,So);const n=(i=t,i.replace(/\*/g,"")).replace(/\s|"/g,"");var i;return{pathNormalized:t,normalized:n,normalizedLowercase:n.toLowerCase()}}function X9(e){return Array.isArray(e)?Z9(e.map((e=>e.original)).join(G9)):Z9(e.original)}var Q9,J9=function(e,t){return function(n,i){t(n,i,e)}};let e8=Q9=class extends J3{constructor(e,t,n=Object.create(null)){super(n),this._languageFeaturesService=e,this._outlineModelService=t,this.options=n,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,_(0,"To go to a symbol, first open a text editor with symbol information.")),lt.None}provideWithTextEditor(e,t,n){const i=e.editor,o=this.getModel(i);return o?this._languageFeaturesService.documentSymbolProvider.has(o)?this.doProvideWithEditorSymbols(e,o,t,n):this.doProvideWithoutEditorSymbols(e,o,t,n):lt.None}doProvideWithoutEditorSymbols(e,t,n,i){const o=new rt;return this.provideLabelPick(n,_(0,"The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(t,o)&&!i.isCancellationRequested&&o.add(this.doProvideWithEditorSymbols(e,t,n,i))})(),o}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 n=new Yt,i=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(i.dispose(),n.complete(!0))})));return t.add(st((()=>n.complete(!1)))),n.p}doProvideWithEditorSymbols(e,t,n,i){var o;const s=e.editor,r=new rt;r.add(n.onDidAccept((t=>{const[i]=n.selectedItems;i&&i.range&&(this.gotoLocation(e,{range:i.range.selection,keyMods:n.keyMods,preserveFocus:t.inBackground}),t.inBackground||n.hide())}))),r.add(n.onDidTriggerItemButton((({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:n.keyMods,forceSideBySide:!0}),n.hide())})));const l=this.getDocumentSymbols(t,i);let a;const d=async e=>{null==a||a.dispose(!0),n.busy=!1,a=new Tt(i),n.busy=!0;try{const t=Z9(n.value.substr(Q9.PREFIX.length).trim()),o=await this.doGetSymbolPicks(l,t,void 0,a.token);if(i.isCancellationRequested)return;if(o.length>0){if(n.items=o,e&&0===t.original.length){const t=gh(o,(t=>Boolean("separator"!==t.type&&t.range&&nc.containsPosition(t.range.decoration,e))));t&&(n.activeItems=[t])}}else t.original.length>0?this.provideLabelPick(n,_(0,"No matching editor symbols")):this.provideLabelPick(n,_(0,"No editor symbols"))}finally{i.isCancellationRequested||(n.busy=!1)}};return r.add(n.onDidChangeValue((()=>d(void 0)))),d(null===(o=s.getSelection())||void 0===o?void 0:o.getPosition()),r.add(n.onDidChangeActive((()=>{const[e]=n.activeItems;e&&e.range&&(s.revealRangeInCenter(e.range.selection,0),this.addDecorations(s,e.range.decoration))}))),r}async doGetSymbolPicks(e,t,n,i){var o,s;const r=await e;if(i.isCancellationRequested)return[];const l=0===t.original.indexOf(Q9.SCOPE_PREFIX),a=l?1:0;let d,u,c;t.values&&t.values.length>1?(d=X9(t.values[0]),u=X9(t.values.slice(1))):d=t;const h=null===(s=null===(o=this.options)||void 0===o?void 0:o.openSideBySideDirection)||void 0===s?void 0:s.call(o);h&&(c=[{iconClass:"right"===h?ka.asClassName(Sa.splitHorizontal):ka.asClassName(Sa.splitVertical),tooltip:_(0,"right"===h?"Open to the Side":"Open to the Bottom")}]);const g=[];for(let b=0;ba){let I=!1;if(d!==t&&([x,k]=K9(y,{...t,values:void 0},a,S),"number"==typeof x&&(I=!0)),"number"!=typeof x&&([x,k]=K9(y,d,a,S),"number"!=typeof x))continue;if(!I&&u){if(N&&u.original.length>0&&([L,D]=K9(N,u)),"number"!=typeof L)continue;"number"==typeof x&&(x+=L)}}const E=w.tags&&w.tags.indexOf(1)>=0;g.push({index:b,kind:w.kind,score:x,label:y,ariaLabel:(p=w.name,m=w.kind,_(0,"{0} ({1})",p,SC[m])),description:N,highlights:E?void 0:{label:k,description:D},range:{selection:nc.collapseToStart(w.selectionRange),decoration:w.range},strikethrough:E,buttons:c})}var p,m;const f=g.sort(((e,t)=>l?this.compareByKindAndScore(e,t):this.compareByScore(e,t)));let v=[];if(l){let M,T,A=0;function R(){T&&"number"==typeof M&&A>0&&(T.label=oi(n8[M]||t8,A))}for(const P of f)M!==P.kind?(R(),M=P.kind,A=1,T={type:"separator"},v.push(T)):A++,v.push(P);R()}else f.length>0&&(v=[{label:_(0,"symbols ({0})",g.length),type:"separator"},...f]);return v}compareByScore(e,t){if("number"!=typeof e.score&&"number"==typeof t.score)return 1;if("number"==typeof e.score&&"number"!=typeof t.score)return-1;if("number"==typeof e.score&&"number"==typeof t.score){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const n=n8[e.kind]||t8,i=n8[t.kind]||t8,o=n.localeCompare(i);return 0===o?this.compareByScore(e,t):o}async getDocumentSymbols(e,t){const n=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:n.asListOfDocumentSymbols()}};e8.PREFIX="@",e8.SCOPE_PREFIX=":",e8.PREFIX_BY_CATEGORY=`${Q9.PREFIX}${Q9.SCOPE_PREFIX}`,e8=Q9=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([J9(0,wx),J9(1,GQ)],e8);const t8=_(0,"properties ({0})"),n8={5:_(0,"methods ({0})"),11:_(0,"functions ({0})"),8:_(0,"constructors ({0})"),12:_(0,"variables ({0})"),4:_(0,"classes ({0})"),22:_(0,"structs ({0})"),23:_(0,"events ({0})"),24:_(0,"operators ({0})"),10:_(0,"interfaces ({0})"),2:_(0,"namespaces ({0})"),3:_(0,"packages ({0})"),25:_(0,"type parameters ({0})"),1:_(0,"modules ({0})"),6:_(0,"properties ({0})"),9:_(0,"enumerations ({0})"),21:_(0,"enumeration members ({0})"),14:_(0,"strings ({0})"),0:_(0,"files ({0})"),17:_(0,"arrays ({0})"),15:_(0,"numbers ({0})"),16:_(0,"booleans ({0})"),18:_(0,"objects ({0})"),19:_(0,"keys ({0})"),7:_(0,"fields ({0})"),13:_(0,"constants ({0})")};var i8=function(e,t){return function(n,i){t(n,i,e)}};let o8=class extends e8{constructor(e,t,n){super(t,n),this.editorService=e,this.onDidActiveTextEditorControlChange=ft.None}get activeTextEditorControl(){var e;return null!==(e=this.editorService.getFocusedCodeEditor())&&void 0!==e?e:void 0}};o8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([i8(0,ud),i8(1,wx),i8(2,GQ)],o8);class s8 extends zu{constructor(){super({id:s8.ID,label:l0.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:oc.hasDocumentSymbolProvider,kbOpts:{kbExpr:oc.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(SL).quickAccess.show(e8.PREFIX,{itemActivation:yL.NONE})}}s8.ID="editor.action.quickOutline",$u(s8),fu.as(n0).registerQuickAccessProvider({ctor:o8,prefix:e8.PREFIX,helpEntries:[{description:l0.quickOutlineActionLabel,prefix:e8.PREFIX,commandId:s8.ID},{description:l0.quickOutlineByCategoryActionLabel,prefix:e8.PREFIX_BY_CATEGORY}]});class r8 extends lt{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const e=pL.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(92);t||(t=this.editor.isSimpleWidget?new ed(_(0,"Cannot edit in read-only input")):new ed(_(0,"Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}}r8.ID="editor.contrib.readOnlyMessageController",Zu(r8.ID,r8,2);var l8=function(e,t){return function(n,i){t(n,i,e)}};let a8=class extends B${constructor(e,t,n,i,o,s,r){super(!0,e,t,n,i,o,s,r)}};a8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([l8(1,su),l8(2,ud),l8(3,nN),l8(4,ad),l8(5,KB),l8(6,pg)],a8),Zu(B$.ID,a8,4);var d8=n(8033),u8={};u8.styleTagTransform=Vr(),u8.setAttributes=Or(),u8.insert=Rr().bind(null,"head"),u8.domAPI=Tr(),u8.insertStyleElement=Br(),Ir()(d8.A,u8),d8.A&&d8.A.locals&&d8.A.locals;var c8=function(e,t){return function(n,i){t(n,i,e)}};const h8=new ou("renameInputVisible",!1,_(0,"Whether the rename input widget is visible"));new ou("renameInputFocused",!1,_(0,"Whether the rename input widget is focused"));let g8=class{constructor(e,t,n,i,o,s){this._editor=e,this._acceptKeybindings=t,this._themeService=n,this._keybindingService=i,this._logService=s,this.allowEditorOverflow=!0,this._disposables=new rt,this._visibleContextKey=h8.bindTo(o),this._isEditingRenameCandidate=!1,this._beforeFirstInputFieldEditSW=new mt,this._input=new m8,this._disposables.add(this._input),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(50)&&this._updateFont()}))),this._disposables.add(n.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._input.domNode),this._renameCandidateListView=this._disposables.add(new p8(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._input.domNode.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._input.onDidChange((()=>{var e,t,n,i;void 0!==(null===(e=this._renameCandidateListView)||void 0===e?void 0:e.focusedCandidate)&&(this._isEditingRenameCandidate=!0),null!==(t=this._timeBeforeFirstInputFieldEdit)&&void 0!==t||(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),!1===(null===(n=this._renameCandidateProvidersCts)||void 0===n?void 0:n.token.isCancellationRequested)&&this._renameCandidateProvidersCts.cancel(),null===(i=this._renameCandidateListView)||void 0===i||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){var t,n,i,o;if(!this._domNode)return;const s=e.getColor(Mf),r=e.getColor(Tf);this._domNode.style.backgroundColor=String(null!==(t=e.getColor(Ym))&&void 0!==t?t:""),this._domNode.style.boxShadow=s?` 0 0 8px 2px ${s}`:"",this._domNode.style.border=r?`1px solid ${r}`:"",this._domNode.style.color=String(null!==(n=e.getColor(r_))&&void 0!==n?n:""),this._input.domNode.style.backgroundColor=String(null!==(i=e.getColor(s_))&&void 0!==i?i:"");const l=e.getColor(l_);this._input.domNode.style.borderWidth=l?"1px":"0px",this._input.domNode.style.borderStyle=l?"solid":"none",this._input.domNode.style.borderColor=null!==(o=null==l?void 0:l.toString())&&void 0!==o?o:"none"}_updateFont(){if(void 0===this._domNode)return;fa(void 0!==this._label,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._input.domNode);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return.8*e}getPosition(){if(!this._visible)return null;if(!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=ks(this.getDomNode().ownerDocument.body),t=Es(this._editor.getDomNode()),n=this._getTopForPosition();this._nPxAvailableAbove=n+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const i=this._editor.getOption(67),{totalHeight:o}=f8.getLayoutInfo({lineHeight:i}),s=this._nPxAvailableBelow>6*o?[2,1]:[1,2];return{position:this._position,preference:s}}beforeRender(){var e,t;const[n,i]=this._acceptKeybindings;return this._label.innerText=_(0,"{0} to Rename, {1} to Preview",null===(e=this._keybindingService.lookupKeybinding(n))||void 0===e?void 0:e.getLabel(),null===(t=this._keybindingService.lookupKeybinding(i))||void 0===t?void 0:t.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(this._trace("invoking afterRender, position: ",e?"not null":"null"),null===e)return void this.cancelInput(!0,"afterRender (because position is null)");if(!this._editor.hasModel()||!this._editor.getDomNode())return;fa(this._renameCandidateListView),fa(void 0!==this._nPxAvailableAbove),fa(void 0!==this._nPxAvailableBelow);const t=Rs(this._input.domNode),n=Rs(this._label);let i;i=2===e?this._nPxAvailableBelow:this._nPxAvailableAbove,this._renameCandidateListView.layout({height:i-n-t,width:Ms(this._input.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),null===(t=this._currentAcceptInput)||void 0===t||t.call(this,e)}cancelInput(e,t){var n;this._trace(`invoking cancelInput, caller: ${t}, _currentCancelInput: ${this._currentAcceptInput?"not undefined":"undefined"}`),null===(n=this._currentCancelInput)||void 0===n||n.call(this,e)}focusNextRenameSuggestion(){var e;(null===(e=this._renameCandidateListView)||void 0===e?void 0:e.focusNext())||(this._input.domNode.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(null===(e=this._renameCandidateListView)||void 0===e?void 0:e.focusPrevious())||(this._input.domNode.value=this._currentName)}getInput(e,t,n,i,o){const{start:s,end:r}=this._getSelection(e,t);this._renameCandidateProvidersCts=new Tt;const l=i(this._renameCandidateProvidersCts.token);this._updateRenameCandidates(l,t,o.token),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",n),this._position=new cd(e.startLineNumber,e.startColumn),this._currentName=t,this._input.domNode.value=t,this._input.domNode.setAttribute("selectionStart",s.toString()),this._input.domNode.setAttribute("selectionEnd",r.toString()),this._input.domNode.size=Math.max(1.1*(e.endColumn-e.startColumn),20),this._beforeFirstInputFieldEditSW.reset();const a=new rt;a.add(st((()=>o.dispose(!0)))),a.add(st((()=>{void 0!==this._renameCandidateProvidersCts&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})));const d=new Yt;return d.p.finally((()=>{a.dispose(),this._hide()})),this._currentCancelInput=e=>{var t;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,null===(t=this._renameCandidateListView)||void 0===t||t.clearCandidates(),d.complete(e),!0},this._currentAcceptInput=e=>{this._trace("invoking _currentAcceptInput"),fa(void 0!==this._renameCandidateListView);const i=this._renameCandidateListView.nCandidates;let o,s;const r=this._renameCandidateListView.focusedCandidate;void 0!==r?(this._trace("using new name from renameSuggestion"),o=r,s={k:"renameSuggestion"}):(this._trace("using new name from inputField"),o=this._input.domNode.value,s=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),o!==t&&0!==o.trim().length?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),d.complete({newName:o,wantsPreview:n&&e,stats:{source:s,nRenameSuggestions:i,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit}})):this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)")},a.add(o.token.onCancellationRequested((()=>this.cancelInput(!0,"cts.token.onCancellationRequested")))),a.add(this._editor.onDidBlurEditorWidget((()=>{var e;return this.cancelInput(!(null===(e=this._domNode)||void 0===e?void 0:e.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")}))),this._show(),d.p}_getSelection(e,t){fa(this._editor.hasModel());const n=this._editor.getSelection();let i=0,o=t.length;return nc.isEmpty(n)||nc.spansMultipleLines(n)||!nc.containsRange(e,n)||(i=Math.max(0,n.startColumn-e.startColumn),o=Math.min(e.endColumn,n.endColumn)-e.startColumn),{start:i,end:o}}_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._input.domNode.focus(),this._input.domNode.setSelectionRange(parseInt(this._input.domNode.getAttribute("selectionStart")),parseInt(this._input.domNode.getAttribute("selectionEnd")))}),100)}async _updateRenameCandidates(e,t,n){const i=(...e)=>this._trace("_updateRenameCandidates",...e);i("start");const o=await Ot(Promise.allSettled(e),n);if(void 0===o)return void i("returning early - received updateRenameCandidates results - undefined");const s=o.flatMap((e=>"fulfilled"===e.status&&pa(e.value)?e.value:[]));i(`received updateRenameCandidates results - total (unfiltered) ${s.length} candidates.`);const r=Vc(s,(e=>e.newSymbolName));i(`distinct candidates - ${r.length} candidates.`);const l=r.filter((({newSymbolName:e})=>e.trim().length>0&&e!==this._input.domNode.value&&e!==t));i(`valid distinct candidates - ${s.length} candidates.`),l.length<1?i("returning early - no valid distinct candidates"):(i("setting candidates"),this._renameCandidateListView.setCandidates(l),i("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)}};g8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([c8(2,Tv),c8(3,zL),c8(4,su),c8(5,Tu)],g8);class p8{constructor(e,t){this._disposables=new rt,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),e.appendChild(this._listContainer),this._listWidget=p8._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus((e=>{1===e.elements.length&&t.onFocusChange(e.elements[0].newSymbolName)}),this._disposables),this._listWidget.onDidChangeSelection((e=>{1===e.elements.length&&t.onSelectionChange()}),this._disposables),this._disposables.add(this._listWidget.onDidBlur((e=>{this._listWidget.setFocus([])}))),this._listWidget.style(kM({listInactiveFocusForeground:Lv,listInactiveFocusBackground:Nv}))}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(e.length),n=this._pickListWidth(e);this._listWidget.layout(t,n),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${n}px`,Yr(_(0,"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(0===this._listWidget.length)return;const e=this._listWidget.getSelectedElements()[0];if(void 0!==e)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];return void 0!==t?t.newSymbolName:void 0}focusNext(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();return 0===e.length?(this._listWidget.focusFirst(),!0):e[0]===this._listWidget.length-1?(this._listWidget.setFocus([]),!1):(this._listWidget.focusNext(),!0)}focusPrevious(){if(0===this._listWidget.length)return!1;const e=this._listWidget.getFocus();return 0===e.length?(this._listWidget.focusLast(),!0):0===e[0]?(this._listWidget.setFocus([]),!1):(this._listWidget.focusPrevious(),!0)}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=f8.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,7*this._candidateViewHeight)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map((e=>e.newSymbolName.length)))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,n){const i=new class{getTemplateId(e){return"candidate"}getHeight(e){return t}},o=new class{constructor(){this.templateId="candidate"}renderTemplate(e){return new f8(e,n)}renderElement(e,t,n){n.populate(e)}disposeTemplate(e){e.dispose()}};return new HI("NewSymbolNameCandidates",e,i,[o],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class m8{constructor(){this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._disposables=new rt}get domNode(){return this._domNode||(this._domNode=document.createElement("input"),this._domNode.className="rename-input",this._domNode.type="text",this._domNode.setAttribute("aria-label",_(0,"Rename input. Type new name and press Enter to commit.")),this._disposables.add(ms(this._domNode,"input",(()=>this._onDidChange.fire())))),this._domNode}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}}class f8{constructor(e,t){this._domNode=document.createElement("div"),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=`${f8._PADDING}px`;const n=document.createElement("div");n.style.display="flex",n.style.alignItems="center",n.style.width=n.style.height=.8*t.lineHeight+"px",this._domNode.appendChild(n),this._icon=wk(Sa.sparkle),this._icon.style.display="none",n.appendChild(this._icon),this._label=document.createElement("div"),nL(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var t;const n=!!(null===(t=e.tags)||void 0===t?void 0:t.includes(kC.AIGenerated));this._icon.style.display=n?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+2*f8._PADDING}}dispose(){}}f8._PADDING=2;var _8,v8=function(e,t){return function(n,i){t(n,i,e)}};class b8{constructor(e,t,n){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=n.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join("\n"):void 0}:{range:nc.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join("\n"):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,n,i){const o=this._providers[t];if(!o)return{edits:[],rejectReason:n.join("\n")};const s=await o.provideRenameEdits(this.model,this.position,e,i);return s?s.rejectReason?this._provideRenameEdits(e,t+1,n.concat(s.rejectReason),i):s:this._provideRenameEdits(e,t+1,n.concat(_(0,"No result.")),i)}}let w8=_8=class{static get(e){return e.getContribution(_8.ID)}constructor(e,t,n,i,o,s,r,l,a){this.editor=e,this._instaService=t,this._notificationService=n,this._bulkEditService=i,this._progressService=o,this._logService=s,this._configService=r,this._languageFeaturesService=l,this._telemetryService=a,this._disposableStore=new rt,this._cts=new Tt,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(g8,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var e,t;const n=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Tt,!this.editor.hasModel())return void n("editor has no model");const i=this.editor.getPosition(),o=new b8(this.editor.getModel(),i,this._languageFeaturesService.renameProvider);if(!o.hasProvider())return void n("skeleton has no provider");const s=new rk(this.editor,5,void 0,this._cts.token);let r;try{n("resolving rename location");const e=o.resolveRenameLocation(s.token);this._progressService.showWhile(e,250),r=await e,n("resolved rename location")}catch(t){return void(t instanceof Ee?n("resolve rename location cancelled",JSON.stringify(t,null,"\t")):(n("resolve rename location failed",t instanceof Error?t:JSON.stringify(t,null,"\t")),("string"==typeof t||nd(t))&&(null===(e=pL.get(this.editor))||void 0===e||e.showMessage(t||_(0,"An unknown error occurred while resolving rename location"),i))))}finally{s.dispose()}if(!r)return void n("returning early - no loc");if(r.rejectReason)return n(`returning early - rejected with reason: ${r.rejectReason}`,r.rejectReason),void(null===(t=pL.get(this.editor))||void 0===t||t.showMessage(r.rejectReason,i));if(s.token.isCancellationRequested)return void n("returning early - cts1 cancelled");const l=new rk(this.editor,5,r.range,this._cts.token),a=this.editor.getModel(),d=this._languageFeaturesService.newSymbolNamesProvider.all(a);n("creating rename input field and awaiting its result");const u=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),c=await this._renameWidget.getInput(r.range,r.text,u,(e=>d.map((t=>t.provideNewSymbolNames(a,r.range,e)))),l);if(n("received response from rename input field"),d.length>0&&this._reportTelemetry(d.length,a.getLanguageId(),c),"boolean"==typeof c)return n(`returning early - rename input field response - ${c}`),c&&this.editor.focus(),void l.dispose();this.editor.focus(),n("requesting rename edits");const h=Ot(o.provideRenameEdits(c.newName,l.token),l.token).then((async e=>{if(e)if(this.editor.hasModel()){if(e.rejectReason)return n(`returning early - rejected with reason: ${e.rejectReason}`),void this._notificationService.info(e.rejectReason);this.editor.setSelection(nc.fromPositions(this.editor.getSelection().getPosition())),n("applying edits"),this._bulkEditService.apply(e,{editor:this.editor,showPreview:c.wantsPreview,label:_(0,"Renaming '{0}' to '{1}'",null==r?void 0:r.text,c.newName),code:"undoredo.rename",quotableLabel:_(0,"Renaming {0} to {1}",null==r?void 0:r.text,c.newName),respectAutoSaveConfig:!0}).then((e=>{n("edits applied"),e.ariaSummary&&Zr(_(0,"Successfully renamed '{0}' to '{1}'. Summary: {2}",r.text,c.newName,e.ariaSummary))})).catch((e=>{n(`error when applying edits ${JSON.stringify(e,null,"\t")}`),this._notificationService.error(_(0,"Rename failed to apply edits")),this._logService.error(e)}))}else n("returning early - no model after rename edits are provided");else n("returning early - no rename edits result")}),(e=>{n("error when providing rename edits",JSON.stringify(e,null,"\t")),this._notificationService.error(_(0,"Rename failed to compute edits")),this._logService.error(e)})).finally((()=>{l.dispose()}));return n("returning rename operation"),this._progressService.showWhile(h,250),h}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,n){const i="boolean"==typeof n?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:n.stats.source.k,nRenameSuggestions:n.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:n.stats.timeBeforeFirstInputFieldEdit,wantsPreview:n.wantsPreview};this._telemetryService.publicLog2("renameInvokedEvent",i)}};w8.ID="editor.contrib.renameController",w8=_8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([v8(1,ad),v8(2,nN),v8(3,fx),v8(4,bL),v8(5,Tu),v8(6,PH),v8(7,wx),v8(8,Mu)],w8),Zu(w8.ID,w8,4),$u(class extends zu{constructor(){super({id:"editor.action.rename",label:_(0,"Rename Symbol"),alias:"Rename Symbol",precondition:Bd.and(oc.writable,oc.hasRenameProvider),kbOpts:{kbExpr:oc.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const n=e.get(ud),[i,o]=Array.isArray(t)&&t||[void 0,void 0];return Io.isUri(i)&&cd.isIPosition(o)?n.openCodeEditor({resource:i},n.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(o),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),xe):super.runCommand(e,t)}run(e,t){const n=e.get(Tu),i=w8.get(t);return i?(n.trace("[RenameAction] got controller, running..."),i.run()):(n.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}});const C8=Hu.bindToContribution(w8.get);qu(new C8({id:"acceptRenameInput",precondition:h8,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Bd.and(oc.focus,Bd.not("isComposing")),primary:3}})),qu(new C8({id:"acceptRenameInputWithPreview",precondition:Bd.and(h8,Bd.has("config.editor.rename.enablePreview")),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Bd.and(oc.focus,Bd.not("isComposing")),primary:2051}})),qu(new C8({id:"cancelRenameInput",precondition:h8,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:oc.focus,primary:9,secondary:[1033]}})),Iu(class extends Eu{constructor(){super({id:"focusNextRenameSuggestion",title:{...v(0,"Focus Next Rename Suggestion")},precondition:h8,keybinding:[{primary:2,secondary:[18],weight:199}]})}run(e){const t=e.get(ud).getFocusedCodeEditor();if(!t)return;const n=w8.get(t);n&&n.focusNextRenameSuggestion()}}),Iu(class extends Eu{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...v(0,"Focus Previous Rename Suggestion")},precondition:h8,keybinding:[{primary:1026,secondary:[16],weight:199}]})}run(e){const t=e.get(ud).getFocusedCodeEditor();if(!t)return;const n=w8.get(t);n&&n.focusPreviousRenameSuggestion()}}),ju("_executeDocumentRenameProvider",(function(e,t,n,...i){const[o]=i;fa("string"==typeof o);const{renameProvider:s}=e.get(wx);return async function(e,t,n,i){const o=new b8(t,n,e),s=await o.resolveRenameLocation(It.None);return(null==s?void 0:s.rejectReason)?{edits:[],rejectReason:s.rejectReason}:o.provideRenameEdits(i,It.None)}(s,t,n,o)})),ju("_executePrepareRename",(async function(e,t,n){const{renameProvider:i}=e.get(wx),o=new b8(t,n,i),s=await o.resolveRenameLocation(It.None);if(null==s?void 0:s.rejectReason)throw new Error(s.rejectReason);return s})),fu.as(Dg).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:_(0,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var y8=function(e,t){return function(n,i){t(n,i,e)}};let S8=class extends lt{constructor(e,t,n){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=n,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel((t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)}))),this._register(e.onDidChangeModelLanguage((t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)}))),this._register(t.onDidChange((t=>{var n;const i=null===(n=this.editor.getModel())||void 0===n?void 0:n.getLanguageId();i&&t.affects(i)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))}))),this._register(e.onDidChangeConfiguration((t=>{this.options&&!t.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))}))),this._register(this.editor.onDidChangeModelContent((e=>{this.computeSectionHeaders.schedule()}))),this.computeSectionHeaders=this._register(new jt((()=>{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 n=this.languageConfigurationService.getLanguageConfiguration(t).comments,i=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;return n||(null==i?void 0:i.markers)?{foldingRules:i,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}:void 0}findSectionHeaders(){var e,t;if(!this.editor.hasModel()||!(null===(e=this.options)||void 0===e?void 0:e.findMarkSectionHeaders)&&!(null===(t=this.options)||void 0===t?void 0:t.findRegionSectionHeaders))return;const n=this.editor.getModel();if(n.isDisposed()||n.isTooLargeForSyncing())return;const i=n.getVersionId();this.editorWorkerService.findSectionHeaders(n.uri,this.options).then((e=>{n.isDisposed()||n.getVersionId()!==i||this.updateDecorations(e)}))}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter((e=>{if(!e.shouldBeInComments)return!0;const n=t.validateRange(e.range),i=t.tokenization.getLineTokens(n.startLineNumber),o=i.findTokenIndexAtOffset(n.startColumn-1),s=i.getStandardTokenType(o);return i.getLanguageId(o)===t.getLanguageId()&&1===s})));const n=Object.values(this.currentOccurrences).map((e=>e.decorationId)),i=e.map((e=>function(e){return{range:e.range,options:My.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:e.hasSeparatorLine?2:1,sectionHeaderText:e.text}})}}(e)));this.editor.changeDecorations((t=>{const o=t.deltaDecorations(n,i);this.currentOccurrences={};for(let t=0,n=o.length;t=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([y8(1,Qg),y8(2,AX)],S8),Zu(S8.ID,S8,1);class x8{static create(e,t){return new x8(e,new k8(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new nc(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,n,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber,[i,o,s]=this._tokens.split(t,e.startColumn-1,n,e.endColumn-1);return[new x8(this._startLineNumber,i),new x8(this._startLineNumber+s,o)]}applyEdit(e,t){const[n,i,o]=ah(t);this.acceptEdit(e,n,i,o,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,n,i,o){this._acceptDeleteRange(e),this._acceptInsertText(new cd(e.startLineNumber,e.startColumn),t,n,i,o),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;if(n<0){const e=n-t;return void(this._startLineNumber-=e)}const i=this._tokens.getMaxDeltaLine();if(!(t>=i+1)){if(t<0&&n>=i+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const i=-t;this._startLineNumber-=i,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}_acceptInsertText(e,t,n,i,o){if(0===t&&0===n)return;const s=e.lineNumber-this._startLineNumber;s<0?this._startLineNumber+=t:s>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(s,e.column-1,t,n,i,o)}}class k8{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let n=0;ne)){let o=i;for(;o>t&&this._getDeltaLine(o-1)===e;)o--;let s=i;for(;se||u===e&&h>=t)&&(ue||c===e&&g>=t){if(co?p-=o-n:p=n;else if(h===t&&g===n){if(!(h===i&&p>o)){d=!0;continue}p-=o-n}else if(ho)){d=!0;continue}h=t,g=n,p=g+(p-o)}else if(h>i){if(0===l&&!d){a=r;break}h-=l}else{if(!(h===i&&g>=o))throw new Error("Not possible!");e&&0===h&&(g+=e,p+=e),h-=l,g-=o-n,p-=o-n}const f=4*a;s[f]=h,s[f+1]=g,s[f+2]=p,s[f+3]=m,a++}this._tokenCount=a}acceptInsertText(e,t,n,i,o,s){const r=0===n&&1===i&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),l=this._tokens,a=this._tokenCount;for(let s=0;s0&&t>=1;e>0&&this._logService.getLevel()===Au.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${t.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),r.push("not-in-legend"));const i=this._themeService.getColorTheme().getTokenStyleMetadata(o,r,n);void 0===i?s=2147483647:(s=0,void 0!==i.italic&&(s|=1|(i.italic?1:0)<<11),void 0!==i.bold&&(s|=2|(i.bold?2:0)<<11),void 0!==i.underline&&(s|=4|(i.underline?4:0)<<11),void 0!==i.strikethrough&&(s|=8|(i.strikethrough?8:0)<<11),i.foreground&&(s|=16|i.foreground<<15),0===s&&(s=2147483647))}else this._logService.getLevel()===Au.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${e} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),s=2147483647,o="not-in-legend";this._hashTable.add(e,t,i,s),this._logService.getLevel()===Au.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${e} (${o}) / ${t} (${r.join(" ")}): foreground ${$p.getForeground(s)}, fontStyle ${$p.getFontStyle(s).toString(2)}`)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,n,i,o){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${n}: The provided start offset ${i} is outside the previous data (length ${o}).`))}};function E8(e,t,n){const i=e.data,o=e.data.length/5|0,s=Math.max(Math.ceil(o/1024),400),r=[];let l=0,a=1,d=0;for(;le&&0===i[5*t];)t--;if(t-1===e){let e=u;for(;e+1u)t.warnOverlappingSemanticTokens(r,u+1);else{const e=t.getMetadata(_,v,n);2147483647!==e&&(0===g&&(g=r),c[h]=r-g,c[h+1]=u,c[h+2]=f,c[h+3]=e,h+=4,p=r,m=f)}a=r,d=u,l++}h!==c.length&&(c=c.subarray(0,h));const f=x8.create(g,c);r.push(f)}return r}N8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([D8(1,Tv),D8(2,Sh),D8(3,Tu)],N8);class I8{constructor(e,t,n,i){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=i,this.next=null}}class M8{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=M8._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=M8._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+10?n[0]:[]}(e,t),r=await Promise.all(s.map((async e=>{let s,r=null;try{s=await e.provideDocumentSemanticTokens(t,e===n?i:null,o)}catch(e){r=e,s=null}return s&&(A8(s)||R8(s))||(s=null),new P8(e,s,r)})));for(const e of r){if(e.error)throw e.error;if(e.tokens)return e}return r.length>0?r[0]:null}class B8{constructor(e,t){this.provider=e,this.tokens=t}}function W8(e,t){const n=e.orderedGroups(t);return n.length>0?n[0]:[]}async function V8(e,t,n,i){const o=W8(e,t),s=await Promise.all(o.map((async e=>{let o;try{o=await e.provideDocumentRangeSemanticTokens(t,n,i)}catch(e){ke(e),o=null}return o&&A8(o)||(o=null),new B8(e,o)})));for(const e of s)if(e.tokens)return e;return s.length>0?s[0]:null}Cd.registerCommand("_provideDocumentSemanticTokensLegend",(async(e,...t)=>{const[n]=t;fa(n instanceof Io);const i=e.get(hd).getModel(n);if(!i)return;const{documentSemanticTokensProvider:o}=e.get(wx),s=function(e,t){const n=e.orderedGroups(t);return n.length>0?n[0]:null}(o,i);return s?s[0].getLegend():e.get(wd).executeCommand("_provideDocumentRangeSemanticTokensLegend",n)})),Cd.registerCommand("_provideDocumentSemanticTokens",(async(e,...t)=>{const[n]=t;fa(n instanceof Io);const i=e.get(hd).getModel(n);if(!i)return;const{documentSemanticTokensProvider:o}=e.get(wx);if(!O8(o,i))return e.get(wd).executeCommand("_provideDocumentRangeSemanticTokens",n,i.getFullModelRange());const s=await F8(o,i,null,null,It.None);if(!s)return;const{provider:r,tokens:l}=s;if(!l||!A8(l))return;const a=T8({id:0,type:"full",data:l.data});return l.resultId&&r.releaseDocumentSemanticTokens(l.resultId),a})),Cd.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(e,...t)=>{const[n,i]=t;fa(n instanceof Io);const o=e.get(hd).getModel(n);if(!o)return;const{documentRangeSemanticTokensProvider:s}=e.get(wx),r=W8(s,o);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!i||!nc.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const l=await V8(s,o,nc.lift(i),It.None);return l?l.provider.getLegend():void 0})),Cd.registerCommand("_provideDocumentRangeSemanticTokens",(async(e,...t)=>{const[n,i]=t;fa(n instanceof Io),fa(nc.isIRange(i));const o=e.get(hd).getModel(n);if(!o)return;const{documentRangeSemanticTokensProvider:s}=e.get(wx),r=await V8(s,o,nc.lift(i),It.None);return r&&r.tokens?T8({id:0,type:"full",data:r.tokens.data}):void 0}));const H8=dd("semanticTokensStylingService"),z8="editor.semanticHighlighting";function U8(e,t,n){var i;const o=null===(i=n.getValue(z8,{overrideIdentifier:e.getLanguageId(),resource:e.uri}))||void 0===i?void 0:i.enabled;return"boolean"==typeof o?o:t.getColorTheme().semanticHighlighting}var K8,j8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},q8=function(e,t){return function(n,i){t(n,i,e)}};let $8=class extends lt{constructor(e,t,n,i,o,s){super(),this._watchers=Object.create(null);const r=t=>{this._watchers[t.uri.toString()]=new G8(t,e,n,o,s)},l=(e,t)=>{t.dispose(),delete this._watchers[e.uri.toString()]},a=()=>{for(const e of t.getModels()){const t=this._watchers[e.uri.toString()];U8(e,n,i)?t||r(e):t&&l(e,t)}};t.getModels().forEach((e=>{U8(e,n,i)&&r(e)})),this._register(t.onModelAdded((e=>{U8(e,n,i)&&r(e)}))),this._register(t.onModelRemoved((e=>{const t=this._watchers[e.uri.toString()];t&&l(e,t)}))),this._register(i.onDidChangeConfiguration((e=>{e.affectsConfiguration(z8)&&a()}))),this._register(n.onDidColorThemeChange(a))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};$8=j8([q8(0,H8),q8(1,hd),q8(2,Tv),q8(3,pg),q8(4,sW),q8(5,wx)],$8);let G8=K8=class extends lt{constructor(e,t,n,i,o){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=o.documentSemanticTokensProvider,this._debounceInformation=i.for(this._provider,"DocumentSemanticTokens",{min:K8.REQUEST_MIN_DELAY,max:K8.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new jt((()=>this._fetchDocumentSemanticTokensNow()),K8.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 s=()=>{it(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const t of this._provider.all(e))"function"==typeof t.onDidChange&&this._documentProvidersChangeListeners.push(t.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};s(),this._register(this._provider.onDidChange((()=>{s(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(n.onDidColorThemeChange((e=>{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),it(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!O8(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const e=new Tt,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,n=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,i=F8(this._provider,this._model,t,n,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const o=[],s=this._model.onDidChangeContent((e=>{o.push(e)})),r=new mt(!1);i.then((e=>{if(this._debounceInformation.update(this._model,r.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),e){const{provider:t,tokens:n}=e,i=this._semanticTokensStylingService.getStyling(t);this._setDocumentSemanticTokens(t,n||null,i,o)}else this._setDocumentSemanticTokens(null,null,null,o)}),(e=>{e&&(Ne(e)||"string"==typeof e.message&&-1!==e.message.indexOf("busy"))||xe(e),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(o.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(e,t,n,i,o){o=Math.min(o,n.length-i,e.length-t);for(let s=0;s{(i.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);else if(e&&n){if(!t)return this._model.tokenization.setSemanticTokens(null,!0),void s();if(R8(t)){if(!o)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===t.edits.length)t={resultId:t.resultId,data:o.data};else{let e=0;for(const n of t.edits)e+=(n.data?n.data.length:0)-n.deleteCount;const i=o.data,s=new Uint32Array(i.length+e);let r=i.length,l=s.length;for(let e=t.edits.length-1;e>=0;e--){const a=t.edits[e];if(a.start>i.length)return n.warnInvalidEditStart(o.resultId,t.resultId,e,a.start,i.length),void this._model.tokenization.setSemanticTokens(null,!0);const d=r-(a.start+a.deleteCount);d>0&&(K8._copy(i,r-d,s,l-d,d),l-=d),a.data&&(K8._copy(a.data,0,s,l-a.data.length,a.data.length),l-=a.data.length),r=a.start}r>0&&K8._copy(i,0,s,0,r),t={resultId:t.resultId,data:s}}}if(A8(t)){this._currentDocumentResponse=new Z8(e,t.resultId,t.data);const o=E8(t,n,this._model.getLanguageId());if(i.length>0)for(const e of i)for(const t of o)for(const n of e.changes)t.applyEdit(n.range,n.text);this._model.tokenization.setSemanticTokens(o,!0)}else this._model.tokenization.setSemanticTokens(null,!0);s()}else this._model.tokenization.setSemanticTokens(null,!1)}};G8.REQUEST_MIN_DELAY=300,G8.REQUEST_MAX_DELAY=2e3,G8=K8=j8([q8(1,H8),q8(2,Tv),q8(3,sW),q8(4,wx)],G8);class Z8{constructor(e,t,n){this.provider=e,this.resultId=t,this.data=n}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}$H($8);var Y8=function(e,t){return function(n,i){t(n,i,e)}};let X8=class extends lt{constructor(e,t,n,i,o,s){super(),this._semanticTokensStylingService=t,this._themeService=n,this._configurationService=i,this._editor=e,this._provider=s.documentRangeSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new jt((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((e=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(z8)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,n=this._outstandingRequests.length;tthis._requestRange(e,t))))}_requestRange(e,t){const n=e.getVersionId(),i=Pt((n=>Promise.resolve(V8(this._provider,e,t,n)))),o=new mt(!1);return i.then((i=>{if(this._debounceInformation.update(e,o.elapsed()),!i||!i.tokens||e.isDisposed()||e.getVersionId()!==n)return;const{provider:s,tokens:r}=i,l=this._semanticTokensStylingService.getStyling(s);e.tokenization.setPartialSemanticTokens(t,E8(r,l,e.getLanguageId()))})).then((()=>this._removeOutstandingRequest(i)),(()=>this._removeOutstandingRequest(i))),i}};X8.ID="editor.contrib.viewportSemanticTokens",X8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Y8(1,H8),Y8(2,Tv),Y8(3,pg),Y8(4,sW),Y8(5,wx)],X8),Zu(X8.ID,X8,1);class Q8{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const n=[];for(const i of t){const t=[];n.push(t),this.selectSubwords&&this._addInWordRanges(t,e,i),this._addWordRanges(t,e,i),this._addWhitespaceLine(t,e,i),t.push({range:e.getFullModelRange()})}return n}_addInWordRanges(e,t,n){const i=t.getWordAtPosition(n);if(!i)return;const{word:o,startColumn:s}=i,r=n.column-s;let l=r,a=r,d=0;for(;l>=0;l--){const e=o.charCodeAt(l);if(l!==r&&(95===e||45===e))break;if(wi(e)&&Ci(d))break;d=e}for(l+=1;a0&&0===t.getLineFirstNonWhitespaceColumn(n.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(n.lineNumber)&&e.push({range:new nc(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})}}var J8;class e7{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 n=new e7(t,this.ranges);return n.ranges[t].equalsRange(this.ranges[this.index])?n.mov(e):n}}let t7=J8=class{static get(e){return e.getContribution(J8.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;null===(e=this._selectionListener)||void 0===e||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),n=this._editor.getModel();if(this._state||await i7(this._languageFeaturesService.selectionRangeProvider,n,t.map((e=>e.getPosition())),this._editor.getOption(113),It.None).then((e=>{var n;if(Wc(e)&&e.length===t.length&&this._editor.hasModel()&&Ic(this._editor.getSelections(),t,((e,t)=>e.equalsSelection(t)))){for(let n=0;ne.containsPosition(t[n].getStartPosition())&&e.containsPosition(t[n].getEndPosition()))),e[n].unshift(t[n]);this._state=e.map((e=>new e7(0,e))),null===(n=this._selectionListener)||void 0===n||n.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var e;this._ignoreSelection||(null===(e=this._selectionListener)||void 0===e||e.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((t=>t.mov(e)));const i=this._state.map((e=>ic.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(i)}finally{this._ignoreSelection=!1}}};t7.ID="editor.contrib.smartSelectController",t7=J8=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(1,wx)],t7);class n7 extends zu{constructor(e,t){super(t),this._forward=e}async run(e,t){const n=t7.get(t);n&&await n.run(this._forward)}}async function i7(e,t,n,i,o){const s=e.all(t).concat(new Q8(i.selectSubwords));1===s.length&&s.unshift(new x4);const r=[],l=[];for(const e of s)r.push(Promise.resolve(e.provideSelectionRanges(t,n,o)).then((e=>{if(Wc(e)&&e.length===n.length)for(let t=0;t{if(0===e.length)return[];e.sort(((e,t)=>cd.isBefore(e.getStartPosition(),t.getStartPosition())?1:cd.isBefore(t.getStartPosition(),e.getStartPosition())||cd.isBefore(e.getEndPosition(),t.getEndPosition())?-1:cd.isBefore(t.getEndPosition(),e.getEndPosition())?1:0));const n=[];let o;for(const t of e)(!o||nc.containsRange(t,o)&&!nc.equalsRange(t,o))&&(n.push(t),o=t);if(!i.selectLeadingAndTrailingWhitespace)return n;const s=[n[0]];for(let e=1;ee}),d7="data-sticky-line-index",u7="data-sticky-is-line",c7="data-sticky-is-folding-icon";class h7 extends lt{constructor(e){super(),this._editor=e,this._foldingIconStore=new rt,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 Jz),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(115).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(115)&&t(),e.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))}))),this._register(this._editor.onDidScrollChange((e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{t(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange((e=>{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,n){if(void 0===n&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const i=this._isWidgetHeightZero(e),o=i?void 0:e,s=i?0:this._findLineToRebuildWidgetFrom(e,n);this._renderRootNode(o,t,s),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 t=[...e.startLineNumbers];null!==e.showEndForLine&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=t}else this._lastLineRelativePosition=0,this._lineNumbers=[];return 0===t}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(void 0!==t)return t;const n=this._previousState,i=e.startLineNumbers.findIndex((e=>!n.startLineNumbers.includes(e)));return-1===i?0:i}_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;te.scrollWidth)))+i.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(110)&&(this._foldingIconStore.add(ms(this._lineNumbersDomNode,or.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(ms(this._lineNumbersDomNode,or.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(e,t,n,i){const o=this._editor._getViewModel();if(!o)return;const s=o.coordinatesConverter.convertModelPositionToViewPosition(new cd(t,1)).lineNumber,r=o.getViewLineRenderingData(s),l=this._editor.getOption(68);let a;try{a=oA.filter(r.inlineDecorations,s,r.minColumn,r.maxColumn)}catch(e){a=[]}const d=new uA(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,a,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),u=new eg(2e3),c=pA(d,u);let h;h=a7?a7.createHTML(u.build()):u.build();const g=document.createElement("span");g.setAttribute(d7,String(e)),g.setAttribute(u7,""),g.setAttribute("role","listitem"),g.tabIndex=0,g.className="sticky-line-content",g.classList.add(`stickyLine${t}`),g.style.lineHeight=`${this._lineHeight}px`,g.innerHTML=h;const p=document.createElement("span");p.setAttribute(d7,String(e)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`;const m=i.contentLeft;p.style.width=`${m}px`;const f=document.createElement("span");1===l.renderType||3===l.renderType&&t%10==0?f.innerText=t.toString():2===l.renderType&&(f.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),f.className="sticky-line-number-inner",f.style.lineHeight=`${this._lineHeight}px`,f.style.width=`${i.lineNumbersWidth}px`,f.style.paddingLeft=`${i.lineNumbersLeft}px`,p.appendChild(f);const _=this._renderFoldingIconForLine(n,t);_&&p.appendChild(_.domNode),this._editor.applyFontInfo(g),this._editor.applyFontInfo(f),p.style.lineHeight=`${this._lineHeight}px`,g.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,g.style.height=`${this._lineHeight}px`;const v=new g7(e,t,g,p,_,c.characterMapping,g.scrollWidth);return this._updateTopAndZIndexOfStickyLine(v)}_updateTopAndZIndexOfStickyLine(e){var t;const n=e.index,i=e.lineDomNode,o=e.lineNumberDomNode,s=n===this._lineNumbers.length-1;i.style.zIndex=s?"0":"1",o.style.zIndex=s?"0":"1";const r=`${n*this._lineHeight+this._lastLineRelativePosition+((null===(t=e.foldingIcon)||void 0===t?void 0:t.isCollapsed)?1:0)}px`,l=n*this._lineHeight+"px";return i.style.top=s?r:l,o.style.top=s?r:l,e}_renderFoldingIconForLine(e,t){const n=this._editor.getOption(110);if(!e||"never"===n)return;const i=e.regions,o=i.findRange(t),s=i.getStartLineNumber(o);if(t!==s)return;const r=i.isCollapsed(o),l=new p7(r,s,i.getEndLineNumber(o),this._lineHeight);return l.setVisible(!!this._isOnGlyphMargin||r||"always"===n),l.domNode.setAttribute(c7,""),l}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const n=DA(t.characterMapping,e,0);return new cd(t.lineNumber,n)}getLineNumberFromChildDomNode(e){var t,n;return null!==(n=null===(t=this._getRenderedStickyLineFromChildDomNode(e))||void 0===t?void 0:t.lineNumber)&&void 0!==n?n:null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return null===t||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,d7);return t?parseInt(t,10):null}isInStickyLine(e){return void 0!==this._getAttributeValue(e,u7)}isInFoldingIconDomNode(e){return void 0!==this._getAttributeValue(e,c7)}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const n=e.getAttribute(t);if(null!==n)return n;e=e.parentElement}}}class g7{constructor(e,t,n,i,o,s,r){this.index=e,this.lineNumber=t,this.lineDomNode=n,this.lineNumberDomNode=i,this.foldingIcon=o,this.characterMapping=s,this.scrollWidth=r}}class p7{constructor(e,t,n,i){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=n,this.dimension=i,this.domNode=document.createElement("div"),this.domNode.style.width=`${i}px`,this.domNode.style.height=`${i}px`,this.domNode.className=ka.asClassName(e?w3:b3)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class m7{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class f7{constructor(e,t,n){this.range=e,this.children=t,this.parent=n}}class _7{constructor(e,t,n,i){this.uri=e,this.version=t,this.element=n,this.outlineProviderId=i}}var v7,b7,w7=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},C7=function(e,t){return function(n,i){t(n,i,e)}};!function(e){e.OUTLINE_MODEL="outlineModel",e.FOLDING_PROVIDER_MODEL="foldingProviderModel",e.INDENTATION_MODEL="indentationModel"}(v7||(v7={})),function(e){e[e.VALID=0]="VALID",e[e.INVALID=1]="INVALID",e[e.CANCELED=2]="CANCELED"}(b7||(b7={}));let y7=class extends lt{constructor(e,t,n,i){switch(super(),this._editor=e,this._languageConfigurationService=n,this._languageFeaturesService=i,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Bt(300)),this._updateOperation=this._register(new rt),this._editor.getOption(115).defaultModel){case v7.OUTLINE_MODEL:this._modelProviders.push(new x7(this._editor,i));case v7.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new D7(this._editor,t,i));case v7.INDENTATION_MODEL:this._modelProviders.push(new L7(this._editor,n))}}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:n,modelPromise:i}=t.computeStickyModel(e);this._modelPromise=i;const o=await n;if(this._modelPromise!==i)return null;switch(o){case b7.CANCELED:return this._updateOperation.clear(),null;case b7.VALID:return t.stickyModel}}return null})).catch((e=>(xe(e),null)))}};y7=w7([C7(2,ad),C7(3,wx)],y7);class S7 extends lt{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,b7.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Pt((e=>this.createModelFromProvider(e)));return{statusPromise:t.then((t=>this.isModelValid(t)?e.isCancellationRequested?b7.CANCELED:(this._stickyModel=this.createStickyModel(e,t),b7.VALID):this._invalid())).then(void 0,(e=>(xe(e),b7.CANCELED))),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let x7=class extends S7{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return $Q.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var n;const{stickyOutlineElement:i,providerID:o}=this._stickyModelFromOutlineModel(t,null===(n=this._stickyModel)||void 0===n?void 0:n.outlineProviderId),s=this._editor.getModel();return new _7(s.uri,s.getVersionId(),i,o)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let n;if(Ye.first(e.children.values())instanceof qQ){const i=Ye.find(e.children.values(),(e=>e.id===t));if(i)n=i.children;else{let i,o="",s=-1;for(const[t,n]of e.children.entries()){const e=this._findSumOfRangesOfGroup(n);e>s&&(i=n,s=e,o=n.id)}t=o,n=i.children}}else n=e.children;const i=[],o=Array.from(n.values()).sort(((e,t)=>{const n=new m7(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),i=new m7(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(n,i)}));for(const e of o)i.push(this._stickyModelFromOutlineElement(e,e.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new f7(void 0,i,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const n=[];for(const i of e.children.values())if(i.symbol.selectionRange.startLineNumber!==i.symbol.range.endLineNumber)if(i.symbol.selectionRange.startLineNumber!==t)n.push(this._stickyModelFromOutlineElement(i,i.symbol.selectionRange.startLineNumber));else for(const e of i.children.values())n.push(this._stickyModelFromOutlineElement(e,i.symbol.selectionRange.startLineNumber));n.sort(((e,t)=>this._comparator(e.range,t.range)));const i=new m7(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new f7(i,n,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 n of e.children.values())t+=this._findSumOfRangesOfGroup(n);return e instanceof jQ?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};x7=w7([C7(1,wx)],x7);class k7 extends S7{constructor(e){super(e),this._foldingLimitReporter=new R3(e)}createStickyModel(e,t){const n=this._fromFoldingRegions(t),i=this._editor.getModel();return new _7(i.uri,i.getVersionId(),n,void 0)}isModelValid(e){return null!==e}_fromFoldingRegions(e){const t=e.length,n=[],i=new f7(void 0,[],void 0);for(let o=0;o0&&(this.provider=this._register(new N3(e.getModel(),i,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return void 0!==this.provider}async createModelFromProvider(e){var t,n;return null!==(n=null===(t=this.provider)||void 0===t?void 0:t.compute(e))&&void 0!==n?n:null}};D7=w7([C7(2,wx)],D7);var N7=function(e,t){return function(n,i){t(n,i,e)}};class E7{constructor(e,t,n){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=n}}let I7=class extends lt{constructor(e,t,n){super(),this._languageFeaturesService=t,this._languageConfigurationService=n,this._onDidChangeStickyScroll=this._register(new Ct),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new rt),this._updateSoon=this._register(new jt((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(115)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(115).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(st((()=>{var e;null===(e=this._stickyModelProvider)||void 0===e||e.dispose(),this._stickyModelProvider=null}))),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return null===(e=this._model)||void 0===e?void 0:e.version}updateStickyModelProvider(){var e;null===(e=this._stickyModelProvider)||void 0===e||e.dispose(),this._stickyModelProvider=null;const t=this._editor;t.hasModel()&&(this._stickyModelProvider=new y7(t,(()=>this._updateSoon.schedule()),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;null===(e=this._cts)||void 0===e||e.dispose(!0),this._cts=new Tt,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return-1===e?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,n,i,o){if(0===t.children.length)return;let s=o;const r=[];for(let e=0;ee-t))),a=this.updateIndex(Mc(r,e.startLineNumber+i,((e,t)=>e-t)));for(let r=l;r<=a;r++){const l=t.children[r];if(!l)return;if(l.range){const t=l.range.startLineNumber,o=l.range.endLineNumber;e.startLineNumber<=o+1&&t-1<=e.endLineNumber&&t!==s&&(s=t,n.push(new E7(t,o-1,i+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,l,n,i+1,t))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,l,n,i,o)}}getCandidateStickyLinesIntersecting(e){var t,n;if(!(null===(t=this._model)||void 0===t?void 0:t.element))return[];let i=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,i,0,-1);const o=null===(n=this._editor._getViewModel())||void 0===n?void 0:n.getHiddenAreas();if(o)for(const e of o)i=i.filter((t=>!(t.startLineNumber>=e.startLineNumber&&t.endLineNumber<=e.endLineNumber+1)));return i}};I7=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([N7(1,wx),N7(2,Qg)],I7);var M7,T7=function(e,t){return function(n,i){t(n,i,e)}};let A7=M7=class extends lt{constructor(e,t,n,i,o,s,r){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=n,this._instaService=i,this._contextKeyService=r,this._sessionStore=new rt,this._foldingModel=null,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._showEndForLine=null,this._stickyScrollWidget=new h7(this._editor),this._stickyLineCandidateProvider=new I7(this._editor,n,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new l7([],[],0),this._onDidResize(),this._readConfiguration();const l=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(115)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(110))&&this._readConfiguration()}))),this._register(ms(l,or.CONTEXT_MENU,(async e=>{this._onContextMenu(is(l),e)}))),this._stickyScrollFocusedContextKey=oc.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=oc.stickyScrollVisible.bindTo(this._contextKeyService);const a=this._register(ar(l));this._register(a.onDidBlur((e=>{!1===this._positionRevealed&&0===l.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(a.onDidFocus((e=>{this.focus()}))),this._registerMouseListeners(),this._register(ms(l,or.MOUSE_DOWN,(e=>{this._onMouseDown=!0})))}static get(e){return e.getContribution(M7.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),null===(e=this._focusDisposableStore)||void 0===e||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new rt,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&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(nc.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new rt),t=this._register(new Zz(this._editor,{extractLineNumberFromMouseEvent:e=>{const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return t?t.lineNumber:0}})),n=e=>{if(!this._editor.hasModel())return null;if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return null;const t=e.target.element;if(!t||t.innerText!==t.innerHTML)return null;const n=this._stickyScrollWidget.getEditorPositionFromNode(t);return n?{range:new nc(n.lineNumber,n.column,n.lineNumber,n.column+t.innerText.length),textElement:t}:null},i=this._stickyScrollWidget.getDomNode();this._register(_s(i,or.CLICK,(e=>{if(e.ctrlKey||e.altKey||e.metaKey)return;if(!e.leftButton)return;if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t)return;const n=new cd(this._endLineNumbers[t],1);return void this._revealLineInCenterIfOutsideViewport(n)}if(this._stickyScrollWidget.isInFoldingIconDomNode(e.target)){const t=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);return void this._toggleFoldingRegionForLine(t)}if(!this._stickyScrollWidget.isInStickyLine(e.target))return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target);if(!t){const n=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);if(null===n)return;t=new cd(n,1)}this._revealPosition(t)}))),this._register(_s(i,or.MOUSE_MOVE,(e=>{if(e.shiftKey){const t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(null===t||null!==this._showEndForLine&&this._showEndForLine===t)return;return this._showEndForLine=t,void this._renderStickyScroll()}null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(ms(i,or.MOUSE_LEAVE,(e=>{null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(t.onMouseMoveOrRelevantKeyDown((([t,i])=>{const o=n(t);if(!o||!t.hasTriggerModifier||!this._editor.hasModel())return void e.clear();const{range:s,textElement:r}=o;if(s.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=s,e.clear();const l=new Tt;let a;e.add(st((()=>l.dispose(!0)))),$$(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new cd(s.startLineNumber,s.startColumn+1),l.token).then((t=>{if(!l.token.isCancellationRequested)if(0!==t.length){this._candidateDefinitionsLength=t.length;const n=r;a!==n?(e.clear(),a=n,a.style.textDecoration="underline",e.add(st((()=>{a.style.textDecoration="none"})))):a||(a=n,a.style.textDecoration="underline",e.add(st((()=>{a.style.textDecoration="none"}))))}else e.clear()}))}))),this._register(t.onCancel((()=>{e.clear()}))),this._register(t.onExecute((async e=>{if(12!==e.target.type||e.target.detail!==this._stickyScrollWidget.getId())return;const t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);t&&this._editor.hasModel()&&this._stickyRangeProjectedOnEditor&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t.lineNumber,column:1})),this._instaService.invokeFunction(H0,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(e,t){const n=new $e(e,t);this._contextMenuService.showContextMenu({menuId:Su.StickyScrollContext,getAnchor:()=>n})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||null===e)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),n=null==t?void 0:t.foldingIcon;if(!n)return;l3(this._foldingModel,Number.MAX_VALUE,[e]),n.isCollapsed=!n.isCollapsed;const i=(n.isCollapsed?this._editor.getTopForLineNumber(n.foldingEndLine):this._editor.getTopForLineNumber(n.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(i),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(115);if(!1===e.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((e=>this._onTokensChange(e)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=null,this._renderStickyScroll()}))),this._enabled=!0),2===this._editor.getOption(68).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=null,this._renderStickyScroll(0)})))}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const n of t)for(const t of e.ranges)if(n>=t.fromLineNumber&&n<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const e=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(.25*e)}async _renderStickyScroll(e){var t,n;const i=this._editor.getModel();if(!i||i.isTooLargeForTokenization())return this._foldingModel=null,void this._stickyScrollWidget.setState(void 0,null);const o=this._stickyLineCandidateProvider.getVersionId();if(void 0===o||o===i.getVersionId())if(this._foldingModel=null!==(n=await(null===(t=A3.get(this._editor))||void 0===t?void 0:t.getFoldingModel()))&&void 0!==n?n:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(!(0===this._widgetState.startLineNumbers.length)),this._focused)if(-1===this._focusedStickyElementIndex)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const t=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),0===this._stickyScrollWidget.lineNumberCount?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(t)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}else this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(115).maxLineCount),n=this._editor.getScrollTop();let i=0;const o=[],s=[],r=this._editor.getVisibleRanges();if(0!==r.length){const l=new m7(r[0].startLineNumber,r[r.length-1].endLineNumber),a=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(l);for(const r of a){const l=r.startLineNumber,a=r.endLineNumber,d=r.nestingDepth;if(a-l>0){const r=(d-1)*e,u=d*e,c=this._editor.getBottomForLineNumber(l)-n,h=this._editor.getTopForLineNumber(a)-n,g=this._editor.getBottomForLineNumber(a)-n;if(r>h&&r<=g){o.push(l),s.push(a+1),i=g-u;break}if(u>c&&u<=g&&(o.push(l),s.push(a+1)),o.length===t)break}}}return this._endLineNumbers=s,new l7(o,s,i,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};A7.ID="store.contrib.stickyScrollController",A7=M7=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([T7(1,HL),T7(2,wx),T7(3,ad),T7(4,Qg),T7(5,sW),T7(6,su)],A7);const R7=100;Zu(A7.ID,A7,1),Iu(class extends Eu{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...v(0,"Toggle Editor Sticky Scroll"),mnemonicTitle:_(0,"&&Toggle Editor Sticky Scroll")},category:o7.View,toggled:{condition:Bd.equals("config.editor.stickyScroll.enabled",!0),title:_(0,"Sticky Scroll"),mnemonicTitle:_(0,"&&Sticky Scroll")},menu:[{id:Su.CommandPalette},{id:Su.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Su.StickyScrollContext}]})}async run(e){const t=e.get(pg),n=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",n)}}),Iu(class extends Ku{constructor(){super({id:"editor.action.focusStickyScroll",title:{...v(0,"Focus Sticky Scroll"),mnemonicTitle:_(0,"&&Focus Sticky Scroll")},precondition:Bd.and(Bd.has("config.editor.stickyScroll.enabled"),oc.stickyScrollVisible),menu:[{id:Su.CommandPalette}]})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.focus()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:v(0,"Select previous sticky scroll line"),precondition:oc.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:R7,primary:16}})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.focusPrevious()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:v(0,"Select next sticky scroll line"),precondition:oc.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:R7,primary:18}})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.focusNext()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:v(0,"Go to focused sticky scroll line"),precondition:oc.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:R7,primary:3}})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.goToFocused()}}),Iu(class extends Ku{constructor(){super({id:"editor.action.selectEditor",title:v(0,"Select Editor"),precondition:oc.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:R7,primary:9}})}runEditorCommand(e,t){var n;null===(n=A7.get(t))||void 0===n||n.selectEditor()}});var P7=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},O7=function(e,t){return function(n,i){t(n,i,e)}};class F7{constructor(e,t,n,i,o,s){this.range=e,this.insertText=t,this.filterText=n,this.additionalTextEdits=i,this.command=o,this.completion=s}}let B7=class extends dt{constructor(e,t,n,i,o,s){super(o.disposable),this.model=e,this.line=t,this.word=n,this.completionModel=i,this._suggestMemoryService=s}canBeReused(e,t,n){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===n.startColumn&&this.word.endColumn=0&&n.resolve(It.None)}return t}};B7=P7([O7(5,v4)],B7);let W7=class extends lt{constructor(e,t,n,i){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=n,this._editorService=i,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,n,i){var o;if(n.selectedSuggestionInfo)return;let s;for(const t of this._editorService.listCodeEditors())if(t.getModel()===e){s=t;break}if(!s)return;const r=s.getOption(89);if(H1.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const l=e.tokenization.getLineTokens(t.lineNumber),a=l.getStandardTokenType(l.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("inline"!==H1.valueFor(r,a))return;let d,u,c=e.getWordAtPosition(t);if((null==c?void 0:c.word)||(d=this._getTriggerCharacterInfo(e,t)),!(null==c?void 0:c.word)&&!d)return;if(c||(c=e.getWordUntilPosition(t)),c.endColumn!==t.column)return;const h=e.getValueInRange(new nc(t.lineNumber,1,t.lineNumber,t.column));if(!d&&(null===(o=this._lastResult)||void 0===o?void 0:o.canBeReused(e,t.lineNumber,c))){const e=new L4(h,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),u=this._lastResult}else{const n=await B1(this._languageFeatureService.completionProvider,e,t,new O1(void 0,M4.createSuggestFilter(s).itemKind,null==d?void 0:d.providers),d&&{triggerKind:1,triggerCharacter:d.ch},i);let o;n.needsClipboard&&(o=await this._clipboardService.readText());const r=new D4(n.items,t.column,new L4(h,0),k4.None,s.getOption(118),s.getOption(112),{boostFullMatch:!1,firstMatchCanBeWeak:!1},o);u=new B7(e,t.lineNumber,c,r,n,this._suggestMemoryService)}return this._lastResult=u,u}handleItemDidShow(e,t){t.completion.resolve(It.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var n;const i=e.getValueInRange(nc.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),o=new Set;for(const t of this._languageFeatureService.completionProvider.all(e))(null===(n=t.triggerCharacters)||void 0===n?void 0:n.includes(i))&&o.add(t);if(0!==o.size)return{providers:o,ch:i}}};W7=P7([O7(0,wx),O7(1,fL),O7(2,v4),O7(3,ud)],W7),$H(W7);class V7{constructor(e,t,n,i,o){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=n,this.foreground=i,this.background=o}}const H7=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class z7{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(e){if(null===e)return 0;const t=e.match(H7);if(!t)throw new Error("Illegal value for token color: "+e);e=t[1].toUpperCase();let n=this._color2id.get(e);return n||(n=++this._lastColorId,this._color2id.set(e,n),this._id2color[n]=lh.fromHex("#"+e),n)}getColorMap(){return this._id2color.slice(0)}}class U7{static createFromRawTokenTheme(e,t){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];const t=[];let n=0;for(let i=0,o=e.length;i{const n=function(e,t){return et?1:0}(e.token,t.token);return 0!==n?n:e.index-t.index}));let n=0,i="000000",o="ffffff";for(;e.length>=1&&""===e[0].token;){const t=e.shift();-1!==t.fontStyle&&(n=t.fontStyle),null!==t.foreground&&(i=t.foreground),null!==t.background&&(o=t.background)}const s=new z7;for(const e of t)s.getId(e);const r=s.getId(i),l=s.getId(o),a=new j7(n,r,l),d=new q7(a);for(let t=0,n=e.length;t>>0,this._cache.set(t,n)}return(n|e)>>>0}}const K7=/\b(comment|string|regex|regexp)\b/;class j7{constructor(e,t,n){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=n,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new j7(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,n){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==n&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class q7{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(""===e)return this._mainRule;const t=e.indexOf(".");let n,i;-1===t?(n=e,i=""):(n=e.substring(0,t),i=e.substring(t+1));const o=this._children.get(n);return void 0!==o?o.match(i):this._mainRule}insert(e,t,n,i){if(""===e)return void this._mainRule.acceptOverwrite(t,n,i);const o=e.indexOf(".");let s,r;-1===o?(s=e,r=""):(s=e.substring(0,o),r=e.substring(o+1));let l=this._children.get(s);void 0===l&&(l=new q7(this._mainRule.clone()),this._children.set(s,l)),l.insert(r,t,n,i)}}const $7={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[Gm]:"#FFFFFE",[Zm]:"#000000",[cf]:"#E5EBF1",[Xv]:"#D3D3D3",[ib]:"#939393",[hf]:"#ADD6FF4D"}},G7={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[Gm]:"#1E1E1E",[Zm]:"#D4D4D4",[cf]:"#3A3D41",[Xv]:"#404040",[ib]:"#707070",[hf]:"#ADD6FF26"}},Z7={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[Gm]:"#000000",[Zm]:"#FFFFFF",[Xv]:"#FFFFFF",[ib]:"#FFFFFF"}},Y7={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[Gm]:"#FFFFFF",[Zm]:"#292929",[Xv]:"#292929",[ib]:"#292929"}};class X7{getIcon(e){const t=_z();let n=e.defaults;for(;ka.isThemeIcon(n);){const e=t.getIcon(n.id);if(!e)return;n=e.defaults}return n}}const Q7="vs",J7="vs-dark",eee="hc-black",tee="hc-light",nee=fu.as(Sm),iee=fu.as(Pv);class oee{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const n=t.base;e.length>0?(see(e)?this.id=e:this.id=n+" "+e,this.themeName=e):(this.id=n,this.themeName=n),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,lh.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=ree(this.themeData.base);for(const n in t.colors)e.has(n)||e.set(n,lh.fromHex(t.colors[n]))}this.colors=e}return this.colors}getColor(e,t){return this.getColors().get(e)||(!1!==t?this.getDefault(e):void 0)}getDefault(e){let t=this.defaultColors[e];return t||(t=nee.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case Q7:return Ev.LIGHT;case eee:return Ev.HIGH_CONTRAST_DARK;case tee:return Ev.HIGH_CONTRAST_LIGHT;default:return Ev.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const n=ree(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}const n=this.themeData.colors["editor.foreground"],i=this.themeData.colors["editor.background"];if(n||i){const t={token:""};n&&(t.foreground=n),i&&(t.background=i),e.push(t)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=U7.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,n){const i=this.tokenTheme._match([e].concat(t).join(".")).metadata,o=$p.getForeground(i),s=$p.getFontStyle(i);return{foreground:o,italic:Boolean(1&s),bold:Boolean(2&s),underline:Boolean(4&s),strikethrough:Boolean(8&s)}}}function see(e){return e===Q7||e===J7||e===eee||e===tee}function ree(e){switch(e){case Q7:return $7;case J7:return G7;case eee:return Z7;case tee:return Y7}}function lee(e){const t=ree(e);return new oee(e,t)}$u(class extends zu{constructor(){super({id:"editor.action.toggleHighContrast",label:d0.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const n=e.get($5),i=n.getColorTheme();Iv(i.type)?(n.setTheme(this._originalThemeName||(Mv(i.type)?J7:Q7)),this._originalThemeName=null):(n.setTheme(Mv(i.type)?eee:tee),this._originalThemeName=i.themeName)}});class aee extends Eu{constructor(){super({id:aee.ID,title:v(0,"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const e=!DT.getTabFocusMode();DT.setTabFocusMode(e),Zr(_(0,e?"Pressing Tab will now move focus to the next focusable element":"Pressing Tab will now insert the tab character"))}}aee.ID="editor.action.toggleTabFocusMode",Iu(aee),$u(class extends zu{constructor(){super({id:"editor.action.forceRetokenize",label:_(0,"Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const n=t.getModel();n.tokenization.resetTokenization();const i=new mt;n.tokenization.forceTokenization(n.getLineCount()),i.stop(),console.log(`tokenization took ${i.elapsed()}`)}});var dee=n(8245),uee={};uee.styleTagTransform=Vr(),uee.setAttributes=Or(),uee.insert=Rr().bind(null,"head"),uee.domAPI=Tr(),uee.insertStyleElement=Br(),Ir()(dee.A,uee),dee.A&&dee.A.locals&&dee.A.locals;var cee=n(6065),hee={};hee.styleTagTransform=Vr(),hee.setAttributes=Or(),hee.insert=Rr().bind(null,"head"),hee.domAPI=Tr(),hee.insertStyleElement=Br(),Ir()(cee.A,hee),cee.A&&cee.A.locals&&cee.A.locals;var gee=n(4646),pee={};pee.styleTagTransform=Vr(),pee.setAttributes=Or(),pee.insert=Rr().bind(null,"head"),pee.domAPI=Tr(),pee.insertStyleElement=Br(),Ir()(gee.A,pee),gee.A&&gee.A.locals&&gee.A.locals;let mee=class extends lt{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,n={},i){var o,s;super(),this._link=t,this._enabled=!0,this.el=dr(e,mr("a.monaco-link",{tabIndex:null!==(o=t.tabIndex)&&void 0!==o?o:0,href:t.href},t.label)),this.hoverDelegate=null!==(s=n.hoverDelegate)&&void 0!==s?s:IL("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new US(this.el,"click")),l=this._register(new US(this.el,"keypress")),a=ft.chain(l.event,(e=>e.map((e=>new Ue(e))).filter((e=>3===e.keyCode)))),d=this._register(new US(this.el,kL.Tap)).event;this._register(LL.addTarget(this.el));const u=ft.any(r.event,a,d);this._register(u((e=>{this.enabled&&(rr(e,!0),(null==n?void 0:n.opener)?n.opener(this._link.href):i.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=null!=e?e:"":!this.hover&&e?this.hover=this._register(RL(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};mee=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,rL)],mee);var fee=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},_ee=function(e,t){return function(n,i){t(n,i,e)}};let vee=class extends lt{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(bee))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),null===(t=e.onClose)||void 0===t||t.call(e)}}),this._editor.setBanner(this.banner.element,26)}};vee=fee([_ee(1,ad)],vee);let bee=class extends lt{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(dL,{}),this.element=mr("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){return e.ariaLabel?e.ariaLabel:"string"==typeof e.message?e.message:void 0}getBannerMessage(e){if("string"==typeof e){const t=mr("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){gs(this.element)}show(e){gs(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const n=dr(this.element,mr("div.icon-container"));n.setAttribute("aria-hidden","true"),e.icon&&n.appendChild(mr(`div${ka.asCSSSelector(e.icon)}`));const i=dr(this.element,mr("div.message-container"));if(i.setAttribute("aria-hidden","true"),i.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=dr(this.element,mr("div.message-actions-container")),e.actions)for(const t of e.actions)this._register(this.instantiationService.createInstance(mee,this.messageActionsContainer,{...t,tabIndex:-1},{}));const o=dr(this.element,mr("div.action-container"));this.actionBar=this._register(new iM(o)),this.actionBar.push(this._register(new pd("banner.close","Close Banner",ka.asClassName(Cz),!0,(()=>{"function"==typeof e.onClose&&e.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};bee=fee([_ee(0,ad)],bee);const wee=dd("workspaceTrustManagementService");var Cee=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},yee=function(e,t){return function(n,i){t(n,i,e)}};const See=fz("extensions-warning-message",Sa.warning,_(0,"Icon shown with a warning message in the extensions editor."));let xee=class extends lt{constructor(e,t,n,i){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=n,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;const t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount);let n;if(e.nonBasicAsciiCharacterCount>=t)n={message:_(0,"This document contains many non-basic ASCII unicode characters"),command:new Fee};else if(e.ambiguousCharacterCount>=t)n={message:_(0,"This document contains many ambiguous unicode characters"),command:new Pee};else{if(!(e.invisibleCharacterCount>=t))throw new Error("Unreachable");n={message:_(0,"This document contains many invisible unicode characters"),command:new Oee}}this._bannerController.show({id:"unicodeHighlightBanner",message:n.message,icon:See,actions:[{label:n.command.shortLabel,href:`command:${n.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(i.createInstance(vee,e)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=e.getOption(125),this._register(n.onDidChangeTrust((e=>{this._updateHighlighter()}))),this._register(e.onDidChangeConfiguration((t=>{t.hasChanged(125)&&(this._options=e.getOption(125),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=function(e,t){return{nonBasicASCII:t.nonBasicASCII===PD?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===PD?!e:t.includeComments,includeStrings:t.includeStrings===PD?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every((e=>!1===e)))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map((e=>e.codePointAt(0))),allowedLocales:Object.keys(e.allowedLocales).map((e=>"_os"===e?(new Intl.NumberFormat).resolvedOptions().locale:"_vscode"===e?X:e))};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new kee(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new Lee(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};xee.ID="editor.contrib.unicodeHighlighter",xee=Cee([yee(1,AX),yee(2,wee),yee(3,ad)],xee);let kee=class extends lt{constructor(e,t,n,i){super(),this._editor=e,this._options=t,this._updateState=n,this._editorWorkerService=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new jt((()=>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())return void this._decorations.clear();const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((t=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==e)return;this._updateState(t);const n=[];if(!t.hasMore)for(const e of t.ranges)n.push({range:e,options:Tee.instance.getDecorationFromOptions(this._options)});this._decorations.set(n)}))}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();return jF(t,e)?{reason:Mee(t.getValueInRange(e.range),this._options),inComment:qF(t,e),inString:$F(t,e)}:null}};kee=Cee([yee(3,AX)],kee);class Lee extends lt{constructor(e,t,n){super(),this._editor=e,this._options=t,this._updateState=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new jt((()=>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())return void this._decorations.clear();const e=this._editor.getVisibleRanges(),t=[],n={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const t of e){const e=TV.computeUnicodeHighlights(this._model,this._options,t);for(const t of e.ranges)n.ranges.push(t);n.ambiguousCharacterCount+=n.ambiguousCharacterCount,n.invisibleCharacterCount+=n.invisibleCharacterCount,n.nonBasicAsciiCharacterCount+=n.nonBasicAsciiCharacterCount,n.hasMore=n.hasMore||e.hasMore}if(!n.hasMore)for(const e of n.ranges)t.push({range:e,options:Tee.instance.getDecorationFromOptions(this._options)});this._updateState(n),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),n=t.getValueInRange(e.range);return jF(t,e)?{reason:Mee(n,this._options),inComment:qF(t,e),inString:$F(t,e)}:null}}const Dee=_(0,"Configure Unicode Highlight Options");let Nee=class{constructor(e,t,n){this._editor=e,this._languageService=t,this._openerService=n,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const n=this._editor.getModel(),i=this._editor.getContribution(xee.ID);if(!i)return[];const o=[],s=new Set;let r=300;for(const e of t){const t=i.getDecorationInfo(e);if(!t)continue;const l=n.getValueInRange(e.range).codePointAt(0),a=Iee(l);let d;switch(t.reason.kind){case 0:d=Fi(t.reason.confusableWith)?_(0,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",a,Iee(t.reason.confusableWith.codePointAt(0))):_(0,"The character {0} could be confused with the character {1}, which is more common in source code.",a,Iee(t.reason.confusableWith.codePointAt(0)));break;case 1:d=_(0,"The character {0} is invisible.",a);break;case 2:d=_(0,"The character {0} is not a basic ASCII character.",a)}if(s.has(d))continue;s.add(d);const u={codePoint:l,reason:t.reason,inComment:t.inComment,inString:t.inString},c=_(0,"Adjust settings"),h=`command:${Bee.ID}?${encodeURIComponent(JSON.stringify(u))}`,g=new ed("",!0).appendMarkdown(d).appendText(" ").appendLink(h,c,Dee);o.push(new XG(this,e.range,[g],!1,r++))}return o}renderHoverParts(e,t){return JG(e,t,this._editor,this._languageService,this._openerService)}};function Eee(e){return`U+${e.toString(16).padStart(4,"0")}`}function Iee(e){let t=`\`${Eee(e)}\``;return Zi.isInvisibleCharacter(e)||(t+=` "${function(e){return 96===e?"`` ` ``":"`"+String.fromCodePoint(e)+"`"}(e)}"`),t}function Mee(e,t){return TV.computeUnicodeHighlightReason(e,t)}Nee=Cee([yee(1,Sh),yee(2,rL)],Nee);class Tee{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const n=`${e}${t}`;let i=this.map.get(n);return i||(i=My.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(n,i)),i}}Tee.instance=new Tee;class Aee extends zu{constructor(){super({id:Pee.ID,label:_(0,"Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=_(0,"Disable Highlight In Comments")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(VD,!1,2)}}class Ree extends zu{constructor(){super({id:Pee.ID,label:_(0,"Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=_(0,"Disable Highlight In Strings")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(HD,!1,2)}}class Pee extends zu{constructor(){super({id:Pee.ID,label:_(0,"Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=_(0,"Disable Ambiguous Highlight")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(WD,!1,2)}}Pee.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class Oee extends zu{constructor(){super({id:Oee.ID,label:_(0,"Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=_(0,"Disable Invisible Highlight")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(FD,!1,2)}}Oee.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Fee extends zu{constructor(){super({id:Fee.ID,label:_(0,"Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=_(0,"Disable Non ASCII Highlight")}async run(e,t,n){const i=null==e?void 0:e.get(pg);i&&this.runAction(i)}async runAction(e){await e.updateValue(BD,!1,2)}}Fee.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Bee extends zu{constructor(){super({id:Bee.ID,label:_(0,"Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,n){const{codePoint:i,reason:o,inString:s,inComment:r}=n,l=String.fromCodePoint(i),a=e.get(SL),d=e.get(pg),u=[];if(0===o.kind)for(const e of o.notAmbiguousInLocales)u.push({label:_(0,'Allow unicode characters that are more common in the language "{0}".',e),run:async()=>{Wee(d,[e])}});if(u.push({label:function(e){return Zi.isInvisibleCharacter(e)?_(0,"Exclude {0} (invisible character) from being highlighted",Eee(e)):_(0,"Exclude {0} from being highlighted",`${Eee(e)} "${l}"`)}(i),run:()=>async function(e,t){const n=e.getValue(OD);let i;i="object"==typeof n&&n?n:{};for(const e of t)i[String.fromCodePoint(e)]=!0;await e.updateValue(OD,i,2)}(d,[i])}),r){const e=new Aee;u.push({label:e.label,run:async()=>e.runAction(d)})}else if(s){const e=new Ree;u.push({label:e.label,run:async()=>e.runAction(d)})}if(0===o.kind){const e=new Pee;u.push({label:e.label,run:async()=>e.runAction(d)})}else if(1===o.kind){const e=new Oee;u.push({label:e.label,run:async()=>e.runAction(d)})}else if(2===o.kind){const e=new Fee;u.push({label:e.label,run:async()=>e.runAction(d)})}else!function(e){throw new Error(`Unexpected value: ${e}`)}(o);const c=await a.pick(u,{title:Dee});c&&await c.run()}}async function Wee(e,t){var n;const i=null===(n=e.inspect(zD).user)||void 0===n?void 0:n.value;let o;o="object"==typeof i&&i?Object.assign({},i):{};for(const e of t)o[e]=!0;await e.updateValue(zD,o,2)}Bee.ID="editor.action.unicodeHighlight.showExcludeOptions",$u(Pee),$u(Oee),$u(Fee),$u(Bee),Zu(xee.ID,xee,1),NG.register(Nee);var Vee=function(e,t){return function(n,i){t(n,i,e)}};const Hee="ignoreUnusualLineTerminators";let zee=class extends lt{constructor(e,t,n){super(),this._editor=e,this._dialogService=t,this._codeEditorService=n,this._isPresentingDialog=!1,this._config=this._editor.getOption(126),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(126)&&(this._config=this._editor.getOption(126),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((e=>{e.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators())return;const t=function(e,t){return e.getModelProperty(t.uri,Hee)}(this._codeEditorService,e);if(!0===t)return;if(this._editor.getOption(91))return;if("auto"===this._config)return void e.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let n;try{this._isPresentingDialog=!0,n=await this._dialogService.confirm({title:_(0,"Unusual Line Terminators"),message:_(0,"Detected unusual line terminators"),detail:_(0,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Ka(e.uri)),primaryButton:_(0,"&&Remove Unusual Line Terminators"),cancelButton:_(0,"Ignore")})}finally{this._isPresentingDialog=!1}n.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):function(e,t,n){e.setModelProperty(t.uri,Hee,!0)}(this._codeEditorService,e)}};zee.ID="editor.contrib.unusualLineTerminatorsDetector",zee=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Vee(1,k9),Vee(2,ud)],zee),Zu(zee.ID,zee,1);const Uee="**",Kee="/",jee="[/\\\\]",qee="[^/\\\\]",$ee=/\//g;function Gee(e,t){switch(e){case 0:return"";case 1:return`${qee}*?`;default:return`(?:${jee}|${qee}+${jee}${t?`|${jee}${qee}+`:""})*?`}}function Zee(e,t){if(!e)return[];const n=[];let i=!1,o=!1,s="";for(const r of e){switch(r){case t:if(!i&&!o){n.push(s),s="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":o=!0;break;case"]":o=!1}s+=r}return s&&n.push(s),n}function Yee(e){if(!e)return"";let t="";const n=Zee(e,Kee);if(n.every((e=>e===Uee)))t=".*";else{let e=!1;n.forEach(((i,o)=>{if(i===Uee){if(e)return;t+=Gee(2,o===n.length-1)}else{let e=!1,s="",r=!1,l="";for(const n of i)if("}"!==n&&e)s+=n;else if(!r||"]"===n&&l)switch(n){case"{":e=!0;continue;case"[":r=!0;continue;case"}":{const n=`(?:${Zee(s,",").map((e=>Yee(e))).join("|")})`;t+=n,e=!1,s="";break}case"]":t+="["+l+"]",r=!1,l="";break;case"?":t+=qee;continue;case"*":t+=Gee(1);continue;default:t+=ri(n)}else{let e;e="-"===n?n:"^"!==n&&"!"!==n||l?n===Kee?"":ri(n):"^",l+=e}orte(e,t))).filter((e=>e!==ste)),e),i=n.length;if(!i)return ste;if(1===i)return n[0];const o=function(t,i){for(let o=0,s=n.length;o!!e.allBasenames));s&&(o.allBasenames=s.allBasenames);const r=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return r.length&&(o.allPaths=r),o}(n,t):(o=tte.exec(lte(n,t)))?ate(o[1].substr(1),n,!0):(o=nte.exec(lte(n,t)))?ate(o[1],n,!1):function(e){try{const t=new RegExp(`^${Yee(e)}$`);return function(n){return t.lastIndex=0,"string"==typeof n&&t.test(n)?e:null}}catch(e){return ste}}(n),ite.set(i,s)),function(e,t){if("string"==typeof t)return e;const n=function(n,i){return Fa(n,t.base,!K)?e(ai(n.substr(t.base.length),So),i):null};return n.allBasenames=e.allBasenames,n.allPaths=e.allPaths,n.basenames=e.basenames,n.patterns=e.patterns,n}(s,e)}function lte(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function ate(e,t,n){const i=So===fo.sep,o=i?e:e.replace($ee,So),s=So+o,r=fo.sep+e;let l;return l=n?function(n,l){return"string"!=typeof n||n!==o&&!n.endsWith(s)&&(i||n!==e&&!n.endsWith(r))?null:t}:function(n,s){return"string"!=typeof n||n!==o&&(i||n!==e)?null:t},l.allPaths=[(n?"*/":"./")+e],l}function dte(e,t={}){if(!e)return ote;if("string"==typeof e||function(e){const t=e;return!!t&&("string"==typeof t.base&&"string"==typeof t.pattern)}(e)){const n=rte(e,t);if(n===ste)return ote;const i=function(e,t){return!!n(e,t)};return n.allBasenames&&(i.allBasenames=n.allBasenames),n.allPaths&&(i.allPaths=n.allPaths),i}return function(e,t){const n=ute(Object.getOwnPropertyNames(e).map((n=>function(e,t,n){if(!1===t)return ste;const i=rte(e,n);if(i===ste)return ste;if("boolean"==typeof t)return i;if(t){const n=t.when;if("string"==typeof n){const t=(t,o,s,r)=>{if(!r||!i(t,o))return null;const l=r(n.replace("$(basename)",(()=>s)));return Rt(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return i}(n,e[n],t))).filter((e=>e!==ste))),i=n.length;if(!i)return ste;if(!n.some((e=>!!e.requiresSiblings))){if(1===i)return n[0];const e=function(e,t){let i;for(let o=0,s=n.length;o{for(const e of i){const t=await e;if("string"==typeof t)return t}return null})():null},t=n.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const o=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return o.length&&(e.allPaths=o),e}const o=function(e,t,i){let o,s;for(let r=0,l=n.length;r{for(const e of s){const t=await e;if("string"==typeof t)return t}return null})():null},s=n.find((e=>!!e.allBasenames));s&&(o.allBasenames=s.allBasenames);const r=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return r.length&&(o.allPaths=r),o}(e,t)}function ute(e,t){const n=e.filter((e=>!!e.basenames));if(n.length<2)return e;const i=n.reduce(((e,t)=>{const n=t.basenames;return n?e.concat(n):e}),[]);let o;if(t){o=[];for(let e=0,n=i.length;e{const n=t.patterns;return n?e.concat(n):e}),[]);const s=function(e,t){if("string"!=typeof e)return null;if(!t){let n;for(n=e.length;n>0;n--){const t=e.charCodeAt(n-1);if(47===t||92===t)break}t=e.substr(n)}const n=i.indexOf(t);return-1!==n?o[n]:null};s.basenames=i,s.patterns=o,s.allBasenames=i;const r=e.filter((e=>!e.basenames));return r.push(s),r}function cte(e,t,n,i,o,s){if(Array.isArray(e)){let r=0;for(const l of e){const e=cte(l,t,n,i,o,s);if(10===e)return e;e>r&&(r=e)}return r}if("string"==typeof e)return i?"*"===e?5:e===n?10:0:0;if(e){const{language:a,pattern:d,scheme:u,hasAccessToAllModels:c,notebookType:h}=e;if(!i&&!c)return 0;h&&o&&(t=o);let g=0;if(u)if(u===t.scheme)g=10;else{if("*"!==u)return 0;g=5}if(a)if(a===n)g=10;else{if("*"!==a)return 0;g=Math.max(g,5)}if(h)if(h===s)g=10;else{if("*"!==h||void 0===s)return 0;g=Math.max(g,5)}if(d){let e;if(e="string"==typeof d?d:{...d,base:_o(d.base)},e!==t.fsPath&&(r=e,l=t.fsPath,!r||"string"!=typeof l||!dte(r)(l,void 0,undefined)))return 0;g=10}return g}return 0;var r,l}var hte,gte,pte=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},mte=function(e,t){return function(n,i){t(n,i,e)}};const fte=new ou("hasWordHighlights",!1);function _te(e,t,n,i){return zt(e.ordered(t).map((e=>()=>Promise.resolve(e.provideDocumentHighlights(t,n,i)).then(void 0,ke))),Wc).then((e=>{if(e){const n=new tl;return n.set(t.uri,e),n}return new tl}))}class vte{constructor(e,t,n){this._model=e,this._selection=t,this._wordSeparators=n,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=Pt((e=>this._compute(this._model,this._selection,this._wordSeparators,e)))),this._result}_getCurrentWordRange(e,t){const n=e.getWordAtPosition(t.getPosition());return n?new nc(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null}isValid(e,t,n){const i=t.startLineNumber,o=t.startColumn,s=t.endColumn,r=this._getCurrentWordRange(e,t);let l=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let e=0,t=n.length;!l&&e=s&&(l=!0)}return l}cancel(){this.result.cancel()}}class bte extends vte{constructor(e,t,n,i){super(e,t,n),this._providers=i}_compute(e,t,n,i){return _te(this._providers,e,t.getPosition(),i).then((e=>e||new tl))}}class wte extends vte{constructor(e,t,n,i,o){super(e,t,n),this._providers=i,this._otherModels=o}_compute(e,t,n,i){return function(e,t,n,i,o,s){return zt(e.ordered(t).map((e=>()=>{const i=s.filter((e=>Nc(e))).filter((t=>cte(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(e.provideMultiDocumentHighlights(t,n,i,o)).then(void 0,ke)})),(e=>e instanceof tl&&e.size>0))}(this._providers,e,t.getPosition(),0,i,this._otherModels).then((e=>e||new tl))}}class Cte extends vte{constructor(e,t,n,i,o){super(e,t,i),this._otherModels=o,this._selectionIsEmpty=t.isEmpty(),this._word=n}_compute(e,t,n,i){return Vt(250,i).then((()=>{const i=new tl;let o;if(o=this._word?this._word:e.getWordAtPosition(t.getPosition()),!o)return new tl;const s=[e,...this._otherModels];for(const e of s){if(e.isDisposed())continue;const t=e.findMatches(o.word,!0,!1,!0,n,!1).map((e=>({range:e.range,kind:CC.Text})));t&&i.set(e.uri,t)}return i}))}isValid(e,t,n){const i=t.isEmpty();return this._selectionIsEmpty===i&&super.isValid(e,t,n)}}ju("_executeDocumentHighlights",(async(e,t,n)=>{const i=e.get(wx),o=await _te(i.documentHighlightProvider,t,n,It.None);return null==o?void 0:o.get(t.uri)}));let yte=hte=class{constructor(e,t,n,i,o){this.toUnhook=new rt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new tl,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this.multiDocumentProviders=n,this.codeEditorService=o,this._hasWordHighlights=fte.bindTo(i),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition((e=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this._onPositionChanged(e)}))),this.toUnhook.add(e.onDidFocusEditorText((e=>{"off"!==this.occurrencesHighlight&&(this.workerRequest||this._run())}))),this.toUnhook.add(e.onDidChangeModelContent((e=>{this._stopAll()}))),this.toUnhook.add(e.onDidChangeModel((e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():hte.query&&this._run()}))),this.toUnhook.add(e.onDidChangeConfiguration((e=>{const t=this.editor.getOption(81);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,hte.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(nc.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),t=e.findIndex((e=>e.containsPosition(this.editor.getPosition()))),n=(t+1)%e.length,i=e[n];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(i.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(i);const t=this._getWord();t&&Zr(`${this.editor.getModel().getLineContent(i.startLineNumber)}, ${n+1} of ${e.length} for '${t.word}'`)}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),t=e.findIndex((e=>e.containsPosition(this.editor.getPosition()))),n=(t-1+e.length)%e.length,i=e[n];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(i.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(i);const t=this._getWord();t&&Zr(`${this.editor.getModel().getLineContent(i.startLineNumber)}, ${n+1} of ${e.length} for '${t.word}'`)}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=hte.storedDecorations.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),hte.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const e=this.codeEditorService.listCodeEditors(),t=[];for(const n of e){if(!n.hasModel())continue;const e=hte.storedDecorations.get(n.getModel().uri);if(!e)continue;n.removeDecorations(e),t.push(n.getModel().uri);const i=Ste.get(n);(null==i?void 0:i.wordHighlighter)&&i.wordHighlighter.decorations.length>0&&(i.wordHighlighter.decorations.clear(),i.wordHighlighter.workerRequest=null,i.wordHighlighter._hasWordHighlights.set(!1))}for(const e of t)hte.storedDecorations.delete(e)}_stopSingular(){var e,t,n,i;this._removeSingleDecorations(),this.editor.hasTextFocus()&&((null===(e=this.editor.getModel())||void 0===e?void 0:e.uri.scheme)!==Ho.vscodeNotebookCell&&(null===(n=null===(t=hte.query)||void 0===t?void 0:t.modelInfo)||void 0===n?void 0:n.model.uri.scheme)!==Ho.vscodeNotebookCell?(hte.query=null,this._run()):(null===(i=hte.query)||void 0===i?void 0:i.modelInfo)&&(hte.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;"off"===this.occurrencesHighlight||3!==e.reason&&(null===(t=this.editor.getModel())||void 0===t?void 0:t.uri.scheme)!==Ho.vscodeNotebookCell?this._stopAll():this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,n=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:n})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Ho.vscodeNotebookCell){const t=[],n=this.codeEditorService.listCodeEditors();for(const i of n){const n=i.getModel();n&&n!==e&&n.uri.scheme===Ho.vscodeNotebookCell&&t.push(n)}return t}const t=[],n=this.codeEditorService.listCodeEditors();for(const i of n){if(!ZU(i))continue;const n=i.getModel();n&&e===n.modified&&t.push(n.modified)}if(t.length)return t;if("singleFile"===this.occurrencesHighlight)return[];for(const i of n){const n=i.getModel();n&&n!==e&&t.push(n)}return t}_run(){var e;let t;if(this.editor.hasTextFocus()){const e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber)return hte.query=null,void this._stopAll();const n=e.startColumn,i=e.endColumn,o=this._getWord();if(!o||o.startColumn>n||o.endColumn{t===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations())}),xe)}}computeWithModel(e,t,n,i){return i.length?function(e,t,n,i,o,s){return e.has(t)?new wte(t,n,o,e,s):new Cte(t,n,i,o,s)}(this.multiDocumentProviders,e,t,n,this.editor.getOption(131),i):function(e,t,n,i,o){return e.has(t)?new bte(t,n,o,e):new Cte(t,n,i,o,[])}(this.providers,e,t,n,this.editor.getOption(131))}_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 e,t,n;this.renderDecorationsTimer=-1;const i=this.codeEditorService.listCodeEditors();for(const s of i){const i=Ste.get(s);if(!i)continue;const r=[],l=null===(e=s.getModel())||void 0===e?void 0:e.uri;if(l&&this.workerRequestValue.has(l)){const e=hte.storedDecorations.get(l),a=this.workerRequestValue.get(l);if(a)for(const e of a)e.range&&r.push({range:e.range,options:(o=e.kind,o===CC.Write?H6:o===CC.Text?z6:j6)});let d=[];s.changeDecorations((t=>{d=t.deltaDecorations(null!=e?e:[],r)})),hte.storedDecorations=hte.storedDecorations.set(l,d),r.length>0&&(null===(t=i.wordHighlighter)||void 0===t||t.decorations.set(r),null===(n=i.wordHighlighter)||void 0===n||n._hasWordHighlights.set(!0))}}var o}dispose(){this._stopSingular(),this.toUnhook.dispose()}};yte.storedDecorations=new tl,yte.query=null,yte=hte=pte([mte(4,ud)],yte);let Ste=gte=class extends lt{static get(e){return e.getContribution(gte.ID)}constructor(e,t,n,i){super(),this._wordHighlighter=null;const o=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new yte(e,n.documentHighlightProvider,n.multiDocumentHighlightProvider,t,i))};this._register(e.onDidChangeModel((e=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),o()}))),o()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){var e;null===(e=this._wordHighlighter)||void 0===e||e.moveNext()}moveBack(){var e;null===(e=this._wordHighlighter)||void 0===e||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Ste.ID="editor.contrib.wordHighlighter",Ste=gte=pte([mte(1,su),mte(2,wx),mte(3,ud)],Ste);class xte extends zu{constructor(e,t){super(t),this._isNext=e}run(e,t){const n=Ste.get(t);n&&(this._isNext?n.moveNext():n.moveBack())}}Zu(Ste.ID,Ste,0),$u(class extends xte{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:_(0,"Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:fte,kbOpts:{kbExpr:oc.editorTextFocus,primary:65,weight:100}})}}),$u(class extends xte{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:_(0,"Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:fte,kbOpts:{kbExpr:oc.editorTextFocus,primary:1089,weight:100}})}}),$u(class extends zu{constructor(){super({id:"editor.action.wordHighlight.trigger",label:_(0,"Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:fte.toNegated(),kbOpts:{kbExpr:oc.editorTextFocus,primary:0,weight:100}})}run(e,t,n){const i=Ste.get(t);i&&i.restoreViewState(!0)}});class kte extends Hu{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){if(!t.hasModel())return;const i=Gw(t.getOption(131),t.getOption(130)),o=t.getModel(),s=t.getSelections().map((e=>{const t=new cd(e.positionLineNumber,e.positionColumn),n=this._move(i,o,t,this._wordNavigationType);return this._moveTo(e,n,this._inSelectionMode)}));if(o.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,s.map((e=>jy.fromModelSelection(e)))),1===s.length){const e=new cd(s[0].positionLineNumber,s[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,n){return n?new ic(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new ic(t.lineNumber,t.column,t.lineNumber,t.column)}}class Lte extends kte{_move(e,t,n,i){return lS.moveWordLeft(e,t,n,i)}}class Dte extends kte{_move(e,t,n,i){return lS.moveWordRight(e,t,n,i)}}class Nte extends Hu{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){const i=e.get(Qg);if(!t.hasModel())return;const o=Gw(t.getOption(131),t.getOption(130)),s=t.getModel(),r=t.getSelections(),l=t.getOption(6),a=t.getOption(11),d=i.getLanguageConfiguration(s.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),c=r.map((e=>{const n=this._delete({wordSeparators:o,model:s,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:l,autoClosingQuotes:a,autoClosingPairs:d,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Qy(n,"")}));t.pushUndoStop(),t.executeCommands(this.id,c),t.pushUndoStop()}}class Ete extends Nte{_delete(e,t){return lS.deleteWordLeft(e,t)||new nc(1,1,1,1)}}class Ite extends Nte{_delete(e,t){const n=lS.deleteWordRight(e,t);if(n)return n;const i=e.model.getLineCount(),o=e.model.getLineMaxColumn(i);return new nc(i,o,i,o)}}qu(new class extends Lte{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),qu(new class extends Lte{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Bd.and(oc.textInputFocus,null===(e=Bd.and($S,$j))||void 0===e?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),qu(new class extends Lte{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Bd.and(oc.textInputFocus,null===(e=Bd.and($S,$j))||void 0===e?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),qu(new class extends Dte{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Bd.and(oc.textInputFocus,null===(e=Bd.and($S,$j))||void 0===e?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),qu(new class extends Dte{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Bd.and(oc.textInputFocus,null===(e=Bd.and($S,$j))||void 0===e?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,n,i){return super._move(Gw($D.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,i)}}),qu(new class extends Lte{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,n,i){return super._move(Gw($D.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,i)}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,n,i){return super._move(Gw($D.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,i)}}),qu(new class extends Dte{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,n,i){return super._move(Gw($D.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,i)}}),qu(new class extends Ete{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:oc.writable})}}),qu(new class extends Ete{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:oc.writable})}}),qu(new class extends Ete{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),qu(new class extends Ite{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:oc.writable})}}),qu(new class extends Ite{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:oc.writable})}}),qu(new class extends Ite{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),$u(class extends zu{constructor(){super({id:"deleteInsideWord",precondition:oc.writable,label:_(0,"Delete Word"),alias:"Delete Word"})}run(e,t,n){if(!t.hasModel())return;const i=Gw(t.getOption(131),t.getOption(130)),o=t.getModel(),s=t.getSelections().map((e=>{const t=lS.deleteInsideWord(i,o,e);return new Qy(t,"")}));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}});class Mte extends kte{_move(e,t,n,i){return aS.moveWordPartLeft(e,t,n)}}Cd.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft"),Cd.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class Tte extends kte{_move(e,t,n,i){return aS.moveWordPartRight(e,t,n)}}qu(new class extends Nte{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){return aS.deleteWordPartLeft(e)||new nc(1,1,1,1)}}),qu(new class extends Nte{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:oc.writable,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const n=aS.deleteWordPartRight(e);if(n)return n;const i=e.model.getLineCount(),o=e.model.getLineMaxColumn(i);return new nc(i,o,i,o)}}),qu(new class extends Mte{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),qu(new class extends Mte{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),qu(new class extends Tte{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),qu(new class extends Tte{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:oc.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});var Ate=n(3614),Rte={};Rte.styleTagTransform=Vr(),Rte.setAttributes=Or(),Rte.insert=Rr().bind(null,"head"),Rte.domAPI=Tr(),Rte.insertStyleElement=Br(),Ir()(Ate.A,Rte),Ate.A&&Ate.A.locals&&Ate.A.locals;class Pte extends jH{constructor(e,t,n){super(e,n.keepIdleModels||!1,n.label,t),this._foreignModuleId=n.moduleId,this._foreignModuleCreateData=n.createData||null,this._foreignModuleHost=n.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||"function"!=typeof this._foreignModuleHost[e])return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then((e=>{const t=this._foreignModuleHost?vc(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then((t=>{this._foreignModuleCreateData=null;const n=(t,n)=>e.fmr(t,n),i=(e,t)=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},o={};for(const e of t)o[e]=i(e,n);return o}))}))),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then((e=>this.getProxy()))}}function Ote(e){return"string"==typeof e}function Fte(e){return!Ote(e)}function Bte(e){return!e}function Wte(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Vte(e){return e.replace(/[&<>'"_]/g,"-")}function Hte(e,t){return new Error(`${e.languageId}: ${t}`)}function zte(e,t,n,i,o){let s=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(t,r,l,a,d,u,c,h,g){return Bte(l)?Bte(a)?!Bte(d)&&d0;){const t=e.tokenizer[n];if(t)return t;const i=n.lastIndexOf(".");n=i<0?null:n.substr(0,i)}return null}var Kte;class jte{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new qte(e,t);let n=qte.getStackElementId(e);n.length>0&&(n+="|"),n+=t;let i=this._entries[n];return i||(i=new qte(e,t),this._entries[n]=i,i)}}jte._INSTANCE=new jte(5);class qte{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t}equals(e){return qte._equals(this,e)}push(e){return jte.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return jte.create(this.parent,e)}}class $te{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new $te(this.languageId,this.state)}}class Gte{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(null!==t)return new Zte(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new Zte(e,t);const n=qte.getStackElementId(e);let i=this._entries[n];return i||(i=new Zte(e,null),this._entries[n]=i,i)}}Gte._INSTANCE=new Gte(5);class Zte{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:Gte.create(this.stack,this.embeddedLanguageData)}equals(e){return e instanceof Zte&&!!this.stack.equals(e.stack)&&(null===this.embeddedLanguageData&&null===e.embeddedLanguageData||null!==this.embeddedLanguageData&&null!==e.embeddedLanguageData&&this.embeddedLanguageData.equals(e.embeddedLanguageData))}}class Yte{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new pC(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,i){const o=n.languageId,s=n.state,r=IC.get(o);if(!r)return this.enterLanguage(o),this.emit(i,""),s;const l=r.tokenize(e,t,s);if(0!==i)for(const e of l.tokens)this._tokens.push(new pC(e.offset+i,e.type,e.language));else this._tokens=this._tokens.concat(l.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,l.endState}finalize(e){return new mC(this._tokens,e)}}class Xte{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const n=1024|this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){const i=null!==e?e.length:0,o=t.length,s=null!==n?n.length:0;if(0===i&&0===o&&0===s)return new Uint32Array(0);if(0===i&&0===o)return n;if(0===o&&0===s)return e;const r=new Uint32Array(i+o+s);null!==e&&r.set(e);for(let e=0;e{if(s)return;let t=!1;for(let n=0,i=e.changedLanguages.length;n{e.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const n=IC.get(t);if(n){if(n instanceof Kte){const t=n.getLoadStatus();!1===t.loaded&&e.push(t.promise)}}else IC.isResolved(t)||e.push(IC.getOrCreate(t))}return 0===e.length?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then((e=>{}))}}getInitialState(){const e=jte.create(null,this._lexer.start);return Gte.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return AC(this._languageId,n);const i=new Yte,o=this._tokenize(e,t,n,i);return i.finalize(o)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return RC(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);const i=new Xte(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),o=this._tokenize(e,t,n,i);return i.finalize(o)}_tokenize(e,t,n,i){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,i):this._myTokenize(e,t,n,0,i)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Ute(this._lexer,t.stack.state),!n))throw Hte(this._lexer,"tokenizer state is not defined: "+t.stack.state);let i=-1,o=!1;for(const s of n){if(!Fte(s.action)||"@pop"!==s.action.nextEmbedded)continue;o=!0;let n=s.resolveRegex(t.stack.state);const r=n.source;if("^(?:"===r.substr(0,4)&&")"===r.substr(r.length-1,1)){const e=(n.ignoreCase?"i":"")+(n.unicode?"u":"");n=new RegExp(r.substr(4,r.length-5),e)}const l=e.search(n);-1===l||0!==l&&s.matchOnlyAtLineStart||(-1===i||l0&&o.nestedLanguageTokenize(r,!1,n.embeddedLanguageData,i);const l=e.substring(s);return this._myTokenize(l,t,n,i+s,o)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,n,i,o){o.enterLanguage(this._languageId);const s=e.length,r=t&&this._lexer.includeLF?e+"\n":e,l=r.length;let a=n.embeddedLanguageData,d=n.stack,u=0,c=null,h=!0;for(;h||u=l)break;h=!1;let e=this._lexer.tokenizer[_];if(!e&&(e=Ute(this._lexer,_),!e))throw Hte(this._lexer,"tokenizer state is not defined: "+_);const t=r.substr(u);for(const n of e)if((0===u||!n.matchOnlyAtLineStart)&&(v=t.match(n.resolveRegex(_)),v)){b=v[0],w=n.action;break}}if(v||(v=[""],b=""),w||(u=this._lexer.maxStack)throw Hte(this._lexer,"maximum tokenizer stack size reached: ["+d.state+","+d.parent.state+",...]");d=d.push(_)}else if("@pop"===w.next){if(d.depth<=1)throw Hte(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(C));d=d.pop()}else if("@popall"===w.next)d=d.popall();else{let e=zte(this._lexer,w.next,b,v,_);if("@"===e[0]&&(e=e.substr(1)),!Ute(this._lexer,e))throw Hte(this._lexer,"trying to set a next state '"+e+"' that is undefined in rule: "+this._safeRuleName(C));d=d.push(e)}}w.log&&"string"==typeof w.log&&(g=this._lexer,p=this._lexer.languageId+": "+zte(this._lexer,w.log,b,v,_),console.log(`${g.languageId}: ${p}`))}if(null===S)throw Hte(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(C));const x=n=>{const s=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,r=this._getNestedEmbeddedLanguageData(s);if(u0)throw Hte(this._lexer,"groups cannot be nested: "+this._safeRuleName(C));if(v.length!==S.length+1)throw Hte(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(C));let e=0;for(let t=1;t=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(4,pg)],Qte);const ene=Yk("standaloneColorizer",{createHTML:e=>e});class tne{static colorizeElement(e,t,n,i){const o=(i=i||{}).theme||"vs",s=i.mimeType||n.getAttribute("lang")||n.getAttribute("data-lang");if(!s)return console.error("Mode not detected"),Promise.resolve();const r=t.getLanguageIdByMimeType(s)||s;e.setTheme(o);const l=n.firstChild?n.firstChild.nodeValue:"";return n.className+=" "+o,this.colorize(t,l||"",r,i).then((e=>{var t;const i=null!==(t=null==ene?void 0:ene.createHTML(e))&&void 0!==t?t:e;n.innerHTML=i}),(e=>console.error(e)))}static async colorize(e,t,n,i){const o=e.languageIdCodec;let s=4;i&&"number"==typeof i.tabSize&&(s=i.tabSize),Ui(t)&&(t=t.substr(1));const r=ci(t);if(!e.isRegisteredLanguageId(n))return nne(r,s,o);const l=await IC.getOrCreate(n);return l?function(e,t,n,i){return new Promise(((o,s)=>{const r=()=>{const l=function(e,t,n,i){let o=[],s=n.getInitialState();for(let r=0,l=e.length;r"),s=a.endState}return o.join("")}(e,t,n,i);if(n instanceof Qte){const e=n.getLoadStatus();if(!1===e.loaded)return void e.promise.then(r,s)}o(l)};r()}))}(r,s,l,o):nne(r,s,o)}static colorizeLine(e,t,n,i,o=4){const s=bP.isBasicASCII(e,t),r=bP.containsRTL(e,s,n);return fA(new uA(!1,!0,e,!1,s,r,0,i,[],o,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,n=4){const i=e.getLineContent(t);e.tokenization.forceTokenization(t);const o=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(i,e.mightContainNonBasicASCII(),e.mightContainRTL(),o,n)}}function nne(e,t,n){let i=[];const o=new Uint32Array(2);o[0]=0,o[1]=33587200;for(let s=0,r=e.length;s")}return i.join("")}let ine=class extends lt{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new Ct),this._onCodeEditorAdd=this._register(new Ct),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new Ct),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new Ct),this._onDiffEditorAdd=this._register(new Ct),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new Ct),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new gt,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map((e=>this._codeEditors[e]))}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map((e=>this._diffEditors[e]))}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const n of t){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach((t=>t.removeDecorationsByType(e)))))}setModelProperty(e,t,n){const i=e.toString();let o;this._modelProperties.has(i)?o=this._modelProperties.get(i):(o=new Map,this._modelProperties.set(i,o)),o.set(t,n)}getModelProperty(e,t){const n=e.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(t)}async openCodeEditor(e,t,n){for(const i of this._codeEditorOpenHandlers){const o=await i(e,t,n);if(null!==o)return o}return null}registerCodeEditorOpenHandler(e){return st(this._codeEditorOpenHandlers.unshift(e))}};ine=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,Tv)],ine);var one=function(e,t){return function(n,i){t(n,i,e)}};let sne=class extends ine{constructor(e,t){super(t),this._register(this.onCodeEditorAdd((()=>this._checkContextKey()))),this._register(this.onCodeEditorRemove((()=>this._checkContextKey()))),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler((async(e,t,n)=>t?this.doOpenEditor(t,e):null)))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const n=t.resource.scheme;if(n===Ho.http||n===Ho.https)return br(t.resource.toString()),e}return null}const n=t.options?t.options.selection:null;if(n)if("number"==typeof n.endLineNumber&&"number"==typeof n.endColumn)e.setSelection(n),e.revealRangeInCenter(n,1);else{const t={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}return e}findModel(e,t){const n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n}};sne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([one(0,su),one(1,Tv)],sne),yg(ud,sne,0);const rne=dd("layoutService");var lne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},ane=function(e,t){return function(n,i){t(n,i,e)}};let dne=class{get mainContainer(){var e,t;return null!==(t=null===(e=Hc(this._codeEditorService.listCodeEditors()))||void 0===e?void 0:e.getContainerDomNode())&&void 0!==t?t:o.document.body}get activeContainer(){var e,t;const n=null!==(e=this._codeEditorService.getFocusedCodeEditor())&&void 0!==e?e:this._codeEditorService.getActiveCodeEditor();return null!==(t=null==n?void 0:n.getContainerDomNode())&&void 0!==t?t:this.mainContainer}get mainContainerDimension(){return ks(this.mainContainer)}get activeContainerDimension(){return ks(this.activeContainer)}get containers(){return Oc(this._codeEditorService.listCodeEditors().map((e=>e.getContainerDomNode())))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){var e;null===(e=this._codeEditorService.getFocusedCodeEditor())||void 0===e||e.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=ft.None,this.onDidLayoutActiveContainer=ft.None,this.onDidLayoutContainer=ft.None,this.onDidChangeActiveContainer=ft.None,this.onDidAddContainer=ft.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};dne=lne([ane(0,ud)],dne);let une=class extends dne{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};une=lne([ane(1,ud)],une),yg(rne,dne,1);var cne=function(e,t){return function(n,i){t(n,i,e)}};function hne(e){return e.scheme===Ho.file?e.fsPath:e.path}let gne=0;class pne{constructor(e,t,n,i,o,s,r){this.id=++gne,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=n,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=i,this.groupOrder=o,this.sourceId=s,this.sourceOrder=r,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class mne{constructor(e,t){this.resourceLabel=e,this.reason=t}}class fne{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,n]of this.elements)(0===n.reason?e:t).push(n.resourceLabel);const n=[];return e.length>0&&n.push(_(0,"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&n.push(_(0,"The following files have been modified in an incompatible way: {0}.",t.join(", "))),n.join("\n")}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class _ne{constructor(e,t,n,i,o,s,r){this.id=++gne,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=n,this.groupId=i,this.groupOrder=o,this.sourceId=s,this.sourceOrder=r,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(e,t,n){this.removedResources||(this.removedResources=new fne),this.removedResources.has(t)||this.removedResources.set(t,new mne(e,n))}setValid(e,t,n){n?this.invalidatedResources&&(this.invalidatedResources.delete(t),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new fne),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new mne(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class vne{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){1===e.type?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const n of this._past)t(n.actual)&&this._setElementValidFlag(n,e);for(const n of this._future)t(n.actual)&&this._setElementValidFlag(n,e)}pushElement(e){for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let e=0,n=this._past.length;e=0;e--)t.push(this._future[e].id);return new hy(e,t)}restoreSnapshot(e){const t=e.elements.length;let n=!0,i=0,o=-1;for(let s=0,r=this._past.length;s=t||r.id!==e.elements[i])&&(n=!1,o=0),n||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}let s=-1;for(let o=this._future.length-1;o>=0;o--,i++){const r=this._future[o];n&&(i>=t||r.id!==e.elements[i])&&(n=!1,s=o),n||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}-1!==o&&(this._past=this._past.slice(0,o)),-1!==s&&(this._future=this._future.slice(s+1)),this.versionId++}getElements(){const e=[],t=[];for(const t of this._past)e.push(t.actual);for(const e of this._future)t.push(e.actual);return{past:e,future:t}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let n=this._past.length-1;n>=0;n--)if(this._past[n]===e){t.has(this.strResource)?this._past[n]=t.get(this.strResource):this._past.splice(n,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let n=this._future.length-1;n>=0;n--)if(this._future[n]===e){t.has(this.strResource)?this._future[n]=t.get(this.strResource):this._future.splice(n,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class bne{constructor(e){this.editStacks=e,this._versionIds=[];for(let e=0,t=this.editStacks.length;et.sourceOrder)&&(t=s,n=i)}return[t,n]}canUndo(e){if(e instanceof py){const[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}const t=this.getUriComparisonKey(e);return!!this._editStacks.has(t)&&this._editStacks.get(t).hasPastElements()}_onError(e,t){xe(e);for(const e of t.strResources)this.removeElements(e);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,n,i,o){const s=this._acquireLocks(n);let r;try{r=t()}catch(t){return s(),i.dispose(),this._onError(t,e)}return r?r.then((()=>(s(),i.dispose(),o())),(t=>(s(),i.dispose(),this._onError(t,e)))):(s(),i.dispose(),o())}async _invokeWorkspacePrepare(e){if(void 0===e.actual.prepareUndoRedo)return lt.None;const t=e.actual.prepareUndoRedo();return void 0===t?lt.None:t}_invokeResourcePrepare(e,t){if(1!==e.actual.type||void 0===e.actual.prepareUndoRedo)return t(lt.None);const n=e.actual.prepareUndoRedo();return n?nt(n)?t(n):n.then((e=>t(e))):t(lt.None)}_getAffectedEditStacks(e){const t=[];for(const n of e.strResources)t.push(this._editStacks.get(n)||wne);return new bne(t)}_tryToSplitAndUndo(e,t,n,i){if(t.canSplit())return this._splitPastWorkspaceElement(t,n),this._notificationService.warn(i),new yne(this._undo(e,0,!0));for(const e of t.strResources)this.removeElements(e);return this._notificationService.warn(i),new yne}_checkWorkspaceUndo(e,t,n,i){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,_(0,"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(i&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,_(0,"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const o=[];for(const e of n.editStacks)e.getClosestPastElement()!==t&&o.push(e.resourceLabel);if(o.length>0)return this._tryToSplitAndUndo(e,t,null,_(0,"Could not undo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const s=[];for(const e of n.editStacks)e.locked&&s.push(e.resourceLabel);return s.length>0?this._tryToSplitAndUndo(e,t,null,_(0,"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,s.join(", "))):n.isValid()?null:this._tryToSplitAndUndo(e,t,null,_(0,"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,n){const i=this._getAffectedEditStacks(t),o=this._checkWorkspaceUndo(e,t,i,!1);return o?o.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,i,n)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const n=t.getClosestPastElement();if(n){if(n===e){const n=t.getSecondClosestPastElement();if(n&&n.groupId===e.groupId)return!0}if(n.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,n,i){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let o;!function(e){e[e.All=0]="All",e[e.This=1]="This",e[e.Cancel=2]="Cancel"}(o||(o={}));const{result:s}=await this._dialogService.prompt({type:eN.Info,message:_(0,"Would you like to undo '{0}' across all files?",t.label),buttons:[{label:_(0,"&&Undo in {0} Files",n.editStacks.length),run:()=>o.All},{label:_(0,"Undo this &&File"),run:()=>o.This}],cancelButton:{run:()=>o.Cancel}});if(s===o.Cancel)return;if(s===o.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const r=this._checkWorkspaceUndo(e,t,n,!1);if(r)return r.returnValue;i=!0}let o;try{o=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}const s=this._checkWorkspaceUndo(e,t,n,!0);if(s)return o.dispose(),s.returnValue;for(const e of n.editStacks)e.moveBackward(t);return this._safeInvokeWithLocks(t,(()=>t.actual.undo()),n,o,(()=>this._continueUndoInGroup(t.groupId,i)))}_resourceUndo(e,t,n){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,(i=>(e.moveBackward(t),this._safeInvokeWithLocks(t,(()=>t.actual.undo()),new bne([e]),i,(()=>this._continueUndoInGroup(t.groupId,n))))));{const e=_(0,"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(e)}}else e.flushAllElements()}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(const[i,o]of this._editStacks){const s=o.getClosestPastElement();s&&s.groupId===e&&(!t||s.groupOrder>t.groupOrder)&&(t=s,n=i)}return[t,n]}_continueUndoInGroup(e,t){if(!e)return;const[,n]=this._findClosestUndoElementInGroup(e);return n?this._undo(n,0,t):void 0}undo(e){if(e instanceof py){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return"string"==typeof e?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,n){if(!this._editStacks.has(e))return;const i=this._editStacks.get(e),o=i.getClosestPastElement();if(o){if(o.groupId){const[e,i]=this._findClosestUndoElementInGroup(o.groupId);if(o!==e&&i)return this._undo(i,t,n)}if((o.sourceId!==t||o.confirmBeforeUndo)&&!n)return this._confirmAndContinueUndo(e,t,o);try{return 1===o.type?this._workspaceUndo(e,o,n):this._resourceUndo(i,o,n)}finally{}}}async _confirmAndContinueUndo(e,t,n){if((await this._dialogService.confirm({message:_(0,"Would you like to undo '{0}'?",n.label),primaryButton:_(0,"&&Yes"),cancelButton:_(0,"No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(const[i,o]of this._editStacks){const s=o.getClosestFutureElement();s&&s.sourceId===e&&(!t||s.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,_(0,"Could not redo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const s=[];for(const e of n.editStacks)e.locked&&s.push(e.resourceLabel);return s.length>0?this._tryToSplitAndRedo(e,t,null,_(0,"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,s.join(", "))):n.isValid()?null:this._tryToSplitAndRedo(e,t,null,_(0,"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const n=this._getAffectedEditStacks(t),i=this._checkWorkspaceRedo(e,t,n,!1);return i?i.returnValue:this._executeWorkspaceRedo(e,t,n)}async _executeWorkspaceRedo(e,t,n){let i;try{i=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}const o=this._checkWorkspaceRedo(e,t,n,!0);if(o)return i.dispose(),o.returnValue;for(const e of n.editStacks)e.moveForward(t);return this._safeInvokeWithLocks(t,(()=>t.actual.redo()),n,i,(()=>this._continueRedoInGroup(t.groupId)))}_resourceRedo(e,t){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,(n=>(e.moveForward(t),this._safeInvokeWithLocks(t,(()=>t.actual.redo()),new bne([e]),n,(()=>this._continueRedoInGroup(t.groupId))))));{const e=_(0,"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(e)}}else e.flushAllElements()}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(const[i,o]of this._editStacks){const s=o.getClosestFutureElement();s&&s.groupId===e&&(!t||s.groupOrder=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([cne(0,k9),cne(1,nN)],Cne);class yne{constructor(e){this.returnValue=e}}yg(cy,Cne,1);var Sne=function(e,t){return function(n,i){t(n,i,e)}};let xne=class extends lt{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new N8(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};function kne(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(kne):!!e.exclusive)}xne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Sne(0,Tv),Sne(1,Tu),Sne(2,Sh)],xne),yg(H8,xne,1);class Lne{constructor(e,t,n,i){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=i}equals(e){var t,n;return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&(null===(t=this.notebookUri)||void 0===t?void 0:t.toString())===(null===(n=e.notebookUri)||void 0===n?void 0:n.toString())}}class Dne{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),st((()=>{if(n){const e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e);const t=[];for(const e of this._entries)e._score>0&&t.push(e.provider);return t}ordered(e){const t=[];return this._orderedForEach(e,(e=>t.push(e.provider))),t}orderedGroups(e){const t=[];let n,i;return this._orderedForEach(e,(e=>{n&&i===e._score?n.push(e.provider):(i=e._score,n=[e.provider],t.push(n))})),t}_orderedForEach(e,t){this._updateScores(e);for(const e of this._entries)e._score>0&&t(e)}_updateScores(e){var t,n;const i=null===(t=this._notebookInfoResolver)||void 0===t?void 0:t.call(this,e.uri),o=i?new Lne(e.uri,e.getLanguageId(),i.uri,i.type):new Lne(e.uri,e.getLanguageId(),void 0,void 0);if(!(null===(n=this._lastCandidate)||void 0===n?void 0:n.equals(o))){this._lastCandidate=o;for(const t of this._entries)if(t._score=cte(t.selector,o.uri,o.languageId,Nc(e),o.notebookUri,o.notebookType),kne(t.selector)&&t._score>0){for(const e of this._entries)e._score=0;t._score=1e3;break}this._entries.sort(Dne._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:Nne(e.selector)&&!Nne(t.selector)?1:!Nne(e.selector)&&Nne(t.selector)?-1:e._timet._time?-1:0}}function Nne(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(Nne):Boolean(e.isBuiltin))}yg(wx,class{constructor(){this.referenceProvider=new Dne(this._score.bind(this)),this.renameProvider=new Dne(this._score.bind(this)),this.newSymbolNamesProvider=new Dne(this._score.bind(this)),this.codeActionProvider=new Dne(this._score.bind(this)),this.definitionProvider=new Dne(this._score.bind(this)),this.typeDefinitionProvider=new Dne(this._score.bind(this)),this.declarationProvider=new Dne(this._score.bind(this)),this.implementationProvider=new Dne(this._score.bind(this)),this.documentSymbolProvider=new Dne(this._score.bind(this)),this.inlayHintsProvider=new Dne(this._score.bind(this)),this.colorProvider=new Dne(this._score.bind(this)),this.codeLensProvider=new Dne(this._score.bind(this)),this.documentFormattingEditProvider=new Dne(this._score.bind(this)),this.documentRangeFormattingEditProvider=new Dne(this._score.bind(this)),this.onTypeFormattingEditProvider=new Dne(this._score.bind(this)),this.signatureHelpProvider=new Dne(this._score.bind(this)),this.hoverProvider=new Dne(this._score.bind(this)),this.documentHighlightProvider=new Dne(this._score.bind(this)),this.multiDocumentHighlightProvider=new Dne(this._score.bind(this)),this.selectionRangeProvider=new Dne(this._score.bind(this)),this.foldingRangeProvider=new Dne(this._score.bind(this)),this.linkProvider=new Dne(this._score.bind(this)),this.inlineCompletionsProvider=new Dne(this._score.bind(this)),this.inlineEditProvider=new Dne(this._score.bind(this)),this.completionProvider=new Dne(this._score.bind(this)),this.linkedEditingRangeProvider=new Dne(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new Dne(this._score.bind(this)),this.documentSemanticTokensProvider=new Dne(this._score.bind(this)),this.documentOnDropEditProvider=new Dne(this._score.bind(this)),this.documentPasteEditProvider=new Dne(this._score.bind(this))}_score(e){var t;return null===(t=this._notebookTypeResolver)||void 0===t?void 0:t.call(this,e)}},1);var Ene=n(3377),Ine={};Ine.styleTagTransform=Vr(),Ine.setAttributes=Or(),Ine.insert=Rr().bind(null,"head"),Ine.domAPI=Tr(),Ine.insertStyleElement=Br(),Ir()(Ene.A,Ine),Ene.A&&Ene.A.locals&&Ene.A.locals;var Mne=function(e,t){return function(n,i){t(n,i,e)}};const Tne=mr;let Ane=class extends jN{get _targetWindow(){return is(this._target.targetElements[0])}get _targetDocumentElement(){return is(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return 2===this._hoverPosition?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,n,i,o,s){var r,l,a,d,u,c,h,g;super(),this._keybindingService=t,this._configurationService=n,this._openerService=i,this._instantiationService=o,this._accessibilityService=s,this._messageListeners=new rt,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new Ct),this._onRequestLayout=this._register(new Ct),this._linkHandler=e.linkHandler||(t=>uL(this._openerService,t,nd(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new Pne(e.target),this._hoverPointer=(null===(r=e.appearance)||void 0===r?void 0:r.showPointer)?Tne("div.workbench-hover-pointer"):void 0,this._hover=this._register(new CG),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),(null===(l=e.appearance)||void 0===l?void 0:l.compact)&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),(null===(a=e.appearance)||void 0===a?void 0:a.skipFadeInAnimation)&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),(null===(d=e.position)||void 0===d?void 0:d.forcePosition)&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=null!==(c=null===(u=e.position)||void 0===u?void 0:u.hoverPosition)&&void 0!==c?c:3,this.onmousedown(this._hover.containerDomNode,(e=>e.stopPropagation())),this.onkeydown(this._hover.containerDomNode,(e=>{e.equals(9)&&this.dispose()})),this._register(ms(this._targetWindow,"blur",(()=>this.dispose())));const p=Tne("div.hover-row.markdown-hover"),m=Tne("div.hover-contents");if("string"==typeof e.content)m.textContent=e.content,m.style.whiteSpace="pre-wrap";else if(e.content instanceof HTMLElement)m.appendChild(e.content),m.classList.add("html-hover-contents");else{const t=e.content,n=this._instantiationService.createInstance(dL,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||KD.fontFamily}),{element:i}=n.render(t,{actionHandler:{callback:e=>this._linkHandler(e),disposables:this._messageListeners},asyncRenderCallback:()=>{m.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});m.appendChild(i)}if(p.appendChild(m),this._hover.contentsDomNode.appendChild(p),e.actions&&e.actions.length>0){const t=Tne("div.hover-row.status-bar"),n=Tne("div.actions");e.actions.forEach((e=>{const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;yG.render(n,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},i)})),t.appendChild(n),this._hover.containerDomNode.appendChild(t)}let f;if(this._hoverContainer=Tne("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode),f=!(e.actions&&e.actions.length>0)&&(void 0===(null===(h=e.persistence)||void 0===h?void 0:h.hideOnHover)?"string"==typeof e.content||nd(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):e.persistence.hideOnHover),f&&(null===(g=e.appearance)||void 0===g?void 0:g.showHoverHint)){const e=Tne("div.hover-row.status-bar"),t=Tne("div.info");t.textContent=_(0,"Hold {0} key to mouse over",U?"Option":"Alt"),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}const v=[...this._target.targetElements];f||v.push(this._hoverContainer);const b=this._register(new Rne(v));if(this._register(b.onMouseOut((()=>{this._isLocked||this.dispose()}))),f){const e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new Rne(e)),this._register(this._lockMouseTracker.onMouseOut((()=>{this._isLocked||this.dispose()})))}else this._lockMouseTracker=b}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const n=ur(this._hoverContainer,Tne("div")),i=dr(this._hoverContainer,Tne("div"));n.tabIndex=0,i.tabIndex=0,this._register(ms(i,"focus",(t=>{e.focus(),t.preventDefault()}))),this._register(ms(n,"focus",(e=>{t.focus(),e.preventDefault()})))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return e}const i=this.findLastFocusableChild(n);if(i)return i}}render(e){var t;e.appendChild(this._hoverContainer);const n=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&SG(!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),null===(t=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===t?void 0:t.getAriaLabel());n&&Yr(n),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=this._target.targetElements.map((e=>(e=>{const t=Is(e),n=e.getBoundingClientRect();return{top:n.top*t,bottom:n.bottom*t,right:n.right*t,left:n.left*t}})(e))),{top:t,right:n,bottom:i,left:o}=e[0],s=n-o,r=i-t,l={top:t,right:n,bottom:i,left:o,width:s,height:r,center:{x:o+s/2,y:t+r/2}};if(this.adjustHorizontalHoverPosition(l),this.adjustVerticalHoverPosition(l),this.adjustHoverMaxHeight(l),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:l.left+=3,l.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:l.left-=3,l.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:l.top+=3,l.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:l.top-=3,l.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px"}l.center.x=l.left+s/2,l.center.y=l.top+r/2}this.computeXCordinate(l),this.computeYCordinate(l),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(l)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;void 0!==this._target.x?this._x=this._target.x:1===this._hoverPosition?this._x=e.right:0===this._hoverPosition?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(void 0!==this._target.x)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const n=t+2;1===this._hoverPosition?this._hover.containerDomNode.style.maxWidth=this._targetDocumentElement.clientWidth-e.right-n+"px":0===this._hoverPosition&&(this._hover.containerDomNode.style.maxWidth=e.left-n+"px")}else 1===this._hoverPosition?this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2):0===this._hoverPosition&&(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(void 0!==this._target.y||this._forcePosition)return;const t=this._hoverPointer?3:0;3===this._hoverPosition?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):2===this._hoverPosition&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const n=2+(this._hoverPointer?3:0);3===this._hoverPosition?t=Math.min(t,e.top-n):2===this._hoverPosition&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-n))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top=e.center.y-(this._y-t)-3+"px":this._hoverPointer.style.top=Math.round(t/2)-3+"px";break}case 3:case 2:{this._hoverPointer.classList.add(3===this._hoverPosition?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let n=Math.round(t/2)-3;const i=this._x+n;(ie.right)&&(n=e.center.x-this._x-3),this._hoverPointer.style.left=`${n}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};Ane=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Mne(1,zL),Mne(2,pg),Mne(3,rL),Mne(4,ad),Mne(5,qS)],Ane);class Rne extends jN{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new Ct),this._elements.forEach((e=>this.onmouseover(e,(()=>this._onTargetMouseOver(e))))),this._elements.forEach((e=>this.onmouseleave(e,(()=>this._onTargetMouseLeave(e)))))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=is(e).setTimeout((()=>this._fireIfMouseOutside()),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(is(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class Pne{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}var One,Fne=n(8970),Bne={};function Wne(e,t,n){const i=n.mode===One.ALIGN?n.offset:n.offset+n.size,o=n.mode===One.ALIGN?n.offset+n.size:n.offset;return 0===n.position?t<=e-i?i:t<=o?o-t:Math.max(e-t,0):t<=o?o-t:t<=e-i?i:0}Bne.styleTagTransform=Vr(),Bne.setAttributes=Or(),Bne.insert=Rr().bind(null,"head"),Bne.domAPI=Tr(),Bne.insertStyleElement=Br(),Ir()(Fne.A,Bne),Fne.A&&Fne.A.locals&&Fne.A.locals,function(e){e[e.AVOID=0]="AVOID",e[e.ALIGN=1]="ALIGN"}(One||(One={}));class Vne extends lt{constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=lt.None,this.toDisposeOnSetContainer=lt.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=mr(".context-view"),_r(this.view),this.setContainer(e,t),this._register(st((()=>this.setContainer(null,1))))}setContainer(e,t){var n;this.useFixedPosition=1!==t;const i=this.useShadowDOM;if(this.useShadowDOM=3===t,(e!==this.container||i!==this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,null===(n=this.shadowRootHostElement)||void 0===n||n.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=mr(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent=Hne,this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(mr("slot"))}else this.container.appendChild(this.view);const t=new rt;Vne.BUBBLE_UP_EVENTS.forEach((e=>{t.add(_s(this.container,e,(e=>{this.onDOMEvent(e,!1)})))})),Vne.BUBBLE_DOWN_EVENTS.forEach((e=>{t.add(_s(this.container,e,(e=>{this.onDOMEvent(e,!0)}),!0))})),this.toDisposeOnSetContainer=t}}show(e){var t,n,i;this.isVisible()&&this.hide(),gs(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+(null!==(t=e.layer)&&void 0!==t?t:0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",fr(this.view),this.toDisposeOnClean=e.render(this.view)||lt.None,this.delegate=e,this.doLayout(),null===(i=(n=this.delegate).focus)||void 0===i||i.call(n)}getViewElement(){return this.view}layout(){var e,t;this.isVisible()&&(!1!==this.delegate.canRelayout||G&&de?(null===(t=null===(e=this.delegate)||void 0===e?void 0:e.layout)||void 0===t||t.call(e),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(e instanceof HTMLElement){const n=Es(e),i=Is(e);t={top:n.top*i,left:n.left*i,width:n.width*i,height:n.height*i}}else t=function(e){const t=e;return!!t&&"number"==typeof t.x&&"number"==typeof t.y}(e)?{top:e.y,left:e.x,width:e.width||1,height:e.height||2}:{top:e.posy,left:e.posx,width:2,height:2};const n=Ms(this.view),i=Rs(this.view),s=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0,l=this.delegate.anchorAxisAlignment||0;let a,d;const u=function(){var e,t;return null!==(t=null===(e=Us().defaultView)||void 0===e?void 0:e.window)&&void 0!==t?t:o}();if(0===l){const e={offset:t.top-u.pageYOffset,size:t.height,position:0===s?0:1},o={offset:t.left,size:t.width,position:0===r?0:1,mode:One.ALIGN};a=Wne(u.innerHeight,i,e)+u.pageYOffset,iE.intersects({start:a,end:a+i},{start:e.offset,end:e.offset+e.size})&&(o.mode=One.AVOID),d=Wne(u.innerWidth,n,o)}else{const e={offset:t.left,size:t.width,position:0===r?0:1},o={offset:t.top,size:t.height,position:0===s?0:1,mode:One.ALIGN};d=Wne(u.innerWidth,n,e),iE.intersects({start:d,end:d+n},{start:e.offset,end:e.offset+e.size})&&(o.mode=One.AVOID),a=Wne(u.innerHeight,i,o)+u.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===s?"bottom":"top"),this.view.classList.add(0===r?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const c=Es(this.container);this.view.style.top=a-(this.useFixedPosition?Es(this.view).top:c.top)+"px",this.view.style.left=d-(this.useFixedPosition?Es(this.view).left:c.left)+"px",this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,(null==t?void 0:t.onHide)&&t.onHide(e),this.toDisposeOnClean.dispose(),_r(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,is(e).document.activeElement):t&&!Ps(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}Vne.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],Vne.BUBBLE_DOWN_EVENTS=["click"];const Hne='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';let zne=class extends lt{constructor(e){super(),this.layoutService=e,this.currentViewDisposable=this._register(new at),this.contextView=this._register(new Vne(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer((()=>this.layout())))}showContextView(e,t,n){let i;i=t?t===this.layoutService.getContainer(is(t))?1:n?3:2:1,this.contextView.setContainer(null!=t?t:this.layoutService.activeContainer,i),this.contextView.show(e);const o=st((()=>{this.currentViewDisposable===o&&this.hideContextView()}));return this.currentViewDisposable.value=o,o}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e)}};zne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,rne)],zne);class Une extends zne{getContextViewElement(){return this.contextView.getViewElement()}}var Kne=function(e,t){return function(n,i){t(n,i,e)}};let jne=class extends lt{constructor(e,t,n,i,o){super(),this._instantiationService=e,this._keybindingService=n,this._layoutService=i,this._accessibilityService=o,t.onDidShowContextMenu((()=>this.hideHover())),this._contextViewHandler=this._register(new zne(this._layoutService))}showHover(e,t,n){var i,s,r,l;if(qne(this._currentHoverOptions)===qne(e))return;if(this._currentHover&&(null===(s=null===(i=this._currentHoverOptions)||void 0===i?void 0:i.persistence)||void 0===s?void 0:s.sticky))return;this._currentHoverOptions=e,this._lastHoverOptions=e;const a=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),d=Vs();n||(this._lastFocusedElementBeforeOpen=a&&d?d:void 0);const u=new rt,c=this._instantiationService.createInstance(Ane,e);if((null===(r=e.persistence)||void 0===r?void 0:r.sticky)&&(c.isLocked=!0),c.onDispose((()=>{var t,n;(null===(t=this._currentHover)||void 0===t?void 0:t.domNode)&&zs(this._currentHover.domNode)&&(null===(n=this._lastFocusedElementBeforeOpen)||void 0===n||n.focus()),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),u.dispose()})),!e.container){const t=e.target instanceof HTMLElement?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(is(t))}if(this._contextViewHandler.showContextView(new $ne(c,t),e.container),c.onRequestLayout((()=>this._contextViewHandler.layout())),null===(l=e.persistence)||void 0===l?void 0:l.sticky)u.add(ms(is(e.container).document,or.MOUSE_DOWN,(e=>{Ps(e.target,c.domNode)||this.doHideHover()})));else{if("targetElements"in e.target)for(const t of e.target.targetElements)u.add(ms(t,or.CLICK,(()=>this.hideHover())));else u.add(ms(e.target,or.CLICK,(()=>this.hideHover())));const t=Vs();if(t){const n=is(t).document;u.add(ms(t,or.KEY_DOWN,(t=>{var n;return this._keyDown(t,c,!!(null===(n=e.persistence)||void 0===n?void 0:n.hideOnKeyDown))}))),u.add(ms(n,or.KEY_DOWN,(t=>{var n;return this._keyDown(t,c,!!(null===(n=e.persistence)||void 0===n?void 0:n.hideOnKeyDown))}))),u.add(ms(t,or.KEY_UP,(e=>this._keyUp(e,c)))),u.add(ms(n,or.KEY_UP,(e=>this._keyUp(e,c))))}}if("IntersectionObserver"in o){const t=new IntersectionObserver((e=>this._intersectionChange(e,c)),{threshold:0}),n="targetElements"in e.target?e.target.targetElements[0]:e.target;t.observe(n),u.add(st((()=>t.disconnect())))}return this._currentHover=c,c}hideHover(){var e;!(null===(e=this._currentHover)||void 0===e?void 0:e.isLocked)&&this._currentHoverOptions&&this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}_keyDown(e,t,n){var i,o;if("Alt"===e.key)return void(t.isLocked=!0);const s=new Ue(e);this._keybindingService.resolveKeyboardEvent(s).getSingleModifierDispatchChords().some((e=>!!e))||0!==this._keybindingService.softDispatch(s,s.target).kind||!n||(null===(i=this._currentHoverOptions)||void 0===i?void 0:i.trapFocus)&&"Tab"===e.key||(this.hideHover(),null===(o=this._lastFocusedElementBeforeOpen)||void 0===o||o.focus())}_keyUp(e,t){var n;"Alt"===e.key&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),null===(n=this._lastFocusedElementBeforeOpen)||void 0===n||n.focus()))}};function qne(e){var t;if(void 0!==e)return null!==(t=null==e?void 0:e.id)&&void 0!==t?t:e}jne=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Kne(0,ad),Kne(1,HL),Kne(2,zL),Kne(3,rne),Kne(4,qS)],jne);class $ne{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function Gne(e){return Object.isFrozen(e)?e:function(e){if(!e||"object"!=typeof e)return e;const t=[e];for(;t.length>0;){const e=t.shift();Object.freeze(e);for(const n in e)if(gc.call(e,n)){const i=e[n];"object"!=typeof i||Object.isFrozen(i)||da(i)||t.push(i)}}return e}(e)}yg(xQ,jne,1),Fv(((e,t)=>{const n=e.getColor(_f);n&&(t.addRule(`.monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-workbench .workbench-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`))}));class Zne{constructor(e={},t=[],n=[],i){this._contents=e,this._keys=t,this._overrides=n,this.raw=i,this.overrideConfigurations=new Map}get rawConfiguration(){var e;if(!this._rawConfiguration)if(null===(e=this.raw)||void 0===e?void 0:e.length){const e=this.raw.map((e=>{if(e instanceof Zne)return e;const t=new Yne("");return t.parseRaw(e),t.configurationModel}));this._rawConfiguration=e.reduce(((e,t)=>t===e?t:e.merge(t)),e[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length}getValue(e){return e?bg(this.contents,e):this.contents}inspect(e,t){const n=this;return{get value(){return Gne(n.rawConfiguration.getValue(e))},get override(){return t?Gne(n.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return Gne(t?n.rawConfiguration.override(t).getValue(e):n.rawConfiguration.getValue(e))},get overrides(){const t=[];for(const{contents:i,identifiers:o,keys:s}of n.rawConfiguration.overrides){const n=new Zne(i,s).getValue(e);void 0!==n&&t.push({identifiers:o,value:n})}return t.length?Gne(t):void 0}}}getOverrideValue(e,t){const n=this.getContentsForOverrideIdentifer(t);return n?e?bg(n,e):n:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){var t,n;const i=hc(this.contents),o=hc(this.overrides),s=[...this.keys],r=(null===(t=this.raw)||void 0===t?void 0:t.length)?[...this.raw]:[this];for(const t of e)if(r.push(...(null===(n=t.raw)||void 0===n?void 0:n.length)?t.raw:[t]),!t.isEmpty()){this.mergeContents(i,t.contents);for(const e of t.overrides){const[t]=o.filter((t=>Ic(t.identifiers,e.identifiers)));t?(this.mergeContents(t.contents,e.contents),t.keys.push(...e.keys),t.keys=Vc(t.keys)):o.push(hc(e))}for(const e of t.keys)-1===s.indexOf(e)&&s.push(e)}return new Zne(i,s,o,r.every((e=>e instanceof Zne))?void 0:r)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||"object"!=typeof t||!Object.keys(t).length)return this;const n={};for(const e of Vc([...Object.keys(this.contents),...Object.keys(t)])){let i=this.contents[e];const o=t[e];o&&("object"==typeof i&&"object"==typeof o?(i=hc(i),this.mergeContents(i,o)):i=o),n[e]=i}return new Zne(n,this.keys,this.overrides)}mergeContents(e,t){for(const n of Object.keys(t))n in e&&aa(e[n])&&aa(t[n])?this.mergeContents(e[n],t[n]):e[n]=hc(t[n])}getContentsForOverrideIdentifer(e){let t=null,n=null;const i=e=>{e&&(n?this.mergeContents(n,e):n=hc(e))};for(const n of this.overrides)1===n.identifiers.length&&n.identifiers[0]===e?t=n.contents:n.identifiers.includes(e)&&i(n.contents);return i(t),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(e,t){this.updateValue(e,t,!0)}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);-1!==t&&(this.keys.splice(t,1),_g(this.contents,e),Wg.test(e)&&this.overrides.splice(this.overrides.findIndex((t=>Ic(t.identifiers,Vg(e)))),1))}updateValue(e,t,n){fg(this.contents,e,t,(e=>console.error(e))),(n=n||-1===this.keys.indexOf(e))&&this.keys.push(e),Wg.test(e)&&this.overrides.push({identifiers:Vg(e),keys:Object.keys(this.contents[e]),contents:mg(this.contents[e],(e=>console.error(e)))})}}class Yne{constructor(e){this._name=e,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new Zne}parseRaw(e,t){this._raw=e;const{contents:n,keys:i,overrides:o,restricted:s,hasExcludedProperties:r}=this.doParseRaw(e,t);this._configurationModel=new Zne(n,i,o,r?[e]:void 0),this._restrictedConfigurations=s||[]}doParseRaw(e,t){const n=fu.as(Dg).getConfigurationProperties(),i=this.filter(e,n,!0,t);return{contents:mg(e=i.raw,(e=>console.error(`Conflict in settings file ${this._name}: ${e}`))),keys:Object.keys(e),overrides:this.toOverrides(e,(e=>console.error(`Conflict in settings file ${this._name}: ${e}`))),restricted:i.restricted,hasExcludedProperties:i.hasExcludedProperties}}filter(e,t,n,i){var o,s,r;let l=!1;if(!(null==i?void 0:i.scopes)&&!(null==i?void 0:i.skipRestricted)&&!(null===(o=null==i?void 0:i.exclude)||void 0===o?void 0:o.length))return{raw:e,restricted:[],hasExcludedProperties:l};const a={},d=[];for(const o in e)if(Wg.test(o)&&n){const n=this.filter(e[o],t,!1,i);a[o]=n.raw,l=l||n.hasExcludedProperties,d.push(...n.restricted)}else{const n=t[o],u=n?void 0!==n.scope?n.scope:3:void 0;(null==n?void 0:n.restricted)&&d.push(o),(null===(s=i.exclude)||void 0===s?void 0:s.includes(o))||!(null===(r=i.include)||void 0===r?void 0:r.includes(o))&&(void 0!==u&&void 0!==i.scopes&&!i.scopes.includes(u)||i.skipRestricted&&(null==n?void 0:n.restricted))?l=!0:a[o]=e[o]}return{raw:a,restricted:d,hasExcludedProperties:l}}toOverrides(e,t){const n=[];for(const i of Object.keys(e))if(Wg.test(i)){const o={};for(const t in e[i])o[t]=e[i][t];n.push({identifiers:Vg(i),keys:Object.keys(o),contents:mg(o,t)})}return n}}class Xne{constructor(e,t,n,i,o,s,r,l,a,d,u,c,h){this.key=e,this.overrides=t,this._value=n,this.overrideIdentifiers=i,this.defaultConfiguration=o,this.policyConfiguration=s,this.applicationConfiguration=r,this.userConfiguration=l,this.localUserConfiguration=a,this.remoteUserConfiguration=d,this.workspaceConfiguration=u,this.folderConfigurationModel=c,this.memoryConfigurationModel=h}toInspectValue(e){return void 0!==(null==e?void 0:e.value)||void 0!==(null==e?void 0:e.override)||void 0!==(null==e?void 0:e.overrides)?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class Qne{constructor(e,t,n,i,o=new Zne,s=new Zne,r=new tl,l=new Zne,a=new tl){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=n,this._localUserConfiguration=i,this._remoteUserConfiguration=o,this._workspaceConfiguration=s,this._folderConfigurations=r,this._memoryConfiguration=l,this._memoryConfigurationByResource=a,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new tl,this._userConfiguration=null}getValue(e,t,n){return this.getConsolidatedConfigurationModel(e,t,n).getValue(e)}updateValue(e,t,n={}){let i;n.resource?(i=this._memoryConfigurationByResource.get(n.resource),i||(i=new Zne,this._memoryConfigurationByResource.set(n.resource,i))):i=this._memoryConfiguration,void 0===t?i.removeValue(e):i.setValue(e,t),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,n){const i=this.getConsolidatedConfigurationModel(e,t,n),o=this.getFolderConfigurationModelForResource(t.resource,n),s=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,r=new Set;for(const t of i.overrides)for(const n of t.identifiers)void 0!==i.getOverrideValue(e,n)&&r.add(n);return new Xne(e,t,i.getValue(e),r.size?[...r]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,n?this._workspaceConfiguration:void 0,o||void 0,s)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,n){let i=this.getConsolidatedConfigurationModelForResource(t,n);return t.overrideIdentifier&&(i=i.override(t.overrideIdentifier)),this._policyConfiguration.isEmpty()||void 0===this._policyConfiguration.getValue(e)||(i=i.merge(this._policyConfiguration)),i}getConsolidatedConfigurationModelForResource({resource:e},t){let n=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const i=t.getFolder(e);i&&(n=this.getFolderConsolidatedConfiguration(i.uri)||n);const o=this._memoryConfigurationByResource.get(e);o&&(n=n.merge(o))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const n=this.getWorkspaceConsolidatedConfiguration(),i=this._folderConfigurations.get(e);i?(t=n.merge(i),this._foldersConsolidatedConfigurations.set(e,t)):t=n}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const n=t.getFolder(e);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce(((e,t)=>{const{contents:n,overrides:i,keys:o}=this._folderConfigurations.get(t);return e.push([t,{contents:n,overrides:i,keys:o}]),e}),[])}}static parse(e){const t=this.parseConfigurationModel(e.defaults),n=this.parseConfigurationModel(e.policy),i=this.parseConfigurationModel(e.application),o=this.parseConfigurationModel(e.user),s=this.parseConfigurationModel(e.workspace),r=e.folders.reduce(((e,t)=>(e.set(Io.revive(t[0]),this.parseConfigurationModel(t[1])),e)),new tl);return new Qne(t,n,i,o,new Zne,s,r,new Zne,new tl)}static parseConfigurationModel(e){return new Zne(e.contents,e.keys,e.overrides)}}class Jne{constructor(e,t,n,i){this.change=e,this.previous=t,this.currentConfiguraiton=n,this.currentWorkspace=i,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=".".charCodeAt(0),this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const t of e.keys)this.affectedKeys.add(t);for(const[,t]of e.overrides)for(const e of t)this.affectedKeys.add(e);this._affectsConfigStr=this._marker;for(const e of this.affectedKeys)this._affectsConfigStr+=e+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Qne.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(e,t){var n;const i=this._marker+e,o=this._affectsConfigStr.indexOf(i);if(o<0)return!1;const s=o+i.length;if(s>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(s);return(r===this._markerCode1||r===this._markerCode2)&&(!t||!_c(this.previousConfiguration?this.previousConfiguration.getValue(e,t,null===(n=this.previous)||void 0===n?void 0:n.workspace):void 0,this.currentConfiguraiton.getValue(e,t,this.currentWorkspace)))}}const eie={kind:0},tie={kind:1};class nie{constructor(e,t,n){var i;this._log=n,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const t of e){const e=t.command;e&&"-"!==e.charAt(0)&&this._defaultBoundCommands.set(e,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=nie.handleRemovals([].concat(e).concat(t));for(let e=0,t=this._keybindings.length;e=0;e--){const i=n[e];if(i.command===t.command)continue;let o=!0;for(let e=1;e=0;e--){const i=n[e];if(t.contextMatchesRules(i.when))return i}return n[n.length-1]}resolve(e,t,n){const i=[...t,n];this._log(`| Resolving ${i}`);const o=this._map.get(i[0]);if(void 0===o)return this._log("\\ No keybinding entries."),eie;let s=null;if(i.length<2)s=o;else{s=[];for(let e=0,t=o.length;et.chords.length)continue;let n=!0;for(let e=1;e=0;n--){const i=t[n];if(nie._contextMatchesRules(e,i.when))return i}return null}static _contextMatchesRules(e,t){return!t||t.evaluate(e)}}function iie(e){return e?`${e.serialize()}`:"no when condition"}function oie(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?"built-in":"user"}const sie=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class rie extends lt{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:ft.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,n,i,o){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=n,this._notificationService=i,this._logService=o,this._onDidUpdateKeybindings=this._register(new Ct),this._currentChords=[],this._currentChordChecker=new Kt,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=lie.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new Ut,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const n=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(n)return n.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const n=this.resolveKeyboardEvent(e);if(n.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),eie;const[i]=n.getDispatchChords();if(null===i)return this._log("\\ Keyboard event cannot be dispatched"),eie;const o=this._contextKeyService.getContext(t),s=this._currentChords.map((({keypress:e})=>e));return this._getResolver().resolve(o,s,i)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet((()=>{this._documentHasFocus()?Date.now()-e>5e3&&this._leaveChordMode():this._leaveChordMode()}),500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw Me("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(_(0,"({0}) was pressed. Waiting for second key of chord...",t));break;default:{const e=this._currentChords.map((({label:e})=>e)).join(", ");this._currentChordStatusMessage=this._notificationService.status(_(0,"({0}) was pressed. Waiting for next key of chord...",e))}}this._scheduleLeaveChordMode(),lR.enabled&&lR.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],lR.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const n=this.resolveKeyboardEvent(e),[i]=n.getSingleModifierDispatchChords();if(i)return this._ignoreSingleModifiers.has(i)?(this._log(`+ Ignoring single modifier ${i} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=lie.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=lie.EMPTY,null===this._currentSingleModifier?(this._log(`+ Storing single modifier for possible chord ${i}.`),this._currentSingleModifier=i,this._currentSingleModifierClearTimeout.cancelAndSet((()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null}),300),!1):i===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${i} ${i}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(n,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${i}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[o]=n.getChords();return this._ignoreSingleModifiers=new lie(o),null!==this._currentSingleModifier&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,n=!1){var i;let o=!1;if(e.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let s=null,r=null;if(n){const[t]=e.getSingleModifierDispatchChords();s=t,r=t?[t]:[]}else[s]=e.getDispatchChords(),r=this._currentChords.map((({keypress:e})=>e));if(null===s)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),o;const l=this._contextKeyService.getContext(t),a=e.getLabel(),d=this._getResolver().resolve(l,r,s);switch(d.kind){case 0:if(this._logService.trace("KeybindingService#dispatch",a,"[ No matching keybinding ]"),this.inChordMode){const e=this._currentChords.map((({label:e})=>e)).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status(_(0,"The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),o=!0}return o;case 1:return this._logService.trace("KeybindingService#dispatch",a,"[ Several keybindings match - more chords needed ]"),o=!0,this._expectAnotherChord(s,a),this._log(1===this._currentChords.length?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),o;case 2:if(this._logService.trace("KeybindingService#dispatch",a,`[ Will dispatch command ${d.commandId} ]`),null===d.commandId||""===d.commandId){if(this.inChordMode){const e=this._currentChords.map((({label:e})=>e)).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${e}, ${a}".`),this._notificationService.status(_(0,"The key combination ({0}, {1}) is not a command.",e,a),{hideAfter:1e4}),this._leaveChordMode(),o=!0}}else{this.inChordMode&&this._leaveChordMode(),d.isBubble||(o=!0),this._log(`+ Invoking command ${d.commandId}.`),this._currentlyDispatchingCommandId=d.commandId;try{void 0===d.commandArgs?this._commandService.executeCommand(d.commandId).then(void 0,(e=>this._notificationService.warn(e))):this._commandService.executeCommand(d.commandId,d.commandArgs).then(void 0,(e=>this._notificationService.warn(e)))}finally{this._currentlyDispatchingCommandId=null}sie.test(d.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:d.commandId,from:"keybinding",detail:null!==(i=e.getUserSettingsLabel())&&void 0!==i?i:void 0})}return o}}mightProducePrintableCharacter(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)}}class lie{constructor(e){this._ctrlKey=!!e&&e.ctrlKey,this._shiftKey=!!e&&e.shiftKey,this._altKey=!!e&&e.altKey,this._metaKey=!!e&&e.metaKey}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}lie.EMPTY=new lie(null);class aie{constructor(e,t,n,i,o,s,r){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?die(e.getDispatchChords()):[],e&&0===this.chords.length&&(this.chords=die(e.getSingleModifierDispatchChords())),this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=i,this.isDefault=o,this.extensionId=s,this.isBuiltinExtension=r}}function die(e){const t=[];for(let n=0,i=e.length;nthis._getLabel(e)))}getAriaLabel(){return aM.toLabel(this._os,this._chords,(e=>this._getAriaLabel(e)))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:dM.toLabel(this._os,this._chords,(e=>this._getElectronAccelerator(e)))}getUserSettingsLabel(){return uM.toLabel(this._os,this._chords,(e=>this._getUserSettingsLabel(e)))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((e=>this._getChord(e)))}_getChord(e){return new We(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map((e=>this._getChordDispatch(e)))}getSingleModifierDispatchChords(){return this._chords.map((e=>this._getSingleModifierChordDispatch(e)))}}class cie extends uie{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(2===this._os)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return Ce.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":Ce.toString(e.keyCode)}_getElectronAccelerator(e){return Ce.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=Ce.toUserSettingsUS(e.keyCode);return t?t.toLowerCase():t}_getChordDispatch(e){return cie.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=Ce.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return 5!==e.keyCode||e.shiftKey||e.altKey||e.metaKey?4!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey?6!==e.keyCode||e.ctrlKey||e.shiftKey||e.metaKey?57!==e.keyCode||e.ctrlKey||e.shiftKey||e.altKey?null:"meta":"alt":"shift":"ctrl"}static _scanCodeToKeyCode(e){const t=be[e];if(-1!==t)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof Fe)return e;const t=this._scanCodeToKeyCode(e.scanCode);return 0===t?null:new Fe(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const n=die(e.chords.map((e=>this._toKeyCodeChord(e))));return n.length>0?[new cie(n,t)]:[]}}let hie=[],gie=[],pie=[];function mie(e,t=!1){!function(e,t,n){const i=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:false,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?dte(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(fo.sep)>=0}}(e);hie.push(i),i.userConfigured?pie.push(i):gie.push(i),n&&!i.userConfigured&&hie.forEach((e=>{e.mime===i.mime||e.userConfigured||(i.extension&&e.extension===i.extension&&console.warn(`Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>`),i.filename&&e.filename===i.filename&&console.warn(`Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>`),i.filepattern&&e.filepattern===i.filepattern&&console.warn(`Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>`),i.firstline&&e.firstline===i.firstline&&console.warn(`Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>`))}))}(e,0,t)}function fie(e,t,n){var i;let o,s,r;for(let l=n.length-1;l>=0;l--){const a=n[l];if(t===a.filenameLowercase){o=a;break}if(a.filepattern&&(!s||a.filepattern.length>s.filepattern.length)){const n=a.filepatternOnPath?e:t;(null===(i=a.filepatternLowercase)||void 0===i?void 0:i.call(a,n))&&(s=a)}a.extension&&(!r||a.extension.length>r.extension.length)&&t.endsWith(a.extensionLowercase)&&(r=a)}return o||s||r||void 0}const _ie=Object.prototype.hasOwnProperty,vie="vs.editor.nullLanguage";class bie{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(vie,0),this._register(Kg,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||vie}}class wie extends lt{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new Ct),this.onDidChange=this._onDidChange.event,wie.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new bie,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(Ug.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){wie.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},hie=hie.filter((e=>e.userConfigured)),gie=[];const e=[].concat(Ug.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),fu.as(Dg).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let n;_ie.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){const n=t.id;let i=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),i=t.mimetypes[0]),i||(i=`text/x-${n}`,e.mimetypes.push(i)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)mie({id:n,mime:i,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const o of t.filenames)mie({id:n,mime:i,filename:o},this._warnOnOverwrite),e.filenames.push(o);if(Array.isArray(t.filenamePatterns))for(const e of t.filenamePatterns)mie({id:n,mime:i,filepattern:e},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);"^"!==(o=t).source&&"^$"!==o.source&&"$"!==o.source&&"^\\s*$"!==o.source&&o.exec("")&&0===o.lastIndex||mie({id:n,mime:i,firstline:t},this._warnOnOverwrite)}catch(n){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,n)}}var o;e.aliases.push(n);let s=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(s=0===t.aliases.length?[null]:t.aliases),null!==s)for(const t of s)t&&0!==t.length&&e.aliases.push(t);const r=null!==s&&s.length>0;if(r&&null===s[0]);else{const t=(r?s[0]:null)||n;!r&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&_ie.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return _ie.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&_ie.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?function(e,t){return function(e,t){let n;if(e)switch(e.scheme){case Ho.file:n=e.fsPath;break;case Ho.data:n=Ja.parseMetaData(e).get(Ja.META_DATA_LABEL);break;case Ho.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:"unknown",mime:xg.unknown}];n=n.toLowerCase();const i=Co(n),o=fie(n,i,pie);if(o)return[o,{id:Kg,mime:xg.text}];const s=fie(n,i,gie);if(s)return[s,{id:Kg,mime:xg.text}];if(t){const e=function(e){if(Ui(e)&&(e=e.substr(1)),e.length>0)for(let t=hie.length-1;t>=0;t--){const n=hie[t];if(!n.firstline)continue;const i=e.match(n.firstline);if(i&&i.length>0)return n}}(t);if(e)return[e,{id:Kg,mime:xg.text}]}return[{id:"unknown",mime:xg.unknown}]}(e,t).map((e=>e.id))}(e,t):[]}}wie.instanceCount=0;class Cie extends lt{constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new Ct),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new Ct),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new Ct({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,Cie.instanceCount++,this._registry=this._register(new wie(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){Cie.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){return Hc(this._registry.guessLanguageIdByFilepathOrFirstLine(e,t),null)}createById(e){return new yie(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new yie(this.onDidChange,(()=>{const n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=Kg),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),IC.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}Cie.instanceCount=0;class yie{constructor(e,t){this._onDidChangeLanguages=e,this._selector=t,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages((()=>this._evaluate()))),this._emitter||(this._emitter=new Ct({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var e;const t=this._selector();t!==this.languageId&&(this.languageId=t,null===(e=this._emitter)||void 0===e||e.fire(this.languageId))}}const Sie=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,xie=/(&)?(&)([^\s&])/g;var kie,Lie;!function(e){e[e.Right=0]="Right",e[e.Left=1]="Left"}(kie||(kie={})),function(e){e[e.Above=0]="Above",e[e.Below=1]="Below"}(Lie||(Lie={}));class Die extends iM{constructor(e,t,n,i){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const o=document.createElement("div");o.classList.add("monaco-menu"),o.setAttribute("role","presentation"),super(o,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,n,s),context:n.context,actionRunner:n.actionRunner,ariaLabel:n.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...U||K?[10]:[]],keyDown:!0}}),this.menuStyles=i,this.menuElement=o,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,i),this._register(LL.addTarget(o)),this._register(ms(o,or.KEY_DOWN,(e=>{new Ue(e).equals(2)&&e.preventDefault()}))),n.enableMnemonics&&this._register(ms(o,or.KEY_DOWN,(e=>{const t=e.key.toLocaleLowerCase();if(this.mnemonics.has(t)){rr(e,!0);const n=this.mnemonics.get(t);if(1===n.length&&(n[0]instanceof Eie&&n[0].container&&this.focusItemByElement(n[0].container),n[0].onClick(e)),n.length>1){const e=n.shift();e&&e.container&&(this.focusItemByElement(e.container),n.push(e)),this.mnemonics.set(t,n)}}}))),K&&this._register(ms(o,or.KEY_DOWN,(e=>{const t=new Ue(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),rr(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),rr(e,!0))}))),this._register(ms(this.domNode,or.MOUSE_OUT,(e=>{Ps(e.relatedTarget,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())}))),this._register(ms(this.actionsList,or.MOUSE_OVER,(e=>{let t=e.target;if(t&&Ps(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}))),this._register(LL.addTarget(this.actionsList)),this._register(ms(this.actionsList,kL.Tap,(e=>{let t=e.initialTarget;if(t&&Ps(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})));const s={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new cE(o,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const r=this.scrollableElement.getDomNode();r.style.position="",this.styleScrollElement(r,i),this._register(ms(o,kL.Change,(e=>{rr(e,!0);const t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})}))),this._register(ms(r,or.MOUSE_UP,(e=>{e.preventDefault()})));const l=is(e);o.style.maxHeight=`${Math.max(10,l.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter(((e,i)=>{var o;if(null===(o=n.submenuIds)||void 0===o?void 0:o.has(e.id))return console.warn(`Found submenu cycle: ${e.id}`),!1;if(e instanceof fd){if(i===t.length-1||0===i)return!1;if(t[i-1]instanceof fd)return!1}return!0})),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter((e=>!(e instanceof Iie))).forEach(((e,t,n)=>{e.updatePositionInSet(t+1,n.length)}))}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(Bs(e)?this.styleSheet=$s(e):(Die.globalStyleSheet||(Die.globalStyleSheet=$s()),this.styleSheet=Die.globalStyleSheet)),this.styleSheet.textContent=function(e,t){let n=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${Mie(Sa.menuSelection)}\n${Mie(Sa.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(t){n+="\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t";const t=e.scrollbarShadow;t&&(n+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${t} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${t} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const i=e.scrollbarSliderBackground;i&&(n+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${i};\n\t\t\t\t}\n\t\t\t`);const o=e.scrollbarSliderHoverBackground;o&&(n+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${o};\n\t\t\t\t}\n\t\t\t`);const s=e.scrollbarSliderActiveBackground;s&&(n+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${s};\n\t\t\t\t}\n\t\t\t`)}return n}(t,Bs(e))}styleScrollElement(e,t){var n,i;const o=null!==(n=t.foregroundColor)&&void 0!==n?n:"",s=null!==(i=t.backgroundColor)&&void 0!==i?i:"",r=t.borderColor?`1px solid ${t.borderColor}`:"",l=t.shadowColor?`0 2px 8px ${t.shadowColor}`:"";e.style.outline=r,e.style.borderRadius="5px",e.style.color=o,e.style.backgroundColor=s,e.style.boxShadow=l}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(ms(this.element,or.MOUSE_UP,(e=>{if(rr(e,!0),a){if(new $e(is(this.element),e).rightButton)return;this.onClick(e)}else setTimeout((()=>{this.onClick(e)}),0)}))),this._register(ms(this.element,or.CONTEXT_MENU,(e=>{rr(e,!0)}))))}),100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=dr(this.element,mr("a.action-menu-item")),this._action.id===fd.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=dr(this.item,mr("span.menu-item-check"+ka.asCSSSelector(Sa.menuSelection))),this.check.setAttribute("role","none"),this.label=dr(this.item,mr("span.action-label")),this.options.label&&this.options.keybinding&&(dr(this.item,mr("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){var e;super.focus(),null===(e=this.item)||void 0===e||e.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset",`${e}`),this.item.setAttribute("aria-setsize",`${t}`))}updateLabel(){var e;if(this.label&&this.options.label){gs(this.label);let t=Ia(this.action.label);if(t){const n=function(e){const t=Sie,n=t.exec(e);if(!n)return e;const i=!n[1];return e.replace(t,i?"$2$3":"").trim()}(t);this.options.enableMnemonics||(t=n),this.label.setAttribute("aria-label",n.replace(/&&/g,"&"));const i=Sie.exec(t);if(i){t=si(t),xie.lastIndex=0;let n=xie.exec(t);for(;n&&n[1];)n=xie.exec(t);const o=e=>e.replace(/&&/g,"&");n?this.label.append(ai(o(t.substr(0,n.index))," "),mr("u",{"aria-hidden":"true"},n[3]),di(o(t.substr(n.index+n[0].length))," ")):this.label.innerText=o(t).trim(),null===(e=this.item)||void 0===e||e.setAttribute("aria-keyshortcuts",(i[1]?i[1]:i[3]).toLocaleLowerCase())}else this.label.innerText=t.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),void 0!==e?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,i=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",o=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=null!=t?t:"",this.item.style.backgroundColor=null!=n?n:"",this.item.style.outline=i,this.item.style.outlineOffset=o),this.check&&(this.check.style.color=null!=t?t:"")}}class Eie extends Nie{constructor(e,t,n,i,o){super(e,e,i,o),this.submenuActions=t,this.parentData=n,this.submenuOptions=i,this.mysubmenu=null,this.submenuDisposables=this._register(new rt),this.mouseOver=!1,this.expandDirection=i&&void 0!==i.expandDirection?i.expandDirection:{horizontal:kie.Right,vertical:Lie.Below},this.showScheduler=new jt((()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))}),250),this.hideScheduler=new jt((()=>{this.element&&!Ps(Vs(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}),750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=dr(this.item,mr("span.submenu-indicator"+ka.asCSSSelector(Sa.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(ms(this.element,or.KEY_UP,(e=>{const t=new Ue(e);(t.equals(17)||t.equals(3))&&(rr(e,!0),this.createSubmenu(!0))}))),this._register(ms(this.element,or.KEY_DOWN,(e=>{const t=new Ue(e);Vs()===this.item&&(t.equals(17)||t.equals(3))&&rr(e,!0)}))),this._register(ms(this.element,or.MOUSE_OVER,(e=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())}))),this._register(ms(this.element,or.MOUSE_LEAVE,(e=>{this.mouseOver=!1}))),this._register(ms(this.element,or.FOCUS_OUT,(e=>{this.element&&!Ps(Vs(),this.element)&&this.hideScheduler.schedule()}))),this._register(this.parentData.parent.onScroll((()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}))))}updateEnabled(){}onClick(e){rr(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(e){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,n,i){const o={top:0,left:0};return o.left=Wne(e.width,t.width,{position:i.horizontal===kie.Right?0:1,offset:n.left,size:n.width}),o.left>=n.left&&o.left{new Ue(e).equals(15)&&(rr(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))}))),this.submenuDisposables.add(ms(this.submenuContainer,or.KEY_DOWN,(e=>{new Ue(e).equals(15)&&rr(e,!0)}))),this.submenuDisposables.add(this.parentData.submenu.onDidCancel((()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)}))),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){var t;this.item&&(null===(t=this.item)||void 0===t||t.setAttribute("aria-expanded",e))}applyStyle(){super.applyStyle();const e=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=null!=e?e:"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class Iie extends tM{constructor(e,t,n,i){super(e,t,n),this.menuStyles=i}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function Mie(e){const t=ya()[e.id];return`.codicon-${e.id}:before { content: '\\${t.toString(16)}'; }`}class Tie{constructor(e,t,n,i){this.contextViewService=e,this.telemetryService=t,this.notificationService=n,this.keybindingService=i,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;let n;this.focusToReturn=Vs();const i=e.domForShadowRoot instanceof HTMLElement?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:i=>{var o;this.lastContainer=i;const s=e.getMenuClassName?e.getMenuClassName():"";s&&(i.className+=" "+s),this.options.blockMouse&&(this.block=i.appendChild(mr(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",null===(o=this.blockDisposable)||void 0===o||o.dispose(),this.blockDisposable=ms(this.block,or.MOUSE_DOWN,(e=>e.stopPropagation())));const r=new rt,l=e.actionRunner||new md;l.onWillRun((t=>this.onActionRun(t,!e.skipTelemetry)),this,r),l.onDidRun(this.onDidActionRun,this,r),n=new Die(i,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:l,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)},EM),n.onDidCancel((()=>this.contextViewService.hideContextView(!0)),null,r),n.onDidBlur((()=>this.contextViewService.hideContextView(!0)),null,r);const a=is(i);return r.add(ms(a,or.BLUR,(()=>this.contextViewService.hideContextView(!0)))),r.add(ms(a,or.MOUSE_DOWN,(e=>{if(e.defaultPrevented)return;const t=new $e(a,e);let n=t.target;if(!t.rightButton){for(;n;){if(n===i)return;n=n.parentElement}this.contextViewService.hideContextView(!0)}}))),ot(r,n)},focus:()=>{null==n||n.focus(!!e.autoSelectFirstItem)},onHide:t=>{var n,i,o;null===(n=e.onHide)||void 0===n||n.call(e,!!t),this.block&&(this.block.remove(),this.block=null),null===(i=this.blockDisposable)||void 0===i||i.dispose(),this.blockDisposable=null,this.lastContainer&&(Vs()===this.lastContainer||Ps(Vs(),this.lastContainer))&&(null===(o=this.focusToReturn)||void 0===o||o.focus()),this.lastContainer=null}},i,!!i)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!Ne(e.error)&&this.notificationService.error(e.error)}}var Aie=function(e,t){return function(n,i){t(n,i,e)}};let Rie=class extends lt{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new Tie(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,n,i,o,s){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=n,this.keybindingService=i,this.menuService=o,this.contextKeyService=s,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new Ct),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new Ct)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=Pie.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{var n;null===(n=e.onHide)||void 0===n||n.call(e,t),this._onDidHideContextMenu.fire()}}),xr.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};var Pie,Oie;Rie=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Aie(0,Mu),Aie(1,nN),Aie(2,VL),Aie(3,zL),Aie(4,xu),Aie(5,su)],Rie),function(e){e.transform=function(e,t,n){if(!((i=e)&&i.menuId instanceof Su))return e;var i;const{menuId:o,menuActionOptions:s,contextKeyService:r}=e;return{...e,getActions:()=>{const i=[];if(o){const e=t.createMenu(o,null!=r?r:n);!function(e,t,n,i){const o=e.getActions(t),s=xr.getInstance();EU(o,n,s.keyStatus.altKey||(z||K)&&s.keyStatus.shiftKey,(e=>"navigation"===e))}(e,s,i),e.dispose()}return e.getActions?fd.join(e.getActions(),i):i}}}}(Pie||(Pie={})),function(e){e[e.API=0]="API",e[e.USER=1]="USER"}(Oie||(Oie={}));var Fie=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Bie=function(e,t){return function(n,i){t(n,i,e)}};let Wie=class{constructor(e){this._commandService=e}async open(e,t){if(!zo(e,Ho.command))return!1;if(!(null==t?void 0:t.allowCommands))return!0;if("string"==typeof e&&(e=Io.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path))return!0;let n=[];try{n=kk(decodeURIComponent(e.query))}catch(t){try{n=kk(e.query)}catch(e){}}return Array.isArray(n)||(n=[n]),await this._commandService.executeCommand(e.path,...n),!0}};Wie=Fie([Bie(0,wd)],Wie);let Vie=class{constructor(e){this._editorService=e}async open(e,t){"string"==typeof e&&(e=Io.parse(e));const{selection:n,uri:i}=function(e){let t;const n=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(e.fragment);return n&&(t={startLineNumber:parseInt(n[1]),startColumn:n[2]?parseInt(n[2]):1,endLineNumber:n[4]?parseInt(n[4]):void 0,endColumn:n[4]?n[5]?parseInt(n[5]):1:void 0},e=e.with({fragment:""})),{selection:t,uri:e}}(e);return(e=i).scheme===Ho.file&&(e=Ga(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:n,source:(null==t?void 0:t.fromUserGesture)?Oie.USER:Oie.API,...null==t?void 0:t.editorOptions}},this._editorService.getFocusedCodeEditor(),null==t?void 0:t.openToSide),!0}};Vie=Fie([Bie(0,ud)],Vie);let Hie=class{constructor(e,t){this._openers=new gt,this._validators=new gt,this._resolvers=new gt,this._resolvedUriTargets=new tl((e=>e.with({path:null,fragment:null,query:null}).toString())),this._externalOpeners=new gt,this._defaultExternalOpener={openExternal:async e=>(Uo(e,Ho.http,Ho.https)?br(e):o.location.href=e,!0)},this._openers.push({open:async(e,t)=>!(!(null==t?void 0:t.openExternal)&&!Uo(e,Ho.mailto,Ho.http,Ho.https,Ho.vsls)||(await this._doOpenExternal(e,t),0))}),this._openers.push(new Wie(t)),this._openers.push(new Vie(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){var n;const i="string"==typeof e?Io.parse(e):e,o=null!==(n=this._resolvedUriTargets.get(i))&&void 0!==n?n:e;for(const e of this._validators)if(!await e.shouldOpen(o,t))return!1;for(const n of this._openers)if(await n.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const n of this._resolvers)try{const i=await n.resolveExternalUri(e,t);if(i)return this._resolvedUriTargets.has(i.resolved)||this._resolvedUriTargets.set(i.resolved,e),i}catch(e){}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const n="string"==typeof e?Io.parse(e):e;let i,o;try{i=(await this.resolveExternalUri(n,t)).resolved}catch(e){i=n}if(o="string"==typeof e&&n.toString()===i.toString()?e:encodeURI(i.toString(!0)),null==t?void 0:t.allowContributedOpeners){const e="string"==typeof(null==t?void 0:t.allowContributedOpeners)?null==t?void 0:t.allowContributedOpeners:void 0;for(const t of this._externalOpeners)if(await t.openExternal(o,{sourceUri:n,preferredOpenerId:e},It.None))return!0}return this._defaultExternalOpener.openExternal(o,{sourceUri:n},It.None)}dispose(){this._validators.clear()}};Hie=Fie([Bie(0,ud),Bie(1,wd)],Hie);var zie=function(e,t){return function(n,i){t(n,i,e)}};let Uie=class extends lt{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new Ct),this._markerDecorations=new tl,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new Kie(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var t;const n=this._markerDecorations.get(e.uri);n&&(n.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==Ho.inMemory&&e.uri.scheme!==Ho.internal&&e.uri.scheme!==Ho.vscode||null===(t=this._markerService)||void 0===t||t.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};Uie=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([zie(0,hd),zie(1,GM)],Uie);class Kie extends lt{constructor(e){super(),this.model=e,this._map=new ol,this._register(st((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:n}=function(e,t){const n=[],i=[];for(const i of e)t.has(i)||n.push(i);for(const n of t)e.has(n)||i.push(n);return{removed:n,added:i}}(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===n.length)return!1;const i=n.map((e=>this._map.get(e))),o=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),s=this.model.deltaDecorations(i,o);for(const e of n)this._map.delete(e);for(let e=0;e=t)return n;const i=e.getWordAtPosition(n.getStartPosition());i&&(n=new nc(n.startLineNumber,i.startColumn,n.endLineNumber,i.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){const i=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);i=0}}var jie,qie=function(e,t){return function(n,i){t(n,i,e)}};function $ie(e){return e.toString()}class Gie{constructor(e,t,n){this.model=e,this._modelEventListeners=new rt,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>n(e,t))))}dispose(){this._modelEventListeners.dispose()}}const Zie=K||U?1:2;class Yie{constructor(e,t,n,i,o,s,r,l){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=i,this.heapSize=o,this.sha1=s,this.versionId=r,this.alternativeVersionId=l}}let Xie=jie=class extends lt{constructor(e,t,n,i,o){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._languageService=i,this._languageConfigurationService=o,this._onModelAdded=this._register(new Ct),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new Ct),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new Ct),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){var n;let i=yh.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(i=t),i<1&&(i=1)}let o="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(o=Math.max(t,1))}let s=yh.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let r=Zie;const l=e.eol;"\r\n"===l?r=2:"\n"===l&&(r=1);let a=yh.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let d=yh.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(d="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let u=yh.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(u="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let c=yh.bracketPairColorizationOptions;return(null===(n=e.editor)||void 0===n?void 0:n.bracketPairColorization)&&"object"==typeof e.editor.bracketPairColorization&&(c={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:i,indentSize:o,insertSpaces:s,detectIndentation:d,defaultEOL:r,trimAutoWhitespace:a,largeFileOptimizations:u,bracketPairColorizationOptions:c}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const n=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return n&&"string"==typeof n&&"auto"!==n?n:3===ee||2===ee?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,n){const i="string"==typeof e?e:e.languageId;let o=this._modelCreationOptionsByLanguageAndResource[i+t];if(!o){const e=this._configurationService.getValue("editor",{overrideIdentifier:i,resource:t}),s=this._getEOL(t,i);o=jie._readModelOptions({editor:e,eol:s},n),this._modelCreationOptionsByLanguageAndResource[i+t]=o}return o}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let i=0,o=n.length;ie){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,i){const o=this.getCreationOptions(t,n,i),s=new Cy(e,t,o,n,this._undoRedoService,this._languageService,this._languageConfigurationService);if(n&&this._disposedModels.has($ie(n))){const e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),i=this._getSHA1Computer(),o=!!i.canComputeSHA1(s)&&i.computeSHA1(s)===e.sha1;if(o||e.sharesUndoRedoStack){for(const e of t.past)Gb(e)&&e.matchesResource(n)&&e.setModel(s);for(const e of t.future)Gb(e)&&e.matchesResource(n)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(n,!0,(e=>Gb(e)&&e.matchesResource(n))),o&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const r=$ie(s.uri);if(this._models[r])throw new Error("ModelService: Cannot add model because it already exists!");const l=new Gie(s,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[r]=l,l}createModel(e,t,n,i=!1){let o;return o=t?this._createModelData(e,t,n,i):this._createModelData(e,Kg,n,i),this._onModelAdded.fire(o.model),o.model}getModels(){const e=[],t=Object.keys(this._models);for(let n=0,i=t.length;n0||t.future.length>0){for(const n of t.past)Gb(n)&&n.matchesResource(e.uri)&&(o=!0,s+=n.heapSize(e.uri),n.setModel(e.uri));for(const n of t.future)Gb(n)&&n.matchesResource(e.uri)&&(o=!0,s+=n.heapSize(e.uri),n.setModel(e.uri))}}const r=jie.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(o)if(i||!(s>r)&&l.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(r-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>Gb(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new Yie(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),i,s,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!i){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const n=t.oldLanguage,i=e.getLanguageId(),o=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(i,e.uri,e.isForSimpleWidget);jie._setModelOptionsForModel(e,s,o),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new Qie}};Xie.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520,Xie=jie=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([qie(0,pg),qie(1,OH),qie(2,cy),qie(3,Sh),qie(4,Qg)],Xie);class Qie{canComputeSHA1(e){return e.getValueLength()<=Qie.MAX_MODEL_SIZE}computeSHA1(e){const t=new ts,n=e.createSnapshot();let i;for(;i=n.read();)t.update(i);return t.digest()}}Qie.MAX_MODEL_SIZE=10485760;var Jie=n(1446),eoe={};eoe.styleTagTransform=Vr(),eoe.setAttributes=Or(),eoe.insert=Rr().bind(null,"head"),eoe.domAPI=Tr(),eoe.insertStyleElement=Br(),Ir()(Jie.A,eoe),Jie.A&&Jie.A.locals&&Jie.A.locals;var toe=function(e,t){return function(n,i){t(n,i,e)}};let noe=class extends lt{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=fu.as(n0),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,n){var i,o,s;const[r,l]=this.getOrInstantiateProvider(e),a=this.visibleQuickAccess,d=null==a?void 0:a.descriptor;if(a&&l&&d===l)return e===l.prefix||(null==n?void 0:n.preserveValue)||(a.picker.value=e),void this.adjustValueSelection(a.picker,l,n);if(l&&!(null==n?void 0:n.preserveValue)){let t;if(a&&d&&d!==l){const e=a.value.substr(d.prefix.length);e&&(t=`${l.prefix}${e}`)}if(!t){const e=null==r?void 0:r.defaultFilterValue;e===t0.LAST?t=this.lastAcceptedPickerValues.get(l):"string"==typeof e&&(t=`${l.prefix}${e}`)}"string"==typeof t&&(e=t)}const u=null===(i=null==a?void 0:a.picker)||void 0===i?void 0:i.valueSelection,c=null===(o=null==a?void 0:a.picker)||void 0===o?void 0:o.value,h=new rt,g=h.add(this.quickInputService.createQuickPick());let p;g.value=e,this.adjustValueSelection(g,l,n),g.placeholder=null==l?void 0:l.placeholder,g.quickNavigate=null==n?void 0:n.quickNavigateConfiguration,g.hideInput=!!g.quickNavigate&&!a,("number"==typeof(null==n?void 0:n.itemActivation)||(null==n?void 0:n.quickNavigateConfiguration))&&(g.itemActivation=null!==(s=null==n?void 0:n.itemActivation)&&void 0!==s?s:yL.SECOND),g.contextKey=null==l?void 0:l.contextKey,g.filterValue=e=>e.substring(l?l.prefix.length:0),t&&(p=new Yt,h.add(ft.once(g.onWillAccept)((e=>{e.veto(),g.hide()})))),h.add(this.registerPickerListeners(g,r,l,e,null==n?void 0:n.providerOptions));const m=h.add(new Tt);return r&&h.add(r.provide(g,m.token,null==n?void 0:n.providerOptions)),ft.once(g.onDidHide)((()=>{0===g.selectedItems.length&&m.cancel(),h.dispose(),null==p||p.complete(g.selectedItems.slice(0))})),g.show(),u&&c===e&&(g.valueSelection=u),t?null==p?void 0:p.p:void 0}adjustValueSelection(e,t,n){var i;let o;o=(null==n?void 0:n.preserveValue)?[e.value.length,e.value.length]:[null!==(i=null==t?void 0:t.prefix.length)&&void 0!==i?i:0,e.value.length],e.valueSelection=o}registerPickerListeners(e,t,n,i,o){const s=new rt,r=this.visibleQuickAccess={picker:e,descriptor:n,value:i};return s.add(st((()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)}))),s.add(e.onDidChangeValue((e=>{const[n]=this.getOrInstantiateProvider(e);n!==t?this.show(e,{preserveValue:!0,providerOptions:o}):r.value=e}))),n&&s.add(e.onDidAccept((()=>{this.lastAcceptedPickerValues.set(n,e.value)}))),s}getOrInstantiateProvider(e){const t=this.registry.getQuickAccessProvider(e);if(!t)return[void 0,void 0];let n=this.mapProviderToDescriptor.get(t);return n||(n=this.instantiationService.createInstance(t.ctor),this.mapProviderToDescriptor.set(t,n)),[n,t]}};noe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([toe(0,SL),toe(1,ad)],noe);var ioe=n(7492),ooe={};ooe.styleTagTransform=Vr(),ooe.setAttributes=Or(),ooe.insert=Rr().bind(null,"head"),ooe.domAPI=Tr(),ooe.insertStyleElement=Br(),Ir()(ioe.A,ooe),ioe.A&&ioe.A.locals&&ioe.A.locals;class soe{constructor(e){this.nodes=e}toString(){return this.nodes.map((e=>"string"==typeof e?e:e.label)).join("")}}!function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);s>3&&r&&Object.defineProperty(t,n,r)}([xL],soe.prototype,"toString",null);const roe=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi,loe={},aoe=new Ck("quick-input-button-icon-");function doe(e,t,n){let i=e.iconClass||function(e){if(!e)return;let t;const n=e.dark.toString();return loe[n]?t=loe[n]:(t=aoe.nextId(),Js(`.${t}, .hc-light .${t}`,`background-image: ${wr(e.light||e.dark)}`),Js(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${wr(e.dark)}`),loe[n]=t),t}(e.iconPath);return e.alwaysVisible&&(i=i?`${i} always-visible`:"always-visible"),{id:t,label:"",tooltip:e.tooltip||"",class:i,enabled:!0,run:n}}const uoe=new ei((()=>{const e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}}));new ei((()=>({collator:new Intl.Collator(void 0,{numeric:!0})}))),new ei((()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})})));var coe,hoe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},goe=function(e,t){return function(n,i){t(n,i,e)}};const poe=mr;var moe,foe;!function(e){e[e.First=1]="First",e[e.Second=2]="Second",e[e.Last=3]="Last",e[e.Next=4]="Next",e[e.Previous=5]="Previous",e[e.NextPage=6]="NextPage",e[e.PreviousPage=7]="PreviousPage",e[e.NextSeparator=8]="NextSeparator",e[e.PreviousSeparator=9]="PreviousSeparator"}(moe||(moe={}));class _oe{constructor(e,t,n){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new ei((()=>{var e;const t=null!==(e=n.label)&&void 0!==e?e:"",i=Ta(t).text.trim(),o=n.ariaLabel||[t,this.saneDescription,this.saneDetail].map((e=>{return(t=e)?t.replace(/\$\((.*?)\)/g,((e,t)=>` ${t} `)).trim():"";var t})).filter((e=>!!e)).join(", ");return{saneLabel:t,saneSortLabel:i,saneAriaLabel:o}})),this._saneDescription=n.description,this._saneTooltip=n.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class voe extends _oe{constructor(e,t,n,i,o,s){var r,l,a;super(e,t,o),this.fireButtonTriggered=n,this._onChecked=i,this.item=o,this._separator=s,this._checked=!1,this.onChecked=t?ft.map(ft.filter(this._onChecked.event,(e=>e.element===this)),(e=>e.checked)):ft.None,this._saneDetail=o.detail,this._labelHighlights=null===(r=o.highlights)||void 0===r?void 0:r.label,this._descriptionHighlights=null===(l=o.highlights)||void 0===l?void 0:l.description,this._detailHighlights=null===(a=o.highlights)||void 0===a?void 0:a.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}!function(e){e[e.NONE=0]="NONE",e[e.MOUSE_HOVER=1]="MOUSE_HOVER",e[e.ACTIVE_ITEM=2]="ACTIVE_ITEM"}(foe||(foe={}));class boe extends _oe{constructor(e,t,n){super(e,!1,n),this.fireSeparatorButtonTriggered=t,this.separator=n,this.children=new Array,this.focusInsideSeparator=foe.NONE}}class woe{getHeight(e){return e instanceof boe?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof voe?Soe.ID:xoe.ID}}class Coe{getWidgetAriaLabel(){return _(0,"Quick Input")}getAriaLabel(e){var t;return(null===(t=e.separator)||void 0===t?void 0:t.label)?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(e.hasCheckbox&&e instanceof voe)return{value:e.checked,onDidChange:e.onChecked}}}class yoe{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new rt,t.toDisposeTemplate=new rt,t.entry=dr(e,poe(".quick-input-list-entry"));const n=dr(t.entry,poe("label.quick-input-list-label"));t.toDisposeTemplate.add(_s(n,or.CLICK,(e=>{t.checkbox.offsetParent||e.preventDefault()}))),t.checkbox=dr(n,poe("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const i=dr(n,poe(".quick-input-list-rows")),o=dr(i,poe(".quick-input-list-row")),s=dr(i,poe(".quick-input-list-row"));t.label=new p$(o,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=ur(t.label.element,poe(".quick-input-list-icon"));const r=dr(o,poe(".quick-input-list-entry-keybinding"));t.keybinding=new fM(r,ee),t.toDisposeTemplate.add(t.keybinding);const l=dr(s,poe(".quick-input-list-label-meta"));return t.detail=new p$(l,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=dr(t.entry,poe(".quick-input-list-separator")),t.actionBar=new iM(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,n){n.toDisposeElement.clear(),n.actionBar.clear()}}let Soe=coe=class extends yoe{constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return coe.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(_s(t.checkbox,or.CHANGE,(e=>{t.element.checked=t.checkbox.checked}))),t}renderElement(e,t,n){var i,o,s;const r=e.element;n.element=r,r.element=null!==(i=n.entry)&&void 0!==i?i:void 0;const l=r.item;n.checkbox.checked=r.checked,n.toDisposeElement.add(r.onChecked((e=>n.checkbox.checked=e))),n.checkbox.disabled=r.checkboxDisabled;const{labelHighlights:a,descriptionHighlights:d,detailHighlights:u}=r;if(l.iconPath){const e=Mv(this.themeService.getColorTheme().type)?l.iconPath.dark:null!==(o=l.iconPath.light)&&void 0!==o?o:l.iconPath.dark,t=Io.revive(e);n.icon.className="quick-input-list-icon",n.icon.style.backgroundImage=wr(t)}else n.icon.style.backgroundImage="",n.icon.className=l.iconClass?`quick-input-list-icon ${l.iconClass}`:"";let c;!r.saneTooltip&&r.saneDescription&&(c={markdown:{value:r.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});const h={matches:a||[],descriptionTitle:c,descriptionMatches:d||[],labelEscapeNewLines:!0};if(h.extraClasses=l.iconClasses,h.italic=l.italic,h.strikethrough=l.strikethrough,n.entry.classList.remove("quick-input-list-separator-as-item"),n.label.setLabel(r.saneLabel,r.saneDescription,h),n.keybinding.set(l.keybinding),r.saneDetail){let e;r.saneTooltip||(e={markdown:{value:r.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDetail}),n.detail.element.style.display="",n.detail.setLabel(r.saneDetail,void 0,{matches:u,title:e,labelEscapeNewLines:!0})}else n.detail.element.style.display="none";(null===(s=r.separator)||void 0===s?void 0:s.label)?(n.separator.textContent=r.separator.label,n.separator.style.display="",this.addItemWithSeparator(r)):n.separator.style.display="none",n.entry.classList.toggle("quick-input-list-separator-border",!!r.separator);const g=l.buttons;g&&g.length?(n.actionBar.push(g.map(((e,t)=>doe(e,`id-${t}`,(()=>r.fireButtonTriggered({button:e,item:r.item}))))),{icon:!0,label:!1}),n.entry.classList.add("has-actions")):n.entry.classList.remove("has-actions")}disposeElement(e,t,n){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,n)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};Soe.ID="quickpickitem",Soe=coe=hoe([goe(1,Tv)],Soe);class xoe extends yoe{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}get templateId(){return xoe.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderElement(e,t,n){var i;const o=e.element;n.element=o,o.element=null!==(i=n.entry)&&void 0!==i?i:void 0,o.element.classList.toggle("focus-inside",!!o.focusInsideSeparator);const s=o.separator,{labelHighlights:r,descriptionHighlights:l,detailHighlights:a}=o;let d;n.icon.style.backgroundImage="",n.icon.className="",!o.saneTooltip&&o.saneDescription&&(d={markdown:{value:o.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDescription});const u={matches:r||[],descriptionTitle:d,descriptionMatches:l||[],labelEscapeNewLines:!0};if(n.entry.classList.add("quick-input-list-separator-as-item"),n.label.setLabel(o.saneLabel,o.saneDescription,u),o.saneDetail){let e;o.saneTooltip||(e={markdown:{value:o.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:o.saneDetail}),n.detail.element.style.display="",n.detail.setLabel(o.saneDetail,void 0,{matches:a,title:e,labelEscapeNewLines:!0})}else n.detail.element.style.display="none";n.separator.style.display="none",n.entry.classList.add("quick-input-list-separator-border");const c=s.buttons;c&&c.length?(n.actionBar.push(c.map(((e,t)=>doe(e,`id-${t}`,(()=>o.fireSeparatorButtonTriggered({button:e,separator:o.separator}))))),{icon:!0,label:!1}),n.entry.classList.add("has-actions")):n.entry.classList.remove("has-actions"),this.addSeparator(o)}disposeElement(e,t,n){var i;this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||null===(i=e.element.element)||void 0===i||i.classList.remove("focus-inside"),super.disposeElement(e,t,n)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}}xoe.ID="quickpickseparator";let koe=class extends lt{constructor(e,t,n,i,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=n,this._onKeyDown=new Ct,this.onKeyDown=this._onKeyDown.event,this._onLeave=new Ct,this.onLeave=this._onLeave.event,this._onChangedAllVisibleChecked=new Ct,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new Ct,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new Ct,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new Ct,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new Ct,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new Ct,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._onTriggerEmptySelectionOrFocus=new Ct,this._elementChecked=new Ct,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new rt),this._shouldFireCheckedEvents=!0,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._container=dr(this.parent,poe(".quick-input-list")),this._separatorRenderer=new xoe(t),this._itemRenderer=o.createInstance(Soe,t),this._tree=this._register(o.createInstance(qq,"QuickInput",this._container,new woe,[this._itemRenderer,this._separatorRenderer],{accessibilityProvider:new Coe,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:zK.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,identityProvider:{getId:e=>{var t,n,i,o,s,r,l,a;return null!==(a=null!==(r=null!==(o=null!==(n=null===(t=e.item)||void 0===t?void 0:t.id)&&void 0!==n?n:null===(i=e.item)||void 0===i?void 0:i.label)&&void 0!==o?o:null===(s=e.separator)||void 0===s?void 0:s.id)&&void 0!==r?r:null===(l=e.separator)||void 0===l?void 0:l.label)&&void 0!==a?a:""}},alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=i,this._registerListeners()}get onDidChangeFocus(){return ft.map(ft.any(this._tree.onDidChangeFocus,this._onTriggerEmptySelectionOrFocus.event),(e=>e.elements.filter((e=>e instanceof voe)).map((e=>e.item))))}get onDidChangeSelection(){return ft.map(ft.any(this._tree.onDidChangeSelection,this._onTriggerEmptySelectionOrFocus.event),(e=>({items:e.elements.filter((e=>e instanceof voe)).map((e=>e.item)),event:e.browserEvent})))}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=null!=e?e:""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown((e=>{const t=new Ue(e);switch(t.keyCode){case 10:this.toggleCheckbox();break;case 31:(U?e.metaKey:e.ctrlKey)&&this._tree.setFocus(this._itemElements);break;case 16:{const e=this._tree.getFocus();1===e.length&&e[0]===this._itemElements[0]&&this._onLeave.fire();break}case 18:{const e=this._tree.getFocus();1===e.length&&e[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}}this._onKeyDown.fire(t)})))}_registerOnContainerClick(){this._register(ms(this._container,or.CLICK,(e=>{(e.x||e.y)&&this._onLeave.fire()})))}_registerOnMouseMiddleClick(){this._register(ms(this._container,or.AUXCLICK,(e=>{1===e.button&&this._onLeave.fire()})))}_registerOnElementChecked(){this._register(this._elementChecked.event((e=>this._fireCheckedEvents())))}_registerOnContextMenu(){this._register(this._tree.onContextMenu((e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))})))}_registerHoverListeners(){const e=this._register(new Wt(this.hoverDelegate.delay));this._register(this._tree.onMouseOver((async t=>{var n;if(t.browserEvent.target instanceof HTMLAnchorElement)e.cancel();else if(t.browserEvent.relatedTarget instanceof HTMLAnchorElement||!Ps(t.browserEvent.relatedTarget,null===(n=t.element)||void 0===n?void 0:n.element))try{await e.trigger((async()=>{t.element instanceof voe&&this.showHover(t.element)}))}catch(t){if(!Ne(t))throw t}}))),this._register(this._tree.onMouseOut((t=>{var n;Ps(t.browserEvent.relatedTarget,null===(n=t.element)||void 0===n?void 0:n.element)||e.cancel()})))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus((e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const e of this._separatorRenderer.visibleSeparators){const n=e===t;!!(e.focusInsideSeparator&foe.ACTIVE_ITEM)!==n&&(n?e.focusInsideSeparator|=foe.ACTIVE_ITEM:e.focusInsideSeparator&=~foe.ACTIVE_ITEM,this._tree.rerender(e))}}))),this._register(this._tree.onMouseOver((e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const e of this._separatorRenderer.visibleSeparators)e===t&&(e.focusInsideSeparator&foe.MOUSE_HOVER||(e.focusInsideSeparator|=foe.MOUSE_HOVER,this._tree.rerender(e)))}))),this._register(this._tree.onMouseOut((e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const e of this._separatorRenderer.visibleSeparators)e===t&&e.focusInsideSeparator&foe.MOUSE_HOVER&&(e.focusInsideSeparator&=~foe.MOUSE_HOVER,this._tree.rerender(e))})))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection((e=>{const t=e.elements.filter((e=>e instanceof voe));t.length!==e.elements.length&&(1===e.elements.length&&e.elements[0]instanceof boe&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))})))}getAllVisibleChecked(){return this._allVisibleChecked(this._itemElements,!1)}getCheckedCount(){return this._itemElements.filter((e=>e.checked)).length}getVisibleCount(){return this._itemElements.filter((e=>!e.hidden)).length}setAllVisibleChecked(e){try{this._shouldFireCheckedEvents=!1,this._itemElements.forEach((t=>{t.hidden||t.checkboxDisabled||(t.checked=e)}))}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}setElements(e){this._elementDisposable.clear(),this._inputElements=e;const t=this.parent.classList.contains("show-checkboxes");let n;this._itemElements=new Array,this._elementTree=e.reduce(((i,o,s)=>{let r;if("separator"===o.type){if(!o.buttons)return i;n=new boe(s,(e=>this.fireSeparatorButtonTriggered(e)),o),r=n}else{const l=s>0?e[s-1]:void 0;let a;l&&"separator"===l.type&&!l.buttons&&(n=void 0,a=l);const d=new voe(s,t,(e=>this.fireButtonTriggered(e)),this._elementChecked,o,a);if(this._itemElements.push(d),n)return n.children.push(d),i;r=d}return i.push(r),i}),new Array);const i=new Array;let o=0;for(const e of this._elementTree)e instanceof boe?(i.push({element:e,collapsible:!1,collapsed:!1,children:e.children.map((e=>({element:e,collapsible:!1,collapsed:!1})))}),o+=e.children.length+1):(i.push({element:e,collapsible:!1,collapsed:!1}),o++);this._tree.setChildren(null,i),this._onChangedVisibleCount.fire(o)}setFocusedElements(e){const t=e.map((e=>this._itemElements.find((t=>t.item===e)))).filter((e=>!!e));if(this._tree.setFocus(t),e.length>0){const e=this._tree.getFocus()[0];e&&this._tree.reveal(e)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map((e=>this._itemElements.find((t=>t.item===e)))).filter((e=>!!e));this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter((e=>e.checked)).map((e=>e.item))}setCheckedElements(e){try{this._shouldFireCheckedEvents=!1;const t=new Set;for(const n of e)t.add(n);for(const e of this._itemElements)e.checked=t.has(e.item)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}focus(e){var t;if(this._itemElements.length)switch(e===moe.Second&&this._itemElements.length<2&&(e=moe.First),e){case moe.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,(e=>e.element instanceof voe));break;case moe.Second:this._tree.scrollTop=0,this._tree.setFocus([this._itemElements[1]]);break;case moe.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]);break;case moe.Next:this._tree.focusNext(void 0,!0,void 0,(e=>e.element instanceof voe&&(this._tree.reveal(e.element),!0)));break;case moe.Previous:this._tree.focusPrevious(void 0,!0,void 0,(e=>{if(!(e.element instanceof voe))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0}));break;case moe.NextPage:this._tree.focusNextPage(void 0,(e=>e.element instanceof voe&&(this._tree.reveal(e.element),!0)));break;case moe.PreviousPage:this._tree.focusPreviousPage(void 0,(e=>{if(!(e.element instanceof voe))return!1;const t=this._tree.getParentElement(e.element);return null===t||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0}));break;case moe.NextSeparator:{let e=!1;const t=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,(t=>{if(e)return!0;if(t.element instanceof boe)e=!0,this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element.children[0]):this._tree.reveal(t.element,0);else if(t.element instanceof voe){if(t.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),!0;if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0}return!1})),t===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]));break}case moe.PreviousSeparator:{let e,n=!!(null===(t=this._tree.getFocus()[0])||void 0===t?void 0:t.separator);this._tree.focusPrevious(void 0,!0,void 0,(t=>{if(t.element instanceof boe)n?e||(this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),e=t.element.children[0]):n=!0;else if(t.element instanceof voe&&!e)if(t.element.separator)this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),e=t.element;else if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0;return!1})),e&&this._tree.setFocus([e]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?44*Math.floor(e/44)+6+"px":"",this._tree.layout()}filter(e){if(!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if((e=e.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let n;this._elementTree.forEach((i=>{var o,s,r,l;let a;a="fuzzy"===this.matchOnLabelMode?this.matchOnLabel&&null!==(o=Aa(e,Ta(i.saneLabel)))&&void 0!==o?o:void 0:this.matchOnLabel&&null!==(s=function(e,t){const{text:n,iconOffsets:i}=t;if(!i||0===i.length)return Loe(e,n);const o=ai(n," "),s=n.length-o.length,r=Loe(e,o);if(r)for(const e of r){const t=i[e.start+s]+s;e.start+=t,e.end+=t}return r}(t,Ta(i.saneLabel)))&&void 0!==s?s:void 0;const d=this.matchOnDescription&&null!==(r=Aa(e,Ta(i.saneDescription||"")))&&void 0!==r?r:void 0,u=this.matchOnDetail&&null!==(l=Aa(e,Ta(i.saneDetail||"")))&&void 0!==l?l:void 0;if(a||d||u?(i.labelHighlights=a,i.descriptionHighlights=d,i.detailHighlights=u,i.hidden=!1):(i.labelHighlights=void 0,i.descriptionHighlights=void 0,i.detailHighlights=void 0,i.hidden=!i.item||!i.item.alwaysShow),i.item?i.separator=void 0:i.separator&&(i.hidden=!0),!this.sortByLabel){const e=i.index&&this._inputElements[i.index-1];n=e&&"separator"===e.type?e:n,n&&!i.hidden&&(i.separator=n,n=void 0)}}))}else this._itemElements.forEach((e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;const t=e.index&&this._inputElements[e.index-1];e.item&&(e.separator=t&&"separator"===t.type&&!t.buttons?t:void 0)}));const n=this._elementTree.filter((e=>!e.hidden));if(this.sortByLabel&&e){const t=e.toLowerCase();n.sort(((e,n)=>function(e,t,n){const i=e.labelHighlights||[],o=t.labelHighlights||[];return i.length&&!o.length?-1:!i.length&&o.length?1:0===i.length&&0===o.length?0:function(e,t,n){const i=e.toLowerCase(),o=t.toLowerCase(),s=function(e,t,n){const i=e.toLowerCase(),o=t.toLowerCase(),s=i.startsWith(n),r=o.startsWith(n);if(s!==r)return s?-1:1;if(s&&r){if(i.lengtho.length)return 1}return 0}(e,t,n);if(s)return s;const r=i.endsWith(n);if(r!==o.endsWith(n))return r?-1:1;const l=function(e,t,n=!1){const i=e||"",o=t||"",s=uoe.value.collator.compare(i,o);return uoe.value.collatorIsNumeric&&0===s&&i!==o?i(t instanceof voe?i?i.children.push(t):e.push(t):t instanceof boe&&(t.children=[],i=t,e.push(t)),e)),new Array),s=new Array;for(const e of o)e instanceof boe?s.push({element:e,collapsible:!1,collapsed:!1,children:e.children.map((e=>({element:e,collapsible:!1,collapsed:!1})))}):s.push({element:e,collapsible:!1,collapsed:!1});const r=this._tree.getFocus().length;return this._tree.setChildren(null,s),r>0&&0===s.length&&this._onTriggerEmptySelectionOrFocus.fire({elements:[]}),this._tree.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(n.length),!0}toggleCheckbox(){try{this._shouldFireCheckedEvents=!1;const e=this._tree.getFocus().filter((e=>e instanceof voe)),t=this._allVisibleChecked(e);for(const n of e)n.checkboxDisabled||(n.checked=!t)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}display(e){this._container.style.display=e?"":"none"}isDisplayed(){return"none"!==this._container.style.display}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!((null==e?void 0:e.saneTooltip)&&e instanceof voe))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();this.showHover(e);const t=new rt;t.add(this._tree.onDidChangeFocus((e=>{e.elements[0]instanceof voe&&this.showHover(e.elements[0])}))),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_allVisibleChecked(e,t=!0){for(let n=0,i=e.length;n{this.linkOpenerDelegate(e)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};function Loe(e,t){const n=t.toLowerCase().indexOf(e.toLowerCase());return-1!==n?[{start:n,end:n+e.length}]:null}hoe([xL],koe.prototype,"onDidChangeFocus",null),hoe([xL],koe.prototype,"onDidChangeSelection",null),koe=hoe([goe(4,ad)],koe);var Doe=function(e,t){return function(n,i){t(n,i,e)}};const Noe={iconClass:ka.asClassName(Sa.quickInputBack),tooltip:_(0,"Back"),handle:-1};class Eoe extends lt{constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=Eoe.noPromptMessage,this._severity=eN.Ignore,this.onDidTriggerButtonEmitter=this._register(new Ct),this.onDidHideEmitter=this._register(new Ct),this.onWillHideEmitter=this._register(new Ct),this.onDisposeEmitter=this._register(new Ct),this.visibleDisposables=this._register(new rt),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!G;this._ignoreFocusOut=e&&!G,t&&this.update()}get buttons(){return this._buttons}set buttons(e){this._buttons=e,this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=null!=e?e:[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton((e=>{-1!==this.buttons.indexOf(e)&&this.onDidTriggerButtonEmitter.fire(e)}))),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=CL.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=CL.Other){this.onWillHideEmitter.fire({reason:e})}update(){var e,t;if(!this.visible)return;const n=this.getTitle();n&&this.ui.title.textContent!==n?this.ui.title.textContent=n:n||" "===this.ui.title.innerHTML||(this.ui.title.innerText=" ");const i=this.getDescription();if(this.ui.description1.textContent!==i&&(this.ui.description1.textContent=i),this.ui.description2.textContent!==i&&(this.ui.description2.textContent=i),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?cr(this.ui.widget,this._widget):cr(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new Ut,this.busyDelay.setIfNotSet((()=>{this.visible&&this.ui.progressBar.infinite()}),800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const e=this.buttons.filter((e=>e===Noe)).map(((e,t)=>doe(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.leftActionBar.push(e,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const t=this.buttons.filter((e=>e!==Noe)).map(((e,t)=>doe(e,`id-${t}`,(async()=>this.onDidTriggerButtonEmitter.fire(e)))));this.ui.rightActionBar.push(t,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const n=null!==(t=null===(e=this.toggles)||void 0===e?void 0:e.filter((e=>e instanceof fK)))&&void 0!==t?t:[];this.ui.inputBox.toggles=n}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const o=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==o&&(this._lastValidationMessage=o,cr(this.ui.message),function(e,t,n){cr(t);const i=function(e){const t=[];let n,i=0;for(;n=roe.exec(e);){n.index-i>0&&t.push(e.substring(i,n.index));const[,o,s,,r]=n;r?t.push({label:o,href:s,title:r}):t.push({label:o,href:s}),i=n.index+n[0].length}return i{sr(t)&&rr(t,!0),n.callback(e.href)},l=n.disposables.add(new US(s,or.CLICK)).event,a=n.disposables.add(new US(s,or.KEY_DOWN)).event,d=ft.chain(a,(e=>e.filter((e=>{const t=new Ue(e);return t.equals(10)||t.equals(3)}))));n.disposables.add(LL.addTarget(s));const u=n.disposables.add(new US(s,kL.Tap)).event;ft.any(l,u,d)(r,null,n.disposables),t.appendChild(s)}}(o,this.ui.message,{callback:e=>{this.ui.linkOpenerDelegate(e)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?_(0,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==eN.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:"",this.ui.message.style.backgroundColor=t.background?`${t.background}`:"",this.ui.message.style.border=t.border?`1px solid ${t.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}Eoe.noPromptMessage=_(0,"Press 'Enter' to confirm your input or 'Escape' to cancel");class Ioe extends Eoe{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new Ct),this.onWillAcceptEmitter=this._register(new Ct),this.onDidAcceptEmitter=this._register(new Ct),this.onDidCustomEmitter=this._register(new Ct),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=yL.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new Ct),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new Ct),this.onDidTriggerItemButtonEmitter=this._register(new Ct),this.onDidTriggerSeparatorButtonEmitter=this._register(new Ct),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?wL:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(moe.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((e=>{this.doSetValue(e,!0)}))),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown((e=>{switch(e.keyCode){case 18:(U?e.metaKey:e.altKey)?this.ui.list.focus(moe.NextSeparator):this.ui.list.focus(moe.Next),this.canSelectMany&&this.ui.list.domFocus(),rr(e,!0);break;case 16:(U?e.metaKey:e.altKey)?this.ui.list.focus(moe.PreviousSeparator):this.ui.list.focus(moe.Previous),this.canSelectMany&&this.ui.list.domFocus(),rr(e,!0);break;case 12:this.ui.list.focus(moe.NextPage),this.canSelectMany&&this.ui.list.domFocus(),rr(e,!0);break;case 11:this.ui.list.focus(moe.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),rr(e,!0);break;case 17:if(!this._canAcceptInBackground)return;if(!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:!e.ctrlKey&&!e.metaKey||e.shiftKey||e.altKey||(this.ui.list.focus(moe.First),rr(e,!0));break;case 13:!e.ctrlKey&&!e.metaKey||e.shiftKey||e.altKey||(this.ui.list.focus(moe.Last),rr(e,!0))}}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)}))),this.visibleDisposables.add(this.ui.onDidCustom((()=>{this.onDidCustomEmitter.fire()}))),this.visibleDisposables.add(this.ui.list.onDidChangeFocus((e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&Ic(e,this._activeItems,((e,t)=>e===t))||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))}))),this.visibleDisposables.add(this.ui.list.onDidChangeSelection((({items:e,event:t})=>{this.canSelectMany?e.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&Ic(e,this._selectedItems,((e,t)=>e===t))||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(nr(t)&&1===t.button))}))),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((e=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&Ic(e,this._selectedItems,((e,t)=>e===t))||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))}))),this.visibleDisposables.add(this.ui.list.onButtonTriggered((e=>this.onDidTriggerItemButtonEmitter.fire(e)))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((e=>this.onDidTriggerSeparatorButtonEmitter.fire(e)))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return ms(this.ui.container,or.KEY_UP,(e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new Ue(e),n=t.keyCode;this._quickNavigate.keybindings.some((e=>{const i=e.getChords();return!(i.length>1||(i[0].shiftKey&&4===n?t.ctrlKey||t.altKey||t.metaKey:!(i[0].altKey&&6===n||i[0].ctrlKey&&5===n||i[0].metaKey&&57===n)))}))&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)}))}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,n={title:!!this.title||!!this.step||!!this.buttons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(n),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let i=this.ariaLabel;if(!i&&n.inputBox&&(i=this.placeholder||Ioe.DEFAULT_ARIA_LABEL,this.title&&(i+=` - ${this.title}`)),this.ui.list.ariaLabel!==i&&(this.ui.list.ariaLabel=null!=i?i:null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated){this.itemsUpdated=!1;const e=this._activeItems;switch(this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case yL.NONE:e.length>0&&(this._activeItems=[],this.onDidChangeActiveEmitter.fire(this._activeItems)),this._itemActivation=yL.FIRST;break;case yL.SECOND:this.ui.list.focus(moe.Second),this._itemActivation=yL.FIRST;break;case yL.LAST:this.ui.list.focus(moe.Last),this._itemActivation=yL.FIRST;break;default:this.trySelectFirst()}}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",n.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(moe.First)),this.keepScrollPosition&&(this.scrollTop=e)}}Ioe.DEFAULT_ARIA_LABEL=_(0,"Type to narrow down results.");class Moe extends Eoe{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new Ct),this.onDidAcceptEmitter=this._register(new Ct),this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>this.onDidAcceptEmitter.fire()))),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}let Toe=class extends kQ{constructor(e,t){super("element",!1,(e=>this.getOverrideOptions(e)),e,t)}getOverrideOptions(e){var t;return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(e.content instanceof HTMLElement?null!==(t=e.content.textContent)&&void 0!==t?t:"":"string"==typeof e.content?e.content:e.content.value).includes("\n"),skipFadeInAnimation:!0}}}};Toe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Doe(0,pg),Doe(1,xQ)],Toe);var Aoe=n(4978),Roe={};Roe.styleTagTransform=Vr(),Roe.setAttributes=Or(),Roe.insert=Rr().bind(null,"head"),Roe.domAPI=Tr(),Roe.insertStyleElement=Br(),Ir()(Aoe.A,Roe),Aoe.A&&Aoe.A.locals&&Aoe.A.locals;const Poe="done",Ooe="active",Foe="infinite",Boe="infinite-long-running",Woe="discrete";class Voe extends lt{constructor(e,t){super(),this.workedVal=0,this.showDelayedScheduler=this._register(new jt((()=>fr(this.element)),0)),this.longRunningScheduler=this._register(new jt((()=>this.infiniteLongRunning()),Voe.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(null==t?void 0:t.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(Ooe,Foe,Boe,Woe),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(Poe),this.element.classList.contains(Foe)?(this.bit.style.opacity="0",e?setTimeout((()=>this.off()),200):this.off()):(this.bit.style.width="inherit",e?setTimeout((()=>this.off()),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(Woe,Poe,Boe),this.element.classList.add(Ooe,Foe),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(Boe)}getContainer(){return this.element}}Voe.LONG_RUNNING_INFINITE_THRESHOLD=1e4;const Hoe=mr;class zoe extends lt{constructor(e,t,n){super(),this.parent=e,this.onKeyDown=e=>_s(this.findInput.inputBox.inputElement,or.KEY_DOWN,e),this.onDidChange=e=>this.findInput.onDidChange(e),this.container=dr(this.parent,Hoe(".quick-input-box")),this.findInput=this._register(new AK(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:n}));const i=this.findInput.inputBox.inputElement;i.role="combobox",i.ariaHasPopup="menu",i.ariaAutoComplete="list",i.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===eN.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===eN.Info?1:e===eN.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===eN.Info?1:e===eN.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}var Uoe,Koe=function(e,t){return function(n,i){t(n,i,e)}};const joe=mr;let qoe=Uoe=class extends lt{get container(){return this._container}constructor(e,t,n){super(),this.options=e,this.layoutService=t,this.instantiationService=n,this.enabled=!0,this.onDidAcceptEmitter=this._register(new Ct),this.onDidCustomEmitter=this._register(new Ct),this.onDidTriggerButtonEmitter=this._register(new Ct),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new Ct),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new Ct),this.onHide=this.onHideEmitter.event,this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(ft.runAndSubscribe(us,(({window:e,disposables:t})=>this.registerKeyModsListeners(e,t)),{window:o,disposables:this._store})),this._register(cs((e=>{this.ui&&is(this.ui.container)===e&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})))}registerKeyModsListeners(e,t){const n=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey};for(const i of[or.KEY_DOWN,or.KEY_UP,or.MOUSE_DOWN])t.add(ms(e,i,n,!0))}getUI(e){if(this.ui)return e&&is(this._container)!==is(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=dr(this._container,joe(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const n=$s(t),i=dr(t,joe(".quick-input-titlebar")),o=this._register(new iM(i,{hoverDelegate:this.options.hoverDelegate}));o.domNode.classList.add("quick-input-left-action-bar");const s=dr(i,joe(".quick-input-title")),r=this._register(new iM(i,{hoverDelegate:this.options.hoverDelegate}));r.domNode.classList.add("quick-input-right-action-bar");const l=dr(t,joe(".quick-input-header")),a=dr(l,joe("input.quick-input-check-all"));a.type="checkbox",a.setAttribute("aria-label",_(0,"Toggle all checkboxes")),this._register(_s(a,or.CHANGE,(e=>{const t=a.checked;D.setAllVisibleChecked(t)}))),this._register(ms(a,or.CLICK,(e=>{(e.x||e.y)&&h.setFocus()})));const d=dr(l,joe(".quick-input-description")),u=dr(l,joe(".quick-input-and-message")),c=dr(u,joe(".quick-input-filter")),h=this._register(new zoe(c,this.styles.inputBox,this.styles.toggle));h.setAttribute("aria-describedby",`${this.idPrefix}message`);const g=dr(c,joe(".quick-input-visible-count"));g.setAttribute("aria-live","polite"),g.setAttribute("aria-atomic","true");const p=new d$(g,{countFormat:_(0,"{0} Results")},this.styles.countBadge),m=dr(c,joe(".quick-input-count"));m.setAttribute("aria-live","polite");const f=new d$(m,{countFormat:_(0,"{0} Selected")},this.styles.countBadge),v=dr(l,joe(".quick-input-action")),b=this._register(new FL(v,this.styles.button));b.label=_(0,"OK"),this._register(b.onDidClick((e=>{this.onDidAcceptEmitter.fire()})));const w=dr(l,joe(".quick-input-action")),C=this._register(new FL(w,{...this.styles.button,supportIcons:!0}));C.label=_(0,"Custom"),this._register(C.onDidClick((e=>{this.onDidCustomEmitter.fire()})));const y=dr(u,joe(`#${this.idPrefix}message.quick-input-message`)),S=this._register(new Voe(t,this.styles.progressBar));S.getContainer().classList.add("quick-input-progress");const x=dr(t,joe(".quick-input-html-widget"));x.tabIndex=-1;const k=dr(t,joe(".quick-input-description")),L=this.idPrefix+"list",D=this._register(this.instantiationService.createInstance(koe,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,L));h.setAttribute("aria-controls",L),this._register(D.onDidChangeFocus((()=>{var e;h.setAttribute("aria-activedescendant",null!==(e=D.getActiveDescendant())&&void 0!==e?e:"")}))),this._register(D.onChangedAllVisibleChecked((e=>{a.checked=e}))),this._register(D.onChangedVisibleCount((e=>{p.setCount(e)}))),this._register(D.onChangedCheckedCount((e=>{f.setCount(e)}))),this._register(D.onLeave((()=>{setTimeout((()=>{this.controller&&(h.setFocus(),this.controller instanceof Ioe&&this.controller.canSelectMany&&D.clearFocus())}),0)})));const N=ar(t);return this._register(N),this._register(ms(t,or.FOCUS,(e=>{Ps(e.relatedTarget,t)||(this.previousFocusElement=e.relatedTarget instanceof HTMLElement?e.relatedTarget:void 0)}),!0)),this._register(N.onDidBlur((()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(CL.Blur),this.previousFocusElement=void 0}))),this._register(ms(t,or.FOCUS,(e=>{h.setFocus()}))),this._register(_s(t,or.KEY_DOWN,(e=>{if(!Ps(e.target,x))switch(e.keyCode){case 3:rr(e,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:rr(e,!0),this.hide(CL.Gesture);break;case 2:if(!e.altKey&&!e.ctrlKey&&!e.metaKey){const n=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?n.push("input"):n.push("input[type=text]"),this.getUI().list.isDisplayed()&&n.push(".monaco-list"),this.getUI().message&&n.push(".quick-input-message a"),this.getUI().widget){if(Ps(e.target,this.getUI().widget))break;n.push(".quick-input-html-widget")}const i=t.querySelectorAll(n.join(", "));e.shiftKey&&e.target===i[0]?(rr(e,!0),D.clearFocus()):!e.shiftKey&&Ps(e.target,i[i.length-1])&&(rr(e,!0),i[0].focus())}break;case 10:e.ctrlKey&&(rr(e,!0),this.getUI().list.toggleHover())}}))),this.ui={container:t,styleSheet:n,leftActionBar:o,titleBar:i,title:s,description1:k,description2:d,widget:x,rightActionBar:r,checkAll:a,inputContainer:u,filterContainer:c,inputBox:h,visibleCountContainer:g,visibleCount:p,countContainer:m,count:f,okContainer:v,ok:b,message:y,customButtonContainer:w,customButton:C,list:D,progressBar:S,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e),linkOpenerDelegate:e=>this.options.linkOpenerDelegate(e)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,dr(this._container,this.ui.container))}pick(e,t={},n=It.None){return new Promise(((i,o)=>{let s=e=>{var n;s=i,null===(n=t.onKeyMods)||void 0===n||n.call(t,r.keyMods),i(e)};if(n.isCancellationRequested)return void s(void 0);const r=this.createQuickPick();let l;const a=[r,r.onDidAccept((()=>{if(r.canSelectMany)s(r.selectedItems.slice()),r.hide();else{const e=r.activeItems[0];e&&(s(e),r.hide())}})),r.onDidChangeActive((e=>{const n=e[0];n&&t.onDidFocus&&t.onDidFocus(n)})),r.onDidChangeSelection((e=>{if(!r.canSelectMany){const t=e[0];t&&(s(t),r.hide())}})),r.onDidTriggerItemButton((e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...e,removeItem:()=>{const t=r.items.indexOf(e.item);if(-1!==t){const e=r.items.slice(),n=e.splice(t,1),i=r.activeItems.filter((e=>e!==n[0])),o=r.keepScrollPosition;r.keepScrollPosition=!0,r.items=e,i&&(r.activeItems=i),r.keepScrollPosition=o}}}))),r.onDidTriggerSeparatorButton((e=>{var n;return null===(n=t.onDidTriggerSeparatorButton)||void 0===n?void 0:n.call(t,e)})),r.onDidChangeValue((e=>{!l||e||1===r.activeItems.length&&r.activeItems[0]===l||(r.activeItems=[l])})),n.onCancellationRequested((()=>{r.hide()})),r.onDidHide((()=>{it(a),s(void 0)}))];r.title=t.title,r.canSelectMany=!!t.canPickMany,r.placeholder=t.placeHolder,r.ignoreFocusOut=!!t.ignoreFocusLost,r.matchOnDescription=!!t.matchOnDescription,r.matchOnDetail=!!t.matchOnDetail,r.matchOnLabel=void 0===t.matchOnLabel||t.matchOnLabel,r.quickNavigate=t.quickNavigate,r.hideInput=!!t.hideInput,r.contextKey=t.contextKey,r.busy=!0,Promise.all([e,t.activeItem]).then((([e,t])=>{l=t,r.busy=!1,r.items=e,r.canSelectMany&&(r.selectedItems=e.filter((e=>"separator"!==e.type&&e.picked))),l&&(r.activeItems=[l])})),r.show(),Promise.resolve(e).then(void 0,(e=>{o(e),r.hide()}))}))}createQuickPick(){const e=this.getUI(!0);return new Ioe(e)}createInputBox(){const e=this.getUI(!0);return new Moe(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const n=this.controller;this.controller=e,null==n||n.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",cr(t.widget),t.rightActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(eN.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),cr(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const i=this.options.backKeybindingLabel();Noe.tooltip=i?_(0,"Back ({0})",i):_(0,"Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus()}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=!e.description||e.inputBox||e.checkAll?"none":"",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.display(!!e.list),t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){var t,n;const i=this.controller;if(!i)return;i.willHide(e);const o=null===(t=this.ui)||void 0===t?void 0:t.container,s=o&&!zs(o);if(this.controller=null,this.onHideEmitter.fire(),o&&(o.style.display="none"),!s){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=null!==(n=e.parentElement)&&void 0!==n?n:void 0;(null==e?void 0:e.offsetParent)?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}i.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const e=this.ui.container.style,t=Math.min(.62*this.dimension.width,Uoe.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:n,widgetBorder:i,widgetShadow:o}=this.styles.widget;this.ui.titleBar.style.backgroundColor=null!=e?e:"",this.ui.container.style.backgroundColor=null!=t?t:"",this.ui.container.style.color=null!=n?n:"",this.ui.container.style.border=i?`1px solid ${i}`:"",this.ui.container.style.boxShadow=o?`0 0 8px 2px ${o}`:"",this.ui.list.style(this.styles.list);const s=[];this.styles.pickerGroup.pickerGroupBorder&&s.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&s.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&s.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(s.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&s.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&s.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&s.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&s.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&s.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),s.push("}"));const r=s.join("\n");r!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=r)}}};qoe.MAX_WIDTH=600,qoe=Uoe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([Koe(1,rne),Koe(2,ad)],qoe);var $oe=function(e,t){return function(n,i){t(n,i,e)}};let Goe=class extends Bv{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(noe))),this._quickAccess}constructor(e,t,n,i,o){super(n),this.instantiationService=e,this.contextKeyService=t,this.layoutService=i,this.configurationService=o,this._onShow=this._register(new Ct),this._onHide=this._register(new Ct),this.contexts=new Map}createController(e=this.layoutService,t){const n={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:e=>this.setContextKey(e),linkOpenerDelegate:e=>{this.instantiationService.invokeFunction((t=>{t.get(rL).open(e,{allowCommands:!0,fromUserGesture:!0})}))},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(Toe))},i=this._register(this.instantiationService.createInstance(qoe,{...n,...t}));return i.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer((t=>{is(e.activeContainer)===is(i.container)&&i.layout(t,e.activeContainerOffset.quickPickTop)}))),this._register(e.onDidChangeActiveContainer((()=>{i.isVisible()||i.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)}))),this._register(i.onShow((()=>{this.resetContextKeys(),this._onShow.fire()}))),this._register(i.onHide((()=>{this.resetContextKeys(),this._onHide.fire()}))),i}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new ou(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),t&&t.get()||(this.resetContextKeys(),null==t||t.set(!0))}resetContextKeys(){this.contexts.forEach((e=>{e.get()&&e.reset()}))}pick(e,t={},n=It.None){return this.controller.pick(e,t,n)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:ym(wv),quickInputForeground:ym(Cv),quickInputTitleBackground:ym(yv),widgetBorder:ym(Tf),widgetShadow:ym(Mf)},inputBox:CM,toggle:wM,countBadge:SM,button:vM,progressBar:bM,keybindingLabel:_M,list:kM({listBackground:wv,listFocusBackground:Nv,listFocusForeground:Lv,listInactiveFocusForeground:Lv,listInactiveSelectionIconForeground:Dv,listInactiveFocusBackground:Nv,listFocusOutline:Wm,listInactiveFocusOutline:Wm}),pickerGroup:{pickerGroupBorder:ym(xv),pickerGroupForeground:ym(Sv)}}}};Goe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([$oe(0,ad),$oe(1,su),$oe(2,Tv),$oe(3,rne),$oe(4,pg)],Goe);var Zoe=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Yoe=function(e,t){return function(n,i){t(n,i,e)}};let Xoe=class extends Goe{constructor(e,t,n,i,o,s){super(t,n,i,new une(e.getContainerDomNode(),o),s),this.host=void 0;const r=Joe.get(e);if(r){const t=r.widget;this.host={_serviceBrand:void 0,get mainContainer(){return t.getDomNode()},getContainer:()=>t.getDomNode(),whenContainerStylesLoaded(){},get containers(){return[t.getDomNode()]},get activeContainer(){return t.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return ft.map(e.onDidLayoutChange,(e=>({container:t.getDomNode(),dimension:e})))},get onDidChangeActiveContainer(){return ft.None},get onDidAddContainer(){return ft.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};Xoe=Zoe([Yoe(1,ad),Yoe(2,su),Yoe(3,Tv),Yoe(4,ud),Yoe(5,pg)],Xoe);let Qoe=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const n=t=this.instantiationService.createInstance(Xoe,e);this.mapEditorToService.set(e,t),Ze(e.onDidDispose)((()=>{n.dispose(),this.mapEditorToService.delete(e)}))}return t}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t={},n=It.None){return this.activeService.pick(e,t,n)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};Qoe=Zoe([Yoe(0,ad),Yoe(1,ud)],Qoe);class Joe{static get(e){return e.getContribution(Joe.ID)}constructor(e){this.editor=e,this.widget=new ese(this.editor)}dispose(){this.widget.dispose()}}Joe.ID="editor.controller.quickInput";class ese{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return ese.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}ese.ID="editor.contrib.quickInputWidget",Zu(Joe.ID,Joe,4);var tse=function(e,t){return function(n,i){t(n,i,e)}};let nse=class extends lt{constructor(e,t,n){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=n,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new Ct,this._onDidChangeReducedMotion=new Ct,this._accessibilityModeEnabledContext=$S.bindTo(this._contextKeyService);const i=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration("editor.accessibilitySupport")&&(i(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())}))),i(),this._register(this.onDidChangeScreenReaderOptimized((()=>i())));const s=o.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=s.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(s)}initReducedMotionListeners(e){this._register(ms(e,"change",(()=>{this._systemMotionReduced=e.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()})));const t=()=>{const e=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",e),this._layoutService.mainContainer.classList.toggle("enable-motion",!e)};t(),this._register(this.onDidChangeReducedMotion((()=>t())))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return"on"===e||"auto"===e&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return"on"===e||"auto"===e&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};nse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([tse(0,su),tse(1,rne),tse(2,pg)],nse);var ise,ose,sse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},rse=function(e,t){return function(n,i){t(n,i,e)}};let lse=class{constructor(e,t){this._commandService=e,this._hiddenStates=new ase(t)}createMenu(e,t,n){return new use(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...n},this._commandService,t)}resetHiddenStates(e){this._hiddenStates.reset(e)}};lse=sse([rse(0,wd),rse(1,KB)],lse);let ase=ise=class{constructor(e){this._storageService=e,this._disposables=new rt,this._onDidChange=new Ct,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(ise._key,0,"{}");this._data=JSON.parse(t)}catch(e){this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,ise._key,this._disposables)((()=>{if(!this._ignoreChangeEvent)try{const t=e.get(ise._key,0,"{}");this._data=JSON.parse(t)}catch(e){console.log("FAILED to read storage after UPDATE",e)}this._onDidChange.fire()})))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){var n;return null!==(n=this._hiddenByDefaultCache.get(`${e.id}/${t}`))&&void 0!==n&&n}setDefaultState(e,t,n){this._hiddenByDefaultCache.set(`${e.id}/${t}`,n)}isHidden(e,t){var n,i;const o=this._isHiddenByDefault(e,t),s=null!==(i=null===(n=this._data[e.id])||void 0===n?void 0:n.includes(t))&&void 0!==i&&i;return o?!s:s}updateHidden(e,t,n){this._isHiddenByDefault(e,t)&&(n=!n);const i=this._data[e.id];if(n)i?i.indexOf(t)<0&&i.push(t):this._data[e.id]=[t];else if(i){const n=i.indexOf(t);n>=0&&function(e,t){const n=e.length-1;te[1])));o.length>0&&s.push(new Du(t,i,o))}}s.length>0&&t.push([i,s])}return t}static _fillInKbExprKeys(e,t){if(e)for(const n of e.keys())t.add(n)}static _compareMenuItems(e,t){const n=e.group,i=t.group;if(n!==i){if(!n)return 1;if(!i)return-1;if("navigation"===n)return-1;if("navigation"===i)return 1;const e=n.localeCompare(i);if(0!==e)return e}const o=e.order||0,s=t.order||0;return os?1:ose._compareTitles(yu(e)?e.command.title:e.title,yu(t)?t.command.title:t.title)}static _compareTitles(e,t){const n="string"==typeof e?e:e.original,i="string"==typeof t?t:t.original;return n.localeCompare(i)}};dse=ose=sse([rse(3,wd),rse(4,su)],dse);let use=class{constructor(e,t,n,i,o){this._disposables=new rt,this._menuInfo=new dse(e,t,n.emitEventsForSubmenuChanges,i,o);const s=new jt((()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})}),n.eventDebounceDelay);this._disposables.add(s),this._disposables.add(Lu.onDidChangeMenu((t=>{t.has(e)&&s.schedule()})));const r=this._disposables.add(new rt);this._onDidChange=new xt({onWillAddFirstListener:()=>{r.add(o.onDidChangeContext((e=>{const t=e.affectsSome(this._menuInfo.structureContextKeys),n=e.affectsSome(this._menuInfo.preconditionContextKeys),i=e.affectsSome(this._menuInfo.toggledContextKeys);(t||n||i)&&this._onDidChange.fire({menu:this,isStructuralChange:t,isEnablementChange:n,isToggleChange:i})}))),r.add(t.onDidChange((e=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})})))},onDidRemoveLastListener:r.clear.bind(r),delay:n.eventDebounceDelay,merge:e=>{let t=!1,n=!1,i=!1;for(const o of e)if(t=t||o.isStructuralChange,n=n||o.isEnablementChange,i=i||o.isToggleChange,t&&n&&i)break;return{menu:this,isStructuralChange:t,isEnablementChange:n,isToggleChange:i}}}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};function cse(e,t,n){const i=void 0!==t.submenu?t.submenu.id:t.id,o="string"==typeof t.title?t.title:t.title.value,s=bd({id:`hide/${e.id}/${i}`,label:_(0,"Hide '{0}'",o),run(){n.updateHidden(e,i,!0)}}),r=bd({id:`toggle/${e.id}/${i}`,label:o,get checked(){return!n.isHidden(e,i)},run(){n.updateHidden(e,i,!!this.checked)}});return{hide:s,toggle:r,get isHidden(){return!r.checked}}}use=sse([rse(3,wd),rse(4,su)],use);var hse,gse=function(e,t){return function(n,i){t(n,i,e)}};let pse=hse=class extends lt{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(c||h)&&this.installWebKitWriteTextWorkaround(),this._register(ft.runAndSubscribe(us,(({window:e,disposables:t})=>{t.add(ms(e.document,"copy",(()=>this.clearResources())))}),{window:o,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const e=new Yt;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=e,navigator.clipboard.write([new ClipboardItem({"text/plain":e.p})]).catch((async t=>{t instanceof Error&&"NotAllowedError"===t.name&&e.isRejected||this.logService.error(t)}))};this._register(ft.runAndSubscribe(this.layoutService.onDidAddContainer,(({container:t,disposables:n})=>{n.add(ms(t,"click",e)),n.add(ms(t,"keydown",e))}),{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.writeResources([]),t)this.mapTextToType.set(t,e);else{if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await navigator.clipboard.writeText(e)}catch(e){console.error(e)}this.fallbackWriteText(e)}}fallbackWriteText(e){const t=Us(),n=t.activeElement,i=t.body.appendChild(mr("textarea",{"aria-hidden":!0}));i.style.height="1px",i.style.width="1px",i.style.position="absolute",i.value=e,i.focus(),i.select(),t.execCommand("copy"),n instanceof HTMLElement&&n.focus(),t.body.removeChild(i)}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await navigator.clipboard.readText()}catch(e){console.error(e)}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async writeResources(e){0===e.length?this.clearResources():(this.resources=e,this.resourcesStateHash=await this.computeResourcesStateHash())}async readResources(){const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResources(),this.resources}async computeResourcesStateHash(){if(0!==this.resources.length)return Go((await this.readText()).substring(0,hse.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearResources(){this.resources=[],this.resourcesStateHash=void 0}};pse.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,pse=hse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([gse(0,rne),gse(1,Tu)],pse);const mse="data-keybinding-context";class fse{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)}removeValue(e){return e in this._value&&(delete this._value[e],!0)}getValue(e){const t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t}}class _se extends fse{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}_se.INSTANCE=new _se;class vse extends fse{constructor(e,t,n){super(e,null),this._configurationService=t,this._values=Lx.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration((e=>{if(7===e.source){const e=Array.from(this._values,(([e])=>e));this._values.clear(),n.fire(new Cse(e))}else{const t=[];for(const n of e.affectedKeys){const e=`config.${n}`,i=this._values.findSuperstr(e);void 0!==i&&(t.push(...Ye.map(i,(([e])=>e))),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}n.fire(new Cse(t))}}))}dispose(){this._listener.dispose()}getValue(e){if(0!==e.indexOf(vse._keyPrefix))return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(vse._keyPrefix.length),n=this._configurationService.getValue(t);let i;switch(typeof n){case"number":case"boolean":case"string":i=n;break;default:i=Array.isArray(n)?JSON.stringify(n):n}return this._values.set(e,i),i}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}vse._keyPrefix="config.";class bse{constructor(e,t,n){this._service=e,this._key=t,this._defaultValue=n,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class wse{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class Cse{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every((t=>e.has(t)))}}class yse{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every((t=>t.allKeysContainedIn(e)))}}class Sse extends lt{constructor(e){super(),this._onDidChangeContext=this._register(new St({merge:e=>new yse(e)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new bse(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new kse(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return!e||e.evaluate(t)}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const n=this.getContextValuesContainer(this._myContextId);n&&n.setValue(e,t)&&this._onDidChangeContext.fire(new wse(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new wse(e))}getContext(e){return this._isDisposed?_se.INSTANCE:this.getContextValuesContainer(function(e){for(;e;){if(e.hasAttribute(mse)){const t=e.getAttribute(mse);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}(e))}dispose(){super.dispose(),this._isDisposed=!0}}let xse=class extends Sse{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new vse(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?_se.INSTANCE:this._contexts.get(e)||_se.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new fse(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};xse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(0,pg)],xse);class kse extends Sse{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new at),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(mse)){let e="";this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(e?": "+e:""))}this._domNode.setAttribute(mse,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((e=>{var t;t=this._parent.getContextValuesContainer(this._myContextId).value,e.allKeysContainedIn(new Set(Object.keys(t)))||this._onDidChangeContext.fire(e)}))}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(mse),super.dispose())}getContextValuesContainer(e){return this._isDisposed?_se.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}Cd.registerCommand("_setContext",(function(e,t,n){e.get(su).createKey(String(t),function(e){return pc(e,(e=>"object"==typeof e&&1===e.$mid?Io.revive(e).toString():e instanceof Io?e.toString():void 0))}(n))})),Cd.registerCommand({id:"getContextKeyInfo",handler:()=>[...ou.all()].sort(((e,t)=>e.key.localeCompare(t.key))),metadata:{description:_(0,"A command that returns information about context keys"),args:[]}}),Cd.registerCommand("_generateContextKeyInfo",(function(){const e=[],t=new Set;for(const n of ou.all())t.has(n.key)||(t.add(n.key),e.push(n));e.sort(((e,t)=>e.key.localeCompare(t.key))),console.log(JSON.stringify(e,void 0,2))}));class Lse{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}}class Dse{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())0===t.outgoing.size&&e.push(t);return e}insertEdge(e,t){const n=this.lookupOrInsertNode(e),i=this.lookupOrInsertNode(t);n.outgoing.set(i.key,i),i.incoming.set(n.key,n)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const e of this._nodes.values())e.outgoing.delete(t),e.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let n=this._nodes.get(t);return n||(n=new Lse(t,e),this._nodes.set(t,n)),n}isEmpty(){return 0===this._nodes.size}toString(){const e=[];for(const[t,n]of this._nodes)e.push(`${t}\n\t(-> incoming)[${[...n.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...n.outgoing.keys()].join(",")}]\n`);return e.join("\n")}findCycleSlow(){for(const[e,t]of this._nodes){const n=new Set([e]),i=this._findCycle(t,n);if(i)return i}}_findCycle(e,t){for(const[n,i]of e.outgoing){if(t.has(n))return[...t,n].join(" -> ");t.add(n);const e=this._findCycle(i,t);if(e)return e;t.delete(n)}}}class Nse extends Error{constructor(e){var t;super("cyclic dependency between services"),this.message=null!==(t=e.findCycleSlow())&&void 0!==t?t:`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}}class Ese{constructor(e=new bB,t=!1,n,i=!1){var o;this._services=e,this._strict=t,this._parent=n,this._enableTracing=i,this._activeInstantiations=new Set,this._services.set(ad,this),this._globalGraph=i?null!==(o=null==n?void 0:n._globalGraph)&&void 0!==o?o:new Dse((e=>e)):void 0}createChild(e){return new Ese(e,this._strict,this,this._enableTracing)}invokeFunction(e,...t){const n=Ise.traceInvocation(this._enableTracing,e);let i=!1;try{return e({get:e=>{if(i)throw Me("service accessor is only valid during the invocation of its target method");const t=this._getOrCreateServiceInstance(e,n);if(!t)throw new Error(`[invokeFunction] unknown service '${e}'`);return t}},...t)}finally{i=!0,n.stop()}}createInstance(e,...t){let n,i;return e instanceof wg?(n=Ise.traceCreation(this._enableTracing,e.ctor),i=this._createInstance(e.ctor,e.staticArguments.concat(t),n)):(n=Ise.traceCreation(this._enableTracing,e),i=this._createInstance(e,t,n)),n.stop(),i}_createInstance(e,t=[],n){const i=sd.getServiceDependencies(e).sort(((e,t)=>e.index-t.index)),o=[];for(const t of i){const i=this._getOrCreateServiceInstance(t.id,n);i||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`,!1),o.push(i)}const s=i.length>0?i[0].index:t.length;if(t.length!==s){console.trace(`[createInstance] First service dependency of ${e.name} at position ${s+1} conflicts with ${t.length} static arguments`);const n=s-t.length;t=n>0?t.concat(new Array(n)):t.slice(0,s)}return Reflect.construct(e,t.concat(o))}_setServiceInstance(e,t){if(this._services.get(e)instanceof wg)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(e,t)}}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const n=this._getServiceInstanceOrDescriptor(e);return n instanceof wg?this._safeCreateAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)}_safeCreateAndCacheServiceInstance(e,t,n){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,n)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,n){var i;const o=new Dse((e=>e.id.toString()));let s=0;const r=[{id:e,desc:t,_trace:n}];for(;r.length;){const t=r.pop();if(o.lookupOrInsertNode(t),s++>1e3)throw new Nse(o);for(const n of sd.getServiceDependencies(t.desc.ctor)){const s=this._getServiceInstanceOrDescriptor(n.id);if(s||this._throwIfStrict(`[createInstance] ${e} depends on ${n.id} which is NOT registered.`,!0),null===(i=this._globalGraph)||void 0===i||i.insertEdge(String(t.id),String(n.id)),s instanceof wg){const e={id:n.id,desc:s,_trace:t._trace.branch(n.id,!0)};o.insertEdge(t,e),r.push(e)}}}for(;;){const e=o.roots();if(0===e.length){if(!o.isEmpty())throw new Nse(o);break}for(const{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof wg){const e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setServiceInstance(t.id,e)}o.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,n=[],i,o){if(this._services.get(e)instanceof wg)return this._createServiceInstance(e,t,n,i,o);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,n,i,o);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,n=[],i,o){if(i){const i=new Ese(void 0,this._strict,this,this._enableTracing);i._globalGraphImplicitDependency=String(e);const s=new Map,r=new Zt((()=>{const e=i._createInstance(t,n,o);for(const[t,n]of s){const i=e[t];if("function"==typeof i)for(const t of n)t.disposable=i.apply(e,t.listener)}return s.clear(),e}));return new Proxy(Object.create(null),{get(e,t){if(!r.isInitialized&&"string"==typeof t&&(t.startsWith("onDid")||t.startsWith("onWill"))){let e=s.get(t);e||(e=new gt,s.set(t,e));const n=(n,i,o)=>{if(r.isInitialized)return r.value[t](n,i,o);{const t={listener:[n,i,o],disposable:void 0},s=e.push(t),r=st((()=>{var e;s(),null===(e=t.disposable)||void 0===e||e.dispose()}));return r}};return n}if(t in e)return e[t];const n=r.value;let i=n[t];return"function"!=typeof i||(i=i.bind(n),e[t]=i),i},set:(e,t,n)=>(r.value[t]=n,!0),getPrototypeOf:e=>t.prototype})}return this._createInstance(t,n,o)}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw new Error(e)}}class Ise{static traceInvocation(e,t){return e?new Ise(2,t.name||(new Error).stack.split("\n").slice(3,4).join("\n")):Ise._None}static traceCreation(e,t){return e?new Ise(1,t.name):Ise._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const n=new Ise(3,e.toString());return this._dep.push([e,t,n]),n}stop(){const e=Date.now()-this._start;Ise._totals+=e;let t=!1;const n=[`${1===this.type?"CREATE":"CALL"} ${this.name}`,`${function e(n,i){const o=[],s=new Array(n+1).join("\t");for(const[r,l,a]of i._dep)if(l&&a){t=!0,o.push(`${s}CREATES -> ${r}`);const i=e(n+1,a);i&&o.push(i)}else o.push(`${s}uses -> ${r}`);return o.join("\n")}(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${Ise._totals.toFixed(2)}ms)`];(e>2||t)&&Ise.all.add(n.join("\n"))}}Ise.all=new Set,Ise._None=new class extends Ise{constructor(){super(0,null)}stop(){}branch(){return this}},Ise._totals=0;const Mse=new Set([Ho.inMemory,Ho.vscodeSourceControl,Ho.walkThrough,Ho.walkThroughSnippet,Ho.vscodeChatCodeBlock]);class Tse{constructor(){this._byResource=new tl,this._byOwner=new Map}set(e,t,n){let i=this._byResource.get(e);i||(i=new Map,this._byResource.set(e,i)),i.set(t,n);let o=this._byOwner.get(t);o||(o=new tl,this._byOwner.set(t,o)),o.set(e,n)}get(e,t){const n=this._byResource.get(e);return null==n?void 0:n.get(t)}delete(e,t){let n=!1,i=!1;const o=this._byResource.get(e);o&&(n=o.delete(t));const s=this._byOwner.get(t);if(s&&(i=s.delete(e)),n!==i)throw new Error("illegal state");return n&&i}values(e){var t,n,i,o;return"string"==typeof e?null!==(n=null===(t=this._byOwner.get(e))||void 0===t?void 0:t.values())&&void 0!==n?n:Ye.empty():Io.isUri(e)?null!==(o=null===(i=this._byResource.get(e))||void 0===i?void 0:i.values())&&void 0!==o?o:Ye.empty():Ye.map(Ye.concat(...this._byOwner.values()),(e=>e[1]))}}class Ase{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new tl,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const e=this._data.get(t);e&&this._substract(e);const n=this._resourceStats(t);this._add(n),this._data.set(t,n)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(Mse.has(e.scheme))return t;for(const{severity:n}of this._service.read({resource:e}))n===qM.Error?t.errors+=1:n===qM.Warning?t.warnings+=1:n===qM.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class Rse{constructor(){this._onMarkerChanged=new xt({delay:0,merge:Rse._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new Tse,this._stats=new Ase(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const n of t||[])this.changeOne(e,n,[])}changeOne(e,t,n){if(Bc(n))this._data.delete(t,e)&&this._onMarkerChanged.fire([t]);else{const i=[];for(const o of n){const n=Rse._toMarker(e,t,o);n&&i.push(n)}this._data.set(t,e,i),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,n){let{code:i,severity:o,message:s,source:r,startLineNumber:l,startColumn:a,endLineNumber:d,endColumn:u,relatedInformation:c,tags:h}=n;if(s)return l=l>0?l:1,a=a>0?a:1,d=d>=l?d:l,u=u>0?u:a,{resource:t,owner:e,code:i,severity:o,message:s,source:r,startLineNumber:l,startColumn:a,endLineNumber:d,endColumn:u,relatedInformation:c,tags:h}}changeAll(e,t){const n=[],i=this._data.values(e);if(i)for(const t of i){const i=Ye.first(t);i&&(n.push(i.resource),this._data.delete(i.resource,e))}if(Wc(t)){const i=new tl;for(const{resource:o,marker:s}of t){const t=Rse._toMarker(e,o,s);if(!t)continue;const r=i.get(o);r?r.push(t):(i.set(o,[t]),n.push(o))}for(const[t,n]of i)this._data.set(t,e,n)}n.length>0&&this._onMarkerChanged.fire(n)}read(e=Object.create(null)){let{owner:t,resource:n,severities:i,take:o}=e;if((!o||o<0)&&(o=-1),t&&n){const e=this._data.get(n,t);if(e){const t=[];for(const n of e)if(Rse._accept(n,i)){const e=t.push(n);if(o>0&&e===o)break}return t}return[]}if(t||n){const e=this._data.values(null!=n?n:t),s=[];for(const t of e)for(const e of t)if(Rse._accept(e,i)){const t=s.push(e);if(o>0&&t===o)return s}return s}{const e=[];for(const t of this._data.values())for(const n of t)if(Rse._accept(n,i)){const t=e.push(n);if(o>0&&t===o)return e}return e}}static _accept(e,t){return void 0===t||(t&e.severity)===e.severity}static _merge(e){const t=new tl;for(const n of e)for(const e of n)t.set(e,!0);return Array.from(t.keys())}}class Pse extends lt{constructor(){super(...arguments),this._configurationModel=new Zne}get configurationModel(){return this._configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new Zne;const e=fu.as(Dg).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const n=this.getConfigurationDefaultOverrides();for(const i of e){const e=n[i],o=t[i];void 0!==e?this._configurationModel.addValue(i,e):o?this._configurationModel.addValue(i,o.default):this._configurationModel.removeValue(i)}}}class Ose extends lt{constructor(e,t=[]){super(),this.logger=new Fu([e,...t]),this._register(e.onDidChangeLogLevel((e=>this.setLevel(e))))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}var Fse=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},Bse=function(e,t){return function(n,i){t(n,i,e)}};class Wse{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new Ct}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let Vse=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new ut(new Wse(t))):Promise.reject(new Error("Model not found"))}};Vse=Fse([Bse(0,hd)],Vse);class Hse{show(){return Hse.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}}Hse.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class zse{info(e){return this.notify({severity:eN.Info,message:e})}warn(e){return this.notify({severity:eN.Warning,message:e})}error(e){return this.notify({severity:eN.Error,message:e})}notify(e){switch(e.severity){case eN.Error:console.error(e.message);break;case eN.Warning:console.warn(e.message);break;default:console.log(e.message)}return zse.NO_OP}prompt(e,t,n,i){return zse.NO_OP}status(e,t){return lt.None}}zse.NO_OP=new class{};let Use=class{constructor(e){this._onWillExecuteCommand=new Ct,this._onDidExecuteCommand=new Ct,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const n=Cd.getCommand(e);if(!n)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const i=this._instantiationService.invokeFunction.apply(this._instantiationService,[n.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(i)}catch(e){return Promise.reject(e)}}};Use=Fse([Bse(0,ad)],Use);let Kse=class extends rie{constructor(e,t,n,i,o,s){super(e,t,n,i,o),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const r=e=>{const t=new rt;t.add(ms(e,or.KEY_DOWN,(e=>{const t=new Ue(e);this._dispatch(t,t.target)&&(t.preventDefault(),t.stopPropagation())}))),t.add(ms(e,or.KEY_UP,(e=>{const t=new Ue(e);this._singleModifierDispatch(t,t.target)&&t.preventDefault()}))),this._domNodeListeners.push(new jse(e,t))},l=e=>{for(let t=0;t{e.getOption(61)||r(e.getContainerDomNode())};this._register(s.onCodeEditorAdd(a)),this._register(s.onCodeEditorRemove((e=>{e.getOption(61)||l(e.getContainerDomNode())}))),s.listCodeEditors().forEach(a);const d=e=>{r(e.getContainerDomNode())};this._register(s.onDiffEditorAdd(d)),this._register(s.onDiffEditorRemove((e=>{l(e.getContainerDomNode())}))),s.listDiffEditors().forEach(d)}addDynamicKeybinding(e,t,n,i){return ot(Cd.registerCommand(e,n),this.addDynamicKeybindings([{keybinding:t,command:e,when:i}]))}addDynamicKeybindings(e){const t=e.map((e=>{var t;return{keybinding:Pe(e.keybinding,ee),command:null!==(t=e.command)&&void 0!==t?t:null,commandArgs:e.commandArgs,when:e.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),st((()=>{for(let e=0;ethis._log(e)))}return this._cachedResolver}_documentHasFocus(){return o.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const n=[];let i=0;for(const o of e){const e=o.when||void 0,s=o.keybinding;if(s){const r=cie.resolveKeybinding(s,ee);for(const s of r)n[i++]=new aie(s,o.command,o.commandArgs,e,t,null,!1)}else n[i++]=new aie(void 0,o.command,o.commandArgs,e,t,null,!1)}return n}resolveKeyboardEvent(e){const t=new Fe(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new cie([t],ee)}};Kse=Fse([Bse(0,su),Bse(1,wd),Bse(2,Mu),Bse(3,nN),Bse(4,Tu),Bse(5,ud)],Kse);class jse extends lt{constructor(e,t){super(),this.domNode=e,this._register(t)}}function qse(e){return e&&"object"==typeof e&&(!e.overrideIdentifier||"string"==typeof e.overrideIdentifier)&&(!e.resource||e.resource instanceof Io)}class $se{constructor(){this._onDidChangeConfiguration=new Ct,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const e=new Pse;this._configuration=new Qne(e.reload(),new Zne,new Zne,new Zne),e.dispose()}getValue(e,t){const n="string"==typeof e?e:void 0,i=qse(e)?e:qse(t)?t:{};return this._configuration.getValue(n,i,void 0)}updateValues(e){const t={data:this._configuration.toData()},n=[];for(const t of e){const[e,i]=t;this.getValue(e)!==i&&(this._configuration.updateValue(e,i),n.push(e))}if(n.length>0){const e=new Jne({keys:n,overrides:[]},t,this._configuration);e.source=8,this._onDidChangeConfiguration.fire(e)}return Promise.resolve()}updateValue(e,t,n,i){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}}let Gse=class{constructor(e,t,n){this.configurationService=e,this.modelService=t,this.languageService=n,this._onDidChangeConfiguration=new Ct,this.configurationService.onDidChangeConfiguration((e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(t,n)=>e.affectsConfiguration(n)})}))}getValue(e,t,n){const i=cd.isIPosition(t)?t:null,o=i?"string"==typeof n?n:void 0:"string"==typeof t?t:void 0,s=e?this.getLanguage(e,i):void 0;return void 0===o?this.configurationService.getValue({resource:e,overrideIdentifier:s}):this.configurationService.getValue(o,{resource:e,overrideIdentifier:s})}getLanguage(e,t){const n=this.modelService.getModel(e);return n?t?n.getLanguageIdAtPosition(t.lineNumber,t.column):n.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};Gse=Fse([Bse(0,pg),Bse(1,hd),Bse(2,Sh)],Gse);let Zse=class{constructor(e){this.configurationService=e}getEOL(e,t){const n=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return n&&"string"==typeof n&&"auto"!==n?n:K||U?"\n":"\r\n"}};Zse=Fse([Bse(0,pg)],Zse);class Yse{constructor(){const e=Io.from({scheme:Yse.SCHEME,authority:"model",path:"/"});this.workspace={id:Mx,folders:[new Ix({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===Yse.SCHEME?this.workspace.folders[0]:null}}function Xse(e,t,n){if(!t)return;if(!(e instanceof $se))return;const i=[];Object.keys(t).forEach((e=>{(function(e){return QD()[`editor.${e}`]||!1})(e)&&i.push([`editor.${e}`,t[e]]),n&&function(e){return QD()[`diffEditor.${e}`]||!1}(e)&&i.push([`diffEditor.${e}`,t[e]])})),i.length>0&&e.updateValues(i)}Yse.SCHEME="inmemory";let Qse=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const n=Array.isArray(e)?e:_x.convert(e),i=new Map;for(const e of n){if(!(e instanceof vx))throw new Error("bad edit - only text edits are supported");const t=this._modelService.getModel(e.resource);if(!t)throw new Error("bad edit - model not found");if("number"==typeof e.versionId&&t.getVersionId()!==e.versionId)throw new Error("bad state - model changed in the meantime");let n=i.get(t);n||(n=[],i.set(t,n)),n.push(wY.replaceMove(nc.lift(e.textEdit.range),e.textEdit.text))}let o=0,s=0;for(const[e,t]of i)e.pushStackElement(),e.pushEditOperations([],t,(()=>[])),e.pushStackElement(),s+=1,o+=t.length;return{ariaSummary:oi(u0.bulkEditServiceSummary,o,s),isApplied:o>0}}};Qse=Fse([Bse(0,hd)],Qse);let Jse=class extends Une{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,n){if(!t){const e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,n)}};Jse=Fse([Bse(0,rne),Bse(1,ud)],Jse);let ere=class extends Rie{constructor(e,t,n,i,o,s){super(e,t,n,i,o,s),this.configure({blockMouse:!1})}};var tre;ere=Fse([Bse(0,Mu),Bse(1,nN),Bse(2,VL),Bse(3,zL),Bse(4,xu),Bse(5,su)],ere),yg(pg,$se,0),yg(PH,Gse,0),yg(OH,Zse,0),yg(Dx,Yse,0),yg(_$,class{getUriLabel(e,t){return"file"===e.scheme?e.fsPath:e.path}getUriBasenameLabel(e){return Ka(e)}},0),yg(Mu,class{publicLog2(){}},0),yg(k9,class{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let n=e;return t&&(n=n+"\n\n"+t),o.confirm(n)}async prompt(e){var t,n;let i;if(this.doConfirm(e.message,e.detail)){const o=[...null!==(t=e.buttons)&&void 0!==t?t:[]];e.cancelButton&&"string"!=typeof e.cancelButton&&"boolean"!=typeof e.cancelButton&&o.push(e.cancelButton),i=await(null===(n=o[0])||void 0===n?void 0:n.run({checkboxChecked:!1}))}return{result:i}}async error(e,t){await this.prompt({type:eN.Error,message:e,detail:t})}},0),yg(iW,class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},0),yg(nN,zse,0),yg(GM,Rse,0),yg(Sh,class extends Cie{constructor(){super()}},0),yg($5,class extends lt{constructor(){super(),this._onColorThemeChange=this._register(new Ct),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new Ct),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new X7,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(Q7,lee(Q7)),this._knownThemes.set(J7,lee(J7)),this._knownThemes.set(eee,lee(eee)),this._knownThemes.set(tee,lee(tee));const e=this._register(function(e){const t=new rt,n=t.add(new Ct),i=_z();return t.add(i.onDidChange((()=>n.fire()))),e&&t.add(e.onDidProductIconThemeChange((()=>n.fire()))),{dispose:()=>t.dispose(),onDidChange:n.event,getCSS(){const t=e?e.getProductIconTheme():new X7,n={},o=e=>{const i=t.getIcon(e);if(!i)return;const o=i.font;return o?(n[o.id]=o.definition,`.codicon-${e.id}:before { content: '${i.fontCharacter}'; font-family: ${Cr(o.id)}; }`):`.codicon-${e.id}:before { content: '${i.fontCharacter}'; }`},s=[];for(const e of i.getIcons()){const t=o(e);t&&s.push(t)}for(const e in n){const t=n[e],i=t.weight?`font-weight: ${t.weight};`:"",o=t.style?`font-style: ${t.style};`:"",r=t.src.map((e=>`${wr(e.location)} format('${e.format}')`)).join(", ");s.push(`@font-face { src: ${r}; font-family: ${Cr(e)};${i}${o} font-display: block; }`)}return s.join("\n")}}}(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(Q7),this._onOSSchemeChanged(),this._register(e.onDidChange((()=>{this._codiconCSS=e.getCSS(),this._updateCSS()}))),r(o,"(forced-colors: active)",(()=>{this._onOSSchemeChanged()}))}registerEditorContainer(e){return Bs(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=$s(void 0,(e=>{e.className="monaco-colors",e.textContent=this._allCSS})),this._styleElements.push(this._globalStyleElement)),lt.None}_registerShadowDomContainer(e){const t=$s(e,(e=>{e.className="monaco-colors",e.textContent=this._allCSS}));return this._styleElements.push(t),{dispose:()=>{for(let e=0;e{t.base===e&&t.notifyBaseUpdated()})),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Q7),this._updateActualTheme(t)}_updateActualTheme(e){e&&this._theme!==e&&(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=o.matchMedia("(forced-colors: active)").matches;if(e!==Iv(this._theme.type)){let t;t=Mv(this._theme.type)?e?eee:J7:e?tee:Q7,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},n={addRule:n=>{t[n]||(e.push(n),t[n]=!0)}};iee.getThemingParticipants().forEach((e=>e(this._theme,n,this._environment)));const i=[];for(const e of nee.getColors()){const t=this._theme.getColor(e.id,!0);t&&i.push(`${Cm(e.id)}: ${t.toString()};`)}n.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${i.join("\n")} }`);const o=this._colorMapOverride||this._theme.tokenTheme.getColorMap();n.addRule(function(e){const t=[];for(let n=1,i=e.length;ne.textContent=this._allCSS))}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}},0),yg(Tu,class extends Ose{constructor(){super(new Ou)}},0),yg(hd,Xie,0),yg(lT,Uie,0),yg(su,xse,0),yg(_L,class{withProgress(e,t,n){return t({report:()=>{}})}},0),yg(bL,Hse,0),yg(KB,class extends qB{constructor(){super(),this.applicationStorage=this._register(new HB(new zB,{hint:WB.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new HB(new zB,{hint:WB.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new HB(new zB,{hint:WB.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage((e=>this.emitDidChangeValue(1,e)))),this._register(this.profileStorage.onDidChangeStorage((e=>this.emitDidChangeValue(0,e)))),this._register(this.applicationStorage.onDidChangeStorage((e=>this.emitDidChangeValue(-1,e))))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}},0),yg(AX,WH,0),yg(fx,Qse,0),yg(wee,class{constructor(){this._neverEmitter=new Ct,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},0),yg(gd,Vse,0),yg(qS,nse,0),yg(Jj,class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new rt,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){var t,n;e!==this._lastFocusedWidget&&(null===(t=this._lastFocusedWidget)||void 0===t||t.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,null===(n=this._lastFocusedWidget)||void 0===n||n.getHTMLElement().classList.add("last-focused"))}register(e,t){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new AI($s(),"").style(xM)),this.lists.some((t=>t.widget===e)))throw new Error("Cannot register the same widget multiple times");const n={widget:e,extraContextKeys:t};return this.lists.push(n),Hs(e.getHTMLElement())&&this.setLastFocusedList(e),ot(e.onDidFocus((()=>this.setLastFocusedList(e))),st((()=>this.lists.splice(this.lists.indexOf(n),1))),e.onDidDispose((()=>{this.lists=this.lists.filter((e=>e!==n)),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)})))}dispose(){this.disposables.dispose()}},0),yg(wd,Use,0),yg(zL,Kse,0),yg(SL,Qoe,0),yg(VL,Jse,0),yg(rL,Hie,0),yg(fL,pse,0),yg(HL,ere,0),yg(xu,lse,0),yg(GY,class{async playSignal(e,t){}},0),function(e){const t=new bB;for(const[e,n]of Sg())t.set(e,n);const n=new Ese(t,!0);t.set(ad,n),e.get=function(e){i||s({});const o=t.get(e);if(!o)throw new Error("Missing service "+e);return o instanceof wg?n.invokeFunction((t=>t.get(e))):o};let i=!1;const o=new Ct;function s(e){if(i)return n;i=!0;for(const[e,n]of Sg())t.get(e)||t.set(e,n);for(const n in e)if(e.hasOwnProperty(n)){const i=dd(n);t.get(i)instanceof wg&&t.set(i,e[n])}const s=GH();for(const e of s)try{n.createInstance(e)}catch(e){xe(e)}return o.fire(),n}e.initialize=s,e.withServices=function(e){if(i)return e();const t=new rt,n=t.add(o.event((()=>{n.dispose(),t.add(e())})));return t}}(tre||(tre={}));var nre=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},ire=function(e,t){return function(n,i){t(n,i,e)}};let ore=0,sre=!1;let rre=class extends yB{constructor(e,t,n,i,s,r,l,a,d,u,c,h){const g={...t};g.ariaLabel=g.ariaLabel||a0.editorViewAccessibleLabel,g.ariaLabel=g.ariaLabel+";"+a0.accessibilityHelpMessage,super(e,g,{},n,i,s,r,a,d,u,c,h),this._standaloneKeybindingService=l instanceof Kse?l:null,function(e){if(!e){if(sre)return;sre=!0}!function(e){Kr=document.createElement("div"),Kr.className="monaco-aria-container";const t=()=>{const e=document.createElement("div");return e.className="monaco-alert",e.setAttribute("role","alert"),e.setAttribute("aria-atomic","true"),Kr.appendChild(e),e};jr=t(),qr=t();const n=()=>{const e=document.createElement("div");return e.className="monaco-status",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),Kr.appendChild(e),e};$r=n(),Gr=n(),e.appendChild(Kr)}(e||o.document.body)}(g.ariaContainerElement),DL=(e,t)=>n.createInstance(kQ,e,t,{})}addCommand(e,t,n){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const i="DYNAMIC_"+ ++ore,o=Bd.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(i,e,t,o),i}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),lt.None;const t=e.id,n=e.label,i=Bd.and(Bd.equals("editorId",this.getId()),Bd.deserialize(e.precondition)),o=e.keybindings,s=Bd.and(i,Bd.deserialize(e.keybindingContext)),r=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,a=(t,...n)=>Promise.resolve(e.run(this,...n)),d=new rt,u=this.getId()+":"+t;if(d.add(Cd.registerCommand(u,a)),r){const e={command:{id:u,title:n},when:i,group:r,order:l};d.add(Lu.appendMenuItem(Su.EditorContext,e))}if(Array.isArray(o))for(const e of o)d.add(this._standaloneKeybindingService.addDynamicKeybinding(u,e,a,s));const c=new BO(u,n,n,void 0,i,((...t)=>Promise.resolve(e.run(this,...t))),this._contextKeyService);return this._actions.set(t,c),d.add(st((()=>{this._actions.delete(t)}))),d}_triggerCommand(e,t){if(this._codeEditorService instanceof sne)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};rre=nre([ire(2,ad),ire(3,ud),ire(4,wd),ire(5,su),ire(6,zL),ire(7,Tv),ire(8,nN),ire(9,qS),ire(10,Qg),ire(11,wx)],rre);let lre=class extends rre{constructor(e,t,n,i,o,s,r,l,a,d,u,c,h,g,p){const m={...t};Xse(d,m,!1);const f=l.registerEditorContainer(e);"string"==typeof m.theme&&l.setTheme(m.theme),void 0!==m.autoDetectHighContrast&&l.setAutoDetectHighContrast(Boolean(m.autoDetectHighContrast));const _=m.model;let v;if(delete m.model,super(e,m,n,i,o,s,r,l,a,u,g,p),this._configurationService=d,this._standaloneThemeService=l,this._register(f),void 0===_){const e=h.getLanguageIdByMimeType(m.language)||m.language||Kg;v=dre(c,h,m.value||"",e,void 0),this._ownsModel=!0}else v=_,this._ownsModel=!1;if(this._attachModel(v),v){const e={oldModelUrl:null,newModelUrl:v.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){Xse(this._configurationService,e,!1),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};lre=nre([ire(2,ad),ire(3,ud),ire(4,wd),ire(5,su),ire(6,zL),ire(7,$5),ire(8,nN),ire(9,pg),ire(10,qS),ire(11,hd),ire(12,Sh),ire(13,Qg),ire(14,wx)],lre);let are=class extends AQ{constructor(e,t,n,i,o,s,r,l,a,d,u,c){const h={...t};Xse(l,h,!0);const g=s.registerEditorContainer(e);"string"==typeof h.theme&&s.setTheme(h.theme),void 0!==h.autoDetectHighContrast&&s.setAutoDetectHighContrast(Boolean(h.autoDetectHighContrast)),super(e,h,{},i,n,o,c,d),this._configurationService=l,this._standaloneThemeService=s,this._register(g)}dispose(){super.dispose()}updateOptions(e){Xse(this._configurationService,e,!0),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_createInnerEditor(e,t,n){return e.createInstance(rre,t,n)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};function dre(e,t,n,i,o){if(n=n||"",!i){const i=n.indexOf("\n");let s=n;return-1!==i&&(s=n.substring(0,i)),ure(e,n,t.createByFilepathOrFirstLine(o||null,s),o)}return ure(e,n,t.createById(i),o)}function ure(e,t,n,i){return e.createModel(t,n,i)}are=nre([ire(2,ad),ire(3,su),ire(4,ud),ire(5,$5),ire(6,nN),ire(7,pg),ire(8,HL),ire(9,bL),ire(10,fL),ire(11,GY)],are);var cre=n(6514),hre={};hre.styleTagTransform=Vr(),hre.setAttributes=Or(),hre.insert=Rr().bind(null,"head"),hre.domAPI=Tr(),hre.insertStyleElement=Br(),Ir()(cre.A,hre),cre.A&&cre.A.locals&&cre.A.locals;class gre{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let pre=class extends lt{constructor(e,t,n,i){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=n,this._instantiationService=i,this._viewModel=VE(this,void 0),this._collapsed=jE(this,(e=>{var t;return null===(t=this._viewModel.read(e))||void 0===t?void 0:t.collapsed.read(e)})),this._editorContentHeight=VE(this,500),this.contentHeight=jE(this,(e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight)),this._modifiedContentWidth=VE(this,0),this._modifiedWidth=VE(this,0),this._originalContentWidth=VE(this,0),this._originalWidth=VE(this,0),this.maxScroll=jE(this,(e=>{const t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),n=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>n?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:n,width:this._originalWidth.read(e)}})),this._elements=Dr("div.multiDiffEntry",[Dr("div.header@header",[Dr("div.header-content",[Dr("div.collapse-button@collapseButton"),Dr("div.file-path",[Dr("div.title.modified.show-file-icons@primaryPath",[]),Dr("div.status.deleted@status",["R"]),Dr("div.title.original.show-file-icons@secondaryPath",[])]),Dr("div.actions@actions")])]),Dr("div.editorParent",[Dr("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(AQ,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=mre(this.editor.getModifiedEditor()),this.isOriginalFocused=mre(this.editor.getOriginalEditor()),this.isFocused=jE(this,(e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e))),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=new rt,this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new FL(this._elements.collapseButton,{});this._register(YE((e=>{o.element.className="",o.icon=this._collapsed.read(e)?Sa.chevronRight:Sa.chevronDown}))),this._register(o.onDidClick((()=>{var e;null===(e=this._viewModel.get())||void 0===e||e.collapsed.set(!this._collapsed.get(),void 0)}))),this._register(YE((e=>{this._elements.editor.style.display=this._collapsed.read(e)?"none":"block"}))),this._register(this.editor.getModifiedEditor().onDidLayoutChange((e=>{const t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)}))),this._register(this.editor.getOriginalEditor().onDidLayoutChange((e=>{const t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)}))),this._register(this.editor.onDidContentSizeChange((e=>{FE((t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)}))}))),this._register(this.editor.getOriginalEditor().onDidScrollChange((e=>{if(this._isSettingScrollTop)return;if(!e.scrollTopChanged||!this._data)return;const t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)}))),this._register(YE((e=>{const t=this.isFocused.read(e);this._elements.root.classList.toggle("focused",t)}))),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._register(this._instantiationService.createInstance(ZZ,this._elements.actions,Su.MultiDiffEditorFileToolbar,{actionRunner:this._register(new mQ((()=>{var e;return null===(e=this._viewModel.get())||void 0===e?void 0:e.modifiedUri}))),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("navigation")},actionViewItemProvider:(e,t)=>RU(i,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}this._data=e;const n=e.viewModel.entry.value;n.onOptionsDidChange&&this._dataStore.add(n.onOptionsDidChange((()=>{var e;this.editor.updateOptions(t(null!==(e=n.options)&&void 0!==e?e:{}))}))),FE((i=>{var o,s,r,l;null===(o=this._resourceLabel)||void 0===o||o.setUri(null!==(s=e.viewModel.modifiedUri)&&void 0!==s?s:e.viewModel.originalUri,{strikethrough:void 0===e.viewModel.modifiedUri});let a=!1,d=!1,u=!1,c="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(c="R",a=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(c="A",u=!0):(c="D",d=!0),this._elements.status.classList.toggle("renamed",a),this._elements.status.classList.toggle("deleted",d),this._elements.status.classList.toggle("added",u),this._elements.status.innerText=c,null===(r=this._resourceLabel2)||void 0===r||r.setUri(a?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,i),this.editor.setModel(e.viewModel.diffEditorViewModel,i),this.editor.updateOptions(t(null!==(l=n.options)&&void 0!==l?l:{}))}))}render(e,t,n,i){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const o=e.length-this._headerHeight,s=Math.max(0,Math.min(i.start-e.start,o));this._elements.header.style.transform=`translateY(${s}px)`,FE((n=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})}));try{this._isSettingScrollTop=!0,this._lastScrollTop=n,this.editor.getOriginalEditor().setScrollTop(n)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",s>0||n>0),this._elements.header.classList.toggle("collapsed",s===o)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};function mre(e){return iI((t=>{const n=new rt;return n.add(e.onDidFocusEditorWidget((()=>t(!0)))),n.add(e.onDidBlurEditorWidget((()=>t(!1)))),n}),(()=>e.hasTextFocus()))}pre=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(3,ad)],pre);class fre{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){var t;let n;if(0===this._unused.size)n=this._create(e),this._itemData.set(n,e);else{const i=[...this._unused.values()];n=null!==(t=i.find((t=>this._itemData.get(t).getId()===e.getId())))&&void 0!==t?t:i[0],this._unused.delete(n),this._itemData.set(n,e),n.setData(e)}return this._used.add(n),{object:n,dispose:()=>{this._used.delete(n),this._unused.size>5?n.dispose():this._unused.add(n)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var _re=function(e,t){return function(n,i){t(n,i,e)}};let vre=class extends lt{constructor(e,t,n,i,o,s){super(),this._element=e,this._dimension=t,this._viewModel=n,this._workbenchUIElementFactory=i,this._parentContextKeyService=o,this._parentInstantiationService=s,this._elements=Dr("div.monaco-component.multiDiffEditor",[Dr("div@content",{style:{overflow:"hidden"}}),Dr("div.monaco-editor@overflowWidgetsDomNode",{})]),this._sizeObserver=this._register(new FY(this._element,void 0)),this._objectPool=this._register(new fre((e=>{const t=this._instantiationService.createInstance(pre,this._elements.content,this._elements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t}))),this._scrollable=this._register(new JN({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>Cs(is(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new uE(this._elements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this.scrollTop=iI(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollTop)),this.scrollLeft=iI(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollLeft)),this._viewItems=$E(this,((e,t)=>{const n=this._viewModel.read(e);return n?n.items.read(e).map((e=>{var n;const i=t.add(new bre(e,this._objectPool,this.scrollLeft,(e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})}))),o=null===(n=this._lastDocStates)||void 0===n?void 0:n[i.getKey()];return o&&OE((e=>{i.setViewState(o,e)})),i})):[]})),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,((e,t)=>e.reduce(((e,n)=>e+n.contentHeight.read(t)+this._spaceBetweenPx),0))),this.activeDiffItem=jE(this,(e=>this._viewItems.read(e).find((t=>{var n;return null===(n=t.template.read(e))||void 0===n?void 0:n.isFocused.read(e)})))),this.lastActiveDiffItem=function(e){let t;return jE((n=>(t=e(n,t),t)))}(((e,t)=>{var n;return null!==(n=this.activeDiffItem.read(e))&&void 0!==n?n:t})),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._parentInstantiationService.createChild(new bB([su,this._contextKeyService])),this._lastDocStates={},this._contextKeyService.createKey(oc.inMultiDiffEditor.key,!0),this._register(JE(((e,t)=>{const n=this._viewModel.read(e);if(n&&n.contextKeys)for(const[e,i]of Object.entries(n.contextKeys)){const n=this._contextKeyService.createKey(e,void 0);n.set(i),t.add(st((()=>n.reset())))}})));const r=this._parentContextKeyService.createKey(oc.multiDiffEditorAllCollapsed.key,!1);this._register(YE((e=>{const t=this._viewModel.read(e);if(t){const n=t.items.read(e).every((t=>t.collapsed.read(e)));r.set(n)}}))),this._register(YE((e=>{const t=this.lastActiveDiffItem.read(e);OE((n=>{var i;null===(i=this._viewModel.read(e))||void 0===i||i.activeDiffItem.set(null==t?void 0:t.viewModel,n)}))}))),this._register(YE((e=>{const t=this._dimension.read(e);this._sizeObserver.observe(t)}))),this._elements.content.style.position="relative",this._register(YE((e=>{const t=this._sizeObserver.height.read(e);this._elements.root.style.height=`${t}px`;const n=this._totalHeight.read(e);this._elements.content.style.height=`${n}px`;const i=this._sizeObserver.width.read(e);let o=i;const s=vh(this._viewItems.read(e),(t=>t.maxScroll.read(e).maxScroll));s&&(o=i+s.maxScroll.read(e).maxScroll),this._scrollableElement.setScrollDimensions({width:i,height:t,scrollHeight:n,scrollWidth:o})}))),e.replaceChildren(this._scrollableElement.getDomNode()),this._register(st((()=>{e.replaceChildren()}))),this._register(this._register(YE((e=>{FE((t=>{this.render(e)}))}))))}render(e){const t=this.scrollTop.read(e);let n=0,i=0,o=0;const s=this._sizeObserver.height.read(e),r=ch.ofStartAndLength(t,s),l=this._sizeObserver.width.read(e);for(const a of this._viewItems.read(e)){const d=a.contentHeight.read(e),u=Math.min(d,s),c=ch.ofStartAndLength(i,u),h=ch.ofStartAndLength(o,d);if(h.isBefore(r))n-=d-u,a.hide();else if(h.isAfter(r))a.hide();else{const e=Math.max(0,Math.min(r.start-h.start,d-u));n-=e;const i=ch.ofStartAndLength(t+n,s);a.render(c,e,l,i)}i+=u+this._spaceBetweenPx,o+=d+this._spaceBetweenPx}this._elements.content.style.transform=`translateY(${-(t+n)}px)`}};vre=function(e,t,n,i){var o,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([_re(4,su),_re(5,ad)],vre);class bre extends lt{constructor(e,t,n,i){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=n,this._deltaScrollVertical=i,this._templateRef=this._register(zE(this,void 0)),this.contentHeight=jE(this,(e=>{var t,n,i;return null!==(i=null===(n=null===(t=this._templateRef.read(e))||void 0===t?void 0:t.object.contentHeight)||void 0===n?void 0:n.read(e))&&void 0!==i?i:this.viewModel.lastTemplateData.read(e).contentHeight})),this.maxScroll=jE(this,(e=>{var t,n;return null!==(n=null===(t=this._templateRef.read(e))||void 0===t?void 0:t.object.maxScroll.read(e))&&void 0!==n?n:{maxScroll:0,scrollWidth:0}})),this.template=jE(this,(e=>{var t;return null===(t=this._templateRef.read(e))||void 0===t?void 0:t.object})),this._isHidden=VE(this,!1),this._register(YE((e=>{var t;const n=this._scrollLeft.read(e);null===(t=this._templateRef.read(e))||void 0===t||t.object.setScrollLeft(n)}))),this._register(YE((e=>{const t=this._templateRef.read(e);t&&this._isHidden.read(e)&&(t.object.isFocused.read(e)||this._clear())})))}dispose(){this._clear(),super.dispose()}toString(){var e;return`VirtualViewItem(${null===(e=this.viewModel.entry.value.modified)||void 0===e?void 0:e.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){var n;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),o=null===(n=e.selections)||void 0===n?void 0:n.map(ic.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:o},t);const s=this._templateRef.get();s&&o&&s.object.editor.setSelections(o)}_updateTemplateData(e){var t;const n=this._templateRef.get();n&&this.viewModel.lastTemplateData.set({contentHeight:n.object.contentHeight.get(),selections:null!==(t=n.object.editor.getSelections())&&void 0!==t?t:void 0},e)}_clear(){const e=this._templateRef.get();e&&OE((t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)}))}hide(){this._isHidden.set(!0,void 0)}render(e,t,n,i){this._isHidden.set(!1,void 0);let o=this._templateRef.get();if(!o){o=this._objectPool.getUnusedObj(new gre(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(o,void 0);const e=this.viewModel.lastTemplateData.get().selections;e&&o.object.editor.setSelections(e)}o.object.render(e,n,t,i)}}km("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},_(0,"The background color of the diff editor's header")),km("multiDiffEditor.background",{dark:"editorBackground",light:"editorBackground",hcDark:"editorBackground",hcLight:"editorBackground"},_(0,"The background color of the multi file diff editor")),km("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},_(0,"The border color of the multi file diff editor"));let wre=class extends lt{constructor(e,t,n){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=n,this._dimension=VE(this,void 0),this._viewModel=VE(this,void 0),this._widgetImpl=$E(this,((e,t)=>(UY(pre,e),t.add(this._instantiationService.createInstance(UY(vre,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))))),this._register(dI(this._widgetImpl))}};function Cre(e){const t=tre.get(zL);return t instanceof Kse?t.addDynamicKeybindings(e.map((e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:Bd.deserialize(e.when)})))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),lt.None)}function yre(e,t){return"boolean"==typeof e?e:t}function Sre(e,t){return"string"==typeof e?e:t}function xre(e,t=!1){t&&(e=e.map((function(e){return e.toLowerCase()})));const n=function(e){const t={};for(const n of e)t[n]=!0;return t}(e);return t?function(e){return void 0!==n[e.toLowerCase()]&&n.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==n[e]&&n.hasOwnProperty(e)}}function kre(e,t,n){t=t.replace(/@@/g,"");let i,o=0;do{i=!1,t=t.replace(/@(\w+)/g,(function(n,o){i=!0;let s="";if("string"==typeof e[o])s=e[o];else{if(!(e[o]&&e[o]instanceof RegExp))throw void 0===e[o]?Hte(e,"language definition does not contain attribute '"+o+"', used at: "+t):Hte(e,"attribute reference '"+o+"' must be a string, used at: "+t);s=e[o].source}return Bte(s)?"":"(?:"+s+")"})),o++}while(i&&o<5);t=t.replace(/\x01/g,"@");const s=(e.ignoreCase?"i":"")+(e.unicode?"u":"");if(n&&t.match(/\$[sS](\d\d?)/g)){let n=null,i=null;return o=>(i&&n===o||(n=o,i=new RegExp(function(e,t,n){let i=null;return t.replace(/\$[sS](\d\d?)/g,(function(t,o){return null===i&&(i=n.split("."),i.unshift(n)),!Bte(o)&&o=100){i-=100;const e=n.split(".");if(e.unshift(n),i=0&&(i.tokenSubst=!0),"string"==typeof n.bracket)if("@open"===n.bracket)i.bracket=1;else{if("@close"!==n.bracket)throw Hte(e,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+t);i.bracket=-1}if(n.next){if("string"!=typeof n.next)throw Hte(e,"the next state must be a string value in rule: "+t);{let o=n.next;if(!/^(@pop|@push|@popall)$/.test(o)&&("@"===o[0]&&(o=o.substr(1)),o.indexOf("$")<0&&!function(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;const t=n.lastIndexOf(".");n=t<0?null:n.substr(0,t)}return!1}(e,zte(e,o,"",[],""))))throw Hte(e,"the next state '"+n.next+"' is not defined in rule: "+t);i.next=o}}return"number"==typeof n.goBack&&(i.goBack=n.goBack),"string"==typeof n.switchTo&&(i.switchTo=n.switchTo),"string"==typeof n.log&&(i.log=n.log),"string"==typeof n.nextEmbedded&&(i.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),i}}if(Array.isArray(n)){const i=[];for(let o=0,s=n.length;o=0;l--)(o=e[l])&&(r=(s<3?o(r):s>3?o(t,n,r):o(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r}([function(e,t){return function(n,i){t(n,i,e)}}(2,ad)],wre);class Nre{constructor(e){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}setRegex(e,t){let n;if("string"==typeof t)n=t;else{if(!(t instanceof RegExp))throw Hte(e,"rules must start with a match string or regular expression: "+this.name);n=t.source}this.matchOnlyAtLineStart=n.length>0&&"^"===n[0],this.name=this.name+": "+n,this.regex=kre(e,"^(?:"+(this.matchOnlyAtLineStart?n.substr(1):n)+")",!0)}setAction(e,t){this.action=Dre(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function Ere(e,t){if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");const n={};n.languageId=e,n.includeLF=yre(t.includeLF,!1),n.noThrow=!1,n.maxStack=100,n.start="string"==typeof t.start?t.start:null,n.ignoreCase=yre(t.ignoreCase,!1),n.unicode=yre(t.unicode,!1),n.tokenPostfix=Sre(t.tokenPostfix,"."+n.languageId),n.defaultToken=Sre(t.defaultToken,"source"),n.usesEmbedded=!1;const i=t;function o(e,s,r){for(const l of r){let r=l.include;if(r){if("string"!=typeof r)throw Hte(n,"an 'include' attribute must be a string at: "+e);if("@"===r[0]&&(r=r.substr(1)),!t.tokenizer[r])throw Hte(n,"include target '"+r+"' is not defined at: "+e);o(e+"."+r,s,t.tokenizer[r])}else{const t=new Nre(e);if(Array.isArray(l)&&l.length>=1&&l.length<=3)if(t.setRegex(i,l[0]),l.length>=3)if("string"==typeof l[1])t.setAction(i,{token:l[1],next:l[2]});else{if("object"!=typeof l[1])throw Hte(n,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+e);{const e=l[1];e.next=l[2],t.setAction(i,e)}}else t.setAction(i,l[1]);else{if(!l.regex)throw Hte(n,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);l.name&&"string"==typeof l.name&&(t.name=l.name),l.matchOnlyAtStart&&(t.matchOnlyAtLineStart=yre(l.matchOnlyAtLineStart,!1)),t.setRegex(i,l.regex),t.setAction(i,l.action)}s.push(t)}}}if(i.languageId=e,i.includeLF=n.includeLF,i.ignoreCase=n.ignoreCase,i.unicode=n.unicode,i.noThrow=n.noThrow,i.usesEmbedded=n.usesEmbedded,i.stateNames=t.tokenizer,i.defaultToken=n.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw Hte(n,"a language definition must define the 'tokenizer' attribute as an object");n.tokenizer=[];for(const e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){n.start||(n.start=e);const i=t.tokenizer[e];n.tokenizer[e]=new Array,o("tokenizer."+e,n.tokenizer[e],i)}if(n.usesEmbedded=i.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw Hte(n,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const s=[];for(const e of t.brackets){let t=e;if(t&&Array.isArray(t)&&3===t.length&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw Hte(n,"open and close brackets in a 'brackets' attribute must be different: "+t.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof t.open||"string"!=typeof t.token||"string"!=typeof t.close)throw Hte(n,"every element in the 'brackets' array must be a '{open,close,token}' object or array");s.push({token:t.token+n.tokenPostfix,open:Wte(n,t.open),close:Wte(n,t.close)})}return n.brackets=s,n.noThrow=!0,n}class Ire{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if("function"==typeof this._actual.tokenize)return Mre.adaptTokenize(this._languageId,this._actual,e,n);throw new Error("Not supported!")}tokenizeEncoded(e,t,n){const i=this._actual.tokenizeEncoded(e,n);return new fC(i.tokens,i.endState)}}class Mre{constructor(e,t,n,i){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=i}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const n=[];let i=0;for(let o=0,s=e.length;o0&&o[s-1]===a)continue;let d=l.startIndex;0===e?d=0:d{const n=await Promise.resolve(t.create());return n?"function"==typeof n.getInitialState?Are(e,n):new Qte(tre.get(Sh),tre.get($5),e,Ere(e,n),tre.get(pg)):null}));return IC.registerFactory(e,n)}$D.wrappingIndent.defaultValue=0,$D.glyphMargin.defaultValue=!1,$D.autoIndent.defaultValue=3,$D.overviewRulerLanes.defaultValue=2,U3.setFormatterSelector(((e,t,n)=>Promise.resolve(e[0])));const Pre=MV();Pre.editor={create:function(e,t,n){return tre.initialize(n||{}).createInstance(lre,e,t)},getEditors:function(){return tre.get(ud).listCodeEditors()},getDiffEditors:function(){return tre.get(ud).listDiffEditors()},onDidCreateEditor:function(e){return tre.get(ud).onCodeEditorAdd((t=>{e(t)}))},onDidCreateDiffEditor:function(e){return tre.get(ud).onDiffEditorAdd((t=>{e(t)}))},createDiffEditor:function(e,t,n){return tre.initialize(n||{}).createInstance(are,e,t)},addCommand:function(e){if("string"!=typeof e.id||"function"!=typeof e.run)throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return Cd.registerCommand(e.id,e.run)},addEditorAction:function(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const t=Bd.deserialize(e.precondition),n=new rt;if(n.add(Cd.registerCommand(e.id,((n,...i)=>Hu.runEditorCommand(n,i,t,((t,n,i)=>Promise.resolve(e.run(n,...i))))))),e.contextMenuGroupId){const i={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};n.add(Lu.appendMenuItem(Su.EditorContext,i))}if(Array.isArray(e.keybindings)){const i=tre.get(zL);if(i instanceof Kse){const o=Bd.and(t,Bd.deserialize(e.keybindingContext));n.add(i.addDynamicKeybindings(e.keybindings.map((t=>({keybinding:t,command:e.id,when:o})))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return n},addKeybindingRule:function(e){return Cre([e])},addKeybindingRules:Cre,createModel:function(e,t,n){const i=tre.get(Sh),o=i.getLanguageIdByMimeType(t)||t;return dre(tre.get(hd),i,e,o,n)},setModelLanguage:function(e,t){const n=tre.get(Sh),i=n.getLanguageIdByMimeType(t)||t||Kg;e.setLanguage(n.createById(i))},setModelMarkers:function(e,t,n){e&&tre.get(GM).changeOne(t,e.uri,n)},getModelMarkers:function(e){return tre.get(GM).read(e)},removeAllMarkers:function(e){tre.get(GM).changeAll(e,[])},onDidChangeMarkers:function(e){return tre.get(GM).onMarkerChanged(e)},getModels:function(){return tre.get(hd).getModels()},getModel:function(e){return tre.get(hd).getModel(e)},onDidCreateModel:function(e){return tre.get(hd).onModelAdded(e)},onWillDisposeModel:function(e){return tre.get(hd).onModelRemoved(e)},onDidChangeModelLanguage:function(e){return tre.get(hd).onModelLanguageChanged((t=>{e({model:t.model,oldLanguage:t.oldLanguageId})}))},createWebWorker:function(e){return function(e,t,n){return new Pte(e,t,n)}(tre.get(hd),tre.get(Qg),e)},colorizeElement:function(e,t){const n=tre.get(Sh),i=tre.get($5);return tne.colorizeElement(i,n,e,t).then((()=>{i.registerEditorContainer(e)}))},colorize:function(e,t,n){const i=tre.get(Sh);return tre.get($5).registerEditorContainer(o.document.body),tne.colorize(i,e,t,n)},colorizeModelLine:function(e,t,n=4){return tre.get($5).registerEditorContainer(o.document.body),tne.colorizeModelLine(e,t,n)},tokenize:function(e,t){IC.getOrCreate(t);const n=function(e){return IC.get(e)||{getInitialState:()=>TC,tokenize:(t,n,i)=>AC(e,i)}}(t),i=ci(e),o=[];let s=n.getInitialState();for(let e=0,t=i.length;e("string"==typeof t&&(t=Io.parse(t)),e.open(t))})},registerEditorOpener:function(e){return tre.get(ud).registerCodeEditorOpenHandler((async(t,n,i)=>{var o;if(!n)return null;const s=null===(o=t.options)||void 0===o?void 0:o.selection;let r;return s&&"number"==typeof s.endLineNumber&&"number"==typeof s.endColumn?r=s:s&&(r={lineNumber:s.startLineNumber,column:s.startColumn}),await e.openCodeEditor(n,t.resource,r)?n:null}))},AccessibilitySupport:VW,ContentWidgetPositionPreference:qW,CursorChangeReason:$W,DefaultEndOfLine:GW,EditorAutoIndentStrategy:YW,EditorOption:XW,EndOfLinePreference:QW,EndOfLineSequence:JW,MinimapPosition:dV,MinimapSectionHeaderStyle:uV,MouseTargetType:cV,OverlayWidgetPositionPreference:gV,OverviewRulerLane:pV,GlyphMarginLane:eV,RenderLineNumbersType:_V,RenderMinimap:vV,ScrollbarVisibility:wV,ScrollType:bV,TextEditorCursorBlinkingStyle:LV,TextEditorCursorStyle:DV,TrackedRangeStickiness:NV,WrappingIndent:EV,InjectedTextCursorStops:nV,PositionAffinity:fV,ShowLightbulbIconMode:yV,ConfigurationChangedEvent:uD,BareFontInfo:bT,FontInfo:wT,TextModelResolvedOptions:Sc,FindMatch:xc,ApplyUpdateResult:gD,EditorZoom:_T,createMultiFileDiffEditor:function(e,t){const n=tre.initialize(t||{});return new wre(e,{},n)},EditorType:WO,EditorOptions:$D},Pre.languages={register:function(e){Ug.registerLanguage(e)},getLanguages:function(){let e=[];return e=e.concat(Ug.getLanguages()),e},onLanguage:function(e,t){return tre.withServices((()=>{const n=tre.get(Sh).onDidRequestRichLanguageFeatures((i=>{i===e&&(n.dispose(),t())}));return n}))},onLanguageEncountered:function(e,t){return tre.withServices((()=>{const n=tre.get(Sh).onDidRequestBasicLanguageFeatures((i=>{i===e&&(n.dispose(),t())}));return n}))},getEncodedLanguageId:function(e){return tre.get(Sh).languageIdCodec.encodeLanguageId(e)},setLanguageConfiguration:function(e,t){if(!tre.get(Sh).isRegisteredLanguageId(e))throw new Error(`Cannot set configuration for unknown language ${e}`);return tre.get(Qg).register(e,t,100)},setColorMap:function(e){const t=tre.get($5);if(e){const n=[null];for(let t=1,i=e.length;tt}):IC.register(e,Are(e,t))},setMonarchTokensProvider:function(e,t){return Tre(t)?Rre(e,{create:()=>t}):IC.register(e,(t=>new Qte(tre.get(Sh),tre.get($5),e,Ere(e,t),tre.get(pg)))(t))},registerReferenceProvider:function(e,t){return tre.get(wx).referenceProvider.register(e,t)},registerRenameProvider:function(e,t){return tre.get(wx).renameProvider.register(e,t)},registerNewSymbolNameProvider:function(e,t){return tre.get(wx).newSymbolNamesProvider.register(e,t)},registerCompletionItemProvider:function(e,t){return tre.get(wx).completionProvider.register(e,t)},registerSignatureHelpProvider:function(e,t){return tre.get(wx).signatureHelpProvider.register(e,t)},registerHoverProvider:function(e,t){return tre.get(wx).hoverProvider.register(e,{provideHover:(e,n,i)=>{const o=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,i)).then((e=>{if(e)return!e.range&&o&&(e.range=new nc(n.lineNumber,o.startColumn,n.lineNumber,o.endColumn)),e.range||(e.range=new nc(n.lineNumber,n.column,n.lineNumber,n.column)),e}))}})},registerDocumentSymbolProvider:function(e,t){return tre.get(wx).documentSymbolProvider.register(e,t)},registerDocumentHighlightProvider:function(e,t){return tre.get(wx).documentHighlightProvider.register(e,t)},registerLinkedEditingRangeProvider:function(e,t){return tre.get(wx).linkedEditingRangeProvider.register(e,t)},registerDefinitionProvider:function(e,t){return tre.get(wx).definitionProvider.register(e,t)},registerImplementationProvider:function(e,t){return tre.get(wx).implementationProvider.register(e,t)},registerTypeDefinitionProvider:function(e,t){return tre.get(wx).typeDefinitionProvider.register(e,t)},registerCodeLensProvider:function(e,t){return tre.get(wx).codeLensProvider.register(e,t)},registerCodeActionProvider:function(e,t,n){return tre.get(wx).codeActionProvider.register(e,{providedCodeActionKinds:null==n?void 0:n.providedCodeActionKinds,documentation:null==n?void 0:n.documentation,provideCodeActions:(e,n,i,o)=>{const s=tre.get(GM).read({resource:e.uri}).filter((e=>nc.areIntersectingOrTouching(e,n)));return t.provideCodeActions(e,n,{markers:s,only:i.only,trigger:i.trigger},o)},resolveCodeAction:t.resolveCodeAction})},registerDocumentFormattingEditProvider:function(e,t){return tre.get(wx).documentFormattingEditProvider.register(e,t)},registerDocumentRangeFormattingEditProvider:function(e,t){return tre.get(wx).documentRangeFormattingEditProvider.register(e,t)},registerOnTypeFormattingEditProvider:function(e,t){return tre.get(wx).onTypeFormattingEditProvider.register(e,t)},registerLinkProvider:function(e,t){return tre.get(wx).linkProvider.register(e,t)},registerColorProvider:function(e,t){return tre.get(wx).colorProvider.register(e,t)},registerFoldingRangeProvider:function(e,t){return tre.get(wx).foldingRangeProvider.register(e,t)},registerDeclarationProvider:function(e,t){return tre.get(wx).declarationProvider.register(e,t)},registerSelectionRangeProvider:function(e,t){return tre.get(wx).selectionRangeProvider.register(e,t)},registerDocumentSemanticTokensProvider:function(e,t){return tre.get(wx).documentSemanticTokensProvider.register(e,t)},registerDocumentRangeSemanticTokensProvider:function(e,t){return tre.get(wx).documentRangeSemanticTokensProvider.register(e,t)},registerInlineCompletionsProvider:function(e,t){return tre.get(wx).inlineCompletionsProvider.register(e,t)},registerInlineEditProvider:function(e,t){return tre.get(wx).inlineEditProvider.register(e,t)},registerInlayHintsProvider:function(e,t){return tre.get(wx).inlayHintsProvider.register(e,t)},DocumentHighlightKind:ZW,CompletionItemKind:UW,CompletionItemTag:KW,CompletionItemInsertTextRule:zW,SymbolKind:xV,SymbolTag:kV,IndentAction:tV,CompletionTriggerKind:jW,SignatureHelpTriggerKind:SV,InlayHintKind:iV,InlineCompletionTriggerKind:oV,InlineEditTriggerKind:sV,CodeActionTriggerType:HW,NewSymbolNameTag:hV,PartialAcceptTriggerKind:mV,FoldingRangeKind:NC,SelectedSuggestionInfo:yC};const Ore=Pre.CancellationTokenSource,Fre=Pre.Emitter,Bre=Pre.KeyCode,Wre=Pre.KeyMod,Vre=Pre.Position,Hre=Pre.Range,zre=Pre.Selection,Ure=Pre.SelectionDirection,Kre=Pre.MarkerSeverity,jre=Pre.MarkerTag,qre=Pre.Uri,$re=Pre.Token,Gre=Pre.editor,Zre=Pre.languages,Yre=globalThis.MonacoEnvironment;((null==Yre?void 0:Yre.globalAPI)||"function"==typeof define&&n.amdO)&&(globalThis.monaco=Pre),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});var Xre,Qre=new class{constructor(e,t,n){this._onDidChange=new Fre,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}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)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});function Jre(){return n.e(839).then(n.bind(n,4839))}Zre.json={jsonDefaults:Qre,getWorker:()=>Jre().then((e=>e.getWorker()))},Zre.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),Zre.onLanguage("json",(()=>{Jre().then((e=>e.setupMode(Qre)))})),self.MonacoEnvironment=(Xre={editorWorkerService:"editor.worker.js",json:"json.worker.js"},{globalAPI:!1,getWorkerUrl:function(e,t){var i=n.p,o=(i?i.replace(/\/$/,"")+"/":"")+Xre[t];if(/^((http:)|(https:)|(file:)|(\/\/))/.test(o)){var s=String(window.location),r=s.substr(0,s.length-window.location.hash.length-window.location.search.length-window.location.pathname.length);if(o.substring(0,r.length)!==r){/^(\/\/)/.test(o)&&(o=window.location.protocol+o);var l=new Blob(["/*"+t+'*/importScripts("'+o+'");'],{type:"application/javascript"});return URL.createObjectURL(l)}}return o}});const ele=i},4596:function(e){e.exports=function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";(function(e){var n,i,o,s,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};s=function(){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(e){return void 0===e?"undefined":r(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":r(e)},o=Object.assign||function(e){for(var t=1;t'+i+"",b.onclick=function(){return v(w,p)},b.listener=function(e){(m(e)||f(e))&&C()},_(b,p),s&&s<1&&(s=1),!a&&s&&u(s).then((function(){return v(w,p)}))},S=t.force=function(e,t){var n=e.type,i=void 0===n?5:n,o=e.text,s=e.buttonText,r=void 0===s?"OK":s,a=e.callback,d=e.position,u=void 0===d?l.positions.force||u.top:d;c(),C();var p=document.createElement("div"),f=h();p.id=f;var y=document.createElement("div");y.classList.add(l.classes.textbox),y.classList.add(l.classes.backgroundInfo),y.innerHTML='
    '+o+"
    ";var S=document.createElement("div");S.classList.add(l.classes.button),S.classList.add(g[i]),S.innerHTML=r,S.onclick=function(){v(f,u),w(),a?a():t&&t()},p.appendChild(y),p.appendChild(S),p.listener=function(e){m(e)&&S.click()},_(p,u),b()},x=t.confirm=function(e,t,n){var i=e.text,o=e.submitText,s=void 0===o?"Yes":o,r=e.cancelText,a=void 0===r?"Cancel":r,d=e.submitCallback,u=e.cancelCallback,g=e.position,p=void 0===g?l.positions.confirm||p.top:g;c(),C();var y=document.createElement("div"),S=h();y.id=S;var x=document.createElement("div");x.classList.add(l.classes.textbox),x.classList.add(l.classes.backgroundInfo),x.innerHTML='
    '+i+"
    ";var k=document.createElement("div");k.classList.add(l.classes.button),k.classList.add(l.classes.elementHalf),k.classList.add(l.classes.backgroundSuccess),k.innerHTML=s,k.onclick=function(){v(S,p),w(),d?d():t&&t()};var L=document.createElement("div");L.classList.add(l.classes.button),L.classList.add(l.classes.elementHalf),L.classList.add(l.classes.backgroundError),L.innerHTML=a,L.onclick=function(){v(S,p),w(),u?u():n&&n()},y.appendChild(x),y.appendChild(k),y.appendChild(L),y.listener=function(e){m(e)?k.click():f(e)&&L.click()},_(y,p),b(y,p)},k=function(e,t,n){var o=e.text,s=e.submitText,r=void 0===s?"Submit":s,a=e.cancelText,d=void 0===a?"Cancel":a,u=e.submitCallback,g=e.cancelCallback,p=e.position,y=void 0===p?l.positions.input||y.top:p,S=function(e,t){var n={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i]);return n}(e,["text","submitText","cancelText","submitCallback","cancelCallback","position"]);c(),C();var x=document.createElement("div"),k=h();x.id=k;var L=document.createElement("div");L.classList.add(l.classes.textbox),L.classList.add(l.classes.backgroundInfo),L.innerHTML='
    '+o+"
    ";var D=document.createElement("input");D.classList.add(l.classes.inputField),D.setAttribute("autocapitalize",S.autocapitalize||"none"),D.setAttribute("autocomplete",S.autocomplete||"off"),D.setAttribute("autocorrect",S.autocorrect||"off"),D.setAttribute("autofocus",S.autofocus||"true"),D.setAttribute("inputmode",S.inputmode||"verbatim"),D.setAttribute("max",S.max||""),D.setAttribute("maxlength",S.maxlength||""),D.setAttribute("min",S.min||""),D.setAttribute("minlength",S.minlength||""),D.setAttribute("placeholder",S.placeholder||""),D.setAttribute("spellcheck",S.spellcheck||"default"),D.setAttribute("step",S.step||"any"),D.setAttribute("type",S.type||"text"),D.value=S.value||"",S.allowed&&(D.oninput=function(){var e=void 0;if(Array.isArray(S.allowed)){for(var t="",n=S.allowed,o=0;o'+n+"",u.appendChild(m),r.forEach((function(e,t){var n=e.type,i=void 0===n?1:n,o=e.text,s=e.handler,a=document.createElement("div");a.classList.add(g[i]),a.classList.add(l.classes.button),a.classList.add(l.classes.selectChoice);var c=r[t+1];c&&!c.type&&(c.type=1),c&&c.type===i&&a.classList.add(l.classes.selectChoiceRepeated),a.innerHTML=o,a.onclick=function(){v(p,d),w(),s()},u.appendChild(a)}));var y=document.createElement("div");y.classList.add(l.classes.backgroundNeutral),y.classList.add(l.classes.button),y.innerHTML=o,y.onclick=function(){v(p,d),w(),s?s():t&&t()},u.appendChild(y),u.listener=function(e){f(e)&&y.click()},_(u,d),b(u,d)},D=t.date=function(e,t,n){var i=e.value,o=void 0===i?new Date:i,s=e.submitText,r=void 0===s?"OK":s,a=e.cancelText,d=void 0===a?"Cancel":a,u=e.submitCallback,g=e.cancelCallback,p=e.position,y=void 0===p?l.positions.date||y.top:p;c(),C();var S="▾",x=document.createElement("div"),k=document.createElement("div"),L=document.createElement("div"),D=function(e){x.innerHTML=l.dateMonths[e.getMonth()],k.innerHTML=e.getDate(),L.innerHTML=e.getFullYear()},N=function(e){D(o)},E=function(e){var t=new Date(o.getFullYear(),o.getMonth()+e+1,0).getDate();o.getDate()>t&&o.setDate(t),o.setMonth(o.getMonth()+e),D(o)},I=function(e){o.setDate(o.getDate()+e),D(o)},M=function(e){o.getFullYear()+e<0?o.setFullYear(0):o.setFullYear(o.getFullYear()+e),D(o)},T=document.createElement("div"),A=h();T.id=A;var R=document.createElement("div");R.classList.add(l.classes.backgroundInfo);var P=document.createElement("div");P.classList.add(l.classes.dateSelectorInner);var O=document.createElement("div");O.classList.add(l.classes.button),O.classList.add(l.classes.elementThird),O.classList.add(l.classes.dateSelectorUp),O.innerHTML=S;var F=document.createElement("div");F.classList.add(l.classes.button),F.classList.add(l.classes.elementThird),F.classList.add(l.classes.dateSelectorUp),F.innerHTML=S;var B=document.createElement("div");B.classList.add(l.classes.button),B.classList.add(l.classes.elementThird),B.classList.add(l.classes.dateSelectorUp),B.innerHTML=S,x.classList.add(l.classes.element),x.classList.add(l.classes.elementThird),x.innerHTML=l.dateMonths[o.getMonth()],k.classList.add(l.classes.element),k.classList.add(l.classes.elementThird),k.setAttribute("contentEditable",!0),k.addEventListener("input",(function(e){var t=new Date(o.getFullYear(),o.getMonth()+1,0).getDate(),n=e.target.textContent.replace(/^0+/,"").replace(/[^\d]/g,"").slice(0,2);Number(n)>t&&(n=t.toString()),e.target.textContent=n,Number(n)<1&&(n="1"),o.setDate(Number(n))})),k.addEventListener("blur",N),k.innerHTML=o.getDate(),L.classList.add(l.classes.element),L.classList.add(l.classes.elementThird),L.setAttribute("contentEditable",!0),L.addEventListener("input",(function(e){var t=e.target.textContent.replace(/^0+/,"").replace(/[^\d]/g,"").slice(0,4);e.target.textContent=t,o.setFullYear(Number(t))})),L.addEventListener("blur",N),L.innerHTML=o.getFullYear();var W=document.createElement("div");W.classList.add(l.classes.button),W.classList.add(l.classes.elementThird),W.innerHTML=S;var V=document.createElement("div");V.classList.add(l.classes.button),V.classList.add(l.classes.elementThird),V.innerHTML=S;var H=document.createElement("div");H.classList.add(l.classes.button),H.classList.add(l.classes.elementThird),H.innerHTML=S,O.onclick=function(){return E(1)},F.onclick=function(){return I(1)},B.onclick=function(){return M(1)},W.onclick=function(){return E(-1)},V.onclick=function(){return I(-1)},H.onclick=function(){return M(-1)};var z=document.createElement("div");z.classList.add(l.classes.button),z.classList.add(l.classes.elementHalf),z.classList.add(l.classes.backgroundSuccess),z.innerHTML=r,z.onclick=function(){v(A,y),w(),u?u(o):t&&t(o)};var U=document.createElement("div");U.classList.add(l.classes.button),U.classList.add(l.classes.elementHalf),U.classList.add(l.classes.backgroundError),U.innerHTML=d,U.onclick=function(){v(A,y),w(),g?g(o):n&&n(o)},P.appendChild(O),P.appendChild(F),P.appendChild(B),P.appendChild(x),P.appendChild(k),P.appendChild(L),P.appendChild(W),P.appendChild(V),P.appendChild(H),R.appendChild(P),T.appendChild(R),T.appendChild(z),T.appendChild(U),T.listener=function(e){m(e)?z.click():f(e)&&U.click()},_(T,y),b(T,y)};t.default={alert:y,force:S,confirm:x,input:k,select:L,date:D,setOptions:a,hideAlerts:C}}])},"object"===r(t)&&"object"===r(e)?e.exports=s():(i=[],void 0===(o="function"==typeof(n=s)?n.apply(t,i):n)||(e.exports=o))}).call(t,n(0)(e))}])},9336:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>_});var i=n(5072),o=n.n(i),s=n(7825),r=n.n(s),l=n(7659),a=n.n(l),d=n(5056),u=n.n(d),c=n(540),h=n.n(c),g=n(1113),p=n.n(g),m=n(7931),f={};f.styleTagTransform=p(),f.setAttributes=u(),f.insert=a().bind(null,"head"),f.domAPI=r(),f.insertStyleElement=h(),o()(m.A,f);const _=m.A&&m.A.locals?m.A.locals:void 0},5072:e=>{"use strict";var t=[];function n(e){for(var n=-1,i=0;i{"use strict";var t={};e.exports=function(e,n){var i=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(n)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var i="";n.supports&&(i+="@supports (".concat(n.supports,") {")),n.media&&(i+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(i+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),i+=n.css,o&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var s=n.sourceMap;s&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},3764:(e,t,n)=>{var i=n(831);e.exports={TextEncoder:i.TextEncoder,TextDecoder:i.TextDecoder}},2082:function(e){!function(t){"use strict";e.exports&&(e.exports=t),t["encoding-indexes"]={big5:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,162799,23515,138590,23204,13861,171696,23249,23479,23804,26478,34195,170309,29793,29853,14453,138579,145054,155681,16108,153822,15093,31484,40855,147809,166157,143850,133770,143966,17162,33924,40854,37935,18736,34323,22678,38730,37400,31184,31282,26208,27177,34973,29772,31685,26498,31276,21071,36934,13542,29636,155065,29894,40903,22451,18735,21580,16689,145038,22552,31346,162661,35727,18094,159368,16769,155033,31662,140476,40904,140481,140489,140492,40905,34052,144827,16564,40906,17633,175615,25281,28782,40907,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,12736,12737,12738,12739,12740,131340,12741,131281,131277,12742,12743,131275,139240,12744,131274,12745,12746,12747,12748,131342,12749,12750,256,193,461,192,274,201,282,200,332,211,465,210,null,7870,null,7872,202,257,225,462,224,593,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,null,7871,null,7873,234,609,9178,9179,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,172969,135493,null,25866,null,null,20029,28381,40270,37343,null,null,161589,25745,20250,20264,20392,20822,20852,20892,20964,21153,21160,21307,21326,21457,21464,22242,22768,22788,22791,22834,22836,23398,23454,23455,23706,24198,24635,25993,26622,26628,26725,27982,28860,30005,32420,32428,32442,32455,32463,32479,32518,32567,33402,33487,33647,35270,35774,35810,36710,36711,36718,29713,31996,32205,26950,31433,21031,null,null,null,null,37260,30904,37214,32956,null,36107,33014,133607,null,null,32927,40647,19661,40393,40460,19518,171510,159758,40458,172339,13761,null,28314,33342,29977,null,18705,39532,39567,40857,31111,164972,138698,132560,142054,20004,20097,20096,20103,20159,20203,20279,13388,20413,15944,20483,20616,13437,13459,13477,20870,22789,20955,20988,20997,20105,21113,21136,21287,13767,21417,13649,21424,13651,21442,21539,13677,13682,13953,21651,21667,21684,21689,21712,21743,21784,21795,21800,13720,21823,13733,13759,21975,13765,163204,21797,null,134210,134421,151851,21904,142534,14828,131905,36422,150968,169189,16467,164030,30586,142392,14900,18389,164189,158194,151018,25821,134524,135092,134357,135412,25741,36478,134806,134155,135012,142505,164438,148691,null,134470,170573,164073,18420,151207,142530,39602,14951,169460,16365,13574,152263,169940,161992,142660,40302,38933,null,17369,155813,25780,21731,142668,142282,135287,14843,135279,157402,157462,162208,25834,151634,134211,36456,139681,166732,132913,null,18443,131497,16378,22643,142733,null,148936,132348,155799,134988,134550,21881,16571,17338,null,19124,141926,135325,33194,39157,134556,25465,14846,141173,36288,22177,25724,15939,null,173569,134665,142031,142537,null,135368,145858,14738,14854,164507,13688,155209,139463,22098,134961,142514,169760,13500,27709,151099,null,null,161140,142987,139784,173659,167117,134778,134196,157724,32659,135375,141315,141625,13819,152035,134796,135053,134826,16275,134960,134471,135503,134732,null,134827,134057,134472,135360,135485,16377,140950,25650,135085,144372,161337,142286,134526,134527,142417,142421,14872,134808,135367,134958,173618,158544,167122,167321,167114,38314,21708,33476,21945,null,171715,39974,39606,161630,142830,28992,33133,33004,23580,157042,33076,14231,21343,164029,37302,134906,134671,134775,134907,13789,151019,13833,134358,22191,141237,135369,134672,134776,135288,135496,164359,136277,134777,151120,142756,23124,135197,135198,135413,135414,22428,134673,161428,164557,135093,134779,151934,14083,135094,135552,152280,172733,149978,137274,147831,164476,22681,21096,13850,153405,31666,23400,18432,19244,40743,18919,39967,39821,154484,143677,22011,13810,22153,20008,22786,138177,194680,38737,131206,20059,20155,13630,23587,24401,24516,14586,25164,25909,27514,27701,27706,28780,29227,20012,29357,149737,32594,31035,31993,32595,156266,13505,null,156491,32770,32896,157202,158033,21341,34916,35265,161970,35744,36125,38021,38264,38271,38376,167439,38886,39029,39118,39134,39267,17e4,40060,40479,40644,27503,63751,20023,131207,38429,25143,38050,null,20539,28158,171123,40870,15817,34959,147790,28791,23797,19232,152013,13657,154928,24866,166450,36775,37366,29073,26393,29626,144001,172295,15499,137600,19216,30948,29698,20910,165647,16393,27235,172730,16931,34319,133743,31274,170311,166634,38741,28749,21284,139390,37876,30425,166371,40871,30685,20131,20464,20668,20015,20247,40872,21556,32139,22674,22736,138678,24210,24217,24514,141074,25995,144377,26905,27203,146531,27903,null,29184,148741,29580,16091,150035,23317,29881,35715,154788,153237,31379,31724,31939,32364,33528,34199,40873,34960,40874,36537,40875,36815,34143,39392,37409,40876,167353,136255,16497,17058,23066,null,null,null,39016,26475,17014,22333,null,34262,149883,33471,160013,19585,159092,23931,158485,159678,40877,40878,23446,40879,26343,32347,28247,31178,15752,17603,143958,141206,17306,17718,null,23765,146202,35577,23672,15634,144721,23928,40882,29015,17752,147692,138787,19575,14712,13386,131492,158785,35532,20404,131641,22975,33132,38998,170234,24379,134047,null,139713,166253,16642,18107,168057,16135,40883,172469,16632,14294,18167,158790,16764,165554,160767,17773,14548,152730,17761,17691,19849,19579,19830,17898,16328,150287,13921,17630,17597,16877,23870,23880,23894,15868,14351,23972,23993,14368,14392,24130,24253,24357,24451,14600,14612,14655,14669,24791,24893,23781,14729,25015,25017,25039,14776,25132,25232,25317,25368,14840,22193,14851,25570,25595,25607,25690,14923,25792,23829,22049,40863,14999,25990,15037,26111,26195,15090,26258,15138,26390,15170,26532,26624,15192,26698,26756,15218,15217,15227,26889,26947,29276,26980,27039,27013,15292,27094,15325,27237,27252,27249,27266,15340,27289,15346,27307,27317,27348,27382,27521,27585,27626,27765,27818,15563,27906,27910,27942,28033,15599,28068,28081,28181,28184,28201,28294,166336,28347,28386,28378,40831,28392,28393,28452,28468,15686,147265,28545,28606,15722,15733,29111,23705,15754,28716,15761,28752,28756,28783,28799,28809,131877,17345,13809,134872,147159,22462,159443,28990,153568,13902,27042,166889,23412,31305,153825,169177,31333,31357,154028,31419,31408,31426,31427,29137,156813,16842,31450,31453,31466,16879,21682,154625,31499,31573,31529,152334,154878,31650,31599,33692,154548,158847,31696,33825,31634,31672,154912,15789,154725,33938,31738,31750,31797,154817,31812,31875,149634,31910,26237,148856,31945,31943,31974,31860,31987,31989,31950,32359,17693,159300,32093,159446,29837,32137,32171,28981,32179,32210,147543,155689,32228,15635,32245,137209,32229,164717,32285,155937,155994,32366,32402,17195,37996,32295,32576,32577,32583,31030,156368,39393,32663,156497,32675,136801,131176,17756,145254,17667,164666,32762,156809,32773,32776,32797,32808,32815,172167,158915,32827,32828,32865,141076,18825,157222,146915,157416,26405,32935,166472,33031,33050,22704,141046,27775,156824,151480,25831,136330,33304,137310,27219,150117,150165,17530,33321,133901,158290,146814,20473,136445,34018,33634,158474,149927,144688,137075,146936,33450,26907,194964,16859,34123,33488,33562,134678,137140,14017,143741,144730,33403,33506,33560,147083,159139,158469,158615,144846,15807,33565,21996,33669,17675,159141,33708,33729,33747,13438,159444,27223,34138,13462,159298,143087,33880,154596,33905,15827,17636,27303,33866,146613,31064,33960,158614,159351,159299,34014,33807,33681,17568,33939,34020,154769,16960,154816,17731,34100,23282,159385,17703,34163,17686,26559,34326,165413,165435,34241,159880,34306,136578,159949,194994,17770,34344,13896,137378,21495,160666,34430,34673,172280,34798,142375,34737,34778,34831,22113,34412,26710,17935,34885,34886,161248,146873,161252,34910,34972,18011,34996,34997,25537,35013,30583,161551,35207,35210,35238,35241,35239,35260,166437,35303,162084,162493,35484,30611,37374,35472,162393,31465,162618,147343,18195,162616,29052,35596,35615,152624,152933,35647,35660,35661,35497,150138,35728,35739,35503,136927,17941,34895,35995,163156,163215,195028,14117,163155,36054,163224,163261,36114,36099,137488,36059,28764,36113,150729,16080,36215,36265,163842,135188,149898,15228,164284,160012,31463,36525,36534,36547,37588,36633,36653,164709,164882,36773,37635,172703,133712,36787,18730,166366,165181,146875,24312,143970,36857,172052,165564,165121,140069,14720,159447,36919,165180,162494,36961,165228,165387,37032,165651,37060,165606,37038,37117,37223,15088,37289,37316,31916,166195,138889,37390,27807,37441,37474,153017,37561,166598,146587,166668,153051,134449,37676,37739,166625,166891,28815,23235,166626,166629,18789,37444,166892,166969,166911,37747,37979,36540,38277,38310,37926,38304,28662,17081,140922,165592,135804,146990,18911,27676,38523,38550,16748,38563,159445,25050,38582,30965,166624,38589,21452,18849,158904,131700,156688,168111,168165,150225,137493,144138,38705,34370,38710,18959,17725,17797,150249,28789,23361,38683,38748,168405,38743,23370,168427,38751,37925,20688,143543,143548,38793,38815,38833,38846,38848,38866,38880,152684,38894,29724,169011,38911,38901,168989,162170,19153,38964,38963,38987,39014,15118,160117,15697,132656,147804,153350,39114,39095,39112,39111,19199,159015,136915,21936,39137,39142,39148,37752,39225,150057,19314,170071,170245,39413,39436,39483,39440,39512,153381,14020,168113,170965,39648,39650,170757,39668,19470,39700,39725,165376,20532,39732,158120,14531,143485,39760,39744,171326,23109,137315,39822,148043,39938,39935,39948,171624,40404,171959,172434,172459,172257,172323,172511,40318,40323,172340,40462,26760,40388,139611,172435,172576,137531,172595,40249,172217,172724,40592,40597,40606,40610,19764,40618,40623,148324,40641,15200,14821,15645,20274,14270,166955,40706,40712,19350,37924,159138,40727,40726,40761,22175,22154,40773,39352,168075,38898,33919,40802,40809,31452,40846,29206,19390,149877,149947,29047,150008,148296,150097,29598,166874,137466,31135,166270,167478,37737,37875,166468,37612,37761,37835,166252,148665,29207,16107,30578,31299,28880,148595,148472,29054,137199,28835,137406,144793,16071,137349,152623,137208,14114,136955,137273,14049,137076,137425,155467,14115,136896,22363,150053,136190,135848,136134,136374,34051,145062,34051,33877,149908,160101,146993,152924,147195,159826,17652,145134,170397,159526,26617,14131,15381,15847,22636,137506,26640,16471,145215,147681,147595,147727,158753,21707,22174,157361,22162,135135,134056,134669,37830,166675,37788,20216,20779,14361,148534,20156,132197,131967,20299,20362,153169,23144,131499,132043,14745,131850,132116,13365,20265,131776,167603,131701,35546,131596,20120,20685,20749,20386,20227,150030,147082,20290,20526,20588,20609,20428,20453,20568,20732,20825,20827,20829,20830,28278,144789,147001,147135,28018,137348,147081,20904,20931,132576,17629,132259,132242,132241,36218,166556,132878,21081,21156,133235,21217,37742,18042,29068,148364,134176,149932,135396,27089,134685,29817,16094,29849,29716,29782,29592,19342,150204,147597,21456,13700,29199,147657,21940,131909,21709,134086,22301,37469,38644,37734,22493,22413,22399,13886,22731,23193,166470,136954,137071,136976,23084,22968,37519,23166,23247,23058,153926,137715,137313,148117,14069,27909,29763,23073,155267,23169,166871,132115,37856,29836,135939,28933,18802,37896,166395,37821,14240,23582,23710,24158,24136,137622,137596,146158,24269,23375,137475,137476,14081,137376,14045,136958,14035,33066,166471,138682,144498,166312,24332,24334,137511,137131,23147,137019,23364,34324,161277,34912,24702,141408,140843,24539,16056,140719,140734,168072,159603,25024,131134,131142,140827,24985,24984,24693,142491,142599,149204,168269,25713,149093,142186,14889,142114,144464,170218,142968,25399,173147,25782,25393,25553,149987,142695,25252,142497,25659,25963,26994,15348,143502,144045,149897,144043,21773,144096,137433,169023,26318,144009,143795,15072,16784,152964,166690,152975,136956,152923,152613,30958,143619,137258,143924,13412,143887,143746,148169,26254,159012,26219,19347,26160,161904,138731,26211,144082,144097,26142,153714,14545,145466,145340,15257,145314,144382,29904,15254,26511,149034,26806,26654,15300,27326,14435,145365,148615,27187,27218,27337,27397,137490,25873,26776,27212,15319,27258,27479,147392,146586,37792,37618,166890,166603,37513,163870,166364,37991,28069,28427,149996,28007,147327,15759,28164,147516,23101,28170,22599,27940,30786,28987,148250,148086,28913,29264,29319,29332,149391,149285,20857,150180,132587,29818,147192,144991,150090,149783,155617,16134,16049,150239,166947,147253,24743,16115,29900,29756,37767,29751,17567,159210,17745,30083,16227,150745,150790,16216,30037,30323,173510,15129,29800,166604,149931,149902,15099,15821,150094,16127,149957,149747,37370,22322,37698,166627,137316,20703,152097,152039,30584,143922,30478,30479,30587,149143,145281,14942,149744,29752,29851,16063,150202,150215,16584,150166,156078,37639,152961,30750,30861,30856,30930,29648,31065,161601,153315,16654,31131,33942,31141,27181,147194,31290,31220,16750,136934,16690,37429,31217,134476,149900,131737,146874,137070,13719,21867,13680,13994,131540,134157,31458,23129,141045,154287,154268,23053,131675,30960,23082,154566,31486,16889,31837,31853,16913,154547,155324,155302,31949,150009,137136,31886,31868,31918,27314,32220,32263,32211,32590,156257,155996,162632,32151,155266,17002,158581,133398,26582,131150,144847,22468,156690,156664,149858,32733,31527,133164,154345,154947,31500,155150,39398,34373,39523,27164,144447,14818,150007,157101,39455,157088,33920,160039,158929,17642,33079,17410,32966,33033,33090,157620,39107,158274,33378,33381,158289,33875,159143,34320,160283,23174,16767,137280,23339,137377,23268,137432,34464,195004,146831,34861,160802,23042,34926,20293,34951,35007,35046,35173,35149,153219,35156,161669,161668,166901,166873,166812,166393,16045,33955,18165,18127,14322,35389,35356,169032,24397,37419,148100,26068,28969,28868,137285,40301,35999,36073,163292,22938,30659,23024,17262,14036,36394,36519,150537,36656,36682,17140,27736,28603,140065,18587,28537,28299,137178,39913,14005,149807,37051,37015,21873,18694,37307,37892,166475,16482,166652,37927,166941,166971,34021,35371,38297,38311,38295,38294,167220,29765,16066,149759,150082,148458,16103,143909,38543,167655,167526,167525,16076,149997,150136,147438,29714,29803,16124,38721,168112,26695,18973,168083,153567,38749,37736,166281,166950,166703,156606,37562,23313,35689,18748,29689,147995,38811,38769,39224,134950,24001,166853,150194,38943,169178,37622,169431,37349,17600,166736,150119,166756,39132,166469,16128,37418,18725,33812,39227,39245,162566,15869,39323,19311,39338,39516,166757,153800,27279,39457,23294,39471,170225,19344,170312,39356,19389,19351,37757,22642,135938,22562,149944,136424,30788,141087,146872,26821,15741,37976,14631,24912,141185,141675,24839,40015,40019,40059,39989,39952,39807,39887,171565,39839,172533,172286,40225,19630,147716,40472,19632,40204,172468,172269,172275,170287,40357,33981,159250,159711,158594,34300,17715,159140,159364,159216,33824,34286,159232,145367,155748,31202,144796,144960,18733,149982,15714,37851,37566,37704,131775,30905,37495,37965,20452,13376,36964,152925,30781,30804,30902,30795,137047,143817,149825,13978,20338,28634,28633,28702,28702,21524,147893,22459,22771,22410,40214,22487,28980,13487,147884,29163,158784,151447,23336,137141,166473,24844,23246,23051,17084,148616,14124,19323,166396,37819,37816,137430,134941,33906,158912,136211,148218,142374,148417,22932,146871,157505,32168,155995,155812,149945,149899,166394,37605,29666,16105,29876,166755,137375,16097,150195,27352,29683,29691,16086,150078,150164,137177,150118,132007,136228,149989,29768,149782,28837,149878,37508,29670,37727,132350,37681,166606,166422,37766,166887,153045,18741,166530,29035,149827,134399,22180,132634,134123,134328,21762,31172,137210,32254,136898,150096,137298,17710,37889,14090,166592,149933,22960,137407,137347,160900,23201,14050,146779,14e3,37471,23161,166529,137314,37748,15565,133812,19094,14730,20724,15721,15692,136092,29045,17147,164376,28175,168164,17643,27991,163407,28775,27823,15574,147437,146989,28162,28428,15727,132085,30033,14012,13512,18048,16090,18545,22980,37486,18750,36673,166940,158656,22546,22472,14038,136274,28926,148322,150129,143331,135856,140221,26809,26983,136088,144613,162804,145119,166531,145366,144378,150687,27162,145069,158903,33854,17631,17614,159014,159057,158850,159710,28439,160009,33597,137018,33773,158848,159827,137179,22921,23170,137139,23137,23153,137477,147964,14125,23023,137020,14023,29070,37776,26266,148133,23150,23083,148115,27179,147193,161590,148571,148170,28957,148057,166369,20400,159016,23746,148686,163405,148413,27148,148054,135940,28838,28979,148457,15781,27871,194597,150095,32357,23019,23855,15859,24412,150109,137183,32164,33830,21637,146170,144128,131604,22398,133333,132633,16357,139166,172726,28675,168283,23920,29583,31955,166489,168992,20424,32743,29389,29456,162548,29496,29497,153334,29505,29512,16041,162584,36972,29173,149746,29665,33270,16074,30476,16081,27810,22269,29721,29726,29727,16098,16112,16116,16122,29907,16142,16211,30018,30061,30066,30093,16252,30152,30172,16320,30285,16343,30324,16348,30330,151388,29064,22051,35200,22633,16413,30531,16441,26465,16453,13787,30616,16490,16495,23646,30654,30667,22770,30744,28857,30748,16552,30777,30791,30801,30822,33864,152885,31027,26627,31026,16643,16649,31121,31129,36795,31238,36796,16743,31377,16818,31420,33401,16836,31439,31451,16847,20001,31586,31596,31611,31762,31771,16992,17018,31867,31900,17036,31928,17044,31981,36755,28864,134351,32207,32212,32208,32253,32686,32692,29343,17303,32800,32805,31545,32814,32817,32852,15820,22452,28832,32951,33001,17389,33036,29482,33038,33042,30048,33044,17409,15161,33110,33113,33114,17427,22586,33148,33156,17445,33171,17453,33189,22511,33217,33252,33364,17551,33446,33398,33482,33496,33535,17584,33623,38505,27018,33797,28917,33892,24803,33928,17668,33982,34017,34040,34064,34104,34130,17723,34159,34160,34272,17783,34418,34450,34482,34543,38469,34699,17926,17943,34990,35071,35108,35143,35217,162151,35369,35384,35476,35508,35921,36052,36082,36124,18328,22623,36291,18413,20206,36410,21976,22356,36465,22005,36528,18487,36558,36578,36580,36589,36594,36791,36801,36810,36812,36915,39364,18605,39136,37395,18718,37416,37464,37483,37553,37550,37567,37603,37611,37619,37620,37629,37699,37764,37805,18757,18769,40639,37911,21249,37917,37933,37950,18794,37972,38009,38189,38306,18855,38388,38451,18917,26528,18980,38720,18997,38834,38850,22100,19172,24808,39097,19225,39153,22596,39182,39193,20916,39196,39223,39234,39261,39266,19312,39365,19357,39484,39695,31363,39785,39809,39901,39921,39924,19565,39968,14191,138178,40265,39994,40702,22096,40339,40381,40384,40444,38134,36790,40571,40620,40625,40637,40646,38108,40674,40689,40696,31432,40772,131220,131767,132e3,26906,38083,22956,132311,22592,38081,14265,132565,132629,132726,136890,22359,29043,133826,133837,134079,21610,194619,134091,21662,134139,134203,134227,134245,134268,24807,134285,22138,134325,134365,134381,134511,134578,134600,26965,39983,34725,134660,134670,134871,135056,134957,134771,23584,135100,24075,135260,135247,135286,26398,135291,135304,135318,13895,135359,135379,135471,135483,21348,33965,135907,136053,135990,35713,136567,136729,137155,137159,20088,28859,137261,137578,137773,137797,138282,138352,138412,138952,25283,138965,139029,29080,26709,139333,27113,14024,139900,140247,140282,141098,141425,141647,33533,141671,141715,142037,35237,142056,36768,142094,38840,142143,38983,39613,142412,null,142472,142519,154600,142600,142610,142775,142741,142914,143220,143308,143411,143462,144159,144350,24497,26184,26303,162425,144743,144883,29185,149946,30679,144922,145174,32391,131910,22709,26382,26904,146087,161367,155618,146961,147129,161278,139418,18640,19128,147737,166554,148206,148237,147515,148276,148374,150085,132554,20946,132625,22943,138920,15294,146687,148484,148694,22408,149108,14747,149295,165352,170441,14178,139715,35678,166734,39382,149522,149755,150037,29193,150208,134264,22885,151205,151430,132985,36570,151596,21135,22335,29041,152217,152601,147274,150183,21948,152646,152686,158546,37332,13427,152895,161330,152926,18200,152930,152934,153543,149823,153693,20582,13563,144332,24798,153859,18300,166216,154286,154505,154630,138640,22433,29009,28598,155906,162834,36950,156082,151450,35682,156674,156746,23899,158711,36662,156804,137500,35562,150006,156808,147439,156946,19392,157119,157365,141083,37989,153569,24981,23079,194765,20411,22201,148769,157436,20074,149812,38486,28047,158909,13848,35191,157593,157806,156689,157790,29151,157895,31554,168128,133649,157990,37124,158009,31301,40432,158202,39462,158253,13919,156777,131105,31107,158260,158555,23852,144665,33743,158621,18128,158884,30011,34917,159150,22710,14108,140685,159819,160205,15444,160384,160389,37505,139642,160395,37680,160486,149968,27705,38047,160848,134904,34855,35061,141606,164979,137137,28344,150058,137248,14756,14009,23568,31203,17727,26294,171181,170148,35139,161740,161880,22230,16607,136714,14753,145199,164072,136133,29101,33638,162269,168360,23143,19639,159919,166315,162301,162314,162571,163174,147834,31555,31102,163849,28597,172767,27139,164632,21410,159239,37823,26678,38749,164207,163875,158133,136173,143919,163912,23941,166960,163971,22293,38947,166217,23979,149896,26046,27093,21458,150181,147329,15377,26422,163984,164084,164142,139169,164175,164233,164271,164378,164614,164655,164746,13770,164968,165546,18682,25574,166230,30728,37461,166328,17394,166375,17375,166376,166726,166868,23032,166921,36619,167877,168172,31569,168208,168252,15863,168286,150218,36816,29327,22155,169191,169449,169392,169400,169778,170193,170313,170346,170435,170536,170766,171354,171419,32415,171768,171811,19620,38215,172691,29090,172799,19857,36882,173515,19868,134300,36798,21953,36794,140464,36793,150163,17673,32383,28502,27313,20202,13540,166700,161949,14138,36480,137205,163876,166764,166809,162366,157359,15851,161365,146615,153141,153942,20122,155265,156248,22207,134765,36366,23405,147080,150686,25566,25296,137206,137339,25904,22061,154698,21530,152337,15814,171416,19581,22050,22046,32585,155352,22901,146752,34672,19996,135146,134473,145082,33047,40286,36120,30267,40005,30286,30649,37701,21554,33096,33527,22053,33074,33816,32957,21994,31074,22083,21526,134813,13774,22021,22001,26353,164578,13869,30004,22e3,21946,21655,21874,134209,134294,24272,151880,134774,142434,134818,40619,32090,21982,135285,25245,38765,21652,36045,29174,37238,25596,25529,25598,21865,142147,40050,143027,20890,13535,134567,20903,21581,21790,21779,30310,36397,157834,30129,32950,34820,34694,35015,33206,33820,135361,17644,29444,149254,23440,33547,157843,22139,141044,163119,147875,163187,159440,160438,37232,135641,37384,146684,173737,134828,134905,29286,138402,18254,151490,163833,135147,16634,40029,25887,142752,18675,149472,171388,135148,134666,24674,161187,135149,null,155720,135559,29091,32398,40272,19994,19972,13687,23309,27826,21351,13996,14812,21373,13989,149016,22682,150382,33325,21579,22442,154261,133497,null,14930,140389,29556,171692,19721,39917,146686,171824,19547,151465,169374,171998,33884,146870,160434,157619,145184,25390,32037,147191,146988,14890,36872,21196,15988,13946,17897,132238,30272,23280,134838,30842,163630,22695,16575,22140,39819,23924,30292,173108,40581,19681,30201,14331,24857,143578,148466,null,22109,135849,22439,149859,171526,21044,159918,13741,27722,40316,31830,39737,22494,137068,23635,25811,169168,156469,160100,34477,134440,159010,150242,134513,null,20990,139023,23950,38659,138705,40577,36940,31519,39682,23761,31651,25192,25397,39679,31695,39722,31870,39726,31810,31878,39957,31740,39689,40727,39963,149822,40794,21875,23491,20477,40600,20466,21088,15878,21201,22375,20566,22967,24082,38856,40363,36700,21609,38836,39232,38842,21292,24880,26924,21466,39946,40194,19515,38465,27008,20646,30022,137069,39386,21107,null,37209,38529,37212,null,37201,167575,25471,159011,27338,22033,37262,30074,25221,132092,29519,31856,154657,146685,null,149785,30422,39837,20010,134356,33726,34882,null,23626,27072,20717,22394,21023,24053,20174,27697,131570,20281,21660,21722,21146,36226,13822,24332,13811,null,27474,37244,40869,39831,38958,39092,39610,40616,40580,29050,31508,null,27642,34840,32632,null,22048,173642,36471,40787,null,36308,36431,40476,36353,25218,164733,36392,36469,31443,150135,31294,30936,27882,35431,30215,166490,40742,27854,34774,30147,172722,30803,194624,36108,29410,29553,35629,29442,29937,36075,150203,34351,24506,34976,17591,null,137275,159237,null,35454,140571,null,24829,30311,39639,40260,37742,39823,34805,null,34831,36087,29484,38689,39856,13782,29362,19463,31825,39242,155993,24921,19460,40598,24957,null,22367,24943,25254,25145,25294,14940,25058,21418,144373,25444,26626,13778,23895,166850,36826,167481,null,20697,138566,30982,21298,38456,134971,16485,null,30718,null,31938,155418,31962,31277,32870,32867,32077,29957,29938,35220,33306,26380,32866,160902,32859,29936,33027,30500,35209,157644,30035,159441,34729,34766,33224,34700,35401,36013,35651,30507,29944,34010,13877,27058,36262,null,35241,29800,28089,34753,147473,29927,15835,29046,24740,24988,15569,29026,24695,null,32625,166701,29264,24809,19326,21024,15384,146631,155351,161366,152881,137540,135934,170243,159196,159917,23745,156077,166415,145015,131310,157766,151310,17762,23327,156492,40784,40614,156267,12288,65292,12289,12290,65294,8231,65307,65306,65311,65281,65072,8230,8229,65104,65105,65106,183,65108,65109,65110,65111,65372,8211,65073,8212,65075,9588,65076,65103,65288,65289,65077,65078,65371,65373,65079,65080,12308,12309,65081,65082,12304,12305,65083,65084,12298,12299,65085,65086,12296,12297,65087,65088,12300,12301,65089,65090,12302,12303,65091,65092,65113,65114,65115,65116,65117,65118,8216,8217,8220,8221,12317,12318,8245,8242,65283,65286,65290,8251,167,12291,9675,9679,9651,9650,9678,9734,9733,9671,9670,9633,9632,9661,9660,12963,8453,175,65507,65343,717,65097,65098,65101,65102,65099,65100,65119,65120,65121,65291,65293,215,247,177,8730,65308,65310,65309,8806,8807,8800,8734,8786,8801,65122,65123,65124,65125,65126,65374,8745,8746,8869,8736,8735,8895,13266,13265,8747,8750,8757,8756,9792,9794,8853,8857,8593,8595,8592,8594,8598,8599,8601,8600,8741,8739,65295,65340,8725,65128,65284,65509,12306,65504,65505,65285,65312,8451,8457,65129,65130,65131,13269,13212,13213,13214,13262,13217,13198,13199,13252,176,20825,20827,20830,20829,20833,20835,21991,29929,31950,9601,9602,9603,9604,9605,9606,9607,9608,9615,9614,9613,9612,9611,9610,9609,9532,9524,9516,9508,9500,9620,9472,9474,9621,9484,9488,9492,9496,9581,9582,9584,9583,9552,9566,9578,9569,9698,9699,9701,9700,9585,9586,9587,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,12321,12322,12323,12324,12325,12326,12327,12328,12329,21313,21316,21317,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,729,713,714,711,715,9216,9217,9218,9219,9220,9221,9222,9223,9224,9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240,9241,9242,9243,9244,9245,9246,9247,9249,8364,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19968,20057,19969,19971,20035,20061,20102,20108,20154,20799,20837,20843,20960,20992,20993,21147,21269,21313,21340,21448,19977,19979,19976,19978,20011,20024,20961,20037,20040,20063,20062,20110,20129,20800,20995,21242,21315,21449,21475,22303,22763,22805,22823,22899,23376,23377,23379,23544,23567,23586,23608,23665,24029,24037,24049,24050,24051,24062,24178,24318,24331,24339,25165,19985,19984,19981,20013,20016,20025,20043,23609,20104,20113,20117,20114,20116,20130,20161,20160,20163,20166,20167,20173,20170,20171,20164,20803,20801,20839,20845,20846,20844,20887,20982,20998,20999,21e3,21243,21246,21247,21270,21305,21320,21319,21317,21342,21380,21451,21450,21453,22764,22825,22827,22826,22829,23380,23569,23588,23610,23663,24052,24187,24319,24340,24341,24515,25096,25142,25163,25166,25903,25991,26007,26020,26041,26085,26352,26376,26408,27424,27490,27513,27595,27604,27611,27663,27700,28779,29226,29238,29243,29255,29273,29275,29356,29579,19993,19990,19989,19988,19992,20027,20045,20047,20046,20197,20184,20180,20181,20182,20183,20195,20196,20185,20190,20805,20804,20873,20874,20908,20985,20986,20984,21002,21152,21151,21253,21254,21271,21277,20191,21322,21321,21345,21344,21359,21358,21435,21487,21476,21491,21484,21486,21481,21480,21500,21496,21493,21483,21478,21482,21490,21489,21488,21477,21485,21499,22235,22234,22806,22830,22833,22900,22902,23381,23427,23612,24040,24039,24038,24066,24067,24179,24188,24321,24344,24343,24517,25098,25171,25172,25170,25169,26021,26086,26414,26412,26410,26411,26413,27491,27597,27665,27664,27704,27713,27712,27710,29359,29572,29577,29916,29926,29976,29983,29992,29993,3e4,30001,30002,30003,30091,30333,30382,30399,30446,30683,30690,30707,31034,31166,31348,31435,19998,19999,20050,20051,20073,20121,20132,20134,20133,20223,20233,20249,20234,20245,20237,20240,20241,20239,20210,20214,20219,20208,20211,20221,20225,20235,20809,20807,20806,20808,20840,20849,20877,20912,21015,21009,21010,21006,21014,21155,21256,21281,21280,21360,21361,21513,21519,21516,21514,21520,21505,21515,21508,21521,21517,21512,21507,21518,21510,21522,22240,22238,22237,22323,22320,22312,22317,22316,22319,22313,22809,22810,22839,22840,22916,22904,22915,22909,22905,22914,22913,23383,23384,23431,23432,23429,23433,23546,23574,23673,24030,24070,24182,24180,24335,24347,24537,24534,25102,25100,25101,25104,25187,25179,25176,25910,26089,26088,26092,26093,26354,26355,26377,26429,26420,26417,26421,27425,27492,27515,27670,27741,27735,27737,27743,27744,27728,27733,27745,27739,27725,27726,28784,29279,29277,30334,31481,31859,31992,32566,32650,32701,32769,32771,32780,32786,32819,32895,32905,32907,32908,33251,33258,33267,33276,33292,33307,33311,33390,33394,33406,34411,34880,34892,34915,35199,38433,20018,20136,20301,20303,20295,20311,20318,20276,20315,20309,20272,20304,20305,20285,20282,20280,20291,20308,20284,20294,20323,20316,20320,20271,20302,20278,20313,20317,20296,20314,20812,20811,20813,20853,20918,20919,21029,21028,21033,21034,21032,21163,21161,21162,21164,21283,21363,21365,21533,21549,21534,21566,21542,21582,21543,21574,21571,21555,21576,21570,21531,21545,21578,21561,21563,21560,21550,21557,21558,21536,21564,21568,21553,21547,21535,21548,22250,22256,22244,22251,22346,22353,22336,22349,22343,22350,22334,22352,22351,22331,22767,22846,22941,22930,22952,22942,22947,22937,22934,22925,22948,22931,22922,22949,23389,23388,23386,23387,23436,23435,23439,23596,23616,23617,23615,23614,23696,23697,23700,23692,24043,24076,24207,24199,24202,24311,24324,24351,24420,24418,24439,24441,24536,24524,24535,24525,24561,24555,24568,24554,25106,25105,25220,25239,25238,25216,25206,25225,25197,25226,25212,25214,25209,25203,25234,25199,25240,25198,25237,25235,25233,25222,25913,25915,25912,26097,26356,26463,26446,26447,26448,26449,26460,26454,26462,26441,26438,26464,26451,26455,27493,27599,27714,27742,27801,27777,27784,27785,27781,27803,27754,27770,27792,27760,27788,27752,27798,27794,27773,27779,27762,27774,27764,27782,27766,27789,27796,27800,27778,28790,28796,28797,28792,29282,29281,29280,29380,29378,29590,29996,29995,30007,30008,30338,30447,30691,31169,31168,31167,31350,31995,32597,32918,32915,32925,32920,32923,32922,32946,33391,33426,33419,33421,35211,35282,35328,35895,35910,35925,35997,36196,36208,36275,36523,36554,36763,36784,36802,36806,36805,36804,24033,37009,37026,37034,37030,37027,37193,37318,37324,38450,38446,38449,38442,38444,20006,20054,20083,20107,20123,20126,20139,20140,20335,20381,20365,20339,20351,20332,20379,20363,20358,20355,20336,20341,20360,20329,20347,20374,20350,20367,20369,20346,20820,20818,20821,20841,20855,20854,20856,20925,20989,21051,21048,21047,21050,21040,21038,21046,21057,21182,21179,21330,21332,21331,21329,21350,21367,21368,21369,21462,21460,21463,21619,21621,21654,21624,21653,21632,21627,21623,21636,21650,21638,21628,21648,21617,21622,21644,21658,21602,21608,21643,21629,21646,22266,22403,22391,22378,22377,22369,22374,22372,22396,22812,22857,22855,22856,22852,22868,22974,22971,22996,22969,22958,22993,22982,22992,22989,22987,22995,22986,22959,22963,22994,22981,23391,23396,23395,23447,23450,23448,23452,23449,23451,23578,23624,23621,23622,23735,23713,23736,23721,23723,23729,23731,24088,24090,24086,24085,24091,24081,24184,24218,24215,24220,24213,24214,24310,24358,24359,24361,24448,24449,24447,24444,24541,24544,24573,24565,24575,24591,24596,24623,24629,24598,24618,24597,24609,24615,24617,24619,24603,25110,25109,25151,25150,25152,25215,25289,25292,25284,25279,25282,25273,25298,25307,25259,25299,25300,25291,25288,25256,25277,25276,25296,25305,25287,25293,25269,25306,25265,25304,25302,25303,25286,25260,25294,25918,26023,26044,26106,26132,26131,26124,26118,26114,26126,26112,26127,26133,26122,26119,26381,26379,26477,26507,26517,26481,26524,26483,26487,26503,26525,26519,26479,26480,26495,26505,26494,26512,26485,26522,26515,26492,26474,26482,27427,27494,27495,27519,27667,27675,27875,27880,27891,27825,27852,27877,27827,27837,27838,27836,27874,27819,27861,27859,27832,27844,27833,27841,27822,27863,27845,27889,27839,27835,27873,27867,27850,27820,27887,27868,27862,27872,28821,28814,28818,28810,28825,29228,29229,29240,29256,29287,29289,29376,29390,29401,29399,29392,29609,29608,29599,29611,29605,30013,30109,30105,30106,30340,30402,30450,30452,30693,30717,31038,31040,31041,31177,31176,31354,31353,31482,31998,32596,32652,32651,32773,32954,32933,32930,32945,32929,32939,32937,32948,32938,32943,33253,33278,33293,33459,33437,33433,33453,33469,33439,33465,33457,33452,33445,33455,33464,33443,33456,33470,33463,34382,34417,21021,34920,36555,36814,36820,36817,37045,37048,37041,37046,37319,37329,38263,38272,38428,38464,38463,38459,38468,38466,38585,38632,38738,38750,20127,20141,20142,20449,20405,20399,20415,20448,20433,20431,20445,20419,20406,20440,20447,20426,20439,20398,20432,20420,20418,20442,20430,20446,20407,20823,20882,20881,20896,21070,21059,21066,21069,21068,21067,21063,21191,21193,21187,21185,21261,21335,21371,21402,21467,21676,21696,21672,21710,21705,21688,21670,21683,21703,21698,21693,21674,21697,21700,21704,21679,21675,21681,21691,21673,21671,21695,22271,22402,22411,22432,22435,22434,22478,22446,22419,22869,22865,22863,22862,22864,23004,23e3,23039,23011,23016,23043,23013,23018,23002,23014,23041,23035,23401,23459,23462,23460,23458,23461,23553,23630,23631,23629,23627,23769,23762,24055,24093,24101,24095,24189,24224,24230,24314,24328,24365,24421,24456,24453,24458,24459,24455,24460,24457,24594,24605,24608,24613,24590,24616,24653,24688,24680,24674,24646,24643,24684,24683,24682,24676,25153,25308,25366,25353,25340,25325,25345,25326,25341,25351,25329,25335,25327,25324,25342,25332,25361,25346,25919,25925,26027,26045,26082,26149,26157,26144,26151,26159,26143,26152,26161,26148,26359,26623,26579,26609,26580,26576,26604,26550,26543,26613,26601,26607,26564,26577,26548,26586,26597,26552,26575,26590,26611,26544,26585,26594,26589,26578,27498,27523,27526,27573,27602,27607,27679,27849,27915,27954,27946,27969,27941,27916,27953,27934,27927,27963,27965,27966,27958,27931,27893,27961,27943,27960,27945,27950,27957,27918,27947,28843,28858,28851,28844,28847,28845,28856,28846,28836,29232,29298,29295,29300,29417,29408,29409,29623,29642,29627,29618,29645,29632,29619,29978,29997,30031,30028,30030,30027,30123,30116,30117,30114,30115,30328,30342,30343,30344,30408,30406,30403,30405,30465,30457,30456,30473,30475,30462,30460,30471,30684,30722,30740,30732,30733,31046,31049,31048,31047,31161,31162,31185,31186,31179,31359,31361,31487,31485,31869,32002,32005,32e3,32009,32007,32004,32006,32568,32654,32703,32772,32784,32781,32785,32822,32982,32997,32986,32963,32964,32972,32993,32987,32974,32990,32996,32989,33268,33314,33511,33539,33541,33507,33499,33510,33540,33509,33538,33545,33490,33495,33521,33537,33500,33492,33489,33502,33491,33503,33519,33542,34384,34425,34427,34426,34893,34923,35201,35284,35336,35330,35331,35998,36e3,36212,36211,36276,36557,36556,36848,36838,36834,36842,36837,36845,36843,36836,36840,37066,37070,37057,37059,37195,37194,37325,38274,38480,38475,38476,38477,38754,38761,38859,38893,38899,38913,39080,39131,39135,39318,39321,20056,20147,20492,20493,20515,20463,20518,20517,20472,20521,20502,20486,20540,20511,20506,20498,20497,20474,20480,20500,20520,20465,20513,20491,20505,20504,20467,20462,20525,20522,20478,20523,20489,20860,20900,20901,20898,20941,20940,20934,20939,21078,21084,21076,21083,21085,21290,21375,21407,21405,21471,21736,21776,21761,21815,21756,21733,21746,21766,21754,21780,21737,21741,21729,21769,21742,21738,21734,21799,21767,21757,21775,22275,22276,22466,22484,22475,22467,22537,22799,22871,22872,22874,23057,23064,23068,23071,23067,23059,23020,23072,23075,23081,23077,23052,23049,23403,23640,23472,23475,23478,23476,23470,23477,23481,23480,23556,23633,23637,23632,23789,23805,23803,23786,23784,23792,23798,23809,23796,24046,24109,24107,24235,24237,24231,24369,24466,24465,24464,24665,24675,24677,24656,24661,24685,24681,24687,24708,24735,24730,24717,24724,24716,24709,24726,25159,25331,25352,25343,25422,25406,25391,25429,25410,25414,25423,25417,25402,25424,25405,25386,25387,25384,25421,25420,25928,25929,26009,26049,26053,26178,26185,26191,26179,26194,26188,26181,26177,26360,26388,26389,26391,26657,26680,26696,26694,26707,26681,26690,26708,26665,26803,26647,26700,26705,26685,26612,26704,26688,26684,26691,26666,26693,26643,26648,26689,27530,27529,27575,27683,27687,27688,27686,27684,27888,28010,28053,28040,28039,28006,28024,28023,27993,28051,28012,28041,28014,27994,28020,28009,28044,28042,28025,28037,28005,28052,28874,28888,28900,28889,28872,28879,29241,29305,29436,29433,29437,29432,29431,29574,29677,29705,29678,29664,29674,29662,30036,30045,30044,30042,30041,30142,30149,30151,30130,30131,30141,30140,30137,30146,30136,30347,30384,30410,30413,30414,30505,30495,30496,30504,30697,30768,30759,30776,30749,30772,30775,30757,30765,30752,30751,30770,31061,31056,31072,31071,31062,31070,31069,31063,31066,31204,31203,31207,31199,31206,31209,31192,31364,31368,31449,31494,31505,31881,32033,32023,32011,32010,32032,32034,32020,32016,32021,32026,32028,32013,32025,32027,32570,32607,32660,32709,32705,32774,32792,32789,32793,32791,32829,32831,33009,33026,33008,33029,33005,33012,33030,33016,33011,33032,33021,33034,33020,33007,33261,33260,33280,33296,33322,33323,33320,33324,33467,33579,33618,33620,33610,33592,33616,33609,33589,33588,33615,33586,33593,33590,33559,33600,33585,33576,33603,34388,34442,34474,34451,34468,34473,34444,34467,34460,34928,34935,34945,34946,34941,34937,35352,35344,35342,35340,35349,35338,35351,35347,35350,35343,35345,35912,35962,35961,36001,36002,36215,36524,36562,36564,36559,36785,36865,36870,36855,36864,36858,36852,36867,36861,36869,36856,37013,37089,37085,37090,37202,37197,37196,37336,37341,37335,37340,37337,38275,38498,38499,38497,38491,38493,38500,38488,38494,38587,39138,39340,39592,39640,39717,39730,39740,20094,20602,20605,20572,20551,20547,20556,20570,20553,20581,20598,20558,20565,20597,20596,20599,20559,20495,20591,20589,20828,20885,20976,21098,21103,21202,21209,21208,21205,21264,21263,21273,21311,21312,21310,21443,26364,21830,21866,21862,21828,21854,21857,21827,21834,21809,21846,21839,21845,21807,21860,21816,21806,21852,21804,21859,21811,21825,21847,22280,22283,22281,22495,22533,22538,22534,22496,22500,22522,22530,22581,22519,22521,22816,22882,23094,23105,23113,23142,23146,23104,23100,23138,23130,23110,23114,23408,23495,23493,23492,23490,23487,23494,23561,23560,23559,23648,23644,23645,23815,23814,23822,23835,23830,23842,23825,23849,23828,23833,23844,23847,23831,24034,24120,24118,24115,24119,24247,24248,24246,24245,24254,24373,24375,24407,24428,24425,24427,24471,24473,24478,24472,24481,24480,24476,24703,24739,24713,24736,24744,24779,24756,24806,24765,24773,24763,24757,24796,24764,24792,24789,24774,24799,24760,24794,24775,25114,25115,25160,25504,25511,25458,25494,25506,25509,25463,25447,25496,25514,25457,25513,25481,25475,25499,25451,25512,25476,25480,25497,25505,25516,25490,25487,25472,25467,25449,25448,25466,25949,25942,25937,25945,25943,21855,25935,25944,25941,25940,26012,26011,26028,26063,26059,26060,26062,26205,26202,26212,26216,26214,26206,26361,21207,26395,26753,26799,26786,26771,26805,26751,26742,26801,26791,26775,26800,26755,26820,26797,26758,26757,26772,26781,26792,26783,26785,26754,27442,27578,27627,27628,27691,28046,28092,28147,28121,28082,28129,28108,28132,28155,28154,28165,28103,28107,28079,28113,28078,28126,28153,28088,28151,28149,28101,28114,28186,28085,28122,28139,28120,28138,28145,28142,28136,28102,28100,28074,28140,28095,28134,28921,28937,28938,28925,28911,29245,29309,29313,29468,29467,29462,29459,29465,29575,29701,29706,29699,29702,29694,29709,29920,29942,29943,29980,29986,30053,30054,30050,30064,30095,30164,30165,30133,30154,30157,30350,30420,30418,30427,30519,30526,30524,30518,30520,30522,30827,30787,30798,31077,31080,31085,31227,31378,31381,31520,31528,31515,31532,31526,31513,31518,31534,31890,31895,31893,32070,32067,32113,32046,32057,32060,32064,32048,32051,32068,32047,32066,32050,32049,32573,32670,32666,32716,32718,32722,32796,32842,32838,33071,33046,33059,33067,33065,33072,33060,33282,33333,33335,33334,33337,33678,33694,33688,33656,33698,33686,33725,33707,33682,33674,33683,33673,33696,33655,33659,33660,33670,33703,34389,24426,34503,34496,34486,34500,34485,34502,34507,34481,34479,34505,34899,34974,34952,34987,34962,34966,34957,34955,35219,35215,35370,35357,35363,35365,35377,35373,35359,35355,35362,35913,35930,36009,36012,36011,36008,36010,36007,36199,36198,36286,36282,36571,36575,36889,36877,36890,36887,36899,36895,36893,36880,36885,36894,36896,36879,36898,36886,36891,36884,37096,37101,37117,37207,37326,37365,37350,37347,37351,37357,37353,38281,38506,38517,38515,38520,38512,38516,38518,38519,38508,38592,38634,38633,31456,31455,38914,38915,39770,40165,40565,40575,40613,40635,20642,20621,20613,20633,20625,20608,20630,20632,20634,26368,20977,21106,21108,21109,21097,21214,21213,21211,21338,21413,21883,21888,21927,21884,21898,21917,21912,21890,21916,21930,21908,21895,21899,21891,21939,21934,21919,21822,21938,21914,21947,21932,21937,21886,21897,21931,21913,22285,22575,22570,22580,22564,22576,22577,22561,22557,22560,22777,22778,22880,23159,23194,23167,23186,23195,23207,23411,23409,23506,23500,23507,23504,23562,23563,23601,23884,23888,23860,23879,24061,24133,24125,24128,24131,24190,24266,24257,24258,24260,24380,24429,24489,24490,24488,24785,24801,24754,24758,24800,24860,24867,24826,24853,24816,24827,24820,24936,24817,24846,24822,24841,24832,24850,25119,25161,25507,25484,25551,25536,25577,25545,25542,25549,25554,25571,25552,25569,25558,25581,25582,25462,25588,25578,25563,25682,25562,25593,25950,25958,25954,25955,26001,26e3,26031,26222,26224,26228,26230,26223,26257,26234,26238,26231,26366,26367,26399,26397,26874,26837,26848,26840,26839,26885,26847,26869,26862,26855,26873,26834,26866,26851,26827,26829,26893,26898,26894,26825,26842,26990,26875,27454,27450,27453,27544,27542,27580,27631,27694,27695,27692,28207,28216,28244,28193,28210,28263,28234,28192,28197,28195,28187,28251,28248,28196,28246,28270,28205,28198,28271,28212,28237,28218,28204,28227,28189,28222,28363,28297,28185,28238,28259,28228,28274,28265,28255,28953,28954,28966,28976,28961,28982,29038,28956,29260,29316,29312,29494,29477,29492,29481,29754,29738,29747,29730,29733,29749,29750,29748,29743,29723,29734,29736,29989,29990,30059,30058,30178,30171,30179,30169,30168,30174,30176,30331,30332,30358,30355,30388,30428,30543,30701,30813,30828,30831,31245,31240,31243,31237,31232,31384,31383,31382,31461,31459,31561,31574,31558,31568,31570,31572,31565,31563,31567,31569,31903,31909,32094,32080,32104,32085,32043,32110,32114,32097,32102,32098,32112,32115,21892,32724,32725,32779,32850,32901,33109,33108,33099,33105,33102,33081,33094,33086,33100,33107,33140,33298,33308,33769,33795,33784,33805,33760,33733,33803,33729,33775,33777,33780,33879,33802,33776,33804,33740,33789,33778,33738,33848,33806,33796,33756,33799,33748,33759,34395,34527,34521,34541,34516,34523,34532,34512,34526,34903,35009,35010,34993,35203,35222,35387,35424,35413,35422,35388,35393,35412,35419,35408,35398,35380,35386,35382,35414,35937,35970,36015,36028,36019,36029,36033,36027,36032,36020,36023,36022,36031,36024,36234,36229,36225,36302,36317,36299,36314,36305,36300,36315,36294,36603,36600,36604,36764,36910,36917,36913,36920,36914,36918,37122,37109,37129,37118,37219,37221,37327,37396,37397,37411,37385,37406,37389,37392,37383,37393,38292,38287,38283,38289,38291,38290,38286,38538,38542,38539,38525,38533,38534,38541,38514,38532,38593,38597,38596,38598,38599,38639,38642,38860,38917,38918,38920,39143,39146,39151,39145,39154,39149,39342,39341,40643,40653,40657,20098,20653,20661,20658,20659,20677,20670,20652,20663,20667,20655,20679,21119,21111,21117,21215,21222,21220,21218,21219,21295,21983,21992,21971,21990,21966,21980,21959,21969,21987,21988,21999,21978,21985,21957,21958,21989,21961,22290,22291,22622,22609,22616,22615,22618,22612,22635,22604,22637,22602,22626,22610,22603,22887,23233,23241,23244,23230,23229,23228,23219,23234,23218,23913,23919,24140,24185,24265,24264,24338,24409,24492,24494,24858,24847,24904,24863,24819,24859,24825,24833,24840,24910,24908,24900,24909,24894,24884,24871,24845,24838,24887,25121,25122,25619,25662,25630,25642,25645,25661,25644,25615,25628,25620,25613,25654,25622,25623,25606,25964,26015,26032,26263,26249,26247,26248,26262,26244,26264,26253,26371,27028,26989,26970,26999,26976,26964,26997,26928,27010,26954,26984,26987,26974,26963,27001,27014,26973,26979,26971,27463,27506,27584,27583,27603,27645,28322,28335,28371,28342,28354,28304,28317,28359,28357,28325,28312,28348,28346,28331,28369,28310,28316,28356,28372,28330,28327,28340,29006,29017,29033,29028,29001,29031,29020,29036,29030,29004,29029,29022,28998,29032,29014,29242,29266,29495,29509,29503,29502,29807,29786,29781,29791,29790,29761,29759,29785,29787,29788,30070,30072,30208,30192,30209,30194,30193,30202,30207,30196,30195,30430,30431,30555,30571,30566,30558,30563,30585,30570,30572,30556,30565,30568,30562,30702,30862,30896,30871,30872,30860,30857,30844,30865,30867,30847,31098,31103,31105,33836,31165,31260,31258,31264,31252,31263,31262,31391,31392,31607,31680,31584,31598,31591,31921,31923,31925,32147,32121,32145,32129,32143,32091,32622,32617,32618,32626,32681,32680,32676,32854,32856,32902,32900,33137,33136,33144,33125,33134,33139,33131,33145,33146,33126,33285,33351,33922,33911,33853,33841,33909,33894,33899,33865,33900,33883,33852,33845,33889,33891,33897,33901,33862,34398,34396,34399,34553,34579,34568,34567,34560,34558,34555,34562,34563,34566,34570,34905,35039,35028,35033,35036,35032,35037,35041,35018,35029,35026,35228,35299,35435,35442,35443,35430,35433,35440,35463,35452,35427,35488,35441,35461,35437,35426,35438,35436,35449,35451,35390,35432,35938,35978,35977,36042,36039,36040,36036,36018,36035,36034,36037,36321,36319,36328,36335,36339,36346,36330,36324,36326,36530,36611,36617,36606,36618,36767,36786,36939,36938,36947,36930,36948,36924,36949,36944,36935,36943,36942,36941,36945,36926,36929,37138,37143,37228,37226,37225,37321,37431,37463,37432,37437,37440,37438,37467,37451,37476,37457,37428,37449,37453,37445,37433,37439,37466,38296,38552,38548,38549,38605,38603,38601,38602,38647,38651,38649,38646,38742,38772,38774,38928,38929,38931,38922,38930,38924,39164,39156,39165,39166,39347,39345,39348,39649,40169,40578,40718,40723,40736,20711,20718,20709,20694,20717,20698,20693,20687,20689,20721,20686,20713,20834,20979,21123,21122,21297,21421,22014,22016,22043,22039,22013,22036,22022,22025,22029,22030,22007,22038,22047,22024,22032,22006,22296,22294,22645,22654,22659,22675,22666,22649,22661,22653,22781,22821,22818,22820,22890,22889,23265,23270,23273,23255,23254,23256,23267,23413,23518,23527,23521,23525,23526,23528,23522,23524,23519,23565,23650,23940,23943,24155,24163,24149,24151,24148,24275,24278,24330,24390,24432,24505,24903,24895,24907,24951,24930,24931,24927,24922,24920,24949,25130,25735,25688,25684,25764,25720,25695,25722,25681,25703,25652,25709,25723,25970,26017,26071,26070,26274,26280,26269,27036,27048,27029,27073,27054,27091,27083,27035,27063,27067,27051,27060,27088,27085,27053,27084,27046,27075,27043,27465,27468,27699,28467,28436,28414,28435,28404,28457,28478,28448,28460,28431,28418,28450,28415,28399,28422,28465,28472,28466,28451,28437,28459,28463,28552,28458,28396,28417,28402,28364,28407,29076,29081,29053,29066,29060,29074,29246,29330,29334,29508,29520,29796,29795,29802,29808,29805,29956,30097,30247,30221,30219,30217,30227,30433,30435,30596,30589,30591,30561,30913,30879,30887,30899,30889,30883,31118,31119,31117,31278,31281,31402,31401,31469,31471,31649,31637,31627,31605,31639,31645,31636,31631,31672,31623,31620,31929,31933,31934,32187,32176,32156,32189,32190,32160,32202,32180,32178,32177,32186,32162,32191,32181,32184,32173,32210,32199,32172,32624,32736,32737,32735,32862,32858,32903,33104,33152,33167,33160,33162,33151,33154,33255,33274,33287,33300,33310,33355,33993,33983,33990,33988,33945,33950,33970,33948,33995,33976,33984,34003,33936,33980,34001,33994,34623,34588,34619,34594,34597,34612,34584,34645,34615,34601,35059,35074,35060,35065,35064,35069,35048,35098,35055,35494,35468,35486,35491,35469,35489,35475,35492,35498,35493,35496,35480,35473,35482,35495,35946,35981,35980,36051,36049,36050,36203,36249,36245,36348,36628,36626,36629,36627,36771,36960,36952,36956,36963,36953,36958,36962,36957,36955,37145,37144,37150,37237,37240,37239,37236,37496,37504,37509,37528,37526,37499,37523,37532,37544,37500,37521,38305,38312,38313,38307,38309,38308,38553,38556,38555,38604,38610,38656,38780,38789,38902,38935,38936,39087,39089,39171,39173,39180,39177,39361,39599,39600,39654,39745,39746,40180,40182,40179,40636,40763,40778,20740,20736,20731,20725,20729,20738,20744,20745,20741,20956,21127,21128,21129,21133,21130,21232,21426,22062,22075,22073,22066,22079,22068,22057,22099,22094,22103,22132,22070,22063,22064,22656,22687,22686,22707,22684,22702,22697,22694,22893,23305,23291,23307,23285,23308,23304,23534,23532,23529,23531,23652,23653,23965,23956,24162,24159,24161,24290,24282,24287,24285,24291,24288,24392,24433,24503,24501,24950,24935,24942,24925,24917,24962,24956,24944,24939,24958,24999,24976,25003,24974,25004,24986,24996,24980,25006,25134,25705,25711,25721,25758,25778,25736,25744,25776,25765,25747,25749,25769,25746,25774,25773,25771,25754,25772,25753,25762,25779,25973,25975,25976,26286,26283,26292,26289,27171,27167,27112,27137,27166,27161,27133,27169,27155,27146,27123,27138,27141,27117,27153,27472,27470,27556,27589,27590,28479,28540,28548,28497,28518,28500,28550,28525,28507,28536,28526,28558,28538,28528,28516,28567,28504,28373,28527,28512,28511,29087,29100,29105,29096,29270,29339,29518,29527,29801,29835,29827,29822,29824,30079,30240,30249,30239,30244,30246,30241,30242,30362,30394,30436,30606,30599,30604,30609,30603,30923,30917,30906,30922,30910,30933,30908,30928,31295,31292,31296,31293,31287,31291,31407,31406,31661,31665,31684,31668,31686,31687,31681,31648,31692,31946,32224,32244,32239,32251,32216,32236,32221,32232,32227,32218,32222,32233,32158,32217,32242,32249,32629,32631,32687,32745,32806,33179,33180,33181,33184,33178,33176,34071,34109,34074,34030,34092,34093,34067,34065,34083,34081,34068,34028,34085,34047,34054,34690,34676,34678,34656,34662,34680,34664,34649,34647,34636,34643,34907,34909,35088,35079,35090,35091,35093,35082,35516,35538,35527,35524,35477,35531,35576,35506,35529,35522,35519,35504,35542,35533,35510,35513,35547,35916,35918,35948,36064,36062,36070,36068,36076,36077,36066,36067,36060,36074,36065,36205,36255,36259,36395,36368,36381,36386,36367,36393,36383,36385,36382,36538,36637,36635,36639,36649,36646,36650,36636,36638,36645,36969,36974,36968,36973,36983,37168,37165,37159,37169,37255,37257,37259,37251,37573,37563,37559,37610,37548,37604,37569,37555,37564,37586,37575,37616,37554,38317,38321,38660,38662,38663,38665,38752,38797,38795,38799,38945,38955,38940,39091,39178,39187,39186,39192,39389,39376,39391,39387,39377,39381,39378,39385,39607,39662,39663,39719,39749,39748,39799,39791,40198,40201,40195,40617,40638,40654,22696,40786,20754,20760,20756,20752,20757,20864,20906,20957,21137,21139,21235,22105,22123,22137,22121,22116,22136,22122,22120,22117,22129,22127,22124,22114,22134,22721,22718,22727,22725,22894,23325,23348,23416,23536,23566,24394,25010,24977,25001,24970,25037,25014,25022,25034,25032,25136,25797,25793,25803,25787,25788,25818,25796,25799,25794,25805,25791,25810,25812,25790,25972,26310,26313,26297,26308,26311,26296,27197,27192,27194,27225,27243,27224,27193,27204,27234,27233,27211,27207,27189,27231,27208,27481,27511,27653,28610,28593,28577,28611,28580,28609,28583,28595,28608,28601,28598,28582,28576,28596,29118,29129,29136,29138,29128,29141,29113,29134,29145,29148,29123,29124,29544,29852,29859,29848,29855,29854,29922,29964,29965,30260,30264,30266,30439,30437,30624,30622,30623,30629,30952,30938,30956,30951,31142,31309,31310,31302,31308,31307,31418,31705,31761,31689,31716,31707,31713,31721,31718,31957,31958,32266,32273,32264,32283,32291,32286,32285,32265,32272,32633,32690,32752,32753,32750,32808,33203,33193,33192,33275,33288,33368,33369,34122,34137,34120,34152,34153,34115,34121,34157,34154,34142,34691,34719,34718,34722,34701,34913,35114,35122,35109,35115,35105,35242,35238,35558,35578,35563,35569,35584,35548,35559,35566,35582,35585,35586,35575,35565,35571,35574,35580,35947,35949,35987,36084,36420,36401,36404,36418,36409,36405,36667,36655,36664,36659,36776,36774,36981,36980,36984,36978,36988,36986,37172,37266,37664,37686,37624,37683,37679,37666,37628,37675,37636,37658,37648,37670,37665,37653,37678,37657,38331,38567,38568,38570,38613,38670,38673,38678,38669,38675,38671,38747,38748,38758,38808,38960,38968,38971,38967,38957,38969,38948,39184,39208,39198,39195,39201,39194,39405,39394,39409,39608,39612,39675,39661,39720,39825,40213,40227,40230,40232,40210,40219,40664,40660,40845,40860,20778,20767,20769,20786,21237,22158,22144,22160,22149,22151,22159,22741,22739,22737,22734,23344,23338,23332,23418,23607,23656,23996,23994,23997,23992,24171,24396,24509,25033,25026,25031,25062,25035,25138,25140,25806,25802,25816,25824,25840,25830,25836,25841,25826,25837,25986,25987,26329,26326,27264,27284,27268,27298,27292,27355,27299,27262,27287,27280,27296,27484,27566,27610,27656,28632,28657,28639,28640,28635,28644,28651,28655,28544,28652,28641,28649,28629,28654,28656,29159,29151,29166,29158,29157,29165,29164,29172,29152,29237,29254,29552,29554,29865,29872,29862,29864,30278,30274,30284,30442,30643,30634,30640,30636,30631,30637,30703,30967,30970,30964,30959,30977,31143,31146,31319,31423,31751,31757,31742,31735,31756,31712,31968,31964,31966,31970,31967,31961,31965,32302,32318,32326,32311,32306,32323,32299,32317,32305,32325,32321,32308,32313,32328,32309,32319,32303,32580,32755,32764,32881,32882,32880,32879,32883,33222,33219,33210,33218,33216,33215,33213,33225,33214,33256,33289,33393,34218,34180,34174,34204,34193,34196,34223,34203,34183,34216,34186,34407,34752,34769,34739,34770,34758,34731,34747,34746,34760,34763,35131,35126,35140,35128,35133,35244,35598,35607,35609,35611,35594,35616,35613,35588,35600,35905,35903,35955,36090,36093,36092,36088,36091,36264,36425,36427,36424,36426,36676,36670,36674,36677,36671,36991,36989,36996,36993,36994,36992,37177,37283,37278,37276,37709,37762,37672,37749,37706,37733,37707,37656,37758,37740,37723,37744,37722,37716,38346,38347,38348,38344,38342,38577,38584,38614,38684,38686,38816,38867,38982,39094,39221,39425,39423,39854,39851,39850,39853,40251,40255,40587,40655,40670,40668,40669,40667,40766,40779,21474,22165,22190,22745,22744,23352,24413,25059,25139,25844,25842,25854,25862,25850,25851,25847,26039,26332,26406,27315,27308,27331,27323,27320,27330,27310,27311,27487,27512,27567,28681,28683,28670,28678,28666,28689,28687,29179,29180,29182,29176,29559,29557,29863,29887,29973,30294,30296,30290,30653,30655,30651,30652,30990,31150,31329,31330,31328,31428,31429,31787,31783,31786,31774,31779,31777,31975,32340,32341,32350,32346,32353,32338,32345,32584,32761,32763,32887,32886,33229,33231,33290,34255,34217,34253,34256,34249,34224,34234,34233,34214,34799,34796,34802,34784,35206,35250,35316,35624,35641,35628,35627,35920,36101,36441,36451,36454,36452,36447,36437,36544,36681,36685,36999,36995,37e3,37291,37292,37328,37780,37770,37782,37794,37811,37806,37804,37808,37784,37786,37783,38356,38358,38352,38357,38626,38620,38617,38619,38622,38692,38819,38822,38829,38905,38989,38991,38988,38990,38995,39098,39230,39231,39229,39214,39333,39438,39617,39683,39686,39759,39758,39757,39882,39881,39933,39880,39872,40273,40285,40288,40672,40725,40748,20787,22181,22750,22751,22754,23541,40848,24300,25074,25079,25078,25077,25856,25871,26336,26333,27365,27357,27354,27347,28699,28703,28712,28698,28701,28693,28696,29190,29197,29272,29346,29560,29562,29885,29898,29923,30087,30086,30303,30305,30663,31001,31153,31339,31337,31806,31807,31800,31805,31799,31808,32363,32365,32377,32361,32362,32645,32371,32694,32697,32696,33240,34281,34269,34282,34261,34276,34277,34295,34811,34821,34829,34809,34814,35168,35167,35158,35166,35649,35676,35672,35657,35674,35662,35663,35654,35673,36104,36106,36476,36466,36487,36470,36460,36474,36468,36692,36686,36781,37002,37003,37297,37294,37857,37841,37855,37827,37832,37852,37853,37846,37858,37837,37848,37860,37847,37864,38364,38580,38627,38698,38695,38753,38876,38907,39006,39e3,39003,39100,39237,39241,39446,39449,39693,39912,39911,39894,39899,40329,40289,40306,40298,40300,40594,40599,40595,40628,21240,22184,22199,22198,22196,22204,22756,23360,23363,23421,23542,24009,25080,25082,25880,25876,25881,26342,26407,27372,28734,28720,28722,29200,29563,29903,30306,30309,31014,31018,31020,31019,31431,31478,31820,31811,31821,31983,31984,36782,32381,32380,32386,32588,32768,33242,33382,34299,34297,34321,34298,34310,34315,34311,34314,34836,34837,35172,35258,35320,35696,35692,35686,35695,35679,35691,36111,36109,36489,36481,36485,36482,37300,37323,37912,37891,37885,38369,38704,39108,39250,39249,39336,39467,39472,39479,39477,39955,39949,40569,40629,40680,40751,40799,40803,40801,20791,20792,22209,22208,22210,22804,23660,24013,25084,25086,25885,25884,26005,26345,27387,27396,27386,27570,28748,29211,29351,29910,29908,30313,30675,31824,32399,32396,32700,34327,34349,34330,34851,34850,34849,34847,35178,35180,35261,35700,35703,35709,36115,36490,36493,36491,36703,36783,37306,37934,37939,37941,37946,37944,37938,37931,38370,38712,38713,38706,38911,39015,39013,39255,39493,39491,39488,39486,39631,39764,39761,39981,39973,40367,40372,40386,40376,40605,40687,40729,40796,40806,40807,20796,20795,22216,22218,22217,23423,24020,24018,24398,25087,25892,27402,27489,28753,28760,29568,29924,30090,30318,30316,31155,31840,31839,32894,32893,33247,35186,35183,35324,35712,36118,36119,36497,36499,36705,37192,37956,37969,37970,38717,38718,38851,38849,39019,39253,39509,39501,39634,39706,40009,39985,39998,39995,40403,40407,40756,40812,40810,40852,22220,24022,25088,25891,25899,25898,26348,27408,29914,31434,31844,31843,31845,32403,32406,32404,33250,34360,34367,34865,35722,37008,37007,37987,37984,37988,38760,39023,39260,39514,39515,39511,39635,39636,39633,40020,40023,40022,40421,40607,40692,22225,22761,25900,28766,30321,30322,30679,32592,32648,34870,34873,34914,35731,35730,35734,33399,36123,37312,37994,38722,38728,38724,38854,39024,39519,39714,39768,40031,40441,40442,40572,40573,40711,40823,40818,24307,27414,28771,31852,31854,34875,35264,36513,37313,38002,38e3,39025,39262,39638,39715,40652,28772,30682,35738,38007,38857,39522,39525,32412,35740,36522,37317,38013,38014,38012,40055,40056,40695,35924,38015,40474,29224,39530,39729,40475,40478,31858,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,20022,20031,20101,20128,20866,20886,20907,21241,21304,21353,21430,22794,23424,24027,12083,24191,24308,24400,24417,25908,26080,30098,30326,36789,38582,168,710,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,65339,65341,10045,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8679,8632,8633,12751,131276,20058,131210,20994,17553,40880,20872,40881,161287,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65506,65508,65287,65282,12849,8470,8481,12443,12444,11904,11908,11910,11911,11912,11914,11916,11917,11925,11932,11933,11941,11943,11946,11948,11950,11958,11964,11966,11974,11978,11980,11981,11983,11990,11991,11998,12003,null,null,null,643,592,603,596,629,339,248,331,650,618,20034,20060,20981,21274,21378,19975,19980,20039,20109,22231,64012,23662,24435,19983,20871,19982,20014,20115,20162,20169,20168,20888,21244,21356,21433,22304,22787,22828,23568,24063,26081,27571,27596,27668,29247,20017,20028,20200,20188,20201,20193,20189,20186,21004,21276,21324,22306,22307,22807,22831,23425,23428,23570,23611,23668,23667,24068,24192,24194,24521,25097,25168,27669,27702,27715,27711,27707,29358,29360,29578,31160,32906,38430,20238,20248,20268,20213,20244,20209,20224,20215,20232,20253,20226,20229,20258,20243,20228,20212,20242,20913,21011,21001,21008,21158,21282,21279,21325,21386,21511,22241,22239,22318,22314,22324,22844,22912,22908,22917,22907,22910,22903,22911,23382,23573,23589,23676,23674,23675,23678,24031,24181,24196,24322,24346,24436,24533,24532,24527,25180,25182,25188,25185,25190,25186,25177,25184,25178,25189,26095,26094,26430,26425,26424,26427,26426,26431,26428,26419,27672,27718,27730,27740,27727,27722,27732,27723,27724,28785,29278,29364,29365,29582,29994,30335,31349,32593,33400,33404,33408,33405,33407,34381,35198,37017,37015,37016,37019,37012,38434,38436,38432,38435,20310,20283,20322,20297,20307,20324,20286,20327,20306,20319,20289,20312,20269,20275,20287,20321,20879,20921,21020,21022,21025,21165,21166,21257,21347,21362,21390,21391,21552,21559,21546,21588,21573,21529,21532,21541,21528,21565,21583,21569,21544,21540,21575,22254,22247,22245,22337,22341,22348,22345,22347,22354,22790,22848,22950,22936,22944,22935,22926,22946,22928,22927,22951,22945,23438,23442,23592,23594,23693,23695,23688,23691,23689,23698,23690,23686,23699,23701,24032,24074,24078,24203,24201,24204,24200,24205,24325,24349,24440,24438,24530,24529,24528,24557,24552,24558,24563,24545,24548,24547,24570,24559,24567,24571,24576,24564,25146,25219,25228,25230,25231,25236,25223,25201,25211,25210,25200,25217,25224,25207,25213,25202,25204,25911,26096,26100,26099,26098,26101,26437,26439,26457,26453,26444,26440,26461,26445,26458,26443,27600,27673,27674,27768,27751,27755,27780,27787,27791,27761,27759,27753,27802,27757,27783,27797,27804,27750,27763,27749,27771,27790,28788,28794,29283,29375,29373,29379,29382,29377,29370,29381,29589,29591,29587,29588,29586,30010,30009,30100,30101,30337,31037,32820,32917,32921,32912,32914,32924,33424,33423,33413,33422,33425,33427,33418,33411,33412,35960,36809,36799,37023,37025,37029,37022,37031,37024,38448,38440,38447,38445,20019,20376,20348,20357,20349,20352,20359,20342,20340,20361,20356,20343,20300,20375,20330,20378,20345,20353,20344,20368,20380,20372,20382,20370,20354,20373,20331,20334,20894,20924,20926,21045,21042,21043,21062,21041,21180,21258,21259,21308,21394,21396,21639,21631,21633,21649,21634,21640,21611,21626,21630,21605,21612,21620,21606,21645,21615,21601,21600,21656,21603,21607,21604,22263,22265,22383,22386,22381,22379,22385,22384,22390,22400,22389,22395,22387,22388,22370,22376,22397,22796,22853,22965,22970,22991,22990,22962,22988,22977,22966,22972,22979,22998,22961,22973,22976,22984,22964,22983,23394,23397,23443,23445,23620,23623,23726,23716,23712,23733,23727,23720,23724,23711,23715,23725,23714,23722,23719,23709,23717,23734,23728,23718,24087,24084,24089,24360,24354,24355,24356,24404,24450,24446,24445,24542,24549,24621,24614,24601,24626,24587,24628,24586,24599,24627,24602,24606,24620,24610,24589,24592,24622,24595,24593,24588,24585,24604,25108,25149,25261,25268,25297,25278,25258,25270,25290,25262,25267,25263,25275,25257,25264,25272,25917,26024,26043,26121,26108,26116,26130,26120,26107,26115,26123,26125,26117,26109,26129,26128,26358,26378,26501,26476,26510,26514,26486,26491,26520,26502,26500,26484,26509,26508,26490,26527,26513,26521,26499,26493,26497,26488,26489,26516,27429,27520,27518,27614,27677,27795,27884,27883,27886,27865,27830,27860,27821,27879,27831,27856,27842,27834,27843,27846,27885,27890,27858,27869,27828,27786,27805,27776,27870,27840,27952,27853,27847,27824,27897,27855,27881,27857,28820,28824,28805,28819,28806,28804,28817,28822,28802,28826,28803,29290,29398,29387,29400,29385,29404,29394,29396,29402,29388,29393,29604,29601,29613,29606,29602,29600,29612,29597,29917,29928,30015,30016,30014,30092,30104,30383,30451,30449,30448,30453,30712,30716,30713,30715,30714,30711,31042,31039,31173,31352,31355,31483,31861,31997,32821,32911,32942,32931,32952,32949,32941,33312,33440,33472,33451,33434,33432,33435,33461,33447,33454,33468,33438,33466,33460,33448,33441,33449,33474,33444,33475,33462,33442,34416,34415,34413,34414,35926,36818,36811,36819,36813,36822,36821,36823,37042,37044,37039,37043,37040,38457,38461,38460,38458,38467,20429,20421,20435,20402,20425,20427,20417,20436,20444,20441,20411,20403,20443,20423,20438,20410,20416,20409,20460,21060,21065,21184,21186,21309,21372,21399,21398,21401,21400,21690,21665,21677,21669,21711,21699,33549,21687,21678,21718,21686,21701,21702,21664,21616,21692,21666,21694,21618,21726,21680,22453,22430,22431,22436,22412,22423,22429,22427,22420,22424,22415,22425,22437,22426,22421,22772,22797,22867,23009,23006,23022,23040,23025,23005,23034,23037,23036,23030,23012,23026,23031,23003,23017,23027,23029,23008,23038,23028,23021,23464,23628,23760,23768,23756,23767,23755,23771,23774,23770,23753,23751,23754,23766,23763,23764,23759,23752,23750,23758,23775,23800,24057,24097,24098,24099,24096,24100,24240,24228,24226,24219,24227,24229,24327,24366,24406,24454,24631,24633,24660,24690,24670,24645,24659,24647,24649,24667,24652,24640,24642,24671,24612,24644,24664,24678,24686,25154,25155,25295,25357,25355,25333,25358,25347,25323,25337,25359,25356,25336,25334,25344,25363,25364,25338,25365,25339,25328,25921,25923,26026,26047,26166,26145,26162,26165,26140,26150,26146,26163,26155,26170,26141,26164,26169,26158,26383,26384,26561,26610,26568,26554,26588,26555,26616,26584,26560,26551,26565,26603,26596,26591,26549,26573,26547,26615,26614,26606,26595,26562,26553,26574,26599,26608,26546,26620,26566,26605,26572,26542,26598,26587,26618,26569,26570,26563,26602,26571,27432,27522,27524,27574,27606,27608,27616,27680,27681,27944,27956,27949,27935,27964,27967,27922,27914,27866,27955,27908,27929,27962,27930,27921,27904,27933,27970,27905,27928,27959,27907,27919,27968,27911,27936,27948,27912,27938,27913,27920,28855,28831,28862,28849,28848,28833,28852,28853,28841,29249,29257,29258,29292,29296,29299,29294,29386,29412,29416,29419,29407,29418,29414,29411,29573,29644,29634,29640,29637,29625,29622,29621,29620,29675,29631,29639,29630,29635,29638,29624,29643,29932,29934,29998,30023,30024,30119,30122,30329,30404,30472,30467,30468,30469,30474,30455,30459,30458,30695,30696,30726,30737,30738,30725,30736,30735,30734,30729,30723,30739,31050,31052,31051,31045,31044,31189,31181,31183,31190,31182,31360,31358,31441,31488,31489,31866,31864,31865,31871,31872,31873,32003,32008,32001,32600,32657,32653,32702,32775,32782,32783,32788,32823,32984,32967,32992,32977,32968,32962,32976,32965,32995,32985,32988,32970,32981,32969,32975,32983,32998,32973,33279,33313,33428,33497,33534,33529,33543,33512,33536,33493,33594,33515,33494,33524,33516,33505,33522,33525,33548,33531,33526,33520,33514,33508,33504,33530,33523,33517,34423,34420,34428,34419,34881,34894,34919,34922,34921,35283,35332,35335,36210,36835,36833,36846,36832,37105,37053,37055,37077,37061,37054,37063,37067,37064,37332,37331,38484,38479,38481,38483,38474,38478,20510,20485,20487,20499,20514,20528,20507,20469,20468,20531,20535,20524,20470,20471,20503,20508,20512,20519,20533,20527,20529,20494,20826,20884,20883,20938,20932,20933,20936,20942,21089,21082,21074,21086,21087,21077,21090,21197,21262,21406,21798,21730,21783,21778,21735,21747,21732,21786,21759,21764,21768,21739,21777,21765,21745,21770,21755,21751,21752,21728,21774,21763,21771,22273,22274,22476,22578,22485,22482,22458,22470,22461,22460,22456,22454,22463,22471,22480,22457,22465,22798,22858,23065,23062,23085,23086,23061,23055,23063,23050,23070,23091,23404,23463,23469,23468,23555,23638,23636,23788,23807,23790,23793,23799,23808,23801,24105,24104,24232,24238,24234,24236,24371,24368,24423,24669,24666,24679,24641,24738,24712,24704,24722,24705,24733,24707,24725,24731,24727,24711,24732,24718,25113,25158,25330,25360,25430,25388,25412,25413,25398,25411,25572,25401,25419,25418,25404,25385,25409,25396,25432,25428,25433,25389,25415,25395,25434,25425,25400,25431,25408,25416,25930,25926,26054,26051,26052,26050,26186,26207,26183,26193,26386,26387,26655,26650,26697,26674,26675,26683,26699,26703,26646,26673,26652,26677,26667,26669,26671,26702,26692,26676,26653,26642,26644,26662,26664,26670,26701,26682,26661,26656,27436,27439,27437,27441,27444,27501,32898,27528,27622,27620,27624,27619,27618,27623,27685,28026,28003,28004,28022,27917,28001,28050,27992,28002,28013,28015,28049,28045,28143,28031,28038,27998,28007,28e3,28055,28016,28028,27999,28034,28056,27951,28008,28043,28030,28032,28036,27926,28035,28027,28029,28021,28048,28892,28883,28881,28893,28875,32569,28898,28887,28882,28894,28896,28884,28877,28869,28870,28871,28890,28878,28897,29250,29304,29303,29302,29440,29434,29428,29438,29430,29427,29435,29441,29651,29657,29669,29654,29628,29671,29667,29673,29660,29650,29659,29652,29661,29658,29655,29656,29672,29918,29919,29940,29941,29985,30043,30047,30128,30145,30139,30148,30144,30143,30134,30138,30346,30409,30493,30491,30480,30483,30482,30499,30481,30485,30489,30490,30498,30503,30755,30764,30754,30773,30767,30760,30766,30763,30753,30761,30771,30762,30769,31060,31067,31055,31068,31059,31058,31057,31211,31212,31200,31214,31213,31210,31196,31198,31197,31366,31369,31365,31371,31372,31370,31367,31448,31504,31492,31507,31493,31503,31496,31498,31502,31497,31506,31876,31889,31882,31884,31880,31885,31877,32030,32029,32017,32014,32024,32022,32019,32031,32018,32015,32012,32604,32609,32606,32608,32605,32603,32662,32658,32707,32706,32704,32790,32830,32825,33018,33010,33017,33013,33025,33019,33024,33281,33327,33317,33587,33581,33604,33561,33617,33573,33622,33599,33601,33574,33564,33570,33602,33614,33563,33578,33544,33596,33613,33558,33572,33568,33591,33583,33577,33607,33605,33612,33619,33566,33580,33611,33575,33608,34387,34386,34466,34472,34454,34445,34449,34462,34439,34455,34438,34443,34458,34437,34469,34457,34465,34471,34453,34456,34446,34461,34448,34452,34883,34884,34925,34933,34934,34930,34944,34929,34943,34927,34947,34942,34932,34940,35346,35911,35927,35963,36004,36003,36214,36216,36277,36279,36278,36561,36563,36862,36853,36866,36863,36859,36868,36860,36854,37078,37088,37081,37082,37091,37087,37093,37080,37083,37079,37084,37092,37200,37198,37199,37333,37346,37338,38492,38495,38588,39139,39647,39727,20095,20592,20586,20577,20574,20576,20563,20555,20573,20594,20552,20557,20545,20571,20554,20578,20501,20549,20575,20585,20587,20579,20580,20550,20544,20590,20595,20567,20561,20944,21099,21101,21100,21102,21206,21203,21293,21404,21877,21878,21820,21837,21840,21812,21802,21841,21858,21814,21813,21808,21842,21829,21772,21810,21861,21838,21817,21832,21805,21819,21824,21835,22282,22279,22523,22548,22498,22518,22492,22516,22528,22509,22525,22536,22520,22539,22515,22479,22535,22510,22499,22514,22501,22508,22497,22542,22524,22544,22503,22529,22540,22513,22505,22512,22541,22532,22876,23136,23128,23125,23143,23134,23096,23093,23149,23120,23135,23141,23148,23123,23140,23127,23107,23133,23122,23108,23131,23112,23182,23102,23117,23097,23116,23152,23145,23111,23121,23126,23106,23132,23410,23406,23489,23488,23641,23838,23819,23837,23834,23840,23820,23848,23821,23846,23845,23823,23856,23826,23843,23839,23854,24126,24116,24241,24244,24249,24242,24243,24374,24376,24475,24470,24479,24714,24720,24710,24766,24752,24762,24787,24788,24783,24804,24793,24797,24776,24753,24795,24759,24778,24767,24771,24781,24768,25394,25445,25482,25474,25469,25533,25502,25517,25501,25495,25515,25486,25455,25479,25488,25454,25519,25461,25500,25453,25518,25468,25508,25403,25503,25464,25477,25473,25489,25485,25456,25939,26061,26213,26209,26203,26201,26204,26210,26392,26745,26759,26768,26780,26733,26734,26798,26795,26966,26735,26787,26796,26793,26741,26740,26802,26767,26743,26770,26748,26731,26738,26794,26752,26737,26750,26779,26774,26763,26784,26761,26788,26744,26747,26769,26764,26762,26749,27446,27443,27447,27448,27537,27535,27533,27534,27532,27690,28096,28075,28084,28083,28276,28076,28137,28130,28087,28150,28116,28160,28104,28128,28127,28118,28094,28133,28124,28125,28123,28148,28106,28093,28141,28144,28090,28117,28098,28111,28105,28112,28146,28115,28157,28119,28109,28131,28091,28922,28941,28919,28951,28916,28940,28912,28932,28915,28944,28924,28927,28934,28947,28928,28920,28918,28939,28930,28942,29310,29307,29308,29311,29469,29463,29447,29457,29464,29450,29448,29439,29455,29470,29576,29686,29688,29685,29700,29697,29693,29703,29696,29690,29692,29695,29708,29707,29684,29704,30052,30051,30158,30162,30159,30155,30156,30161,30160,30351,30345,30419,30521,30511,30509,30513,30514,30516,30515,30525,30501,30523,30517,30792,30802,30793,30797,30794,30796,30758,30789,30800,31076,31079,31081,31082,31075,31083,31073,31163,31226,31224,31222,31223,31375,31380,31376,31541,31559,31540,31525,31536,31522,31524,31539,31512,31530,31517,31537,31531,31533,31535,31538,31544,31514,31523,31892,31896,31894,31907,32053,32061,32056,32054,32058,32069,32044,32041,32065,32071,32062,32063,32074,32059,32040,32611,32661,32668,32669,32667,32714,32715,32717,32720,32721,32711,32719,32713,32799,32798,32795,32839,32835,32840,33048,33061,33049,33051,33069,33055,33068,33054,33057,33045,33063,33053,33058,33297,33336,33331,33338,33332,33330,33396,33680,33699,33704,33677,33658,33651,33700,33652,33679,33665,33685,33689,33653,33684,33705,33661,33667,33676,33693,33691,33706,33675,33662,33701,33711,33672,33687,33712,33663,33702,33671,33710,33654,33690,34393,34390,34495,34487,34498,34497,34501,34490,34480,34504,34489,34483,34488,34508,34484,34491,34492,34499,34493,34494,34898,34953,34965,34984,34978,34986,34970,34961,34977,34975,34968,34983,34969,34971,34967,34980,34988,34956,34963,34958,35202,35286,35289,35285,35376,35367,35372,35358,35897,35899,35932,35933,35965,36005,36221,36219,36217,36284,36290,36281,36287,36289,36568,36574,36573,36572,36567,36576,36577,36900,36875,36881,36892,36876,36897,37103,37098,37104,37108,37106,37107,37076,37099,37100,37097,37206,37208,37210,37203,37205,37356,37364,37361,37363,37368,37348,37369,37354,37355,37367,37352,37358,38266,38278,38280,38524,38509,38507,38513,38511,38591,38762,38916,39141,39319,20635,20629,20628,20638,20619,20643,20611,20620,20622,20637,20584,20636,20626,20610,20615,20831,20948,21266,21265,21412,21415,21905,21928,21925,21933,21879,22085,21922,21907,21896,21903,21941,21889,21923,21906,21924,21885,21900,21926,21887,21909,21921,21902,22284,22569,22583,22553,22558,22567,22563,22568,22517,22600,22565,22556,22555,22579,22591,22582,22574,22585,22584,22573,22572,22587,22881,23215,23188,23199,23162,23202,23198,23160,23206,23164,23205,23212,23189,23214,23095,23172,23178,23191,23171,23179,23209,23163,23165,23180,23196,23183,23187,23197,23530,23501,23499,23508,23505,23498,23502,23564,23600,23863,23875,23915,23873,23883,23871,23861,23889,23886,23893,23859,23866,23890,23869,23857,23897,23874,23865,23881,23864,23868,23858,23862,23872,23877,24132,24129,24408,24486,24485,24491,24777,24761,24780,24802,24782,24772,24852,24818,24842,24854,24837,24821,24851,24824,24828,24830,24769,24835,24856,24861,24848,24831,24836,24843,25162,25492,25521,25520,25550,25573,25576,25583,25539,25757,25587,25546,25568,25590,25557,25586,25589,25697,25567,25534,25565,25564,25540,25560,25555,25538,25543,25548,25547,25544,25584,25559,25561,25906,25959,25962,25956,25948,25960,25957,25996,26013,26014,26030,26064,26066,26236,26220,26235,26240,26225,26233,26218,26226,26369,26892,26835,26884,26844,26922,26860,26858,26865,26895,26838,26871,26859,26852,26870,26899,26896,26867,26849,26887,26828,26888,26992,26804,26897,26863,26822,26900,26872,26832,26877,26876,26856,26891,26890,26903,26830,26824,26845,26846,26854,26868,26833,26886,26836,26857,26901,26917,26823,27449,27451,27455,27452,27540,27543,27545,27541,27581,27632,27634,27635,27696,28156,28230,28231,28191,28233,28296,28220,28221,28229,28258,28203,28223,28225,28253,28275,28188,28211,28235,28224,28241,28219,28163,28206,28254,28264,28252,28257,28209,28200,28256,28273,28267,28217,28194,28208,28243,28261,28199,28280,28260,28279,28245,28281,28242,28262,28213,28214,28250,28960,28958,28975,28923,28974,28977,28963,28965,28962,28978,28959,28968,28986,28955,29259,29274,29320,29321,29318,29317,29323,29458,29451,29488,29474,29489,29491,29479,29490,29485,29478,29475,29493,29452,29742,29740,29744,29739,29718,29722,29729,29741,29745,29732,29731,29725,29737,29728,29746,29947,29999,30063,30060,30183,30170,30177,30182,30173,30175,30180,30167,30357,30354,30426,30534,30535,30532,30541,30533,30538,30542,30539,30540,30686,30700,30816,30820,30821,30812,30829,30833,30826,30830,30832,30825,30824,30814,30818,31092,31091,31090,31088,31234,31242,31235,31244,31236,31385,31462,31460,31562,31547,31556,31560,31564,31566,31552,31576,31557,31906,31902,31912,31905,32088,32111,32099,32083,32086,32103,32106,32079,32109,32092,32107,32082,32084,32105,32081,32095,32078,32574,32575,32613,32614,32674,32672,32673,32727,32849,32847,32848,33022,32980,33091,33098,33106,33103,33095,33085,33101,33082,33254,33262,33271,33272,33273,33284,33340,33341,33343,33397,33595,33743,33785,33827,33728,33768,33810,33767,33764,33788,33782,33808,33734,33736,33771,33763,33727,33793,33757,33765,33752,33791,33761,33739,33742,33750,33781,33737,33801,33807,33758,33809,33798,33730,33779,33749,33786,33735,33745,33770,33811,33731,33772,33774,33732,33787,33751,33762,33819,33755,33790,34520,34530,34534,34515,34531,34522,34538,34525,34539,34524,34540,34537,34519,34536,34513,34888,34902,34901,35002,35031,35001,35e3,35008,35006,34998,35004,34999,35005,34994,35073,35017,35221,35224,35223,35293,35290,35291,35406,35405,35385,35417,35392,35415,35416,35396,35397,35410,35400,35409,35402,35404,35407,35935,35969,35968,36026,36030,36016,36025,36021,36228,36224,36233,36312,36307,36301,36295,36310,36316,36303,36309,36313,36296,36311,36293,36591,36599,36602,36601,36582,36590,36581,36597,36583,36584,36598,36587,36593,36588,36596,36585,36909,36916,36911,37126,37164,37124,37119,37116,37128,37113,37115,37121,37120,37127,37125,37123,37217,37220,37215,37218,37216,37377,37386,37413,37379,37402,37414,37391,37388,37376,37394,37375,37373,37382,37380,37415,37378,37404,37412,37401,37399,37381,37398,38267,38285,38284,38288,38535,38526,38536,38537,38531,38528,38594,38600,38595,38641,38640,38764,38768,38766,38919,39081,39147,40166,40697,20099,20100,20150,20669,20671,20678,20654,20676,20682,20660,20680,20674,20656,20673,20666,20657,20683,20681,20662,20664,20951,21114,21112,21115,21116,21955,21979,21964,21968,21963,21962,21981,21952,21972,21956,21993,21951,21970,21901,21967,21973,21986,21974,21960,22002,21965,21977,21954,22292,22611,22632,22628,22607,22605,22601,22639,22613,22606,22621,22617,22629,22619,22589,22627,22641,22780,23239,23236,23243,23226,23224,23217,23221,23216,23231,23240,23227,23238,23223,23232,23242,23220,23222,23245,23225,23184,23510,23512,23513,23583,23603,23921,23907,23882,23909,23922,23916,23902,23912,23911,23906,24048,24143,24142,24138,24141,24139,24261,24268,24262,24267,24263,24384,24495,24493,24823,24905,24906,24875,24901,24886,24882,24878,24902,24879,24911,24873,24896,25120,37224,25123,25125,25124,25541,25585,25579,25616,25618,25609,25632,25636,25651,25667,25631,25621,25624,25657,25655,25634,25635,25612,25638,25648,25640,25665,25653,25647,25610,25626,25664,25637,25639,25611,25575,25627,25646,25633,25614,25967,26002,26067,26246,26252,26261,26256,26251,26250,26265,26260,26232,26400,26982,26975,26936,26958,26978,26993,26943,26949,26986,26937,26946,26967,26969,27002,26952,26953,26933,26988,26931,26941,26981,26864,27e3,26932,26985,26944,26991,26948,26998,26968,26945,26996,26956,26939,26955,26935,26972,26959,26961,26930,26962,26927,27003,26940,27462,27461,27459,27458,27464,27457,27547,64013,27643,27644,27641,27639,27640,28315,28374,28360,28303,28352,28319,28307,28308,28320,28337,28345,28358,28370,28349,28353,28318,28361,28343,28336,28365,28326,28367,28338,28350,28355,28380,28376,28313,28306,28302,28301,28324,28321,28351,28339,28368,28362,28311,28334,28323,28999,29012,29010,29027,29024,28993,29021,29026,29042,29048,29034,29025,28994,29016,28995,29003,29040,29023,29008,29011,28996,29005,29018,29263,29325,29324,29329,29328,29326,29500,29506,29499,29498,29504,29514,29513,29764,29770,29771,29778,29777,29783,29760,29775,29776,29774,29762,29766,29773,29780,29921,29951,29950,29949,29981,30073,30071,27011,30191,30223,30211,30199,30206,30204,30201,30200,30224,30203,30198,30189,30197,30205,30361,30389,30429,30549,30559,30560,30546,30550,30554,30569,30567,30548,30553,30573,30688,30855,30874,30868,30863,30852,30869,30853,30854,30881,30851,30841,30873,30848,30870,30843,31100,31106,31101,31097,31249,31256,31257,31250,31255,31253,31266,31251,31259,31248,31395,31394,31390,31467,31590,31588,31597,31604,31593,31602,31589,31603,31601,31600,31585,31608,31606,31587,31922,31924,31919,32136,32134,32128,32141,32127,32133,32122,32142,32123,32131,32124,32140,32148,32132,32125,32146,32621,32619,32615,32616,32620,32678,32677,32679,32731,32732,32801,33124,33120,33143,33116,33129,33115,33122,33138,26401,33118,33142,33127,33135,33092,33121,33309,33353,33348,33344,33346,33349,34033,33855,33878,33910,33913,33935,33933,33893,33873,33856,33926,33895,33840,33869,33917,33882,33881,33908,33907,33885,34055,33886,33847,33850,33844,33914,33859,33912,33842,33861,33833,33753,33867,33839,33858,33837,33887,33904,33849,33870,33868,33874,33903,33989,33934,33851,33863,33846,33843,33896,33918,33860,33835,33888,33876,33902,33872,34571,34564,34551,34572,34554,34518,34549,34637,34552,34574,34569,34561,34550,34573,34565,35030,35019,35021,35022,35038,35035,35034,35020,35024,35205,35227,35295,35301,35300,35297,35296,35298,35292,35302,35446,35462,35455,35425,35391,35447,35458,35460,35445,35459,35457,35444,35450,35900,35915,35914,35941,35940,35942,35974,35972,35973,36044,36200,36201,36241,36236,36238,36239,36237,36243,36244,36240,36242,36336,36320,36332,36337,36334,36304,36329,36323,36322,36327,36338,36331,36340,36614,36607,36609,36608,36613,36615,36616,36610,36619,36946,36927,36932,36937,36925,37136,37133,37135,37137,37142,37140,37131,37134,37230,37231,37448,37458,37424,37434,37478,37427,37477,37470,37507,37422,37450,37446,37485,37484,37455,37472,37479,37487,37430,37473,37488,37425,37460,37475,37456,37490,37454,37459,37452,37462,37426,38303,38300,38302,38299,38546,38547,38545,38551,38606,38650,38653,38648,38645,38771,38775,38776,38770,38927,38925,38926,39084,39158,39161,39343,39346,39344,39349,39597,39595,39771,40170,40173,40167,40576,40701,20710,20692,20695,20712,20723,20699,20714,20701,20708,20691,20716,20720,20719,20707,20704,20952,21120,21121,21225,21227,21296,21420,22055,22037,22028,22034,22012,22031,22044,22017,22035,22018,22010,22045,22020,22015,22009,22665,22652,22672,22680,22662,22657,22655,22644,22667,22650,22663,22673,22670,22646,22658,22664,22651,22676,22671,22782,22891,23260,23278,23269,23253,23274,23258,23277,23275,23283,23266,23264,23259,23276,23262,23261,23257,23272,23263,23415,23520,23523,23651,23938,23936,23933,23942,23930,23937,23927,23946,23945,23944,23934,23932,23949,23929,23935,24152,24153,24147,24280,24273,24279,24270,24284,24277,24281,24274,24276,24388,24387,24431,24502,24876,24872,24897,24926,24945,24947,24914,24915,24946,24940,24960,24948,24916,24954,24923,24933,24891,24938,24929,24918,25129,25127,25131,25643,25677,25691,25693,25716,25718,25714,25715,25725,25717,25702,25766,25678,25730,25694,25692,25675,25683,25696,25680,25727,25663,25708,25707,25689,25701,25719,25971,26016,26273,26272,26271,26373,26372,26402,27057,27062,27081,27040,27086,27030,27056,27052,27068,27025,27033,27022,27047,27021,27049,27070,27055,27071,27076,27069,27044,27092,27065,27082,27034,27087,27059,27027,27050,27041,27038,27097,27031,27024,27074,27061,27045,27078,27466,27469,27467,27550,27551,27552,27587,27588,27646,28366,28405,28401,28419,28453,28408,28471,28411,28462,28425,28494,28441,28442,28455,28440,28475,28434,28397,28426,28470,28531,28409,28398,28461,28480,28464,28476,28469,28395,28423,28430,28483,28421,28413,28406,28473,28444,28412,28474,28447,28429,28446,28424,28449,29063,29072,29065,29056,29061,29058,29071,29051,29062,29057,29079,29252,29267,29335,29333,29331,29507,29517,29521,29516,29794,29811,29809,29813,29810,29799,29806,29952,29954,29955,30077,30096,30230,30216,30220,30229,30225,30218,30228,30392,30593,30588,30597,30594,30574,30592,30575,30590,30595,30898,30890,30900,30893,30888,30846,30891,30878,30885,30880,30892,30882,30884,31128,31114,31115,31126,31125,31124,31123,31127,31112,31122,31120,31275,31306,31280,31279,31272,31270,31400,31403,31404,31470,31624,31644,31626,31633,31632,31638,31629,31628,31643,31630,31621,31640,21124,31641,31652,31618,31931,31935,31932,31930,32167,32183,32194,32163,32170,32193,32192,32197,32157,32206,32196,32198,32203,32204,32175,32185,32150,32188,32159,32166,32174,32169,32161,32201,32627,32738,32739,32741,32734,32804,32861,32860,33161,33158,33155,33159,33165,33164,33163,33301,33943,33956,33953,33951,33978,33998,33986,33964,33966,33963,33977,33972,33985,33997,33962,33946,33969,34e3,33949,33959,33979,33954,33940,33991,33996,33947,33961,33967,33960,34006,33944,33974,33999,33952,34007,34004,34002,34011,33968,33937,34401,34611,34595,34600,34667,34624,34606,34590,34593,34585,34587,34627,34604,34625,34622,34630,34592,34610,34602,34605,34620,34578,34618,34609,34613,34626,34598,34599,34616,34596,34586,34608,34577,35063,35047,35057,35058,35066,35070,35054,35068,35062,35067,35056,35052,35051,35229,35233,35231,35230,35305,35307,35304,35499,35481,35467,35474,35471,35478,35901,35944,35945,36053,36047,36055,36246,36361,36354,36351,36365,36349,36362,36355,36359,36358,36357,36350,36352,36356,36624,36625,36622,36621,37155,37148,37152,37154,37151,37149,37146,37156,37153,37147,37242,37234,37241,37235,37541,37540,37494,37531,37498,37536,37524,37546,37517,37542,37530,37547,37497,37527,37503,37539,37614,37518,37506,37525,37538,37501,37512,37537,37514,37510,37516,37529,37543,37502,37511,37545,37533,37515,37421,38558,38561,38655,38744,38781,38778,38782,38787,38784,38786,38779,38788,38785,38783,38862,38861,38934,39085,39086,39170,39168,39175,39325,39324,39363,39353,39355,39354,39362,39357,39367,39601,39651,39655,39742,39743,39776,39777,39775,40177,40178,40181,40615,20735,20739,20784,20728,20742,20743,20726,20734,20747,20748,20733,20746,21131,21132,21233,21231,22088,22082,22092,22069,22081,22090,22089,22086,22104,22106,22080,22067,22077,22060,22078,22072,22058,22074,22298,22699,22685,22705,22688,22691,22703,22700,22693,22689,22783,23295,23284,23293,23287,23286,23299,23288,23298,23289,23297,23303,23301,23311,23655,23961,23959,23967,23954,23970,23955,23957,23968,23964,23969,23962,23966,24169,24157,24160,24156,32243,24283,24286,24289,24393,24498,24971,24963,24953,25009,25008,24994,24969,24987,24979,25007,25005,24991,24978,25002,24993,24973,24934,25011,25133,25710,25712,25750,25760,25733,25751,25756,25743,25739,25738,25740,25763,25759,25704,25777,25752,25974,25978,25977,25979,26034,26035,26293,26288,26281,26290,26295,26282,26287,27136,27142,27159,27109,27128,27157,27121,27108,27168,27135,27116,27106,27163,27165,27134,27175,27122,27118,27156,27127,27111,27200,27144,27110,27131,27149,27132,27115,27145,27140,27160,27173,27151,27126,27174,27143,27124,27158,27473,27557,27555,27554,27558,27649,27648,27647,27650,28481,28454,28542,28551,28614,28562,28557,28553,28556,28514,28495,28549,28506,28566,28534,28524,28546,28501,28530,28498,28496,28503,28564,28563,28509,28416,28513,28523,28541,28519,28560,28499,28555,28521,28543,28565,28515,28535,28522,28539,29106,29103,29083,29104,29088,29082,29097,29109,29085,29093,29086,29092,29089,29098,29084,29095,29107,29336,29338,29528,29522,29534,29535,29536,29533,29531,29537,29530,29529,29538,29831,29833,29834,29830,29825,29821,29829,29832,29820,29817,29960,29959,30078,30245,30238,30233,30237,30236,30243,30234,30248,30235,30364,30365,30366,30363,30605,30607,30601,30600,30925,30907,30927,30924,30929,30926,30932,30920,30915,30916,30921,31130,31137,31136,31132,31138,31131,27510,31289,31410,31412,31411,31671,31691,31678,31660,31694,31663,31673,31690,31669,31941,31944,31948,31947,32247,32219,32234,32231,32215,32225,32259,32250,32230,32246,32241,32240,32238,32223,32630,32684,32688,32685,32749,32747,32746,32748,32742,32744,32868,32871,33187,33183,33182,33173,33186,33177,33175,33302,33359,33363,33362,33360,33358,33361,34084,34107,34063,34048,34089,34062,34057,34061,34079,34058,34087,34076,34043,34091,34042,34056,34060,34036,34090,34034,34069,34039,34027,34035,34044,34066,34026,34025,34070,34046,34088,34077,34094,34050,34045,34078,34038,34097,34086,34023,34024,34032,34031,34041,34072,34080,34096,34059,34073,34095,34402,34646,34659,34660,34679,34785,34675,34648,34644,34651,34642,34657,34650,34641,34654,34669,34666,34640,34638,34655,34653,34671,34668,34682,34670,34652,34661,34639,34683,34677,34658,34663,34665,34906,35077,35084,35092,35083,35095,35096,35097,35078,35094,35089,35086,35081,35234,35236,35235,35309,35312,35308,35535,35526,35512,35539,35537,35540,35541,35515,35543,35518,35520,35525,35544,35523,35514,35517,35545,35902,35917,35983,36069,36063,36057,36072,36058,36061,36071,36256,36252,36257,36251,36384,36387,36389,36388,36398,36373,36379,36374,36369,36377,36390,36391,36372,36370,36376,36371,36380,36375,36378,36652,36644,36632,36634,36640,36643,36630,36631,36979,36976,36975,36967,36971,37167,37163,37161,37162,37170,37158,37166,37253,37254,37258,37249,37250,37252,37248,37584,37571,37572,37568,37593,37558,37583,37617,37599,37592,37609,37591,37597,37580,37615,37570,37608,37578,37576,37582,37606,37581,37589,37577,37600,37598,37607,37585,37587,37557,37601,37574,37556,38268,38316,38315,38318,38320,38564,38562,38611,38661,38664,38658,38746,38794,38798,38792,38864,38863,38942,38941,38950,38953,38952,38944,38939,38951,39090,39176,39162,39185,39188,39190,39191,39189,39388,39373,39375,39379,39380,39374,39369,39382,39384,39371,39383,39372,39603,39660,39659,39667,39666,39665,39750,39747,39783,39796,39793,39782,39798,39797,39792,39784,39780,39788,40188,40186,40189,40191,40183,40199,40192,40185,40187,40200,40197,40196,40579,40659,40719,40720,20764,20755,20759,20762,20753,20958,21300,21473,22128,22112,22126,22131,22118,22115,22125,22130,22110,22135,22300,22299,22728,22717,22729,22719,22714,22722,22716,22726,23319,23321,23323,23329,23316,23315,23312,23318,23336,23322,23328,23326,23535,23980,23985,23977,23975,23989,23984,23982,23978,23976,23986,23981,23983,23988,24167,24168,24166,24175,24297,24295,24294,24296,24293,24395,24508,24989,25e3,24982,25029,25012,25030,25025,25036,25018,25023,25016,24972,25815,25814,25808,25807,25801,25789,25737,25795,25819,25843,25817,25907,25983,25980,26018,26312,26302,26304,26314,26315,26319,26301,26299,26298,26316,26403,27188,27238,27209,27239,27186,27240,27198,27229,27245,27254,27227,27217,27176,27226,27195,27199,27201,27242,27236,27216,27215,27220,27247,27241,27232,27196,27230,27222,27221,27213,27214,27206,27477,27476,27478,27559,27562,27563,27592,27591,27652,27651,27654,28589,28619,28579,28615,28604,28622,28616,28510,28612,28605,28574,28618,28584,28676,28581,28590,28602,28588,28586,28623,28607,28600,28578,28617,28587,28621,28591,28594,28592,29125,29122,29119,29112,29142,29120,29121,29131,29140,29130,29127,29135,29117,29144,29116,29126,29146,29147,29341,29342,29545,29542,29543,29548,29541,29547,29546,29823,29850,29856,29844,29842,29845,29857,29963,30080,30255,30253,30257,30269,30259,30268,30261,30258,30256,30395,30438,30618,30621,30625,30620,30619,30626,30627,30613,30617,30615,30941,30953,30949,30954,30942,30947,30939,30945,30946,30957,30943,30944,31140,31300,31304,31303,31414,31416,31413,31409,31415,31710,31715,31719,31709,31701,31717,31706,31720,31737,31700,31722,31714,31708,31723,31704,31711,31954,31956,31959,31952,31953,32274,32289,32279,32268,32287,32288,32275,32270,32284,32277,32282,32290,32267,32271,32278,32269,32276,32293,32292,32579,32635,32636,32634,32689,32751,32810,32809,32876,33201,33190,33198,33209,33205,33195,33200,33196,33204,33202,33207,33191,33266,33365,33366,33367,34134,34117,34155,34125,34131,34145,34136,34112,34118,34148,34113,34146,34116,34129,34119,34147,34110,34139,34161,34126,34158,34165,34133,34151,34144,34188,34150,34141,34132,34149,34156,34403,34405,34404,34715,34703,34711,34707,34706,34696,34689,34710,34712,34681,34695,34723,34693,34704,34705,34717,34692,34708,34716,34714,34697,35102,35110,35120,35117,35118,35111,35121,35106,35113,35107,35119,35116,35103,35313,35552,35554,35570,35572,35573,35549,35604,35556,35551,35568,35528,35550,35553,35560,35583,35567,35579,35985,35986,35984,36085,36078,36081,36080,36083,36204,36206,36261,36263,36403,36414,36408,36416,36421,36406,36412,36413,36417,36400,36415,36541,36662,36654,36661,36658,36665,36663,36660,36982,36985,36987,36998,37114,37171,37173,37174,37267,37264,37265,37261,37263,37671,37662,37640,37663,37638,37647,37754,37688,37692,37659,37667,37650,37633,37702,37677,37646,37645,37579,37661,37626,37669,37651,37625,37623,37684,37634,37668,37631,37673,37689,37685,37674,37652,37644,37643,37630,37641,37632,37627,37654,38332,38349,38334,38329,38330,38326,38335,38325,38333,38569,38612,38667,38674,38672,38809,38807,38804,38896,38904,38965,38959,38962,39204,39199,39207,39209,39326,39406,39404,39397,39396,39408,39395,39402,39401,39399,39609,39615,39604,39611,39670,39674,39673,39671,39731,39808,39813,39815,39804,39806,39803,39810,39827,39826,39824,39802,39829,39805,39816,40229,40215,40224,40222,40212,40233,40221,40216,40226,40208,40217,40223,40584,40582,40583,40622,40621,40661,40662,40698,40722,40765,20774,20773,20770,20772,20768,20777,21236,22163,22156,22157,22150,22148,22147,22142,22146,22143,22145,22742,22740,22735,22738,23341,23333,23346,23331,23340,23335,23334,23343,23342,23419,23537,23538,23991,24172,24170,24510,24507,25027,25013,25020,25063,25056,25061,25060,25064,25054,25839,25833,25827,25835,25828,25832,25985,25984,26038,26074,26322,27277,27286,27265,27301,27273,27295,27291,27297,27294,27271,27283,27278,27285,27267,27304,27300,27281,27263,27302,27290,27269,27276,27282,27483,27565,27657,28620,28585,28660,28628,28643,28636,28653,28647,28646,28638,28658,28637,28642,28648,29153,29169,29160,29170,29156,29168,29154,29555,29550,29551,29847,29874,29867,29840,29866,29869,29873,29861,29871,29968,29969,29970,29967,30084,30275,30280,30281,30279,30372,30441,30645,30635,30642,30647,30646,30644,30641,30632,30704,30963,30973,30978,30971,30972,30962,30981,30969,30974,30980,31147,31144,31324,31323,31318,31320,31316,31322,31422,31424,31425,31749,31759,31730,31744,31743,31739,31758,31732,31755,31731,31746,31753,31747,31745,31736,31741,31750,31728,31729,31760,31754,31976,32301,32316,32322,32307,38984,32312,32298,32329,32320,32327,32297,32332,32304,32315,32310,32324,32314,32581,32639,32638,32637,32756,32754,32812,33211,33220,33228,33226,33221,33223,33212,33257,33371,33370,33372,34179,34176,34191,34215,34197,34208,34187,34211,34171,34212,34202,34206,34167,34172,34185,34209,34170,34168,34135,34190,34198,34182,34189,34201,34205,34177,34210,34178,34184,34181,34169,34166,34200,34192,34207,34408,34750,34730,34733,34757,34736,34732,34745,34741,34748,34734,34761,34755,34754,34764,34743,34735,34756,34762,34740,34742,34751,34744,34749,34782,34738,35125,35123,35132,35134,35137,35154,35127,35138,35245,35247,35246,35314,35315,35614,35608,35606,35601,35589,35595,35618,35599,35602,35605,35591,35597,35592,35590,35612,35603,35610,35919,35952,35954,35953,35951,35989,35988,36089,36207,36430,36429,36435,36432,36428,36423,36675,36672,36997,36990,37176,37274,37282,37275,37273,37279,37281,37277,37280,37793,37763,37807,37732,37718,37703,37756,37720,37724,37750,37705,37712,37713,37728,37741,37775,37708,37738,37753,37719,37717,37714,37711,37745,37751,37755,37729,37726,37731,37735,37760,37710,37721,38343,38336,38345,38339,38341,38327,38574,38576,38572,38688,38687,38680,38685,38681,38810,38817,38812,38814,38813,38869,38868,38897,38977,38980,38986,38985,38981,38979,39205,39211,39212,39210,39219,39218,39215,39213,39217,39216,39320,39331,39329,39426,39418,39412,39415,39417,39416,39414,39419,39421,39422,39420,39427,39614,39678,39677,39681,39676,39752,39834,39848,39838,39835,39846,39841,39845,39844,39814,39842,39840,39855,40243,40257,40295,40246,40238,40239,40241,40248,40240,40261,40258,40259,40254,40247,40256,40253,32757,40237,40586,40585,40589,40624,40648,40666,40699,40703,40740,40739,40738,40788,40864,20785,20781,20782,22168,22172,22167,22170,22173,22169,22896,23356,23657,23658,24e3,24173,24174,25048,25055,25069,25070,25073,25066,25072,25067,25046,25065,25855,25860,25853,25848,25857,25859,25852,26004,26075,26330,26331,26328,27333,27321,27325,27361,27334,27322,27318,27319,27335,27316,27309,27486,27593,27659,28679,28684,28685,28673,28677,28692,28686,28671,28672,28667,28710,28668,28663,28682,29185,29183,29177,29187,29181,29558,29880,29888,29877,29889,29886,29878,29883,29890,29972,29971,30300,30308,30297,30288,30291,30295,30298,30374,30397,30444,30658,30650,30975,30988,30995,30996,30985,30992,30994,30993,31149,31148,31327,31772,31785,31769,31776,31775,31789,31773,31782,31784,31778,31781,31792,32348,32336,32342,32355,32344,32354,32351,32337,32352,32343,32339,32693,32691,32759,32760,32885,33233,33234,33232,33375,33374,34228,34246,34240,34243,34242,34227,34229,34237,34247,34244,34239,34251,34254,34248,34245,34225,34230,34258,34340,34232,34231,34238,34409,34791,34790,34786,34779,34795,34794,34789,34783,34803,34788,34772,34780,34771,34797,34776,34787,34724,34775,34777,34817,34804,34792,34781,35155,35147,35151,35148,35142,35152,35153,35145,35626,35623,35619,35635,35632,35637,35655,35631,35644,35646,35633,35621,35639,35622,35638,35630,35620,35643,35645,35642,35906,35957,35993,35992,35991,36094,36100,36098,36096,36444,36450,36448,36439,36438,36446,36453,36455,36443,36442,36449,36445,36457,36436,36678,36679,36680,36683,37160,37178,37179,37182,37288,37285,37287,37295,37290,37813,37772,37778,37815,37787,37789,37769,37799,37774,37802,37790,37798,37781,37768,37785,37791,37773,37809,37777,37810,37796,37800,37812,37795,37797,38354,38355,38353,38579,38615,38618,24002,38623,38616,38621,38691,38690,38693,38828,38830,38824,38827,38820,38826,38818,38821,38871,38873,38870,38872,38906,38992,38993,38994,39096,39233,39228,39226,39439,39435,39433,39437,39428,39441,39434,39429,39431,39430,39616,39644,39688,39684,39685,39721,39733,39754,39756,39755,39879,39878,39875,39871,39873,39861,39864,39891,39862,39876,39865,39869,40284,40275,40271,40266,40283,40267,40281,40278,40268,40279,40274,40276,40287,40280,40282,40590,40588,40671,40705,40704,40726,40741,40747,40746,40745,40744,40780,40789,20788,20789,21142,21239,21428,22187,22189,22182,22183,22186,22188,22746,22749,22747,22802,23357,23358,23359,24003,24176,24511,25083,25863,25872,25869,25865,25868,25870,25988,26078,26077,26334,27367,27360,27340,27345,27353,27339,27359,27356,27344,27371,27343,27341,27358,27488,27568,27660,28697,28711,28704,28694,28715,28705,28706,28707,28713,28695,28708,28700,28714,29196,29194,29191,29186,29189,29349,29350,29348,29347,29345,29899,29893,29879,29891,29974,30304,30665,30666,30660,30705,31005,31003,31009,31004,30999,31006,31152,31335,31336,31795,31804,31801,31788,31803,31980,31978,32374,32373,32376,32368,32375,32367,32378,32370,32372,32360,32587,32586,32643,32646,32695,32765,32766,32888,33239,33237,33380,33377,33379,34283,34289,34285,34265,34273,34280,34266,34263,34284,34290,34296,34264,34271,34275,34268,34257,34288,34278,34287,34270,34274,34816,34810,34819,34806,34807,34825,34828,34827,34822,34812,34824,34815,34826,34818,35170,35162,35163,35159,35169,35164,35160,35165,35161,35208,35255,35254,35318,35664,35656,35658,35648,35667,35670,35668,35659,35669,35665,35650,35666,35671,35907,35959,35958,35994,36102,36103,36105,36268,36266,36269,36267,36461,36472,36467,36458,36463,36475,36546,36690,36689,36687,36688,36691,36788,37184,37183,37296,37293,37854,37831,37839,37826,37850,37840,37881,37868,37836,37849,37801,37862,37834,37844,37870,37859,37845,37828,37838,37824,37842,37863,38269,38362,38363,38625,38697,38699,38700,38696,38694,38835,38839,38838,38877,38878,38879,39004,39001,39005,38999,39103,39101,39099,39102,39240,39239,39235,39334,39335,39450,39445,39461,39453,39460,39451,39458,39456,39463,39459,39454,39452,39444,39618,39691,39690,39694,39692,39735,39914,39915,39904,39902,39908,39910,39906,39920,39892,39895,39916,39900,39897,39909,39893,39905,39898,40311,40321,40330,40324,40328,40305,40320,40312,40326,40331,40332,40317,40299,40308,40309,40304,40297,40325,40307,40315,40322,40303,40313,40319,40327,40296,40596,40593,40640,40700,40749,40768,40769,40781,40790,40791,40792,21303,22194,22197,22195,22755,23365,24006,24007,24302,24303,24512,24513,25081,25879,25878,25877,25875,26079,26344,26339,26340,27379,27376,27370,27368,27385,27377,27374,27375,28732,28725,28719,28727,28724,28721,28738,28728,28735,28730,28729,28736,28731,28723,28737,29203,29204,29352,29565,29564,29882,30379,30378,30398,30445,30668,30670,30671,30669,30706,31013,31011,31015,31016,31012,31017,31154,31342,31340,31341,31479,31817,31816,31818,31815,31813,31982,32379,32382,32385,32384,32698,32767,32889,33243,33241,33291,33384,33385,34338,34303,34305,34302,34331,34304,34294,34308,34313,34309,34316,34301,34841,34832,34833,34839,34835,34838,35171,35174,35257,35319,35680,35690,35677,35688,35683,35685,35687,35693,36270,36486,36488,36484,36697,36694,36695,36693,36696,36698,37005,37187,37185,37303,37301,37298,37299,37899,37907,37883,37920,37903,37908,37886,37909,37904,37928,37913,37901,37877,37888,37879,37895,37902,37910,37906,37882,37897,37880,37898,37887,37884,37900,37878,37905,37894,38366,38368,38367,38702,38703,38841,38843,38909,38910,39008,39010,39011,39007,39105,39106,39248,39246,39257,39244,39243,39251,39474,39476,39473,39468,39466,39478,39465,39470,39480,39469,39623,39626,39622,39696,39698,39697,39947,39944,39927,39941,39954,39928,4e4,39943,39950,39942,39959,39956,39945,40351,40345,40356,40349,40338,40344,40336,40347,40352,40340,40348,40362,40343,40353,40346,40354,40360,40350,40355,40383,40361,40342,40358,40359,40601,40603,40602,40677,40676,40679,40678,40752,40750,40795,40800,40798,40797,40793,40849,20794,20793,21144,21143,22211,22205,22206,23368,23367,24011,24015,24305,25085,25883,27394,27388,27395,27384,27392,28739,28740,28746,28744,28745,28741,28742,29213,29210,29209,29566,29975,30314,30672,31021,31025,31023,31828,31827,31986,32394,32391,32392,32395,32390,32397,32589,32699,32816,33245,34328,34346,34342,34335,34339,34332,34329,34343,34350,34337,34336,34345,34334,34341,34857,34845,34843,34848,34852,34844,34859,34890,35181,35177,35182,35179,35322,35705,35704,35653,35706,35707,36112,36116,36271,36494,36492,36702,36699,36701,37190,37188,37189,37305,37951,37947,37942,37929,37949,37948,37936,37945,37930,37943,37932,37952,37937,38373,38372,38371,38709,38714,38847,38881,39012,39113,39110,39104,39256,39254,39481,39485,39494,39492,39490,39489,39482,39487,39629,39701,39703,39704,39702,39738,39762,39979,39965,39964,39980,39971,39976,39977,39972,39969,40375,40374,40380,40385,40391,40394,40399,40382,40389,40387,40379,40373,40398,40377,40378,40364,40392,40369,40365,40396,40371,40397,40370,40570,40604,40683,40686,40685,40731,40728,40730,40753,40782,40805,40804,40850,20153,22214,22213,22219,22897,23371,23372,24021,24017,24306,25889,25888,25894,25890,27403,27400,27401,27661,28757,28758,28759,28754,29214,29215,29353,29567,29912,29909,29913,29911,30317,30381,31029,31156,31344,31345,31831,31836,31833,31835,31834,31988,31985,32401,32591,32647,33246,33387,34356,34357,34355,34348,34354,34358,34860,34856,34854,34858,34853,35185,35263,35262,35323,35710,35716,35714,35718,35717,35711,36117,36501,36500,36506,36498,36496,36502,36503,36704,36706,37191,37964,37968,37962,37963,37967,37959,37957,37960,37961,37958,38719,38883,39018,39017,39115,39252,39259,39502,39507,39508,39500,39503,39496,39498,39497,39506,39504,39632,39705,39723,39739,39766,39765,40006,40008,39999,40004,39993,39987,40001,39996,39991,39988,39986,39997,39990,40411,40402,40414,40410,40395,40400,40412,40401,40415,40425,40409,40408,40406,40437,40405,40413,40630,40688,40757,40755,40754,40770,40811,40853,40866,20797,21145,22760,22759,22898,23373,24024,34863,24399,25089,25091,25092,25897,25893,26006,26347,27409,27410,27407,27594,28763,28762,29218,29570,29569,29571,30320,30676,31847,31846,32405,33388,34362,34368,34361,34364,34353,34363,34366,34864,34866,34862,34867,35190,35188,35187,35326,35724,35726,35723,35720,35909,36121,36504,36708,36707,37308,37986,37973,37981,37975,37982,38852,38853,38912,39510,39513,39710,39711,39712,40018,40024,40016,40010,40013,40011,40021,40025,40012,40014,40443,40439,40431,40419,40427,40440,40420,40438,40417,40430,40422,40434,40432,40418,40428,40436,40435,40424,40429,40642,40656,40690,40691,40710,40732,40760,40759,40758,40771,40783,40817,40816,40814,40815,22227,22221,23374,23661,25901,26349,26350,27411,28767,28769,28765,28768,29219,29915,29925,30677,31032,31159,31158,31850,32407,32649,33389,34371,34872,34871,34869,34891,35732,35733,36510,36511,36512,36509,37310,37309,37314,37995,37992,37993,38629,38726,38723,38727,38855,38885,39518,39637,39769,40035,40039,40038,40034,40030,40032,40450,40446,40455,40451,40454,40453,40448,40449,40457,40447,40445,40452,40608,40734,40774,40820,40821,40822,22228,25902,26040,27416,27417,27415,27418,28770,29222,29354,30680,30681,31033,31849,31851,31990,32410,32408,32411,32409,33248,33249,34374,34375,34376,35193,35194,35196,35195,35327,35736,35737,36517,36516,36515,37998,37997,37999,38001,38003,38729,39026,39263,40040,40046,40045,40459,40461,40464,40463,40466,40465,40609,40693,40713,40775,40824,40827,40826,40825,22302,28774,31855,34876,36274,36518,37315,38004,38008,38006,38005,39520,40052,40051,40049,40053,40468,40467,40694,40714,40868,28776,28773,31991,34410,34878,34877,34879,35742,35996,36521,36553,38731,39027,39028,39116,39265,39339,39524,39526,39527,39716,40469,40471,40776,25095,27422,29223,34380,36520,38018,38016,38017,39529,39528,39726,40473,29225,34379,35743,38019,40057,40631,30325,39531,40058,40477,28777,28778,40612,40830,40777,40856,30849,37561,35023,22715,24658,31911,23290,9556,9574,9559,9568,9580,9571,9562,9577,9565,9554,9572,9557,9566,9578,9569,9560,9575,9563,9555,9573,9558,9567,9579,9570,9561,9576,9564,9553,9552,9581,9582,9584,9583,65517,132423,37595,132575,147397,34124,17077,29679,20917,13897,149826,166372,37700,137691,33518,146632,30780,26436,25311,149811,166314,131744,158643,135941,20395,140525,20488,159017,162436,144896,150193,140563,20521,131966,24484,131968,131911,28379,132127,20605,20737,13434,20750,39020,14147,33814,149924,132231,20832,144308,20842,134143,139516,131813,140592,132494,143923,137603,23426,34685,132531,146585,20914,20920,40244,20937,20943,20945,15580,20947,150182,20915,20962,21314,20973,33741,26942,145197,24443,21003,21030,21052,21173,21079,21140,21177,21189,31765,34114,21216,34317,158483,21253,166622,21833,28377,147328,133460,147436,21299,21316,134114,27851,136998,26651,29653,24650,16042,14540,136936,29149,17570,21357,21364,165547,21374,21375,136598,136723,30694,21395,166555,21408,21419,21422,29607,153458,16217,29596,21441,21445,27721,20041,22526,21465,15019,134031,21472,147435,142755,21494,134263,21523,28793,21803,26199,27995,21613,158547,134516,21853,21647,21668,18342,136973,134877,15796,134477,166332,140952,21831,19693,21551,29719,21894,21929,22021,137431,147514,17746,148533,26291,135348,22071,26317,144010,26276,26285,22093,22095,30961,22257,38791,21502,22272,22255,22253,166758,13859,135759,22342,147877,27758,28811,22338,14001,158846,22502,136214,22531,136276,148323,22566,150517,22620,22698,13665,22752,22748,135740,22779,23551,22339,172368,148088,37843,13729,22815,26790,14019,28249,136766,23076,21843,136850,34053,22985,134478,158849,159018,137180,23001,137211,137138,159142,28017,137256,136917,23033,159301,23211,23139,14054,149929,23159,14088,23190,29797,23251,159649,140628,15749,137489,14130,136888,24195,21200,23414,25992,23420,162318,16388,18525,131588,23509,24928,137780,154060,132517,23539,23453,19728,23557,138052,23571,29646,23572,138405,158504,23625,18653,23685,23785,23791,23947,138745,138807,23824,23832,23878,138916,23738,24023,33532,14381,149761,139337,139635,33415,14390,15298,24110,27274,24181,24186,148668,134355,21414,20151,24272,21416,137073,24073,24308,164994,24313,24315,14496,24316,26686,37915,24333,131521,194708,15070,18606,135994,24378,157832,140240,24408,140401,24419,38845,159342,24434,37696,166454,24487,23990,15711,152144,139114,159992,140904,37334,131742,166441,24625,26245,137335,14691,15815,13881,22416,141236,31089,15936,24734,24740,24755,149890,149903,162387,29860,20705,23200,24932,33828,24898,194726,159442,24961,20980,132694,24967,23466,147383,141407,25043,166813,170333,25040,14642,141696,141505,24611,24924,25886,25483,131352,25285,137072,25301,142861,25452,149983,14871,25656,25592,136078,137212,25744,28554,142902,38932,147596,153373,25825,25829,38011,14950,25658,14935,25933,28438,150056,150051,25989,25965,25951,143486,26037,149824,19255,26065,16600,137257,26080,26083,24543,144384,26136,143863,143864,26180,143780,143781,26187,134773,26215,152038,26227,26228,138813,143921,165364,143816,152339,30661,141559,39332,26370,148380,150049,15147,27130,145346,26462,26471,26466,147917,168173,26583,17641,26658,28240,37436,26625,144358,159136,26717,144495,27105,27147,166623,26995,26819,144845,26881,26880,15666,14849,144956,15232,26540,26977,166474,17148,26934,27032,15265,132041,33635,20624,27129,144985,139562,27205,145155,27293,15347,26545,27336,168348,15373,27421,133411,24798,27445,27508,141261,28341,146139,132021,137560,14144,21537,146266,27617,147196,27612,27703,140427,149745,158545,27738,33318,27769,146876,17605,146877,147876,149772,149760,146633,14053,15595,134450,39811,143865,140433,32655,26679,159013,159137,159211,28054,27996,28284,28420,149887,147589,159346,34099,159604,20935,27804,28189,33838,166689,28207,146991,29779,147330,31180,28239,23185,143435,28664,14093,28573,146992,28410,136343,147517,17749,37872,28484,28508,15694,28532,168304,15675,28575,147780,28627,147601,147797,147513,147440,147380,147775,20959,147798,147799,147776,156125,28747,28798,28839,28801,28876,28885,28886,28895,16644,15848,29108,29078,148087,28971,28997,23176,29002,29038,23708,148325,29007,37730,148161,28972,148570,150055,150050,29114,166888,28861,29198,37954,29205,22801,37955,29220,37697,153093,29230,29248,149876,26813,29269,29271,15957,143428,26637,28477,29314,29482,29483,149539,165931,18669,165892,29480,29486,29647,29610,134202,158254,29641,29769,147938,136935,150052,26147,14021,149943,149901,150011,29687,29717,26883,150054,29753,132547,16087,29788,141485,29792,167602,29767,29668,29814,33721,29804,14128,29812,37873,27180,29826,18771,150156,147807,150137,166799,23366,166915,137374,29896,137608,29966,29929,29982,167641,137803,23511,167596,37765,30029,30026,30055,30062,151426,16132,150803,30094,29789,30110,30132,30210,30252,30289,30287,30319,30326,156661,30352,33263,14328,157969,157966,30369,30373,30391,30412,159647,33890,151709,151933,138780,30494,30502,30528,25775,152096,30552,144044,30639,166244,166248,136897,30708,30729,136054,150034,26826,30895,30919,30931,38565,31022,153056,30935,31028,30897,161292,36792,34948,166699,155779,140828,31110,35072,26882,31104,153687,31133,162617,31036,31145,28202,160038,16040,31174,168205,31188],"euc-kr":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,45081,45082,45083,45086,45087,45088,45089,45090,45091,45092,45093,45094,45095,45097,45098,45099,45100,45101,45102,45103,45104,45105,45106,45107,45108,45109,45110,45111,45112,45113,45114,45115,45116,45117,45118,45119,45120,45121,45122,45123,45126,45127,45129,45131,45133,45135,45136,45137,45138,45142,45144,45146,45147,45148,45150,45151,45152,45153,45154,45155,45156,45157,45158,45159,45160,45161,45162,45163,45164,45165,45166,45167,45168,45169,45170,45171,45172,45173,45174,45175,45176,45177,45178,45179,45182,45183,45185,45186,45187,45189,45190,45191,45192,45193,45194,45195,45198,45200,45202,45203,45204,45205,45206,45207,45211,45213,45214,45219,45220,45221,45222,45223,45226,45232,45234,45238,45239,45241,45242,45243,45245,45246,45247,45248,45249,45250,45251,45254,45258,45259,45260,45261,45262,45263,45266,null,null,null,null,null,null,45267,45269,45270,45271,45273,45274,45275,45276,45277,45278,45279,45281,45282,45283,45284,45286,45287,45288,45289,45290,45291,45292,45293,45294,45295,45296,null,null,null,null,null,null,45297,45298,45299,45300,45301,45302,45303,45304,45305,45306,45307,45308,45309,45310,45311,45312,45313,45314,45315,45316,45317,45318,45319,45322,45325,45326,45327,45329,45332,45333,45334,45335,45338,45342,45343,45344,45345,45346,45350,45351,45353,45354,45355,45357,45358,45359,45360,45361,45362,45363,45366,45370,45371,45372,45373,45374,45375,45378,45379,45381,45382,45383,45385,45386,45387,45388,45389,45390,45391,45394,45395,45398,45399,45401,45402,45403,45405,45406,45407,45409,45410,45411,45412,45413,45414,45415,45416,45417,45418,45419,45420,45421,45422,45423,45424,45425,45426,45427,45428,45429,45430,45431,45434,45435,45437,45438,45439,45441,45443,45444,45445,45446,45447,45450,45452,45454,45455,45456,45457,45461,45462,45463,45465,45466,45467,45469,45470,45471,45472,45473,45474,45475,45476,45477,45478,45479,45481,45482,45483,45484,45485,45486,45487,45488,45489,45490,45491,45492,45493,45494,45495,45496,null,null,null,null,null,null,45497,45498,45499,45500,45501,45502,45503,45504,45505,45506,45507,45508,45509,45510,45511,45512,45513,45514,45515,45517,45518,45519,45521,45522,45523,45525,null,null,null,null,null,null,45526,45527,45528,45529,45530,45531,45534,45536,45537,45538,45539,45540,45541,45542,45543,45546,45547,45549,45550,45551,45553,45554,45555,45556,45557,45558,45559,45560,45562,45564,45566,45567,45568,45569,45570,45571,45574,45575,45577,45578,45581,45582,45583,45584,45585,45586,45587,45590,45592,45594,45595,45596,45597,45598,45599,45601,45602,45603,45604,45605,45606,45607,45608,45609,45610,45611,45612,45613,45614,45615,45616,45617,45618,45619,45621,45622,45623,45624,45625,45626,45627,45629,45630,45631,45632,45633,45634,45635,45636,45637,45638,45639,45640,45641,45642,45643,45644,45645,45646,45647,45648,45649,45650,45651,45652,45653,45654,45655,45657,45658,45659,45661,45662,45663,45665,45666,45667,45668,45669,45670,45671,45674,45675,45676,45677,45678,45679,45680,45681,45682,45683,45686,45687,45688,45689,45690,45691,45693,45694,45695,45696,45697,45698,45699,45702,45703,45704,45706,45707,45708,45709,45710,null,null,null,null,null,null,45711,45714,45715,45717,45718,45719,45723,45724,45725,45726,45727,45730,45732,45735,45736,45737,45739,45741,45742,45743,45745,45746,45747,45749,45750,45751,null,null,null,null,null,null,45752,45753,45754,45755,45756,45757,45758,45759,45760,45761,45762,45763,45764,45765,45766,45767,45770,45771,45773,45774,45775,45777,45779,45780,45781,45782,45783,45786,45788,45790,45791,45792,45793,45795,45799,45801,45802,45808,45809,45810,45814,45820,45821,45822,45826,45827,45829,45830,45831,45833,45834,45835,45836,45837,45838,45839,45842,45846,45847,45848,45849,45850,45851,45853,45854,45855,45856,45857,45858,45859,45860,45861,45862,45863,45864,45865,45866,45867,45868,45869,45870,45871,45872,45873,45874,45875,45876,45877,45878,45879,45880,45881,45882,45883,45884,45885,45886,45887,45888,45889,45890,45891,45892,45893,45894,45895,45896,45897,45898,45899,45900,45901,45902,45903,45904,45905,45906,45907,45911,45913,45914,45917,45920,45921,45922,45923,45926,45928,45930,45932,45933,45935,45938,45939,45941,45942,45943,45945,45946,45947,45948,45949,45950,45951,45954,45958,45959,45960,45961,45962,45963,45965,null,null,null,null,null,null,45966,45967,45969,45970,45971,45973,45974,45975,45976,45977,45978,45979,45980,45981,45982,45983,45986,45987,45988,45989,45990,45991,45993,45994,45995,45997,null,null,null,null,null,null,45998,45999,46e3,46001,46002,46003,46004,46005,46006,46007,46008,46009,46010,46011,46012,46013,46014,46015,46016,46017,46018,46019,46022,46023,46025,46026,46029,46031,46033,46034,46035,46038,46040,46042,46044,46046,46047,46049,46050,46051,46053,46054,46055,46057,46058,46059,46060,46061,46062,46063,46064,46065,46066,46067,46068,46069,46070,46071,46072,46073,46074,46075,46077,46078,46079,46080,46081,46082,46083,46084,46085,46086,46087,46088,46089,46090,46091,46092,46093,46094,46095,46097,46098,46099,46100,46101,46102,46103,46105,46106,46107,46109,46110,46111,46113,46114,46115,46116,46117,46118,46119,46122,46124,46125,46126,46127,46128,46129,46130,46131,46133,46134,46135,46136,46137,46138,46139,46140,46141,46142,46143,46144,46145,46146,46147,46148,46149,46150,46151,46152,46153,46154,46155,46156,46157,46158,46159,46162,46163,46165,46166,46167,46169,46170,46171,46172,46173,46174,46175,46178,46180,46182,null,null,null,null,null,null,46183,46184,46185,46186,46187,46189,46190,46191,46192,46193,46194,46195,46196,46197,46198,46199,46200,46201,46202,46203,46204,46205,46206,46207,46209,46210,null,null,null,null,null,null,46211,46212,46213,46214,46215,46217,46218,46219,46220,46221,46222,46223,46224,46225,46226,46227,46228,46229,46230,46231,46232,46233,46234,46235,46236,46238,46239,46240,46241,46242,46243,46245,46246,46247,46249,46250,46251,46253,46254,46255,46256,46257,46258,46259,46260,46262,46264,46266,46267,46268,46269,46270,46271,46273,46274,46275,46277,46278,46279,46281,46282,46283,46284,46285,46286,46287,46289,46290,46291,46292,46294,46295,46296,46297,46298,46299,46302,46303,46305,46306,46309,46311,46312,46313,46314,46315,46318,46320,46322,46323,46324,46325,46326,46327,46329,46330,46331,46332,46333,46334,46335,46336,46337,46338,46339,46340,46341,46342,46343,46344,46345,46346,46347,46348,46349,46350,46351,46352,46353,46354,46355,46358,46359,46361,46362,46365,46366,46367,46368,46369,46370,46371,46374,46379,46380,46381,46382,46383,46386,46387,46389,46390,46391,46393,46394,46395,46396,46397,46398,46399,46402,46406,null,null,null,null,null,null,46407,46408,46409,46410,46414,46415,46417,46418,46419,46421,46422,46423,46424,46425,46426,46427,46430,46434,46435,46436,46437,46438,46439,46440,46441,46442,null,null,null,null,null,null,46443,46444,46445,46446,46447,46448,46449,46450,46451,46452,46453,46454,46455,46456,46457,46458,46459,46460,46461,46462,46463,46464,46465,46466,46467,46468,46469,46470,46471,46472,46473,46474,46475,46476,46477,46478,46479,46480,46481,46482,46483,46484,46485,46486,46487,46488,46489,46490,46491,46492,46493,46494,46495,46498,46499,46501,46502,46503,46505,46508,46509,46510,46511,46514,46518,46519,46520,46521,46522,46526,46527,46529,46530,46531,46533,46534,46535,46536,46537,46538,46539,46542,46546,46547,46548,46549,46550,46551,46553,46554,46555,46556,46557,46558,46559,46560,46561,46562,46563,46564,46565,46566,46567,46568,46569,46570,46571,46573,46574,46575,46576,46577,46578,46579,46580,46581,46582,46583,46584,46585,46586,46587,46588,46589,46590,46591,46592,46593,46594,46595,46596,46597,46598,46599,46600,46601,46602,46603,46604,46605,46606,46607,46610,46611,46613,46614,46615,46617,46618,46619,46620,46621,null,null,null,null,null,null,46622,46623,46624,46625,46626,46627,46628,46630,46631,46632,46633,46634,46635,46637,46638,46639,46640,46641,46642,46643,46645,46646,46647,46648,46649,46650,null,null,null,null,null,null,46651,46652,46653,46654,46655,46656,46657,46658,46659,46660,46661,46662,46663,46665,46666,46667,46668,46669,46670,46671,46672,46673,46674,46675,46676,46677,46678,46679,46680,46681,46682,46683,46684,46685,46686,46687,46688,46689,46690,46691,46693,46694,46695,46697,46698,46699,46700,46701,46702,46703,46704,46705,46706,46707,46708,46709,46710,46711,46712,46713,46714,46715,46716,46717,46718,46719,46720,46721,46722,46723,46724,46725,46726,46727,46728,46729,46730,46731,46732,46733,46734,46735,46736,46737,46738,46739,46740,46741,46742,46743,46744,46745,46746,46747,46750,46751,46753,46754,46755,46757,46758,46759,46760,46761,46762,46765,46766,46767,46768,46770,46771,46772,46773,46774,46775,46776,46777,46778,46779,46780,46781,46782,46783,46784,46785,46786,46787,46788,46789,46790,46791,46792,46793,46794,46795,46796,46797,46798,46799,46800,46801,46802,46803,46805,46806,46807,46808,46809,46810,46811,46812,46813,null,null,null,null,null,null,46814,46815,46816,46817,46818,46819,46820,46821,46822,46823,46824,46825,46826,46827,46828,46829,46830,46831,46833,46834,46835,46837,46838,46839,46841,46842,null,null,null,null,null,null,46843,46844,46845,46846,46847,46850,46851,46852,46854,46855,46856,46857,46858,46859,46860,46861,46862,46863,46864,46865,46866,46867,46868,46869,46870,46871,46872,46873,46874,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46885,46886,46887,46890,46891,46893,46894,46897,46898,46899,46900,46901,46902,46903,46906,46908,46909,46910,46911,46912,46913,46914,46915,46917,46918,46919,46921,46922,46923,46925,46926,46927,46928,46929,46930,46931,46934,46935,46936,46937,46938,46939,46940,46941,46942,46943,46945,46946,46947,46949,46950,46951,46953,46954,46955,46956,46957,46958,46959,46962,46964,46966,46967,46968,46969,46970,46971,46974,46975,46977,46978,46979,46981,46982,46983,46984,46985,46986,46987,46990,46995,46996,46997,47002,47003,47005,47006,47007,47009,47010,47011,47012,47013,47014,47015,47018,47022,47023,47024,47025,47026,47027,47030,47031,47033,47034,47035,47036,47037,47038,47039,47040,47041,null,null,null,null,null,null,47042,47043,47044,47045,47046,47048,47050,47051,47052,47053,47054,47055,47056,47057,47058,47059,47060,47061,47062,47063,47064,47065,47066,47067,47068,47069,null,null,null,null,null,null,47070,47071,47072,47073,47074,47075,47076,47077,47078,47079,47080,47081,47082,47083,47086,47087,47089,47090,47091,47093,47094,47095,47096,47097,47098,47099,47102,47106,47107,47108,47109,47110,47114,47115,47117,47118,47119,47121,47122,47123,47124,47125,47126,47127,47130,47132,47134,47135,47136,47137,47138,47139,47142,47143,47145,47146,47147,47149,47150,47151,47152,47153,47154,47155,47158,47162,47163,47164,47165,47166,47167,47169,47170,47171,47173,47174,47175,47176,47177,47178,47179,47180,47181,47182,47183,47184,47186,47188,47189,47190,47191,47192,47193,47194,47195,47198,47199,47201,47202,47203,47205,47206,47207,47208,47209,47210,47211,47214,47216,47218,47219,47220,47221,47222,47223,47225,47226,47227,47229,47230,47231,47232,47233,47234,47235,47236,47237,47238,47239,47240,47241,47242,47243,47244,47246,47247,47248,47249,47250,47251,47252,47253,47254,47255,47256,47257,47258,47259,47260,47261,47262,47263,null,null,null,null,null,null,47264,47265,47266,47267,47268,47269,47270,47271,47273,47274,47275,47276,47277,47278,47279,47281,47282,47283,47285,47286,47287,47289,47290,47291,47292,47293,null,null,null,null,null,null,47294,47295,47298,47300,47302,47303,47304,47305,47306,47307,47309,47310,47311,47313,47314,47315,47317,47318,47319,47320,47321,47322,47323,47324,47326,47328,47330,47331,47332,47333,47334,47335,47338,47339,47341,47342,47343,47345,47346,47347,47348,47349,47350,47351,47354,47356,47358,47359,47360,47361,47362,47363,47365,47366,47367,47368,47369,47370,47371,47372,47373,47374,47375,47376,47377,47378,47379,47380,47381,47382,47383,47385,47386,47387,47388,47389,47390,47391,47393,47394,47395,47396,47397,47398,47399,47400,47401,47402,47403,47404,47405,47406,47407,47408,47409,47410,47411,47412,47413,47414,47415,47416,47417,47418,47419,47422,47423,47425,47426,47427,47429,47430,47431,47432,47433,47434,47435,47437,47438,47440,47442,47443,47444,47445,47446,47447,47450,47451,47453,47454,47455,47457,47458,47459,47460,47461,47462,47463,47466,47468,47470,47471,47472,47473,47474,47475,47478,47479,47481,47482,47483,47485,null,null,null,null,null,null,47486,47487,47488,47489,47490,47491,47494,47496,47499,47500,47503,47504,47505,47506,47507,47508,47509,47510,47511,47512,47513,47514,47515,47516,47517,47518,null,null,null,null,null,null,47519,47520,47521,47522,47523,47524,47525,47526,47527,47528,47529,47530,47531,47534,47535,47537,47538,47539,47541,47542,47543,47544,47545,47546,47547,47550,47552,47554,47555,47556,47557,47558,47559,47562,47563,47565,47571,47572,47573,47574,47575,47578,47580,47583,47584,47586,47590,47591,47593,47594,47595,47597,47598,47599,47600,47601,47602,47603,47606,47611,47612,47613,47614,47615,47618,47619,47620,47621,47622,47623,47625,47626,47627,47628,47629,47630,47631,47632,47633,47634,47635,47636,47638,47639,47640,47641,47642,47643,47644,47645,47646,47647,47648,47649,47650,47651,47652,47653,47654,47655,47656,47657,47658,47659,47660,47661,47662,47663,47664,47665,47666,47667,47668,47669,47670,47671,47674,47675,47677,47678,47679,47681,47683,47684,47685,47686,47687,47690,47692,47695,47696,47697,47698,47702,47703,47705,47706,47707,47709,47710,47711,47712,47713,47714,47715,47718,47722,47723,47724,47725,47726,47727,null,null,null,null,null,null,47730,47731,47733,47734,47735,47737,47738,47739,47740,47741,47742,47743,47744,47745,47746,47750,47752,47753,47754,47755,47757,47758,47759,47760,47761,47762,null,null,null,null,null,null,47763,47764,47765,47766,47767,47768,47769,47770,47771,47772,47773,47774,47775,47776,47777,47778,47779,47780,47781,47782,47783,47786,47789,47790,47791,47793,47795,47796,47797,47798,47799,47802,47804,47806,47807,47808,47809,47810,47811,47813,47814,47815,47817,47818,47819,47820,47821,47822,47823,47824,47825,47826,47827,47828,47829,47830,47831,47834,47835,47836,47837,47838,47839,47840,47841,47842,47843,47844,47845,47846,47847,47848,47849,47850,47851,47852,47853,47854,47855,47856,47857,47858,47859,47860,47861,47862,47863,47864,47865,47866,47867,47869,47870,47871,47873,47874,47875,47877,47878,47879,47880,47881,47882,47883,47884,47886,47888,47890,47891,47892,47893,47894,47895,47897,47898,47899,47901,47902,47903,47905,47906,47907,47908,47909,47910,47911,47912,47914,47916,47917,47918,47919,47920,47921,47922,47923,47927,47929,47930,47935,47936,47937,47938,47939,47942,47944,47946,47947,47948,47950,47953,47954,null,null,null,null,null,null,47955,47957,47958,47959,47961,47962,47963,47964,47965,47966,47967,47968,47970,47972,47973,47974,47975,47976,47977,47978,47979,47981,47982,47983,47984,47985,null,null,null,null,null,null,47986,47987,47988,47989,47990,47991,47992,47993,47994,47995,47996,47997,47998,47999,48e3,48001,48002,48003,48004,48005,48006,48007,48009,48010,48011,48013,48014,48015,48017,48018,48019,48020,48021,48022,48023,48024,48025,48026,48027,48028,48029,48030,48031,48032,48033,48034,48035,48037,48038,48039,48041,48042,48043,48045,48046,48047,48048,48049,48050,48051,48053,48054,48056,48057,48058,48059,48060,48061,48062,48063,48065,48066,48067,48069,48070,48071,48073,48074,48075,48076,48077,48078,48079,48081,48082,48084,48085,48086,48087,48088,48089,48090,48091,48092,48093,48094,48095,48096,48097,48098,48099,48100,48101,48102,48103,48104,48105,48106,48107,48108,48109,48110,48111,48112,48113,48114,48115,48116,48117,48118,48119,48122,48123,48125,48126,48129,48131,48132,48133,48134,48135,48138,48142,48144,48146,48147,48153,48154,48160,48161,48162,48163,48166,48168,48170,48171,48172,48174,48175,48178,48179,48181,null,null,null,null,null,null,48182,48183,48185,48186,48187,48188,48189,48190,48191,48194,48198,48199,48200,48202,48203,48206,48207,48209,48210,48211,48212,48213,48214,48215,48216,48217,null,null,null,null,null,null,48218,48219,48220,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48234,48235,48236,48237,48238,48239,48240,48241,48242,48243,48244,48245,48246,48247,48248,48249,48250,48251,48252,48253,48254,48255,48256,48257,48258,48259,48262,48263,48265,48266,48269,48271,48272,48273,48274,48275,48278,48280,48283,48284,48285,48286,48287,48290,48291,48293,48294,48297,48298,48299,48300,48301,48302,48303,48306,48310,48311,48312,48313,48314,48315,48318,48319,48321,48322,48323,48325,48326,48327,48328,48329,48330,48331,48332,48334,48338,48339,48340,48342,48343,48345,48346,48347,48349,48350,48351,48352,48353,48354,48355,48356,48357,48358,48359,48360,48361,48362,48363,48364,48365,48366,48367,48368,48369,48370,48371,48375,48377,48378,48379,48381,48382,48383,48384,48385,48386,48387,48390,48392,48394,48395,48396,48397,48398,48399,48401,48402,48403,48405,48406,48407,48408,48409,48410,48411,48412,48413,null,null,null,null,null,null,48414,48415,48416,48417,48418,48419,48421,48422,48423,48424,48425,48426,48427,48429,48430,48431,48432,48433,48434,48435,48436,48437,48438,48439,48440,48441,null,null,null,null,null,null,48442,48443,48444,48445,48446,48447,48449,48450,48451,48452,48453,48454,48455,48458,48459,48461,48462,48463,48465,48466,48467,48468,48469,48470,48471,48474,48475,48476,48477,48478,48479,48480,48481,48482,48483,48485,48486,48487,48489,48490,48491,48492,48493,48494,48495,48496,48497,48498,48499,48500,48501,48502,48503,48504,48505,48506,48507,48508,48509,48510,48511,48514,48515,48517,48518,48523,48524,48525,48526,48527,48530,48532,48534,48535,48536,48539,48541,48542,48543,48544,48545,48546,48547,48549,48550,48551,48552,48553,48554,48555,48556,48557,48558,48559,48561,48562,48563,48564,48565,48566,48567,48569,48570,48571,48572,48573,48574,48575,48576,48577,48578,48579,48580,48581,48582,48583,48584,48585,48586,48587,48588,48589,48590,48591,48592,48593,48594,48595,48598,48599,48601,48602,48603,48605,48606,48607,48608,48609,48610,48611,48612,48613,48614,48615,48616,48618,48619,48620,48621,48622,48623,48625,null,null,null,null,null,null,48626,48627,48629,48630,48631,48633,48634,48635,48636,48637,48638,48639,48641,48642,48644,48646,48647,48648,48649,48650,48651,48654,48655,48657,48658,48659,null,null,null,null,null,null,48661,48662,48663,48664,48665,48666,48667,48670,48672,48673,48674,48675,48676,48677,48678,48679,48680,48681,48682,48683,48684,48685,48686,48687,48688,48689,48690,48691,48692,48693,48694,48695,48696,48697,48698,48699,48700,48701,48702,48703,48704,48705,48706,48707,48710,48711,48713,48714,48715,48717,48719,48720,48721,48722,48723,48726,48728,48732,48733,48734,48735,48738,48739,48741,48742,48743,48745,48747,48748,48749,48750,48751,48754,48758,48759,48760,48761,48762,48766,48767,48769,48770,48771,48773,48774,48775,48776,48777,48778,48779,48782,48786,48787,48788,48789,48790,48791,48794,48795,48796,48797,48798,48799,48800,48801,48802,48803,48804,48805,48806,48807,48809,48810,48811,48812,48813,48814,48815,48816,48817,48818,48819,48820,48821,48822,48823,48824,48825,48826,48827,48828,48829,48830,48831,48832,48833,48834,48835,48836,48837,48838,48839,48840,48841,48842,48843,48844,48845,48846,48847,48850,48851,null,null,null,null,null,null,48853,48854,48857,48858,48859,48860,48861,48862,48863,48865,48866,48870,48871,48872,48873,48874,48875,48877,48878,48879,48880,48881,48882,48883,48884,48885,null,null,null,null,null,null,48886,48887,48888,48889,48890,48891,48892,48893,48894,48895,48896,48898,48899,48900,48901,48902,48903,48906,48907,48908,48909,48910,48911,48912,48913,48914,48915,48916,48917,48918,48919,48922,48926,48927,48928,48929,48930,48931,48932,48933,48934,48935,48936,48937,48938,48939,48940,48941,48942,48943,48944,48945,48946,48947,48948,48949,48950,48951,48952,48953,48954,48955,48956,48957,48958,48959,48962,48963,48965,48966,48967,48969,48970,48971,48972,48973,48974,48975,48978,48979,48980,48982,48983,48984,48985,48986,48987,48988,48989,48990,48991,48992,48993,48994,48995,48996,48997,48998,48999,49e3,49001,49002,49003,49004,49005,49006,49007,49008,49009,49010,49011,49012,49013,49014,49015,49016,49017,49018,49019,49020,49021,49022,49023,49024,49025,49026,49027,49028,49029,49030,49031,49032,49033,49034,49035,49036,49037,49038,49039,49040,49041,49042,49043,49045,49046,49047,49048,49049,49050,49051,49052,49053,null,null,null,null,null,null,49054,49055,49056,49057,49058,49059,49060,49061,49062,49063,49064,49065,49066,49067,49068,49069,49070,49071,49073,49074,49075,49076,49077,49078,49079,49080,null,null,null,null,null,null,49081,49082,49083,49084,49085,49086,49087,49088,49089,49090,49091,49092,49094,49095,49096,49097,49098,49099,49102,49103,49105,49106,49107,49109,49110,49111,49112,49113,49114,49115,49117,49118,49120,49122,49123,49124,49125,49126,49127,49128,49129,49130,49131,49132,49133,49134,49135,49136,49137,49138,49139,49140,49141,49142,49143,49144,49145,49146,49147,49148,49149,49150,49151,49152,49153,49154,49155,49156,49157,49158,49159,49160,49161,49162,49163,49164,49165,49166,49167,49168,49169,49170,49171,49172,49173,49174,49175,49176,49177,49178,49179,49180,49181,49182,49183,49184,49185,49186,49187,49188,49189,49190,49191,49192,49193,49194,49195,49196,49197,49198,49199,49200,49201,49202,49203,49204,49205,49206,49207,49208,49209,49210,49211,49213,49214,49215,49216,49217,49218,49219,49220,49221,49222,49223,49224,49225,49226,49227,49228,49229,49230,49231,49232,49234,49235,49236,49237,49238,49239,49241,49242,49243,null,null,null,null,null,null,49245,49246,49247,49249,49250,49251,49252,49253,49254,49255,49258,49259,49260,49261,49262,49263,49264,49265,49266,49267,49268,49269,49270,49271,49272,49273,null,null,null,null,null,null,49274,49275,49276,49277,49278,49279,49280,49281,49282,49283,49284,49285,49286,49287,49288,49289,49290,49291,49292,49293,49294,49295,49298,49299,49301,49302,49303,49305,49306,49307,49308,49309,49310,49311,49314,49316,49318,49319,49320,49321,49322,49323,49326,49329,49330,49335,49336,49337,49338,49339,49342,49346,49347,49348,49350,49351,49354,49355,49357,49358,49359,49361,49362,49363,49364,49365,49366,49367,49370,49374,49375,49376,49377,49378,49379,49382,49383,49385,49386,49387,49389,49390,49391,49392,49393,49394,49395,49398,49400,49402,49403,49404,49405,49406,49407,49409,49410,49411,49413,49414,49415,49417,49418,49419,49420,49421,49422,49423,49425,49426,49427,49428,49430,49431,49432,49433,49434,49435,49441,49442,49445,49448,49449,49450,49451,49454,49458,49459,49460,49461,49463,49466,49467,49469,49470,49471,49473,49474,49475,49476,49477,49478,49479,49482,49486,49487,49488,49489,49490,49491,49494,49495,null,null,null,null,null,null,49497,49498,49499,49501,49502,49503,49504,49505,49506,49507,49510,49514,49515,49516,49517,49518,49519,49521,49522,49523,49525,49526,49527,49529,49530,49531,null,null,null,null,null,null,49532,49533,49534,49535,49536,49537,49538,49539,49540,49542,49543,49544,49545,49546,49547,49551,49553,49554,49555,49557,49559,49560,49561,49562,49563,49566,49568,49570,49571,49572,49574,49575,49578,49579,49581,49582,49583,49585,49586,49587,49588,49589,49590,49591,49592,49593,49594,49595,49596,49598,49599,49600,49601,49602,49603,49605,49606,49607,49609,49610,49611,49613,49614,49615,49616,49617,49618,49619,49621,49622,49625,49626,49627,49628,49629,49630,49631,49633,49634,49635,49637,49638,49639,49641,49642,49643,49644,49645,49646,49647,49650,49652,49653,49654,49655,49656,49657,49658,49659,49662,49663,49665,49666,49667,49669,49670,49671,49672,49673,49674,49675,49678,49680,49682,49683,49684,49685,49686,49687,49690,49691,49693,49694,49697,49698,49699,49700,49701,49702,49703,49706,49708,49710,49712,49715,49717,49718,49719,49720,49721,49722,49723,49724,49725,49726,49727,49728,49729,49730,49731,49732,49733,null,null,null,null,null,null,49734,49735,49737,49738,49739,49740,49741,49742,49743,49746,49747,49749,49750,49751,49753,49754,49755,49756,49757,49758,49759,49761,49762,49763,49764,49766,null,null,null,null,null,null,49767,49768,49769,49770,49771,49774,49775,49777,49778,49779,49781,49782,49783,49784,49785,49786,49787,49790,49792,49794,49795,49796,49797,49798,49799,49802,49803,49804,49805,49806,49807,49809,49810,49811,49812,49813,49814,49815,49817,49818,49820,49822,49823,49824,49825,49826,49827,49830,49831,49833,49834,49835,49838,49839,49840,49841,49842,49843,49846,49848,49850,49851,49852,49853,49854,49855,49856,49857,49858,49859,49860,49861,49862,49863,49864,49865,49866,49867,49868,49869,49870,49871,49872,49873,49874,49875,49876,49877,49878,49879,49880,49881,49882,49883,49886,49887,49889,49890,49893,49894,49895,49896,49897,49898,49902,49904,49906,49907,49908,49909,49911,49914,49917,49918,49919,49921,49922,49923,49924,49925,49926,49927,49930,49931,49934,49935,49936,49937,49938,49942,49943,49945,49946,49947,49949,49950,49951,49952,49953,49954,49955,49958,49959,49962,49963,49964,49965,49966,49967,49968,49969,49970,null,null,null,null,null,null,49971,49972,49973,49974,49975,49976,49977,49978,49979,49980,49981,49982,49983,49984,49985,49986,49987,49988,49990,49991,49992,49993,49994,49995,49996,49997,null,null,null,null,null,null,49998,49999,5e4,50001,50002,50003,50004,50005,50006,50007,50008,50009,50010,50011,50012,50013,50014,50015,50016,50017,50018,50019,50020,50021,50022,50023,50026,50027,50029,50030,50031,50033,50035,50036,50037,50038,50039,50042,50043,50046,50047,50048,50049,50050,50051,50053,50054,50055,50057,50058,50059,50061,50062,50063,50064,50065,50066,50067,50068,50069,50070,50071,50072,50073,50074,50075,50076,50077,50078,50079,50080,50081,50082,50083,50084,50085,50086,50087,50088,50089,50090,50091,50092,50093,50094,50095,50096,50097,50098,50099,50100,50101,50102,50103,50104,50105,50106,50107,50108,50109,50110,50111,50113,50114,50115,50116,50117,50118,50119,50120,50121,50122,50123,50124,50125,50126,50127,50128,50129,50130,50131,50132,50133,50134,50135,50138,50139,50141,50142,50145,50147,50148,50149,50150,50151,50154,50155,50156,50158,50159,50160,50161,50162,50163,50166,50167,50169,50170,50171,50172,50173,50174,null,null,null,null,null,null,50175,50176,50177,50178,50179,50180,50181,50182,50183,50185,50186,50187,50188,50189,50190,50191,50193,50194,50195,50196,50197,50198,50199,50200,50201,50202,null,null,null,null,null,null,50203,50204,50205,50206,50207,50208,50209,50210,50211,50213,50214,50215,50216,50217,50218,50219,50221,50222,50223,50225,50226,50227,50229,50230,50231,50232,50233,50234,50235,50238,50239,50240,50241,50242,50243,50244,50245,50246,50247,50249,50250,50251,50252,50253,50254,50255,50256,50257,50258,50259,50260,50261,50262,50263,50264,50265,50266,50267,50268,50269,50270,50271,50272,50273,50274,50275,50278,50279,50281,50282,50283,50285,50286,50287,50288,50289,50290,50291,50294,50295,50296,50298,50299,50300,50301,50302,50303,50305,50306,50307,50308,50309,50310,50311,50312,50313,50314,50315,50316,50317,50318,50319,50320,50321,50322,50323,50325,50326,50327,50328,50329,50330,50331,50333,50334,50335,50336,50337,50338,50339,50340,50341,50342,50343,50344,50345,50346,50347,50348,50349,50350,50351,50352,50353,50354,50355,50356,50357,50358,50359,50361,50362,50363,50365,50366,50367,50368,50369,50370,50371,50372,50373,null,null,null,null,null,null,50374,50375,50376,50377,50378,50379,50380,50381,50382,50383,50384,50385,50386,50387,50388,50389,50390,50391,50392,50393,50394,50395,50396,50397,50398,50399,null,null,null,null,null,null,50400,50401,50402,50403,50404,50405,50406,50407,50408,50410,50411,50412,50413,50414,50415,50418,50419,50421,50422,50423,50425,50427,50428,50429,50430,50434,50435,50436,50437,50438,50439,50440,50441,50442,50443,50445,50446,50447,50449,50450,50451,50453,50454,50455,50456,50457,50458,50459,50461,50462,50463,50464,50465,50466,50467,50468,50469,50470,50471,50474,50475,50477,50478,50479,50481,50482,50483,50484,50485,50486,50487,50490,50492,50494,50495,50496,50497,50498,50499,50502,50503,50507,50511,50512,50513,50514,50518,50522,50523,50524,50527,50530,50531,50533,50534,50535,50537,50538,50539,50540,50541,50542,50543,50546,50550,50551,50552,50553,50554,50555,50558,50559,50561,50562,50563,50565,50566,50568,50569,50570,50571,50574,50576,50578,50579,50580,50582,50585,50586,50587,50589,50590,50591,50593,50594,50595,50596,50597,50598,50599,50600,50602,50603,50604,50605,50606,50607,50608,50609,50610,50611,50614,null,null,null,null,null,null,50615,50618,50623,50624,50625,50626,50627,50635,50637,50639,50642,50643,50645,50646,50647,50649,50650,50651,50652,50653,50654,50655,50658,50660,50662,50663,null,null,null,null,null,null,50664,50665,50666,50667,50671,50673,50674,50675,50677,50680,50681,50682,50683,50690,50691,50692,50697,50698,50699,50701,50702,50703,50705,50706,50707,50708,50709,50710,50711,50714,50717,50718,50719,50720,50721,50722,50723,50726,50727,50729,50730,50731,50735,50737,50738,50742,50744,50746,50748,50749,50750,50751,50754,50755,50757,50758,50759,50761,50762,50763,50764,50765,50766,50767,50770,50774,50775,50776,50777,50778,50779,50782,50783,50785,50786,50787,50788,50789,50790,50791,50792,50793,50794,50795,50797,50798,50800,50802,50803,50804,50805,50806,50807,50810,50811,50813,50814,50815,50817,50818,50819,50820,50821,50822,50823,50826,50828,50830,50831,50832,50833,50834,50835,50838,50839,50841,50842,50843,50845,50846,50847,50848,50849,50850,50851,50854,50856,50858,50859,50860,50861,50862,50863,50866,50867,50869,50870,50871,50875,50876,50877,50878,50879,50882,50884,50886,50887,50888,50889,50890,50891,50894,null,null,null,null,null,null,50895,50897,50898,50899,50901,50902,50903,50904,50905,50906,50907,50910,50911,50914,50915,50916,50917,50918,50919,50922,50923,50925,50926,50927,50929,50930,null,null,null,null,null,null,50931,50932,50933,50934,50935,50938,50939,50940,50942,50943,50944,50945,50946,50947,50950,50951,50953,50954,50955,50957,50958,50959,50960,50961,50962,50963,50966,50968,50970,50971,50972,50973,50974,50975,50978,50979,50981,50982,50983,50985,50986,50987,50988,50989,50990,50991,50994,50996,50998,51e3,51001,51002,51003,51006,51007,51009,51010,51011,51013,51014,51015,51016,51017,51019,51022,51024,51033,51034,51035,51037,51038,51039,51041,51042,51043,51044,51045,51046,51047,51049,51050,51052,51053,51054,51055,51056,51057,51058,51059,51062,51063,51065,51066,51067,51071,51072,51073,51074,51078,51083,51084,51085,51087,51090,51091,51093,51097,51099,51100,51101,51102,51103,51106,51111,51112,51113,51114,51115,51118,51119,51121,51122,51123,51125,51126,51127,51128,51129,51130,51131,51134,51138,51139,51140,51141,51142,51143,51146,51147,51149,51151,51153,51154,51155,51156,51157,51158,51159,51161,51162,51163,51164,null,null,null,null,null,null,51166,51167,51168,51169,51170,51171,51173,51174,51175,51177,51178,51179,51181,51182,51183,51184,51185,51186,51187,51188,51189,51190,51191,51192,51193,51194,null,null,null,null,null,null,51195,51196,51197,51198,51199,51202,51203,51205,51206,51207,51209,51211,51212,51213,51214,51215,51218,51220,51223,51224,51225,51226,51227,51230,51231,51233,51234,51235,51237,51238,51239,51240,51241,51242,51243,51246,51248,51250,51251,51252,51253,51254,51255,51257,51258,51259,51261,51262,51263,51265,51266,51267,51268,51269,51270,51271,51274,51275,51278,51279,51280,51281,51282,51283,51285,51286,51287,51288,51289,51290,51291,51292,51293,51294,51295,51296,51297,51298,51299,51300,51301,51302,51303,51304,51305,51306,51307,51308,51309,51310,51311,51314,51315,51317,51318,51319,51321,51323,51324,51325,51326,51327,51330,51332,51336,51337,51338,51342,51343,51344,51345,51346,51347,51349,51350,51351,51352,51353,51354,51355,51356,51358,51360,51362,51363,51364,51365,51366,51367,51369,51370,51371,51372,51373,51374,51375,51376,51377,51378,51379,51380,51381,51382,51383,51384,51385,51386,51387,51390,51391,51392,51393,null,null,null,null,null,null,51394,51395,51397,51398,51399,51401,51402,51403,51405,51406,51407,51408,51409,51410,51411,51414,51416,51418,51419,51420,51421,51422,51423,51426,51427,51429,null,null,null,null,null,null,51430,51431,51432,51433,51434,51435,51436,51437,51438,51439,51440,51441,51442,51443,51444,51446,51447,51448,51449,51450,51451,51454,51455,51457,51458,51459,51463,51464,51465,51466,51467,51470,12288,12289,12290,183,8229,8230,168,12291,173,8213,8741,65340,8764,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,177,215,247,8800,8804,8805,8734,8756,176,8242,8243,8451,8491,65504,65505,65509,9794,9792,8736,8869,8978,8706,8711,8801,8786,167,8251,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8594,8592,8593,8595,8596,12307,8810,8811,8730,8765,8733,8757,8747,8748,8712,8715,8838,8839,8834,8835,8746,8745,8743,8744,65506,51472,51474,51475,51476,51477,51478,51479,51481,51482,51483,51484,51485,51486,51487,51488,51489,51490,51491,51492,51493,51494,51495,51496,51497,51498,51499,null,null,null,null,null,null,51501,51502,51503,51504,51505,51506,51507,51509,51510,51511,51512,51513,51514,51515,51516,51517,51518,51519,51520,51521,51522,51523,51524,51525,51526,51527,null,null,null,null,null,null,51528,51529,51530,51531,51532,51533,51534,51535,51538,51539,51541,51542,51543,51545,51546,51547,51548,51549,51550,51551,51554,51556,51557,51558,51559,51560,51561,51562,51563,51565,51566,51567,8658,8660,8704,8707,180,65374,711,728,733,730,729,184,731,161,191,720,8750,8721,8719,164,8457,8240,9665,9664,9655,9654,9828,9824,9825,9829,9831,9827,8857,9672,9635,9680,9681,9618,9636,9637,9640,9639,9638,9641,9832,9743,9742,9756,9758,182,8224,8225,8597,8599,8601,8598,8600,9837,9833,9834,9836,12927,12828,8470,13255,8482,13250,13272,8481,8364,174,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51569,51570,51571,51573,51574,51575,51576,51577,51578,51579,51581,51582,51583,51584,51585,51586,51587,51588,51589,51590,51591,51594,51595,51597,51598,51599,null,null,null,null,null,null,51601,51602,51603,51604,51605,51606,51607,51610,51612,51614,51615,51616,51617,51618,51619,51620,51621,51622,51623,51624,51625,51626,51627,51628,51629,51630,null,null,null,null,null,null,51631,51632,51633,51634,51635,51636,51637,51638,51639,51640,51641,51642,51643,51644,51645,51646,51647,51650,51651,51653,51654,51657,51659,51660,51661,51662,51663,51666,51668,51671,51672,51675,65281,65282,65283,65284,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65510,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,51678,51679,51681,51683,51685,51686,51688,51689,51690,51691,51694,51698,51699,51700,51701,51702,51703,51706,51707,51709,51710,51711,51713,51714,51715,51716,null,null,null,null,null,null,51717,51718,51719,51722,51726,51727,51728,51729,51730,51731,51733,51734,51735,51737,51738,51739,51740,51741,51742,51743,51744,51745,51746,51747,51748,51749,null,null,null,null,null,null,51750,51751,51752,51754,51755,51756,51757,51758,51759,51760,51761,51762,51763,51764,51765,51766,51767,51768,51769,51770,51771,51772,51773,51774,51775,51776,51777,51778,51779,51780,51781,51782,12593,12594,12595,12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,51783,51784,51785,51786,51787,51790,51791,51793,51794,51795,51797,51798,51799,51800,51801,51802,51803,51806,51810,51811,51812,51813,51814,51815,51817,51818,null,null,null,null,null,null,51819,51820,51821,51822,51823,51824,51825,51826,51827,51828,51829,51830,51831,51832,51833,51834,51835,51836,51838,51839,51840,51841,51842,51843,51845,51846,null,null,null,null,null,null,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,null,null,null,null,null,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892,51893,51894,51895,51896,51897,51898,51899,51902,51903,51905,51906,51907,51909,null,null,null,null,null,null,51910,51911,51912,51913,51914,51915,51918,51920,51922,51924,51925,51926,51927,51930,51931,51932,51933,51934,51935,51937,51938,51939,51940,51941,51942,51943,null,null,null,null,null,null,51944,51945,51946,51947,51949,51950,51951,51952,51953,51954,51955,51957,51958,51959,51960,51961,51962,51963,51964,51965,51966,51967,51968,51969,51970,51971,51972,51973,51974,51975,51977,51978,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,9490,9489,9498,9497,9494,9493,9486,9485,9502,9503,9505,9506,9510,9511,9513,9514,9517,9518,9521,9522,9525,9526,9529,9530,9533,9534,9536,9537,9539,9540,9541,9542,9543,9544,9545,9546,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51979,51980,51981,51982,51983,51985,51986,51987,51989,51990,51991,51993,51994,51995,51996,51997,51998,51999,52002,52003,52004,52005,52006,52007,52008,52009,null,null,null,null,null,null,52010,52011,52012,52013,52014,52015,52016,52017,52018,52019,52020,52021,52022,52023,52024,52025,52026,52027,52028,52029,52030,52031,52032,52034,52035,52036,null,null,null,null,null,null,52037,52038,52039,52042,52043,52045,52046,52047,52049,52050,52051,52052,52053,52054,52055,52058,52059,52060,52062,52063,52064,52065,52066,52067,52069,52070,52071,52072,52073,52074,52075,52076,13205,13206,13207,8467,13208,13252,13219,13220,13221,13222,13209,13210,13211,13212,13213,13214,13215,13216,13217,13218,13258,13197,13198,13199,13263,13192,13193,13256,13223,13224,13232,13233,13234,13235,13236,13237,13238,13239,13240,13241,13184,13185,13186,13187,13188,13242,13243,13244,13245,13246,13247,13200,13201,13202,13203,13204,8486,13248,13249,13194,13195,13196,13270,13253,13229,13230,13231,13275,13225,13226,13227,13228,13277,13264,13267,13251,13257,13276,13254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52077,52078,52079,52080,52081,52082,52083,52084,52085,52086,52087,52090,52091,52092,52093,52094,52095,52096,52097,52098,52099,52100,52101,52102,52103,52104,null,null,null,null,null,null,52105,52106,52107,52108,52109,52110,52111,52112,52113,52114,52115,52116,52117,52118,52119,52120,52121,52122,52123,52125,52126,52127,52128,52129,52130,52131,null,null,null,null,null,null,52132,52133,52134,52135,52136,52137,52138,52139,52140,52141,52142,52143,52144,52145,52146,52147,52148,52149,52150,52151,52153,52154,52155,52156,52157,52158,52159,52160,52161,52162,52163,52164,198,208,170,294,null,306,null,319,321,216,338,186,222,358,330,null,12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911,12912,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,9424,9425,9426,9427,9428,9429,9430,9431,9432,9433,9434,9435,9436,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,189,8531,8532,188,190,8539,8540,8541,8542,52165,52166,52167,52168,52169,52170,52171,52172,52173,52174,52175,52176,52177,52178,52179,52181,52182,52183,52184,52185,52186,52187,52188,52189,52190,52191,null,null,null,null,null,null,52192,52193,52194,52195,52197,52198,52200,52202,52203,52204,52205,52206,52207,52208,52209,52210,52211,52212,52213,52214,52215,52216,52217,52218,52219,52220,null,null,null,null,null,null,52221,52222,52223,52224,52225,52226,52227,52228,52229,52230,52231,52232,52233,52234,52235,52238,52239,52241,52242,52243,52245,52246,52247,52248,52249,52250,52251,52254,52255,52256,52259,52260,230,273,240,295,305,307,312,320,322,248,339,223,254,359,331,329,12800,12801,12802,12803,12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819,12820,12821,12822,12823,12824,12825,12826,12827,9372,9373,9374,9375,9376,9377,9378,9379,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,9393,9394,9395,9396,9397,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,185,178,179,8308,8319,8321,8322,8323,8324,52261,52262,52266,52267,52269,52271,52273,52274,52275,52276,52277,52278,52279,52282,52287,52288,52289,52290,52291,52294,52295,52297,52298,52299,52301,52302,null,null,null,null,null,null,52303,52304,52305,52306,52307,52310,52314,52315,52316,52317,52318,52319,52321,52322,52323,52325,52327,52329,52330,52331,52332,52333,52334,52335,52337,52338,null,null,null,null,null,null,52339,52340,52342,52343,52344,52345,52346,52347,52348,52349,52350,52351,52352,52353,52354,52355,52356,52357,52358,52359,52360,52361,52362,52363,52364,52365,52366,52367,52368,52369,52370,52371,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,52372,52373,52374,52375,52378,52379,52381,52382,52383,52385,52386,52387,52388,52389,52390,52391,52394,52398,52399,52400,52401,52402,52403,52406,52407,52409,null,null,null,null,null,null,52410,52411,52413,52414,52415,52416,52417,52418,52419,52422,52424,52426,52427,52428,52429,52430,52431,52433,52434,52435,52437,52438,52439,52440,52441,52442,null,null,null,null,null,null,52443,52444,52445,52446,52447,52448,52449,52450,52451,52453,52454,52455,52456,52457,52458,52459,52461,52462,52463,52465,52466,52467,52468,52469,52470,52471,52472,52473,52474,52475,52476,52477,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,52478,52479,52480,52482,52483,52484,52485,52486,52487,52490,52491,52493,52494,52495,52497,52498,52499,52500,52501,52502,52503,52506,52508,52510,52511,52512,null,null,null,null,null,null,52513,52514,52515,52517,52518,52519,52521,52522,52523,52525,52526,52527,52528,52529,52530,52531,52532,52533,52534,52535,52536,52538,52539,52540,52541,52542,null,null,null,null,null,null,52543,52544,52545,52546,52547,52548,52549,52550,52551,52552,52553,52554,52555,52556,52557,52558,52559,52560,52561,52562,52563,52564,52565,52566,52567,52568,52569,52570,52571,52573,52574,52575,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,52577,52578,52579,52581,52582,52583,52584,52585,52586,52587,52590,52592,52594,52595,52596,52597,52598,52599,52601,52602,52603,52604,52605,52606,52607,52608,null,null,null,null,null,null,52609,52610,52611,52612,52613,52614,52615,52617,52618,52619,52620,52621,52622,52623,52624,52625,52626,52627,52630,52631,52633,52634,52635,52637,52638,52639,null,null,null,null,null,null,52640,52641,52642,52643,52646,52648,52650,52651,52652,52653,52654,52655,52657,52658,52659,52660,52661,52662,52663,52664,52665,52666,52667,52668,52669,52670,52671,52672,52673,52674,52675,52677,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52678,52679,52680,52681,52682,52683,52685,52686,52687,52689,52690,52691,52692,52693,52694,52695,52696,52697,52698,52699,52700,52701,52702,52703,52704,52705,null,null,null,null,null,null,52706,52707,52708,52709,52710,52711,52713,52714,52715,52717,52718,52719,52721,52722,52723,52724,52725,52726,52727,52730,52732,52734,52735,52736,52737,52738,null,null,null,null,null,null,52739,52741,52742,52743,52745,52746,52747,52749,52750,52751,52752,52753,52754,52755,52757,52758,52759,52760,52762,52763,52764,52765,52766,52767,52770,52771,52773,52774,52775,52777,52778,52779,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52780,52781,52782,52783,52786,52788,52790,52791,52792,52793,52794,52795,52796,52797,52798,52799,52800,52801,52802,52803,52804,52805,52806,52807,52808,52809,null,null,null,null,null,null,52810,52811,52812,52813,52814,52815,52816,52817,52818,52819,52820,52821,52822,52823,52826,52827,52829,52830,52834,52835,52836,52837,52838,52839,52842,52844,null,null,null,null,null,null,52846,52847,52848,52849,52850,52851,52854,52855,52857,52858,52859,52861,52862,52863,52864,52865,52866,52867,52870,52872,52874,52875,52876,52877,52878,52879,52882,52883,52885,52886,52887,52889,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52890,52891,52892,52893,52894,52895,52898,52902,52903,52904,52905,52906,52907,52910,52911,52912,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,null,null,null,null,null,null,52923,52924,52925,52926,52927,52928,52930,52931,52932,52933,52934,52935,52936,52937,52938,52939,52940,52941,52942,52943,52944,52945,52946,52947,52948,52949,null,null,null,null,null,null,52950,52951,52952,52953,52954,52955,52956,52957,52958,52959,52960,52961,52962,52963,52966,52967,52969,52970,52973,52974,52975,52976,52977,52978,52979,52982,52986,52987,52988,52989,52990,52991,44032,44033,44036,44039,44040,44041,44042,44048,44049,44050,44051,44052,44053,44054,44055,44057,44058,44059,44060,44061,44064,44068,44076,44077,44079,44080,44081,44088,44089,44092,44096,44107,44109,44116,44120,44124,44144,44145,44148,44151,44152,44154,44160,44161,44163,44164,44165,44166,44169,44170,44171,44172,44176,44180,44188,44189,44191,44192,44193,44200,44201,44202,44204,44207,44208,44216,44217,44219,44220,44221,44225,44228,44232,44236,44245,44247,44256,44257,44260,44263,44264,44266,44268,44271,44272,44273,44275,44277,44278,44284,44285,44288,44292,44294,52994,52995,52997,52998,52999,53001,53002,53003,53004,53005,53006,53007,53010,53012,53014,53015,53016,53017,53018,53019,53021,53022,53023,53025,53026,53027,null,null,null,null,null,null,53029,53030,53031,53032,53033,53034,53035,53038,53042,53043,53044,53045,53046,53047,53049,53050,53051,53052,53053,53054,53055,53056,53057,53058,53059,53060,null,null,null,null,null,null,53061,53062,53063,53064,53065,53066,53067,53068,53069,53070,53071,53072,53073,53074,53075,53078,53079,53081,53082,53083,53085,53086,53087,53088,53089,53090,53091,53094,53096,53098,53099,53100,44300,44301,44303,44305,44312,44316,44320,44329,44332,44333,44340,44341,44344,44348,44356,44357,44359,44361,44368,44372,44376,44385,44387,44396,44397,44400,44403,44404,44405,44406,44411,44412,44413,44415,44417,44418,44424,44425,44428,44432,44444,44445,44452,44471,44480,44481,44484,44488,44496,44497,44499,44508,44512,44516,44536,44537,44540,44543,44544,44545,44552,44553,44555,44557,44564,44592,44593,44596,44599,44600,44602,44608,44609,44611,44613,44614,44618,44620,44621,44622,44624,44628,44630,44636,44637,44639,44640,44641,44645,44648,44649,44652,44656,44664,53101,53102,53103,53106,53107,53109,53110,53111,53113,53114,53115,53116,53117,53118,53119,53121,53122,53123,53124,53126,53127,53128,53129,53130,53131,53133,null,null,null,null,null,null,53134,53135,53136,53137,53138,53139,53140,53141,53142,53143,53144,53145,53146,53147,53148,53149,53150,53151,53152,53154,53155,53156,53157,53158,53159,53161,null,null,null,null,null,null,53162,53163,53164,53165,53166,53167,53169,53170,53171,53172,53173,53174,53175,53176,53177,53178,53179,53180,53181,53182,53183,53184,53185,53186,53187,53189,53190,53191,53192,53193,53194,53195,44665,44667,44668,44669,44676,44677,44684,44732,44733,44734,44736,44740,44748,44749,44751,44752,44753,44760,44761,44764,44776,44779,44781,44788,44792,44796,44807,44808,44813,44816,44844,44845,44848,44850,44852,44860,44861,44863,44865,44866,44867,44872,44873,44880,44892,44893,44900,44901,44921,44928,44932,44936,44944,44945,44949,44956,44984,44985,44988,44992,44999,45e3,45001,45003,45005,45006,45012,45020,45032,45033,45040,45041,45044,45048,45056,45057,45060,45068,45072,45076,45084,45085,45096,45124,45125,45128,45130,45132,45134,45139,45140,45141,45143,45145,53196,53197,53198,53199,53200,53201,53202,53203,53204,53205,53206,53207,53208,53209,53210,53211,53212,53213,53214,53215,53218,53219,53221,53222,53223,53225,null,null,null,null,null,null,53226,53227,53228,53229,53230,53231,53234,53236,53238,53239,53240,53241,53242,53243,53245,53246,53247,53249,53250,53251,53253,53254,53255,53256,53257,53258,null,null,null,null,null,null,53259,53260,53261,53262,53263,53264,53266,53267,53268,53269,53270,53271,53273,53274,53275,53276,53277,53278,53279,53280,53281,53282,53283,53284,53285,53286,53287,53288,53289,53290,53291,53292,45149,45180,45181,45184,45188,45196,45197,45199,45201,45208,45209,45210,45212,45215,45216,45217,45218,45224,45225,45227,45228,45229,45230,45231,45233,45235,45236,45237,45240,45244,45252,45253,45255,45256,45257,45264,45265,45268,45272,45280,45285,45320,45321,45323,45324,45328,45330,45331,45336,45337,45339,45340,45341,45347,45348,45349,45352,45356,45364,45365,45367,45368,45369,45376,45377,45380,45384,45392,45393,45396,45397,45400,45404,45408,45432,45433,45436,45440,45442,45448,45449,45451,45453,45458,45459,45460,45464,45468,45480,45516,45520,45524,45532,45533,53294,53295,53296,53297,53298,53299,53302,53303,53305,53306,53307,53309,53310,53311,53312,53313,53314,53315,53318,53320,53322,53323,53324,53325,53326,53327,null,null,null,null,null,null,53329,53330,53331,53333,53334,53335,53337,53338,53339,53340,53341,53342,53343,53345,53346,53347,53348,53349,53350,53351,53352,53353,53354,53355,53358,53359,null,null,null,null,null,null,53361,53362,53363,53365,53366,53367,53368,53369,53370,53371,53374,53375,53376,53378,53379,53380,53381,53382,53383,53384,53385,53386,53387,53388,53389,53390,53391,53392,53393,53394,53395,53396,45535,45544,45545,45548,45552,45561,45563,45565,45572,45573,45576,45579,45580,45588,45589,45591,45593,45600,45620,45628,45656,45660,45664,45672,45673,45684,45685,45692,45700,45701,45705,45712,45713,45716,45720,45721,45722,45728,45729,45731,45733,45734,45738,45740,45744,45748,45768,45769,45772,45776,45778,45784,45785,45787,45789,45794,45796,45797,45798,45800,45803,45804,45805,45806,45807,45811,45812,45813,45815,45816,45817,45818,45819,45823,45824,45825,45828,45832,45840,45841,45843,45844,45845,45852,45908,45909,45910,45912,45915,45916,45918,45919,45924,45925,53397,53398,53399,53400,53401,53402,53403,53404,53405,53406,53407,53408,53409,53410,53411,53414,53415,53417,53418,53419,53421,53422,53423,53424,53425,53426,null,null,null,null,null,null,53427,53430,53432,53434,53435,53436,53437,53438,53439,53442,53443,53445,53446,53447,53450,53451,53452,53453,53454,53455,53458,53462,53463,53464,53465,53466,null,null,null,null,null,null,53467,53470,53471,53473,53474,53475,53477,53478,53479,53480,53481,53482,53483,53486,53490,53491,53492,53493,53494,53495,53497,53498,53499,53500,53501,53502,53503,53504,53505,53506,53507,53508,45927,45929,45931,45934,45936,45937,45940,45944,45952,45953,45955,45956,45957,45964,45968,45972,45984,45985,45992,45996,46020,46021,46024,46027,46028,46030,46032,46036,46037,46039,46041,46043,46045,46048,46052,46056,46076,46096,46104,46108,46112,46120,46121,46123,46132,46160,46161,46164,46168,46176,46177,46179,46181,46188,46208,46216,46237,46244,46248,46252,46261,46263,46265,46272,46276,46280,46288,46293,46300,46301,46304,46307,46308,46310,46316,46317,46319,46321,46328,46356,46357,46360,46363,46364,46372,46373,46375,46376,46377,46378,46384,46385,46388,46392,53509,53510,53511,53512,53513,53514,53515,53516,53518,53519,53520,53521,53522,53523,53524,53525,53526,53527,53528,53529,53530,53531,53532,53533,53534,53535,null,null,null,null,null,null,53536,53537,53538,53539,53540,53541,53542,53543,53544,53545,53546,53547,53548,53549,53550,53551,53554,53555,53557,53558,53559,53561,53563,53564,53565,53566,null,null,null,null,null,null,53567,53570,53574,53575,53576,53577,53578,53579,53582,53583,53585,53586,53587,53589,53590,53591,53592,53593,53594,53595,53598,53600,53602,53603,53604,53605,53606,53607,53609,53610,53611,53613,46400,46401,46403,46404,46405,46411,46412,46413,46416,46420,46428,46429,46431,46432,46433,46496,46497,46500,46504,46506,46507,46512,46513,46515,46516,46517,46523,46524,46525,46528,46532,46540,46541,46543,46544,46545,46552,46572,46608,46609,46612,46616,46629,46636,46644,46664,46692,46696,46748,46749,46752,46756,46763,46764,46769,46804,46832,46836,46840,46848,46849,46853,46888,46889,46892,46895,46896,46904,46905,46907,46916,46920,46924,46932,46933,46944,46948,46952,46960,46961,46963,46965,46972,46973,46976,46980,46988,46989,46991,46992,46993,46994,46998,46999,53614,53615,53616,53617,53618,53619,53620,53621,53622,53623,53624,53625,53626,53627,53629,53630,53631,53632,53633,53634,53635,53637,53638,53639,53641,53642,null,null,null,null,null,null,53643,53644,53645,53646,53647,53648,53649,53650,53651,53652,53653,53654,53655,53656,53657,53658,53659,53660,53661,53662,53663,53666,53667,53669,53670,53671,null,null,null,null,null,null,53673,53674,53675,53676,53677,53678,53679,53682,53684,53686,53687,53688,53689,53691,53693,53694,53695,53697,53698,53699,53700,53701,53702,53703,53704,53705,53706,53707,53708,53709,53710,53711,47e3,47001,47004,47008,47016,47017,47019,47020,47021,47028,47029,47032,47047,47049,47084,47085,47088,47092,47100,47101,47103,47104,47105,47111,47112,47113,47116,47120,47128,47129,47131,47133,47140,47141,47144,47148,47156,47157,47159,47160,47161,47168,47172,47185,47187,47196,47197,47200,47204,47212,47213,47215,47217,47224,47228,47245,47272,47280,47284,47288,47296,47297,47299,47301,47308,47312,47316,47325,47327,47329,47336,47337,47340,47344,47352,47353,47355,47357,47364,47384,47392,47420,47421,47424,47428,47436,47439,47441,47448,47449,47452,47456,47464,47465,53712,53713,53714,53715,53716,53717,53718,53719,53721,53722,53723,53724,53725,53726,53727,53728,53729,53730,53731,53732,53733,53734,53735,53736,53737,53738,null,null,null,null,null,null,53739,53740,53741,53742,53743,53744,53745,53746,53747,53749,53750,53751,53753,53754,53755,53756,53757,53758,53759,53760,53761,53762,53763,53764,53765,53766,null,null,null,null,null,null,53768,53770,53771,53772,53773,53774,53775,53777,53778,53779,53780,53781,53782,53783,53784,53785,53786,53787,53788,53789,53790,53791,53792,53793,53794,53795,53796,53797,53798,53799,53800,53801,47467,47469,47476,47477,47480,47484,47492,47493,47495,47497,47498,47501,47502,47532,47533,47536,47540,47548,47549,47551,47553,47560,47561,47564,47566,47567,47568,47569,47570,47576,47577,47579,47581,47582,47585,47587,47588,47589,47592,47596,47604,47605,47607,47608,47609,47610,47616,47617,47624,47637,47672,47673,47676,47680,47682,47688,47689,47691,47693,47694,47699,47700,47701,47704,47708,47716,47717,47719,47720,47721,47728,47729,47732,47736,47747,47748,47749,47751,47756,47784,47785,47787,47788,47792,47794,47800,47801,47803,47805,47812,47816,47832,47833,47868,53802,53803,53806,53807,53809,53810,53811,53813,53814,53815,53816,53817,53818,53819,53822,53824,53826,53827,53828,53829,53830,53831,53833,53834,53835,53836,null,null,null,null,null,null,53837,53838,53839,53840,53841,53842,53843,53844,53845,53846,53847,53848,53849,53850,53851,53853,53854,53855,53856,53857,53858,53859,53861,53862,53863,53864,null,null,null,null,null,null,53865,53866,53867,53868,53869,53870,53871,53872,53873,53874,53875,53876,53877,53878,53879,53880,53881,53882,53883,53884,53885,53886,53887,53890,53891,53893,53894,53895,53897,53898,53899,53900,47872,47876,47885,47887,47889,47896,47900,47904,47913,47915,47924,47925,47926,47928,47931,47932,47933,47934,47940,47941,47943,47945,47949,47951,47952,47956,47960,47969,47971,47980,48008,48012,48016,48036,48040,48044,48052,48055,48064,48068,48072,48080,48083,48120,48121,48124,48127,48128,48130,48136,48137,48139,48140,48141,48143,48145,48148,48149,48150,48151,48152,48155,48156,48157,48158,48159,48164,48165,48167,48169,48173,48176,48177,48180,48184,48192,48193,48195,48196,48197,48201,48204,48205,48208,48221,48260,48261,48264,48267,48268,48270,48276,48277,48279,53901,53902,53903,53906,53907,53908,53910,53911,53912,53913,53914,53915,53917,53918,53919,53921,53922,53923,53925,53926,53927,53928,53929,53930,53931,53933,null,null,null,null,null,null,53934,53935,53936,53938,53939,53940,53941,53942,53943,53946,53947,53949,53950,53953,53955,53956,53957,53958,53959,53962,53964,53965,53966,53967,53968,53969,null,null,null,null,null,null,53970,53971,53973,53974,53975,53977,53978,53979,53981,53982,53983,53984,53985,53986,53987,53990,53991,53992,53993,53994,53995,53996,53997,53998,53999,54002,54003,54005,54006,54007,54009,54010,48281,48282,48288,48289,48292,48295,48296,48304,48305,48307,48308,48309,48316,48317,48320,48324,48333,48335,48336,48337,48341,48344,48348,48372,48373,48374,48376,48380,48388,48389,48391,48393,48400,48404,48420,48428,48448,48456,48457,48460,48464,48472,48473,48484,48488,48512,48513,48516,48519,48520,48521,48522,48528,48529,48531,48533,48537,48538,48540,48548,48560,48568,48596,48597,48600,48604,48617,48624,48628,48632,48640,48643,48645,48652,48653,48656,48660,48668,48669,48671,48708,48709,48712,48716,48718,48724,48725,48727,48729,48730,48731,48736,48737,48740,54011,54012,54013,54014,54015,54018,54020,54022,54023,54024,54025,54026,54027,54031,54033,54034,54035,54037,54039,54040,54041,54042,54043,54046,54050,54051,null,null,null,null,null,null,54052,54054,54055,54058,54059,54061,54062,54063,54065,54066,54067,54068,54069,54070,54071,54074,54078,54079,54080,54081,54082,54083,54086,54087,54088,54089,null,null,null,null,null,null,54090,54091,54092,54093,54094,54095,54096,54097,54098,54099,54100,54101,54102,54103,54104,54105,54106,54107,54108,54109,54110,54111,54112,54113,54114,54115,54116,54117,54118,54119,54120,54121,48744,48746,48752,48753,48755,48756,48757,48763,48764,48765,48768,48772,48780,48781,48783,48784,48785,48792,48793,48808,48848,48849,48852,48855,48856,48864,48867,48868,48869,48876,48897,48904,48905,48920,48921,48923,48924,48925,48960,48961,48964,48968,48976,48977,48981,49044,49072,49093,49100,49101,49104,49108,49116,49119,49121,49212,49233,49240,49244,49248,49256,49257,49296,49297,49300,49304,49312,49313,49315,49317,49324,49325,49327,49328,49331,49332,49333,49334,49340,49341,49343,49344,49345,49349,49352,49353,49356,49360,49368,49369,49371,49372,49373,49380,54122,54123,54124,54125,54126,54127,54128,54129,54130,54131,54132,54133,54134,54135,54136,54137,54138,54139,54142,54143,54145,54146,54147,54149,54150,54151,null,null,null,null,null,null,54152,54153,54154,54155,54158,54162,54163,54164,54165,54166,54167,54170,54171,54173,54174,54175,54177,54178,54179,54180,54181,54182,54183,54186,54188,54190,null,null,null,null,null,null,54191,54192,54193,54194,54195,54197,54198,54199,54201,54202,54203,54205,54206,54207,54208,54209,54210,54211,54214,54215,54218,54219,54220,54221,54222,54223,54225,54226,54227,54228,54229,54230,49381,49384,49388,49396,49397,49399,49401,49408,49412,49416,49424,49429,49436,49437,49438,49439,49440,49443,49444,49446,49447,49452,49453,49455,49456,49457,49462,49464,49465,49468,49472,49480,49481,49483,49484,49485,49492,49493,49496,49500,49508,49509,49511,49512,49513,49520,49524,49528,49541,49548,49549,49550,49552,49556,49558,49564,49565,49567,49569,49573,49576,49577,49580,49584,49597,49604,49608,49612,49620,49623,49624,49632,49636,49640,49648,49649,49651,49660,49661,49664,49668,49676,49677,49679,49681,49688,49689,49692,49695,49696,49704,49705,49707,49709,54231,54233,54234,54235,54236,54237,54238,54239,54240,54242,54244,54245,54246,54247,54248,54249,54250,54251,54254,54255,54257,54258,54259,54261,54262,54263,null,null,null,null,null,null,54264,54265,54266,54267,54270,54272,54274,54275,54276,54277,54278,54279,54281,54282,54283,54284,54285,54286,54287,54288,54289,54290,54291,54292,54293,54294,null,null,null,null,null,null,54295,54296,54297,54298,54299,54300,54302,54303,54304,54305,54306,54307,54308,54309,54310,54311,54312,54313,54314,54315,54316,54317,54318,54319,54320,54321,54322,54323,54324,54325,54326,54327,49711,49713,49714,49716,49736,49744,49745,49748,49752,49760,49765,49772,49773,49776,49780,49788,49789,49791,49793,49800,49801,49808,49816,49819,49821,49828,49829,49832,49836,49837,49844,49845,49847,49849,49884,49885,49888,49891,49892,49899,49900,49901,49903,49905,49910,49912,49913,49915,49916,49920,49928,49929,49932,49933,49939,49940,49941,49944,49948,49956,49957,49960,49961,49989,50024,50025,50028,50032,50034,50040,50041,50044,50045,50052,50056,50060,50112,50136,50137,50140,50143,50144,50146,50152,50153,50157,50164,50165,50168,50184,50192,50212,50220,50224,54328,54329,54330,54331,54332,54333,54334,54335,54337,54338,54339,54341,54342,54343,54344,54345,54346,54347,54348,54349,54350,54351,54352,54353,54354,54355,null,null,null,null,null,null,54356,54357,54358,54359,54360,54361,54362,54363,54365,54366,54367,54369,54370,54371,54373,54374,54375,54376,54377,54378,54379,54380,54382,54384,54385,54386,null,null,null,null,null,null,54387,54388,54389,54390,54391,54394,54395,54397,54398,54401,54403,54404,54405,54406,54407,54410,54412,54414,54415,54416,54417,54418,54419,54421,54422,54423,54424,54425,54426,54427,54428,54429,50228,50236,50237,50248,50276,50277,50280,50284,50292,50293,50297,50304,50324,50332,50360,50364,50409,50416,50417,50420,50424,50426,50431,50432,50433,50444,50448,50452,50460,50472,50473,50476,50480,50488,50489,50491,50493,50500,50501,50504,50505,50506,50508,50509,50510,50515,50516,50517,50519,50520,50521,50525,50526,50528,50529,50532,50536,50544,50545,50547,50548,50549,50556,50557,50560,50564,50567,50572,50573,50575,50577,50581,50583,50584,50588,50592,50601,50612,50613,50616,50617,50619,50620,50621,50622,50628,50629,50630,50631,50632,50633,50634,50636,50638,54430,54431,54432,54433,54434,54435,54436,54437,54438,54439,54440,54442,54443,54444,54445,54446,54447,54448,54449,54450,54451,54452,54453,54454,54455,54456,null,null,null,null,null,null,54457,54458,54459,54460,54461,54462,54463,54464,54465,54466,54467,54468,54469,54470,54471,54472,54473,54474,54475,54477,54478,54479,54481,54482,54483,54485,null,null,null,null,null,null,54486,54487,54488,54489,54490,54491,54493,54494,54496,54497,54498,54499,54500,54501,54502,54503,54505,54506,54507,54509,54510,54511,54513,54514,54515,54516,54517,54518,54519,54521,54522,54524,50640,50641,50644,50648,50656,50657,50659,50661,50668,50669,50670,50672,50676,50678,50679,50684,50685,50686,50687,50688,50689,50693,50694,50695,50696,50700,50704,50712,50713,50715,50716,50724,50725,50728,50732,50733,50734,50736,50739,50740,50741,50743,50745,50747,50752,50753,50756,50760,50768,50769,50771,50772,50773,50780,50781,50784,50796,50799,50801,50808,50809,50812,50816,50824,50825,50827,50829,50836,50837,50840,50844,50852,50853,50855,50857,50864,50865,50868,50872,50873,50874,50880,50881,50883,50885,50892,50893,50896,50900,50908,50909,50912,50913,50920,54526,54527,54528,54529,54530,54531,54533,54534,54535,54537,54538,54539,54541,54542,54543,54544,54545,54546,54547,54550,54552,54553,54554,54555,54556,54557,null,null,null,null,null,null,54558,54559,54560,54561,54562,54563,54564,54565,54566,54567,54568,54569,54570,54571,54572,54573,54574,54575,54576,54577,54578,54579,54580,54581,54582,54583,null,null,null,null,null,null,54584,54585,54586,54587,54590,54591,54593,54594,54595,54597,54598,54599,54600,54601,54602,54603,54606,54608,54610,54611,54612,54613,54614,54615,54618,54619,54621,54622,54623,54625,54626,54627,50921,50924,50928,50936,50937,50941,50948,50949,50952,50956,50964,50965,50967,50969,50976,50977,50980,50984,50992,50993,50995,50997,50999,51004,51005,51008,51012,51018,51020,51021,51023,51025,51026,51027,51028,51029,51030,51031,51032,51036,51040,51048,51051,51060,51061,51064,51068,51069,51070,51075,51076,51077,51079,51080,51081,51082,51086,51088,51089,51092,51094,51095,51096,51098,51104,51105,51107,51108,51109,51110,51116,51117,51120,51124,51132,51133,51135,51136,51137,51144,51145,51148,51150,51152,51160,51165,51172,51176,51180,51200,51201,51204,51208,51210,54628,54630,54631,54634,54636,54638,54639,54640,54641,54642,54643,54646,54647,54649,54650,54651,54653,54654,54655,54656,54657,54658,54659,54662,54666,54667,null,null,null,null,null,null,54668,54669,54670,54671,54673,54674,54675,54676,54677,54678,54679,54680,54681,54682,54683,54684,54685,54686,54687,54688,54689,54690,54691,54692,54694,54695,null,null,null,null,null,null,54696,54697,54698,54699,54700,54701,54702,54703,54704,54705,54706,54707,54708,54709,54710,54711,54712,54713,54714,54715,54716,54717,54718,54719,54720,54721,54722,54723,54724,54725,54726,54727,51216,51217,51219,51221,51222,51228,51229,51232,51236,51244,51245,51247,51249,51256,51260,51264,51272,51273,51276,51277,51284,51312,51313,51316,51320,51322,51328,51329,51331,51333,51334,51335,51339,51340,51341,51348,51357,51359,51361,51368,51388,51389,51396,51400,51404,51412,51413,51415,51417,51424,51425,51428,51445,51452,51453,51456,51460,51461,51462,51468,51469,51471,51473,51480,51500,51508,51536,51537,51540,51544,51552,51553,51555,51564,51568,51572,51580,51592,51593,51596,51600,51608,51609,51611,51613,51648,51649,51652,51655,51656,51658,51664,51665,51667,54730,54731,54733,54734,54735,54737,54739,54740,54741,54742,54743,54746,54748,54750,54751,54752,54753,54754,54755,54758,54759,54761,54762,54763,54765,54766,null,null,null,null,null,null,54767,54768,54769,54770,54771,54774,54776,54778,54779,54780,54781,54782,54783,54786,54787,54789,54790,54791,54793,54794,54795,54796,54797,54798,54799,54802,null,null,null,null,null,null,54806,54807,54808,54809,54810,54811,54813,54814,54815,54817,54818,54819,54821,54822,54823,54824,54825,54826,54827,54828,54830,54831,54832,54833,54834,54835,54836,54837,54838,54839,54842,54843,51669,51670,51673,51674,51676,51677,51680,51682,51684,51687,51692,51693,51695,51696,51697,51704,51705,51708,51712,51720,51721,51723,51724,51725,51732,51736,51753,51788,51789,51792,51796,51804,51805,51807,51808,51809,51816,51837,51844,51864,51900,51901,51904,51908,51916,51917,51919,51921,51923,51928,51929,51936,51948,51956,51976,51984,51988,51992,52e3,52001,52033,52040,52041,52044,52048,52056,52057,52061,52068,52088,52089,52124,52152,52180,52196,52199,52201,52236,52237,52240,52244,52252,52253,52257,52258,52263,52264,52265,52268,52270,52272,52280,52281,52283,54845,54846,54847,54849,54850,54851,54852,54854,54855,54858,54860,54862,54863,54864,54866,54867,54870,54871,54873,54874,54875,54877,54878,54879,54880,54881,null,null,null,null,null,null,54882,54883,54884,54885,54886,54888,54890,54891,54892,54893,54894,54895,54898,54899,54901,54902,54903,54904,54905,54906,54907,54908,54909,54910,54911,54912,null,null,null,null,null,null,54913,54914,54916,54918,54919,54920,54921,54922,54923,54926,54927,54929,54930,54931,54933,54934,54935,54936,54937,54938,54939,54940,54942,54944,54946,54947,54948,54949,54950,54951,54953,54954,52284,52285,52286,52292,52293,52296,52300,52308,52309,52311,52312,52313,52320,52324,52326,52328,52336,52341,52376,52377,52380,52384,52392,52393,52395,52396,52397,52404,52405,52408,52412,52420,52421,52423,52425,52432,52436,52452,52460,52464,52481,52488,52489,52492,52496,52504,52505,52507,52509,52516,52520,52524,52537,52572,52576,52580,52588,52589,52591,52593,52600,52616,52628,52629,52632,52636,52644,52645,52647,52649,52656,52676,52684,52688,52712,52716,52720,52728,52729,52731,52733,52740,52744,52748,52756,52761,52768,52769,52772,52776,52784,52785,52787,52789,54955,54957,54958,54959,54961,54962,54963,54964,54965,54966,54967,54968,54970,54972,54973,54974,54975,54976,54977,54978,54979,54982,54983,54985,54986,54987,null,null,null,null,null,null,54989,54990,54991,54992,54994,54995,54997,54998,55e3,55002,55003,55004,55005,55006,55007,55009,55010,55011,55013,55014,55015,55017,55018,55019,55020,55021,null,null,null,null,null,null,55022,55023,55025,55026,55027,55028,55030,55031,55032,55033,55034,55035,55038,55039,55041,55042,55043,55045,55046,55047,55048,55049,55050,55051,55052,55053,55054,55055,55056,55058,55059,55060,52824,52825,52828,52831,52832,52833,52840,52841,52843,52845,52852,52853,52856,52860,52868,52869,52871,52873,52880,52881,52884,52888,52896,52897,52899,52900,52901,52908,52909,52929,52964,52965,52968,52971,52972,52980,52981,52983,52984,52985,52992,52993,52996,53e3,53008,53009,53011,53013,53020,53024,53028,53036,53037,53039,53040,53041,53048,53076,53077,53080,53084,53092,53093,53095,53097,53104,53105,53108,53112,53120,53125,53132,53153,53160,53168,53188,53216,53217,53220,53224,53232,53233,53235,53237,53244,53248,53252,53265,53272,53293,53300,53301,53304,53308,55061,55062,55063,55066,55067,55069,55070,55071,55073,55074,55075,55076,55077,55078,55079,55082,55084,55086,55087,55088,55089,55090,55091,55094,55095,55097,null,null,null,null,null,null,55098,55099,55101,55102,55103,55104,55105,55106,55107,55109,55110,55112,55114,55115,55116,55117,55118,55119,55122,55123,55125,55130,55131,55132,55133,55134,null,null,null,null,null,null,55135,55138,55140,55142,55143,55144,55146,55147,55149,55150,55151,55153,55154,55155,55157,55158,55159,55160,55161,55162,55163,55166,55167,55168,55170,55171,55172,55173,55174,55175,55178,55179,53316,53317,53319,53321,53328,53332,53336,53344,53356,53357,53360,53364,53372,53373,53377,53412,53413,53416,53420,53428,53429,53431,53433,53440,53441,53444,53448,53449,53456,53457,53459,53460,53461,53468,53469,53472,53476,53484,53485,53487,53488,53489,53496,53517,53552,53553,53556,53560,53562,53568,53569,53571,53572,53573,53580,53581,53584,53588,53596,53597,53599,53601,53608,53612,53628,53636,53640,53664,53665,53668,53672,53680,53681,53683,53685,53690,53692,53696,53720,53748,53752,53767,53769,53776,53804,53805,53808,53812,53820,53821,53823,53825,53832,53852,55181,55182,55183,55185,55186,55187,55188,55189,55190,55191,55194,55196,55198,55199,55200,55201,55202,55203,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,53860,53888,53889,53892,53896,53904,53905,53909,53916,53920,53924,53932,53937,53944,53945,53948,53951,53952,53954,53960,53961,53963,53972,53976,53980,53988,53989,54e3,54001,54004,54008,54016,54017,54019,54021,54028,54029,54030,54032,54036,54038,54044,54045,54047,54048,54049,54053,54056,54057,54060,54064,54072,54073,54075,54076,54077,54084,54085,54140,54141,54144,54148,54156,54157,54159,54160,54161,54168,54169,54172,54176,54184,54185,54187,54189,54196,54200,54204,54212,54213,54216,54217,54224,54232,54241,54243,54252,54253,54256,54260,54268,54269,54271,54273,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54280,54301,54336,54340,54364,54368,54372,54381,54383,54392,54393,54396,54399,54400,54402,54408,54409,54411,54413,54420,54441,54476,54480,54484,54492,54495,54504,54508,54512,54520,54523,54525,54532,54536,54540,54548,54549,54551,54588,54589,54592,54596,54604,54605,54607,54609,54616,54617,54620,54624,54629,54632,54633,54635,54637,54644,54645,54648,54652,54660,54661,54663,54664,54665,54672,54693,54728,54729,54732,54736,54738,54744,54745,54747,54749,54756,54757,54760,54764,54772,54773,54775,54777,54784,54785,54788,54792,54800,54801,54803,54804,54805,54812,54816,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54820,54829,54840,54841,54844,54848,54853,54856,54857,54859,54861,54865,54868,54869,54872,54876,54887,54889,54896,54897,54900,54915,54917,54924,54925,54928,54932,54941,54943,54945,54952,54956,54960,54969,54971,54980,54981,54984,54988,54993,54996,54999,55001,55008,55012,55016,55024,55029,55036,55037,55040,55044,55057,55064,55065,55068,55072,55080,55081,55083,55085,55092,55093,55096,55100,55108,55111,55113,55120,55121,55124,55126,55127,55128,55129,55136,55137,55139,55141,55145,55148,55152,55156,55164,55165,55169,55176,55177,55180,55184,55192,55193,55195,55197,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20285,20339,20551,20729,21152,21487,21621,21733,22025,23233,23478,26247,26550,26551,26607,27468,29634,30146,31292,33499,33540,34903,34952,35382,36040,36303,36603,36838,39381,21051,21364,21508,24682,24932,27580,29647,33050,35258,35282,38307,20355,21002,22718,22904,23014,24178,24185,25031,25536,26438,26604,26751,28567,30286,30475,30965,31240,31487,31777,32925,33390,33393,35563,38291,20075,21917,26359,28212,30883,31469,33883,35088,34638,38824,21208,22350,22570,23884,24863,25022,25121,25954,26577,27204,28187,29976,30131,30435,30640,32058,37039,37969,37970,40853,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21283,23724,30002,32987,37440,38296,21083,22536,23004,23713,23831,24247,24378,24394,24951,27743,30074,30086,31968,32115,32177,32652,33108,33313,34193,35137,35611,37628,38477,40007,20171,20215,20491,20977,22607,24887,24894,24936,25913,27114,28433,30117,30342,30422,31623,33445,33995,63744,37799,38283,21888,23458,22353,63745,31923,32697,37301,20520,21435,23621,24040,25298,25454,25818,25831,28192,28844,31067,36317,36382,63746,36989,37445,37624,20094,20214,20581,24062,24314,24838,26967,33137,34388,36423,37749,39467,20062,20625,26480,26688,20745,21133,21138,27298,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30652,37392,40660,21163,24623,36850,20552,25001,25581,25802,26684,27268,28608,33160,35233,38548,22533,29309,29356,29956,32121,32365,32937,35211,35700,36963,40273,25225,27770,28500,32080,32570,35363,20860,24906,31645,35609,37463,37772,20140,20435,20510,20670,20742,21185,21197,21375,22384,22659,24218,24465,24950,25004,25806,25964,26223,26299,26356,26775,28039,28805,28913,29855,29861,29898,30169,30828,30956,31455,31478,32069,32147,32789,32831,33051,33686,35686,36629,36885,37857,38915,38968,39514,39912,20418,21843,22586,22865,23395,23622,24760,25106,26690,26800,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26856,28330,30028,30328,30926,31293,31995,32363,32380,35336,35489,35903,38542,40388,21476,21481,21578,21617,22266,22993,23396,23611,24235,25335,25911,25925,25970,26272,26543,27073,27837,30204,30352,30590,31295,32660,32771,32929,33167,33510,33533,33776,34241,34865,34996,35493,63747,36764,37678,38599,39015,39640,40723,21741,26011,26354,26767,31296,35895,40288,22256,22372,23825,26118,26801,26829,28414,29736,34974,39908,27752,63748,39592,20379,20844,20849,21151,23380,24037,24656,24685,25329,25511,25915,29657,31354,34467,36002,38799,20018,23521,25096,26524,29916,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31185,33747,35463,35506,36328,36942,37707,38982,24275,27112,34303,37101,63749,20896,23448,23532,24931,26874,27454,28748,29743,29912,31649,32592,33733,35264,36011,38364,39208,21038,24669,25324,36866,20362,20809,21281,22745,24291,26336,27960,28826,29378,29654,31568,33009,37979,21350,25499,32619,20054,20608,22602,22750,24618,24871,25296,27088,39745,23439,32024,32945,36703,20132,20689,21676,21932,23308,23968,24039,25898,25934,26657,27211,29409,30350,30703,32094,32761,33184,34126,34527,36611,36686,37066,39171,39509,39851,19992,20037,20061,20167,20465,20855,21246,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21312,21475,21477,21646,22036,22389,22434,23495,23943,24272,25084,25304,25937,26552,26601,27083,27472,27590,27628,27714,28317,28792,29399,29590,29699,30655,30697,31350,32127,32777,33276,33285,33290,33503,34914,35635,36092,36544,36881,37041,37476,37558,39378,39493,40169,40407,40860,22283,23616,33738,38816,38827,40628,21531,31384,32676,35033,36557,37089,22528,23624,25496,31391,23470,24339,31353,31406,33422,36524,20518,21048,21240,21367,22280,25331,25458,27402,28099,30519,21413,29527,34152,36470,38357,26426,27331,28528,35437,36556,39243,63750,26231,27512,36020,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,39740,63751,21483,22317,22862,25542,27131,29674,30789,31418,31429,31998,33909,35215,36211,36917,38312,21243,22343,30023,31584,33740,37406,63752,27224,20811,21067,21127,25119,26840,26997,38553,20677,21156,21220,25027,26020,26681,27135,29822,31563,33465,33771,35250,35641,36817,39241,63753,20170,22935,25810,26129,27278,29748,31105,31165,33449,34942,34943,35167,63754,37670,20235,21450,24613,25201,27762,32026,32102,20120,20834,30684,32943,20225,20238,20854,20864,21980,22120,22331,22522,22524,22804,22855,22931,23492,23696,23822,24049,24190,24524,25216,26071,26083,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26398,26399,26462,26827,26820,27231,27450,27683,27773,27778,28103,29592,29734,29738,29826,29859,30072,30079,30849,30959,31041,31047,31048,31098,31637,32e3,32186,32648,32774,32813,32908,35352,35663,35912,36215,37665,37668,39138,39249,39438,39439,39525,40594,32202,20342,21513,25326,26708,37329,21931,20794,63755,63756,23068,25062,63757,25295,25343,63758,63759,63760,63761,63762,63763,37027,63764,63765,63766,63767,63768,35582,63769,63770,63771,63772,26262,63773,29014,63774,63775,38627,63776,25423,25466,21335,63777,26511,26976,28275,63778,30007,63779,63780,63781,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32013,63782,63783,34930,22218,23064,63784,63785,63786,63787,63788,20035,63789,20839,22856,26608,32784,63790,22899,24180,25754,31178,24565,24684,25288,25467,23527,23511,21162,63791,22900,24361,24594,63792,63793,63794,29785,63795,63796,63797,63798,63799,63800,39377,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,28611,63812,63813,33215,36786,24817,63814,63815,33126,63816,63817,23615,63818,63819,63820,63821,63822,63823,63824,63825,23273,35365,26491,32016,63826,63827,63828,63829,63830,63831,33021,63832,63833,23612,27877,21311,28346,22810,33590,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20025,20150,20294,21934,22296,22727,24406,26039,26086,27264,27573,28237,30701,31471,31774,32222,34507,34962,37170,37723,25787,28606,29562,30136,36948,21846,22349,25018,25812,26311,28129,28251,28525,28601,30192,32835,33213,34113,35203,35527,35674,37663,27795,30035,31572,36367,36957,21776,22530,22616,24162,25095,25758,26848,30070,31958,34739,40680,20195,22408,22382,22823,23565,23729,24118,24453,25140,25825,29619,33274,34955,36024,38538,40667,23429,24503,24755,20498,20992,21040,22294,22581,22615,23566,23648,23798,23947,24230,24466,24764,25361,25481,25623,26691,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26873,27330,28120,28193,28372,28644,29182,30428,30585,31153,31291,33796,35241,36077,36339,36424,36867,36884,36947,37117,37709,38518,38876,27602,28678,29272,29346,29544,30563,31167,31716,32411,35712,22697,24775,25958,26109,26302,27788,28958,29129,35930,38931,20077,31361,20189,20908,20941,21205,21516,24999,26481,26704,26847,27934,28540,30140,30643,31461,33012,33891,37509,20828,26007,26460,26515,30168,31431,33651,63834,35910,36887,38957,23663,33216,33434,36929,36975,37389,24471,23965,27225,29128,30331,31561,34276,35588,37159,39472,21895,25078,63835,30313,32645,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34367,34746,35064,37007,63836,27931,28889,29662,32097,33853,63837,37226,39409,63838,20098,21365,27396,27410,28734,29211,34349,40478,21068,36771,23888,25829,25900,27414,28651,31811,32412,34253,35172,35261,25289,33240,34847,24266,26391,28010,29436,29701,29807,34690,37086,20358,23821,24480,33802,20919,25504,30053,20142,20486,20841,20937,26753,27153,31918,31921,31975,33391,35538,36635,37327,20406,20791,21237,21570,24300,24942,25150,26053,27354,28670,31018,34268,34851,38317,39522,39530,40599,40654,21147,26310,27511,28701,31019,36706,38722,24976,25088,25891,28451,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29001,29833,32244,32879,34030,36646,36899,37706,20925,21015,21155,27916,28872,35010,24265,25986,27566,28610,31806,29557,20196,20278,22265,63839,23738,23994,24604,29618,31533,32666,32718,32838,36894,37428,38646,38728,38936,40801,20363,28583,31150,37300,38583,21214,63840,25736,25796,27347,28510,28696,29200,30439,32769,34310,34396,36335,36613,38706,39791,40442,40565,30860,31103,32160,33737,37636,40575,40595,35542,22751,24324,26407,28711,29903,31840,32894,20769,28712,29282,30922,36034,36058,36084,38647,20102,20698,23534,24278,26009,29134,30274,30637,32842,34044,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36988,39719,40845,22744,23105,23650,27155,28122,28431,30267,32047,32311,34078,35128,37860,38475,21129,26066,26611,27060,27969,28316,28687,29705,29792,30041,30244,30827,35628,39006,20845,25134,38520,20374,20523,23833,28138,32184,36650,24459,24900,26647,63841,38534,21202,32907,20956,20940,26974,31260,32190,33777,38517,20442,21033,21400,21519,21774,23653,24743,26446,26792,28012,29313,29432,29702,29827,63842,30178,31852,32633,32696,33673,35023,35041,37324,37328,38626,39881,21533,28542,29136,29848,34298,36522,38563,40023,40607,26519,28107,29747,33256,38678,30764,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31435,31520,31890,25705,29802,30194,30908,30952,39340,39764,40635,23518,24149,28448,33180,33707,37e3,19975,21325,23081,24018,24398,24930,25405,26217,26364,28415,28459,28771,30622,33836,34067,34875,36627,39237,39995,21788,25273,26411,27819,33545,35178,38778,20129,22916,24536,24537,26395,32178,32596,33426,33579,33725,36638,37017,22475,22969,23186,23504,26151,26522,26757,27599,29028,32629,36023,36067,36993,39749,33032,35978,38476,39488,40613,23391,27667,29467,30450,30431,33804,20906,35219,20813,20885,21193,26825,27796,30468,30496,32191,32236,38754,40629,28357,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34065,20901,21517,21629,26126,26269,26919,28319,30399,30609,33559,33986,34719,37225,37528,40180,34946,20398,20882,21215,22982,24125,24917,25720,25721,26286,26576,27169,27597,27611,29279,29281,29761,30520,30683,32791,33468,33541,35584,35624,35980,26408,27792,29287,30446,30566,31302,40361,27519,27794,22818,26406,33945,21359,22675,22937,24287,25551,26164,26483,28218,29483,31447,33495,37672,21209,24043,25006,25035,25098,25287,25771,26080,26969,27494,27595,28961,29687,30045,32326,33310,33538,34154,35491,36031,38695,40289,22696,40664,20497,21006,21563,21839,25991,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27766,32010,32011,32862,34442,38272,38639,21247,27797,29289,21619,23194,23614,23883,24396,24494,26410,26806,26979,28220,28228,30473,31859,32654,34183,35598,36855,38753,40692,23735,24758,24845,25003,25935,26107,26108,27665,27887,29599,29641,32225,38292,23494,34588,35600,21085,21338,25293,25615,25778,26420,27192,27850,29632,29854,31636,31893,32283,33162,33334,34180,36843,38649,39361,20276,21322,21453,21467,25292,25644,25856,26001,27075,27886,28504,29677,30036,30242,30436,30460,30928,30971,31020,32070,33324,34784,36820,38930,39151,21187,25300,25765,28196,28497,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30332,36299,37297,37474,39662,39747,20515,20621,22346,22952,23592,24135,24439,25151,25918,26041,26049,26121,26507,27036,28354,30917,32033,32938,33152,33323,33459,33953,34444,35370,35607,37030,38450,40848,20493,20467,63843,22521,24472,25308,25490,26479,28227,28953,30403,32972,32986,35060,35061,35097,36064,36649,37197,38506,20271,20336,24091,26575,26658,30333,30334,39748,24161,27146,29033,29140,30058,63844,32321,34115,34281,39132,20240,31567,32624,38309,20961,24070,26805,27710,27726,27867,29359,31684,33539,27861,29754,20731,21128,22721,25816,27287,29863,30294,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30887,34327,38370,38713,63845,21342,24321,35722,36776,36783,37002,21029,30629,40009,40712,19993,20482,20853,23643,24183,26142,26170,26564,26821,28851,29953,30149,31177,31453,36647,39200,39432,20445,22561,22577,23542,26222,27493,27921,28282,28541,29668,29995,33769,35036,35091,35676,36628,20239,20693,21264,21340,23443,24489,26381,31119,33145,33583,34068,35079,35206,36665,36667,39333,39954,26412,20086,20472,22857,23553,23791,23792,25447,26834,28925,29090,29739,32299,34028,34562,36898,37586,40179,19981,20184,20463,20613,21078,21103,21542,21648,22496,22827,23142,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23386,23413,23500,24220,63846,25206,25975,26023,28014,28325,29238,31526,31807,32566,33104,33105,33178,33344,33433,33705,35331,36e3,36070,36091,36212,36282,37096,37340,38428,38468,39385,40167,21271,20998,21545,22132,22707,22868,22894,24575,24996,25198,26128,27774,28954,30406,31881,31966,32027,33452,36033,38640,63847,20315,24343,24447,25282,23849,26379,26842,30844,32323,40300,19989,20633,21269,21290,21329,22915,23138,24199,24754,24970,25161,25209,26e3,26503,27047,27604,27606,27607,27608,27832,63848,29749,30202,30738,30865,31189,31192,31875,32203,32737,32933,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,33086,33218,33778,34586,35048,35513,35692,36027,37145,38750,39131,40763,22188,23338,24428,25996,27315,27567,27996,28657,28693,29277,29613,36007,36051,38971,24977,27703,32856,39425,20045,20107,20123,20181,20282,20284,20351,20447,20735,21490,21496,21766,21987,22235,22763,22882,23057,23531,23546,23556,24051,24107,24473,24605,25448,26012,26031,26614,26619,26797,27515,27801,27863,28195,28681,29509,30722,31038,31040,31072,31169,31721,32023,32114,32902,33293,33678,34001,34503,35039,35408,35422,35613,36060,36198,36781,37034,39164,39391,40605,21066,63849,26388,63850,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20632,21034,23665,25955,27733,29642,29987,30109,31639,33948,37240,38704,20087,25746,27578,29022,34217,19977,63851,26441,26862,28183,33439,34072,34923,25591,28545,37394,39087,19978,20663,20687,20767,21830,21930,22039,23360,23577,23776,24120,24202,24224,24258,24819,26705,27233,28248,29245,29248,29376,30456,31077,31665,32724,35059,35316,35443,35937,36062,38684,22622,29885,36093,21959,63852,31329,32034,33394,29298,29983,29989,63853,31513,22661,22779,23996,24207,24246,24464,24661,25234,25471,25933,26257,26329,26360,26646,26866,29312,29790,31598,32110,32214,32626,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32997,33298,34223,35199,35475,36893,37604,40653,40736,22805,22893,24109,24796,26132,26227,26512,27728,28101,28511,30707,30889,33990,37323,37675,20185,20682,20808,21892,23307,23459,25159,25982,26059,28210,29053,29697,29764,29831,29887,30316,31146,32218,32341,32680,33146,33203,33337,34330,34796,35445,36323,36984,37521,37925,39245,39854,21352,23633,26964,27844,27945,28203,33292,34203,35131,35373,35498,38634,40807,21089,26297,27570,32406,34814,36109,38275,38493,25885,28041,29166,63854,22478,22995,23468,24615,24826,25104,26143,26207,29481,29689,30427,30465,31596,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32854,32882,33125,35488,37266,19990,21218,27506,27927,31237,31545,32048,63855,36016,21484,22063,22609,23477,23567,23569,24034,25152,25475,25620,26157,26803,27836,28040,28335,28703,28836,29138,29990,30095,30094,30233,31505,31712,31787,32032,32057,34092,34157,34311,35380,36877,36961,37045,37559,38902,39479,20439,23660,26463,28049,31903,32396,35606,36118,36895,23403,24061,25613,33984,36956,39137,29575,23435,24730,26494,28126,35359,35494,36865,38924,21047,63856,28753,30862,37782,34928,37335,20462,21463,22013,22234,22402,22781,23234,23432,23723,23744,24101,24833,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,25101,25163,25480,25628,25910,25976,27193,27530,27700,27929,28465,29159,29417,29560,29703,29874,30246,30561,31168,31319,31466,31929,32143,32172,32353,32670,33065,33585,33936,34010,34282,34966,35504,35728,36664,36930,36995,37228,37526,37561,38539,38567,38568,38614,38656,38920,39318,39635,39706,21460,22654,22809,23408,23487,28113,28506,29087,29729,29881,32901,33789,24033,24455,24490,24642,26092,26642,26991,27219,27529,27957,28147,29667,30462,30636,31565,32020,33059,33308,33600,34036,34147,35426,35524,37255,37662,38918,39348,25100,34899,36848,37477,23815,23847,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23913,29791,33181,34664,28629,25342,32722,35126,35186,19998,20056,20711,21213,21319,25215,26119,32361,34821,38494,20365,21273,22070,22987,23204,23608,23630,23629,24066,24337,24643,26045,26159,26178,26558,26612,29468,30690,31034,32709,33940,33997,35222,35430,35433,35553,35925,35962,22516,23508,24335,24687,25325,26893,27542,28252,29060,31698,34645,35672,36606,39135,39166,20280,20353,20449,21627,23072,23480,24892,26032,26216,29180,30003,31070,32051,33102,33251,33688,34218,34254,34563,35338,36523,36763,63857,36805,22833,23460,23526,24713,23529,23563,24515,27777,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63858,28145,28683,29978,33455,35574,20160,21313,63859,38617,27663,20126,20420,20818,21854,23077,23784,25105,29273,33469,33706,34558,34905,35357,38463,38597,39187,40201,40285,22538,23731,23997,24132,24801,24853,25569,27138,28197,37122,37716,38990,39952,40823,23433,23736,25353,26191,26696,30524,38593,38797,38996,39839,26017,35585,36555,38332,21813,23721,24022,24245,26263,30284,33780,38343,22739,25276,29390,40232,20208,22830,24591,26171,27523,31207,40230,21395,21696,22467,23830,24859,26326,28079,30861,33406,38552,38724,21380,25212,25494,28082,32266,33099,38989,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27387,32588,40367,40474,20063,20539,20918,22812,24825,25590,26928,29242,32822,63860,37326,24369,63861,63862,32004,33509,33903,33979,34277,36493,63863,20335,63864,63865,22756,23363,24665,25562,25880,25965,26264,63866,26954,27171,27915,28673,29036,30162,30221,31155,31344,63867,32650,63868,35140,63869,35731,37312,38525,63870,39178,22276,24481,26044,28417,30208,31142,35486,39341,39770,40812,20740,25014,25233,27277,33222,20547,22576,24422,28937,35328,35578,23420,34326,20474,20796,22196,22852,25513,28153,23978,26989,20870,20104,20313,63871,63872,63873,22914,63874,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63875,27487,27741,63876,29877,30998,63877,33287,33349,33593,36671,36701,63878,39192,63879,63880,63881,20134,63882,22495,24441,26131,63883,63884,30123,32377,35695,63885,36870,39515,22181,22567,23032,23071,23476,63886,24310,63887,63888,25424,25403,63889,26941,27783,27839,28046,28051,28149,28436,63890,28895,28982,29017,63891,29123,29141,63892,30799,30831,63893,31605,32227,63894,32303,63895,34893,36575,63896,63897,63898,37467,63899,40182,63900,63901,63902,24709,28037,63903,29105,63904,63905,38321,21421,63906,63907,63908,26579,63909,28814,28976,29744,33398,33490,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63910,38331,39653,40573,26308,63911,29121,33865,63912,63913,22603,63914,63915,23992,24433,63916,26144,26254,27001,27054,27704,27891,28214,28481,28634,28699,28719,29008,29151,29552,63917,29787,63918,29908,30408,31310,32403,63919,63920,33521,35424,36814,63921,37704,63922,38681,63923,63924,20034,20522,63925,21e3,21473,26355,27757,28618,29450,30591,31330,33454,34269,34306,63926,35028,35427,35709,35947,63927,37555,63928,38675,38928,20116,20237,20425,20658,21320,21566,21555,21978,22626,22714,22887,23067,23524,24735,63929,25034,25942,26111,26212,26791,27738,28595,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28879,29100,29522,31613,34568,35492,39986,40711,23627,27779,29508,29577,37434,28331,29797,30239,31337,32277,34314,20800,22725,25793,29934,29973,30320,32705,37013,38605,39252,28198,29926,31401,31402,33253,34521,34680,35355,23113,23436,23451,26785,26880,28003,29609,29715,29740,30871,32233,32747,33048,33109,33694,35916,38446,38929,26352,24448,26106,26505,27754,29579,20525,23043,27498,30702,22806,23916,24013,29477,30031,63930,63931,20709,20985,22575,22829,22934,23002,23525,63932,63933,23970,25303,25622,25747,25854,63934,26332,63935,27208,63936,29183,29796,63937,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31368,31407,32327,32350,32768,33136,63938,34799,35201,35616,36953,63939,36992,39250,24958,27442,28020,32287,35109,36785,20433,20653,20887,21191,22471,22665,23481,24248,24898,27029,28044,28263,28342,29076,29794,29992,29996,32883,33592,33993,36362,37780,37854,63940,20110,20305,20598,20778,21448,21451,21491,23431,23507,23588,24858,24962,26100,29275,29591,29760,30402,31056,31121,31161,32006,32701,33419,34261,34398,36802,36935,37109,37354,38533,38632,38633,21206,24423,26093,26161,26671,29020,31286,37057,38922,20113,63941,27218,27550,28560,29065,32792,33464,34131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36939,38549,38642,38907,34074,39729,20112,29066,38596,20803,21407,21729,22291,22290,22435,23195,23236,23491,24616,24895,25588,27781,27961,28274,28304,29232,29503,29783,33489,34945,36677,36960,63942,38498,39e3,40219,26376,36234,37470,20301,20553,20702,21361,22285,22996,23041,23561,24944,26256,28205,29234,29771,32239,32963,33806,33894,34111,34655,34907,35096,35586,36949,38859,39759,20083,20369,20754,20842,63943,21807,21929,23418,23461,24188,24189,24254,24736,24799,24840,24841,25540,25912,26377,63944,26580,26586,63945,26977,26978,27833,27943,63946,28216,63947,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28641,29494,29495,63948,29788,30001,63949,30290,63950,63951,32173,33278,33848,35029,35480,35547,35565,36400,36418,36938,36926,36986,37193,37321,37742,63952,63953,22537,63954,27603,32905,32946,63955,63956,20801,22891,23609,63957,63958,28516,29607,32996,36103,63959,37399,38287,63960,63961,63962,63963,32895,25102,28700,32104,34701,63964,22432,24681,24903,27575,35518,37504,38577,20057,21535,28139,34093,38512,38899,39150,25558,27875,37009,20957,25033,33210,40441,20381,20506,20736,23452,24847,25087,25836,26885,27589,30097,30691,32681,33380,34191,34811,34915,35516,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,35696,37291,20108,20197,20234,63965,63966,22839,23016,63967,24050,24347,24411,24609,63968,63969,63970,63971,29246,29669,63972,30064,30157,63973,31227,63974,32780,32819,32900,33505,33617,63975,63976,36029,36019,36999,63977,63978,39156,39180,63979,63980,28727,30410,32714,32716,32764,35610,20154,20161,20995,21360,63981,21693,22240,23035,23493,24341,24525,28270,63982,63983,32106,33589,63984,34451,35469,63985,38765,38775,63986,63987,19968,20314,20350,22777,26085,28322,36920,37808,39353,20219,22764,22922,23001,24641,63988,63989,31252,63990,33615,36035,20837,21316,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63991,63992,63993,20173,21097,23381,33471,20180,21050,21672,22985,23039,23376,23383,23388,24675,24904,28363,28825,29038,29574,29943,30133,30913,32043,32773,33258,33576,34071,34249,35566,36039,38604,20316,21242,22204,26027,26152,28796,28856,29237,32189,33421,37196,38592,40306,23409,26855,27544,28538,30430,23697,26283,28507,31668,31786,34870,38620,19976,20183,21280,22580,22715,22767,22892,23559,24115,24196,24373,25484,26290,26454,27167,27299,27404,28479,29254,63994,29520,29835,31456,31911,33144,33247,33255,33674,33900,34083,34196,34255,35037,36115,37292,38263,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38556,20877,21705,22312,23472,25165,26448,26685,26771,28221,28371,28797,32289,35009,36001,36617,40779,40782,29229,31631,35533,37658,20295,20302,20786,21632,22992,24213,25269,26485,26990,27159,27822,28186,29401,29482,30141,31672,32053,33511,33785,33879,34295,35419,36015,36487,36889,37048,38606,40799,21219,21514,23265,23490,25688,25973,28404,29380,63995,30340,31309,31515,31821,32318,32735,33659,35627,36042,36196,36321,36447,36842,36857,36969,37841,20291,20346,20659,20840,20856,21069,21098,22625,22652,22880,23560,23637,24283,24731,25136,26643,27583,27656,28593,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29006,29728,3e4,30008,30033,30322,31564,31627,31661,31686,32399,35438,36670,36681,37439,37523,37666,37931,38651,39002,39019,39198,20999,25130,25240,27993,30308,31434,31680,32118,21344,23742,24215,28472,28857,31896,38673,39822,40670,25509,25722,34678,19969,20117,20141,20572,20597,21576,22979,23450,24128,24237,24311,24449,24773,25402,25919,25972,26060,26230,26232,26622,26984,27273,27491,27712,28096,28136,28191,28254,28702,28833,29582,29693,30010,30555,30855,31118,31243,31357,31934,32142,33351,35330,35562,35998,37165,37194,37336,37478,37580,37664,38662,38742,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38748,38914,40718,21046,21137,21884,22564,24093,24351,24716,25552,26799,28639,31085,31532,33229,34234,35069,35576,36420,37261,38500,38555,38717,38988,40778,20430,20806,20939,21161,22066,24340,24427,25514,25805,26089,26177,26362,26361,26397,26781,26839,27133,28437,28526,29031,29157,29226,29866,30522,31062,31066,31199,31264,31381,31895,31967,32068,32368,32903,34299,34468,35412,35519,36249,36481,36896,36973,37347,38459,38613,40165,26063,31751,36275,37827,23384,23562,21330,25305,29469,20519,23447,24478,24752,24939,26837,28121,29742,31278,32066,32156,32305,33131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36394,36405,37758,37912,20304,22352,24038,24231,25387,32618,20027,20303,20367,20570,23005,32964,21610,21608,22014,22863,23449,24030,24282,26205,26417,26609,26666,27880,27954,28234,28557,28855,29664,30087,31820,32002,32044,32162,33311,34523,35387,35461,36208,36490,36659,36913,37198,37202,37956,39376,31481,31909,20426,20737,20934,22472,23535,23803,26201,27197,27994,28310,28652,28940,30063,31459,34850,36897,36981,38603,39423,33537,20013,20210,34886,37325,21373,27355,26987,27713,33914,22686,24974,26366,25327,28893,29969,30151,32338,33976,35657,36104,20043,21482,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21675,22320,22336,24535,25345,25351,25711,25903,26088,26234,26525,26547,27490,27744,27802,28460,30693,30757,31049,31063,32025,32930,33026,33267,33437,33463,34584,35468,63996,36100,36286,36978,30452,31257,31287,32340,32887,21767,21972,22645,25391,25634,26185,26187,26733,27035,27524,27941,28337,29645,29800,29857,30043,30137,30433,30494,30603,31206,32265,32285,33275,34095,34967,35386,36049,36587,36784,36914,37805,38499,38515,38663,20356,21489,23018,23241,24089,26702,29894,30142,31209,31378,33187,34541,36074,36300,36845,26015,26389,63997,22519,28503,32221,36655,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37878,38598,24501,25074,28548,19988,20376,20511,21449,21983,23919,24046,27425,27492,30923,31642,63998,36425,36554,36974,25417,25662,30528,31364,37679,38015,40810,25776,28591,29158,29864,29914,31428,31762,32386,31922,32408,35738,36106,38013,39184,39244,21049,23519,25830,26413,32046,20717,21443,22649,24920,24921,25082,26028,31449,35730,35734,20489,20513,21109,21809,23100,24288,24432,24884,25950,26124,26166,26274,27085,28356,28466,29462,30241,31379,33081,33369,33750,33980,20661,22512,23488,23528,24425,25505,30758,32181,33756,34081,37319,37365,20874,26613,31574,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36012,20932,22971,24765,34389,20508,63999,21076,23610,24957,25114,25299,25842,26021,28364,30240,33034,36448,38495,38587,20191,21315,21912,22825,24029,25797,27849,28154,29588,31359,33307,34214,36068,36368,36983,37351,38369,38433,38854,20984,21746,21894,24505,25764,28552,32180,36639,36685,37941,20681,23574,27838,28155,29979,30651,31805,31844,35449,35522,22558,22974,24086,25463,29266,30090,30571,35548,36028,36626,24307,26228,28152,32893,33729,35531,38737,39894,64e3,21059,26367,28053,28399,32224,35558,36910,36958,39636,21021,21119,21736,24980,25220,25307,26786,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26898,26970,27189,28818,28966,30813,30977,30990,31186,31245,32918,33400,33493,33609,34121,35970,36229,37218,37259,37294,20419,22225,29165,30679,34560,35320,23544,24534,26449,37032,21474,22618,23541,24740,24961,25696,32317,32880,34085,37507,25774,20652,23828,26368,22684,25277,25512,26894,27e3,27166,28267,30394,31179,33467,33833,35535,36264,36861,37138,37195,37276,37648,37656,37786,38619,39478,39949,19985,30044,31069,31482,31569,31689,32302,33988,36441,36468,36600,36880,26149,26943,29763,20986,26414,40668,20805,24544,27798,34802,34909,34935,24756,33205,33795,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36101,21462,21561,22068,23094,23601,28810,32736,32858,33030,33261,36259,37257,39519,40434,20596,20164,21408,24827,28204,23652,20360,20516,21988,23769,24159,24677,26772,27835,28100,29118,30164,30196,30305,31258,31305,32199,32251,32622,33268,34473,36636,38601,39347,40786,21063,21189,39149,35242,19971,26578,28422,20405,23522,26517,27784,28024,29723,30759,37341,37756,34756,31204,31281,24555,20182,21668,21822,22702,22949,24816,25171,25302,26422,26965,33333,38464,39345,39389,20524,21331,21828,22396,64001,25176,64002,25826,26219,26589,28609,28655,29730,29752,35351,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37944,21585,22022,22374,24392,24986,27470,28760,28845,32187,35477,22890,33067,25506,30472,32829,36010,22612,25645,27067,23445,24081,28271,64003,34153,20812,21488,22826,24608,24907,27526,27760,27888,31518,32974,33492,36294,37040,39089,64004,25799,28580,25745,25860,20814,21520,22303,35342,24927,26742,64005,30171,31570,32113,36890,22534,27084,33151,35114,36864,38969,20600,22871,22956,25237,36879,39722,24925,29305,38358,22369,23110,24052,25226,25773,25850,26487,27874,27966,29228,29750,30772,32631,33453,36315,38935,21028,22338,26495,29256,29923,36009,36774,37393,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38442,20843,21485,25420,20329,21764,24726,25943,27803,28031,29260,29437,31255,35207,35997,24429,28558,28921,33192,24846,20415,20559,25153,29255,31687,32232,32745,36941,38829,39449,36022,22378,24179,26544,33805,35413,21536,23318,24163,24290,24330,25987,32954,34109,38281,38491,20296,21253,21261,21263,21638,21754,22275,24067,24598,25243,25265,25429,64006,27873,28006,30129,30770,32990,33071,33502,33889,33970,34957,35090,36875,37610,39165,39825,24133,26292,26333,28689,29190,64007,20469,21117,24426,24915,26451,27161,28418,29922,31080,34920,35961,39111,39108,39491,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21697,31263,26963,35575,35914,39080,39342,24444,25259,30130,30382,34987,36991,38466,21305,24380,24517,27852,29644,30050,30091,31558,33534,39325,20047,36924,19979,20309,21414,22799,24264,26160,27827,29781,33655,34662,36032,36944,38686,39957,22737,23416,34384,35604,40372,23506,24680,24717,26097,27735,28450,28579,28698,32597,32752,38289,38290,38480,38867,21106,36676,20989,21547,21688,21859,21898,27323,28085,32216,33382,37532,38519,40569,21512,21704,30418,34532,38308,38356,38492,20130,20233,23022,23270,24055,24658,25239,26477,26689,27782,28207,32568,32923,33322,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,64008,64009,38917,20133,20565,21683,22419,22874,23401,23475,25032,26999,28023,28707,34809,35299,35442,35559,36994,39405,39608,21182,26680,20502,24184,26447,33607,34892,20139,21521,22190,29670,37141,38911,39177,39255,39321,22099,22687,34395,35377,25010,27382,29563,36562,27463,38570,39511,22869,29184,36203,38761,20436,23796,24358,25080,26203,27883,28843,29572,29625,29694,30505,30541,32067,32098,32291,33335,34898,64010,36066,37449,39023,23377,31348,34880,38913,23244,20448,21332,22846,23805,25406,28025,29433,33029,33031,33698,37583,38960,20136,20804,21009,22411,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24418,27842,28366,28677,28752,28847,29074,29673,29801,33610,34722,34913,36872,37026,37795,39336,20846,24407,24800,24935,26291,34137,36426,37295,38795,20046,20114,21628,22741,22778,22909,23733,24359,25142,25160,26122,26215,27627,28009,28111,28246,28408,28564,28640,28649,28765,29392,29733,29786,29920,30355,31068,31946,32286,32993,33446,33899,33983,34382,34399,34676,35703,35946,37804,38912,39013,24785,25110,37239,23130,26127,28151,28222,29759,39746,24573,24794,31503,21700,24344,27742,27859,27946,28888,32005,34425,35340,40251,21270,21644,23301,27194,28779,30069,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31117,31166,33457,33775,35441,35649,36008,38772,64011,25844,25899,30906,30907,31339,20024,21914,22864,23462,24187,24739,25563,27489,26213,26707,28185,29029,29872,32008,36996,39529,39973,27963,28369,29502,35905,38346,20976,24140,24488,24653,24822,24880,24908,26179,26180,27045,27841,28255,28361,28514,29004,29852,30343,31681,31783,33618,34647,36945,38541,40643,21295,22238,24315,24458,24674,24724,25079,26214,26371,27292,28142,28590,28784,29546,32362,33214,33588,34516,35496,36036,21123,29554,23446,27243,37892,21742,22150,23389,25928,25989,26313,26783,28045,28102,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29243,32948,37237,39501,20399,20505,21402,21518,21564,21897,21957,24127,24460,26429,29030,29661,36869,21211,21235,22628,22734,28932,29071,29179,34224,35347,26248,34216,21927,26244,29002,33841,21321,21913,27585,24409,24509,25582,26249,28999,35569,36637,40638,20241,25658,28875,30054,34407,24676,35662,40440,20807,20982,21256,27958,33016,40657,26133,27427,28824,30165,21507,23673,32007,35350,27424,27453,27462,21560,24688,27965,32725,33288,20694,20958,21916,22123,22221,23020,23305,24076,24985,24984,25137,26206,26342,29081,29113,29114,29351,31143,31232,32690,35440,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],gb18030:[19970,19972,19973,19974,19983,19986,19991,19999,2e4,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,21403,21404,21406,21408,21409,21412,21415,21418,21419,21420,21421,21423,21424,21425,21426,21427,21428,21429,21431,21432,21433,21434,21436,21437,21438,21440,21443,21444,21445,21446,21447,21454,21455,21456,21458,21459,21461,21466,21468,21469,21470,21473,21474,21479,21492,21498,21502,21503,21504,21506,21509,21511,21515,21524,21528,21529,21530,21532,21538,21540,21541,21546,21552,21555,21558,21559,21562,21565,21567,21569,21570,21572,21573,21575,21577,21580,21581,21582,21583,21585,21594,21597,21598,21599,21600,21601,21603,21605,21607,21609,21610,21611,21612,21613,21614,21615,21616,21620,21625,21626,21630,21631,21633,21635,21637,21639,21640,21641,21642,21645,21649,21651,21655,21656,21660,21662,21663,21664,21665,21666,21669,21678,21680,21682,21685,21686,21687,21689,21690,21692,21694,21699,21701,21706,21707,21718,21720,21723,21728,21729,21730,21731,21732,21739,21740,21743,21744,21745,21748,21749,21750,21751,21752,21753,21755,21758,21760,21762,21763,21764,21765,21768,21770,21771,21772,21773,21774,21778,21779,21781,21782,21783,21784,21785,21786,21788,21789,21790,21791,21793,21797,21798,21800,21801,21803,21805,21810,21812,21813,21814,21816,21817,21818,21819,21821,21824,21826,21829,21831,21832,21835,21836,21837,21838,21839,21841,21842,21843,21844,21847,21848,21849,21850,21851,21853,21854,21855,21856,21858,21859,21864,21865,21867,21871,21872,21873,21874,21875,21876,21881,21882,21885,21887,21893,21894,21900,21901,21902,21904,21906,21907,21909,21910,21911,21914,21915,21918,21920,21921,21922,21923,21924,21925,21926,21928,21929,21930,21931,21932,21933,21934,21935,21936,21938,21940,21942,21944,21946,21948,21951,21952,21953,21954,21955,21958,21959,21960,21962,21963,21966,21967,21968,21973,21975,21976,21977,21978,21979,21982,21984,21986,21991,21993,21997,21998,22e3,22001,22004,22006,22008,22009,22010,22011,22012,22015,22018,22019,22020,22021,22022,22023,22026,22027,22029,22032,22033,22034,22035,22036,22037,22038,22039,22041,22042,22044,22045,22048,22049,22050,22053,22054,22056,22057,22058,22059,22062,22063,22064,22067,22069,22071,22072,22074,22076,22077,22078,22080,22081,22082,22083,22084,22085,22086,22087,22088,22089,22090,22091,22095,22096,22097,22098,22099,22101,22102,22106,22107,22109,22110,22111,22112,22113,22115,22117,22118,22119,22125,22126,22127,22128,22130,22131,22132,22133,22135,22136,22137,22138,22141,22142,22143,22144,22145,22146,22147,22148,22151,22152,22153,22154,22155,22156,22157,22160,22161,22162,22164,22165,22166,22167,22168,22169,22170,22171,22172,22173,22174,22175,22176,22177,22178,22180,22181,22182,22183,22184,22185,22186,22187,22188,22189,22190,22192,22193,22194,22195,22196,22197,22198,22200,22201,22202,22203,22205,22206,22207,22208,22209,22210,22211,22212,22213,22214,22215,22216,22217,22219,22220,22221,22222,22223,22224,22225,22226,22227,22229,22230,22232,22233,22236,22243,22245,22246,22247,22248,22249,22250,22252,22254,22255,22258,22259,22262,22263,22264,22267,22268,22272,22273,22274,22277,22279,22283,22284,22285,22286,22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22301,22302,22304,22305,22306,22308,22309,22310,22311,22315,22321,22322,22324,22325,22326,22327,22328,22332,22333,22335,22337,22339,22340,22341,22342,22344,22345,22347,22354,22355,22356,22357,22358,22360,22361,22370,22371,22373,22375,22380,22382,22384,22385,22386,22388,22389,22392,22393,22394,22397,22398,22399,22400,22401,22407,22408,22409,22410,22413,22414,22415,22416,22417,22420,22421,22422,22423,22424,22425,22426,22428,22429,22430,22431,22437,22440,22442,22444,22447,22448,22449,22451,22453,22454,22455,22457,22458,22459,22460,22461,22462,22463,22464,22465,22468,22469,22470,22471,22472,22473,22474,22476,22477,22480,22481,22483,22486,22487,22491,22492,22494,22497,22498,22499,22501,22502,22503,22504,22505,22506,22507,22508,22510,22512,22513,22514,22515,22517,22518,22519,22523,22524,22526,22527,22529,22531,22532,22533,22536,22537,22538,22540,22542,22543,22544,22546,22547,22548,22550,22551,22552,22554,22555,22556,22557,22559,22562,22563,22565,22566,22567,22568,22569,22571,22572,22573,22574,22575,22577,22578,22579,22580,22582,22583,22584,22585,22586,22587,22588,22589,22590,22591,22592,22593,22594,22595,22597,22598,22599,22600,22601,22602,22603,22606,22607,22608,22610,22611,22613,22614,22615,22617,22618,22619,22620,22621,22623,22624,22625,22626,22627,22628,22630,22631,22632,22633,22634,22637,22638,22639,22640,22641,22642,22643,22644,22645,22646,22647,22648,22649,22650,22651,22652,22653,22655,22658,22660,22662,22663,22664,22666,22667,22668,22669,22670,22671,22672,22673,22676,22677,22678,22679,22680,22683,22684,22685,22688,22689,22690,22691,22692,22693,22694,22695,22698,22699,22700,22701,22702,22703,22704,22705,22706,22707,22708,22709,22710,22711,22712,22713,22714,22715,22717,22718,22719,22720,22722,22723,22724,22726,22727,22728,22729,22730,22731,22732,22733,22734,22735,22736,22738,22739,22740,22742,22743,22744,22745,22746,22747,22748,22749,22750,22751,22752,22753,22754,22755,22757,22758,22759,22760,22761,22762,22765,22767,22769,22770,22772,22773,22775,22776,22778,22779,22780,22781,22782,22783,22784,22785,22787,22789,22790,22792,22793,22794,22795,22796,22798,22800,22801,22802,22803,22807,22808,22811,22813,22814,22816,22817,22818,22819,22822,22824,22828,22832,22834,22835,22837,22838,22843,22845,22846,22847,22848,22851,22853,22854,22858,22860,22861,22864,22866,22867,22873,22875,22876,22877,22878,22879,22881,22883,22884,22886,22887,22888,22889,22890,22891,22892,22893,22894,22895,22896,22897,22898,22901,22903,22906,22907,22908,22910,22911,22912,22917,22921,22923,22924,22926,22927,22928,22929,22932,22933,22936,22938,22939,22940,22941,22943,22944,22945,22946,22950,22951,22956,22957,22960,22961,22963,22964,22965,22966,22967,22968,22970,22972,22973,22975,22976,22977,22978,22979,22980,22981,22983,22984,22985,22988,22989,22990,22991,22997,22998,23001,23003,23006,23007,23008,23009,23010,23012,23014,23015,23017,23018,23019,23021,23022,23023,23024,23025,23026,23027,23028,23029,23030,23031,23032,23034,23036,23037,23038,23040,23042,23050,23051,23053,23054,23055,23056,23058,23060,23061,23062,23063,23065,23066,23067,23069,23070,23073,23074,23076,23078,23079,23080,23082,23083,23084,23085,23086,23087,23088,23091,23093,23095,23096,23097,23098,23099,23101,23102,23103,23105,23106,23107,23108,23109,23111,23112,23115,23116,23117,23118,23119,23120,23121,23122,23123,23124,23126,23127,23128,23129,23131,23132,23133,23134,23135,23136,23137,23139,23140,23141,23142,23144,23145,23147,23148,23149,23150,23151,23152,23153,23154,23155,23160,23161,23163,23164,23165,23166,23168,23169,23170,23171,23172,23173,23174,23175,23176,23177,23178,23179,23180,23181,23182,23183,23184,23185,23187,23188,23189,23190,23191,23192,23193,23196,23197,23198,23199,23200,23201,23202,23203,23204,23205,23206,23207,23208,23209,23211,23212,23213,23214,23215,23216,23217,23220,23222,23223,23225,23226,23227,23228,23229,23231,23232,23235,23236,23237,23238,23239,23240,23242,23243,23245,23246,23247,23248,23249,23251,23253,23255,23257,23258,23259,23261,23262,23263,23266,23268,23269,23271,23272,23274,23276,23277,23278,23279,23280,23282,23283,23284,23285,23286,23287,23288,23289,23290,23291,23292,23293,23294,23295,23296,23297,23298,23299,23300,23301,23302,23303,23304,23306,23307,23308,23309,23310,23311,23312,23313,23314,23315,23316,23317,23320,23321,23322,23323,23324,23325,23326,23327,23328,23329,23330,23331,23332,23333,23334,23335,23336,23337,23338,23339,23340,23341,23342,23343,23344,23345,23347,23349,23350,23352,23353,23354,23355,23356,23357,23358,23359,23361,23362,23363,23364,23365,23366,23367,23368,23369,23370,23371,23372,23373,23374,23375,23378,23382,23390,23392,23393,23399,23400,23403,23405,23406,23407,23410,23412,23414,23415,23416,23417,23419,23420,23422,23423,23426,23430,23434,23437,23438,23440,23441,23442,23444,23446,23455,23463,23464,23465,23468,23469,23470,23471,23473,23474,23479,23482,23483,23484,23488,23489,23491,23496,23497,23498,23499,23501,23502,23503,23505,23508,23509,23510,23511,23512,23513,23514,23515,23516,23520,23522,23523,23526,23527,23529,23530,23531,23532,23533,23535,23537,23538,23539,23540,23541,23542,23543,23549,23550,23552,23554,23555,23557,23559,23560,23563,23564,23565,23566,23568,23570,23571,23575,23577,23579,23582,23583,23584,23585,23587,23590,23592,23593,23594,23595,23597,23598,23599,23600,23602,23603,23605,23606,23607,23619,23620,23622,23623,23628,23629,23634,23635,23636,23638,23639,23640,23642,23643,23644,23645,23647,23650,23652,23655,23656,23657,23658,23659,23660,23661,23664,23666,23667,23668,23669,23670,23671,23672,23675,23676,23677,23678,23680,23683,23684,23685,23686,23687,23689,23690,23691,23694,23695,23698,23699,23701,23709,23710,23711,23712,23713,23716,23717,23718,23719,23720,23722,23726,23727,23728,23730,23732,23734,23737,23738,23739,23740,23742,23744,23746,23747,23749,23750,23751,23752,23753,23754,23756,23757,23758,23759,23760,23761,23763,23764,23765,23766,23767,23768,23770,23771,23772,23773,23774,23775,23776,23778,23779,23783,23785,23787,23788,23790,23791,23793,23794,23795,23796,23797,23798,23799,23800,23801,23802,23804,23805,23806,23807,23808,23809,23812,23813,23816,23817,23818,23819,23820,23821,23823,23824,23825,23826,23827,23829,23831,23832,23833,23834,23836,23837,23839,23840,23841,23842,23843,23845,23848,23850,23851,23852,23855,23856,23857,23858,23859,23861,23862,23863,23864,23865,23866,23867,23868,23871,23872,23873,23874,23875,23876,23877,23878,23880,23881,23885,23886,23887,23888,23889,23890,23891,23892,23893,23894,23895,23897,23898,23900,23902,23903,23904,23905,23906,23907,23908,23909,23910,23911,23912,23914,23917,23918,23920,23921,23922,23923,23925,23926,23927,23928,23929,23930,23931,23932,23933,23934,23935,23936,23937,23939,23940,23941,23942,23943,23944,23945,23946,23947,23948,23949,23950,23951,23952,23953,23954,23955,23956,23957,23958,23959,23960,23962,23963,23964,23966,23967,23968,23969,23970,23971,23972,23973,23974,23975,23976,23977,23978,23979,23980,23981,23982,23983,23984,23985,23986,23987,23988,23989,23990,23992,23993,23994,23995,23996,23997,23998,23999,24e3,24001,24002,24003,24004,24006,24007,24008,24009,24010,24011,24012,24014,24015,24016,24017,24018,24019,24020,24021,24022,24023,24024,24025,24026,24028,24031,24032,24035,24036,24042,24044,24045,24048,24053,24054,24056,24057,24058,24059,24060,24063,24064,24068,24071,24073,24074,24075,24077,24078,24082,24083,24087,24094,24095,24096,24097,24098,24099,24100,24101,24104,24105,24106,24107,24108,24111,24112,24114,24115,24116,24117,24118,24121,24122,24126,24127,24128,24129,24131,24134,24135,24136,24137,24138,24139,24141,24142,24143,24144,24145,24146,24147,24150,24151,24152,24153,24154,24156,24157,24159,24160,24163,24164,24165,24166,24167,24168,24169,24170,24171,24172,24173,24174,24175,24176,24177,24181,24183,24185,24190,24193,24194,24195,24197,24200,24201,24204,24205,24206,24210,24216,24219,24221,24225,24226,24227,24228,24232,24233,24234,24235,24236,24238,24239,24240,24241,24242,24244,24250,24251,24252,24253,24255,24256,24257,24258,24259,24260,24261,24262,24263,24264,24267,24268,24269,24270,24271,24272,24276,24277,24279,24280,24281,24282,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24297,24299,24300,24301,24302,24303,24304,24305,24306,24307,24309,24312,24313,24315,24316,24317,24325,24326,24327,24329,24332,24333,24334,24336,24338,24340,24342,24345,24346,24348,24349,24350,24353,24354,24355,24356,24360,24363,24364,24366,24368,24370,24371,24372,24373,24374,24375,24376,24379,24381,24382,24383,24385,24386,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24399,24401,24404,24409,24410,24411,24412,24414,24415,24416,24419,24421,24423,24424,24427,24430,24431,24434,24436,24437,24438,24440,24442,24445,24446,24447,24451,24454,24461,24462,24463,24465,24467,24468,24470,24474,24475,24477,24478,24479,24480,24482,24483,24484,24485,24486,24487,24489,24491,24492,24495,24496,24497,24498,24499,24500,24502,24504,24505,24506,24507,24510,24511,24512,24513,24514,24519,24520,24522,24523,24526,24531,24532,24533,24538,24539,24540,24542,24543,24546,24547,24549,24550,24552,24553,24556,24559,24560,24562,24563,24564,24566,24567,24569,24570,24572,24583,24584,24585,24587,24588,24592,24593,24595,24599,24600,24602,24606,24607,24610,24611,24612,24620,24621,24622,24624,24625,24626,24627,24628,24630,24631,24632,24633,24634,24637,24638,24640,24644,24645,24646,24647,24648,24649,24650,24652,24654,24655,24657,24659,24660,24662,24663,24664,24667,24668,24670,24671,24672,24673,24677,24678,24686,24689,24690,24692,24693,24695,24702,24704,24705,24706,24709,24710,24711,24712,24714,24715,24718,24719,24720,24721,24723,24725,24727,24728,24729,24732,24734,24737,24738,24740,24741,24743,24745,24746,24750,24752,24755,24757,24758,24759,24761,24762,24765,24766,24767,24768,24769,24770,24771,24772,24775,24776,24777,24780,24781,24782,24783,24784,24786,24787,24788,24790,24791,24793,24795,24798,24801,24802,24803,24804,24805,24810,24817,24818,24821,24823,24824,24827,24828,24829,24830,24831,24834,24835,24836,24837,24839,24842,24843,24844,24848,24849,24850,24851,24852,24854,24855,24856,24857,24859,24860,24861,24862,24865,24866,24869,24872,24873,24874,24876,24877,24878,24879,24880,24881,24882,24883,24884,24885,24886,24887,24888,24889,24890,24891,24892,24893,24894,24896,24897,24898,24899,24900,24901,24902,24903,24905,24907,24909,24911,24912,24914,24915,24916,24918,24919,24920,24921,24922,24923,24924,24926,24927,24928,24929,24931,24932,24933,24934,24937,24938,24939,24940,24941,24942,24943,24945,24946,24947,24948,24950,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24972,24973,24975,24976,24977,24978,24979,24981,24982,24983,24984,24985,24986,24987,24988,24990,24991,24992,24993,24994,24995,24996,24997,24998,25002,25003,25005,25006,25007,25008,25009,25010,25011,25012,25013,25014,25016,25017,25018,25019,25020,25021,25023,25024,25025,25027,25028,25029,25030,25031,25033,25036,25037,25038,25039,25040,25043,25045,25046,25047,25048,25049,25050,25051,25052,25053,25054,25055,25056,25057,25058,25059,25060,25061,25063,25064,25065,25066,25067,25068,25069,25070,25071,25072,25073,25074,25075,25076,25078,25079,25080,25081,25082,25083,25084,25085,25086,25088,25089,25090,25091,25092,25093,25095,25097,25107,25108,25113,25116,25117,25118,25120,25123,25126,25127,25128,25129,25131,25133,25135,25136,25137,25138,25141,25142,25144,25145,25146,25147,25148,25154,25156,25157,25158,25162,25167,25168,25173,25174,25175,25177,25178,25180,25181,25182,25183,25184,25185,25186,25188,25189,25192,25201,25202,25204,25205,25207,25208,25210,25211,25213,25217,25218,25219,25221,25222,25223,25224,25227,25228,25229,25230,25231,25232,25236,25241,25244,25245,25246,25251,25254,25255,25257,25258,25261,25262,25263,25264,25266,25267,25268,25270,25271,25272,25274,25278,25280,25281,25283,25291,25295,25297,25301,25309,25310,25312,25313,25316,25322,25323,25328,25330,25333,25336,25337,25338,25339,25344,25347,25348,25349,25350,25354,25355,25356,25357,25359,25360,25362,25363,25364,25365,25367,25368,25369,25372,25382,25383,25385,25388,25389,25390,25392,25393,25395,25396,25397,25398,25399,25400,25403,25404,25406,25407,25408,25409,25412,25415,25416,25418,25425,25426,25427,25428,25430,25431,25432,25433,25434,25435,25436,25437,25440,25444,25445,25446,25448,25450,25451,25452,25455,25456,25458,25459,25460,25461,25464,25465,25468,25469,25470,25471,25473,25475,25476,25477,25478,25483,25485,25489,25491,25492,25493,25495,25497,25498,25499,25500,25501,25502,25503,25505,25508,25510,25515,25519,25521,25522,25525,25526,25529,25531,25533,25535,25536,25537,25538,25539,25541,25543,25544,25546,25547,25548,25553,25555,25556,25557,25559,25560,25561,25562,25563,25564,25565,25567,25570,25572,25573,25574,25575,25576,25579,25580,25582,25583,25584,25585,25587,25589,25591,25593,25594,25595,25596,25598,25603,25604,25606,25607,25608,25609,25610,25613,25614,25617,25618,25621,25622,25623,25624,25625,25626,25629,25631,25634,25635,25636,25637,25639,25640,25641,25643,25646,25647,25648,25649,25650,25651,25653,25654,25655,25656,25657,25659,25660,25662,25664,25666,25667,25673,25675,25676,25677,25678,25679,25680,25681,25683,25685,25686,25687,25689,25690,25691,25692,25693,25695,25696,25697,25698,25699,25700,25701,25702,25704,25706,25707,25708,25710,25711,25712,25713,25714,25715,25716,25717,25718,25719,25723,25724,25725,25726,25727,25728,25729,25731,25734,25736,25737,25738,25739,25740,25741,25742,25743,25744,25747,25748,25751,25752,25754,25755,25756,25757,25759,25760,25761,25762,25763,25765,25766,25767,25768,25770,25771,25775,25777,25778,25779,25780,25782,25785,25787,25789,25790,25791,25793,25795,25796,25798,25799,25800,25801,25802,25803,25804,25807,25809,25811,25812,25813,25814,25817,25818,25819,25820,25821,25823,25824,25825,25827,25829,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25857,25858,25859,25860,25861,25862,25863,25864,25866,25867,25868,25869,25870,25871,25872,25873,25875,25876,25877,25878,25879,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25894,25895,25896,25897,25898,25900,25901,25904,25905,25906,25907,25911,25914,25916,25917,25920,25921,25922,25923,25924,25926,25927,25930,25931,25933,25934,25936,25938,25939,25940,25943,25944,25946,25948,25951,25952,25953,25956,25957,25959,25960,25961,25962,25965,25966,25967,25969,25971,25973,25974,25976,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25992,25993,25994,25997,25998,25999,26002,26004,26005,26006,26008,26010,26013,26014,26016,26018,26019,26022,26024,26026,26028,26030,26033,26034,26035,26036,26037,26038,26039,26040,26042,26043,26046,26047,26048,26050,26055,26056,26057,26058,26061,26064,26065,26067,26068,26069,26072,26073,26074,26075,26076,26077,26078,26079,26081,26083,26084,26090,26091,26098,26099,26100,26101,26104,26105,26107,26108,26109,26110,26111,26113,26116,26117,26119,26120,26121,26123,26125,26128,26129,26130,26134,26135,26136,26138,26139,26140,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26162,26163,26167,26168,26169,26170,26171,26173,26175,26176,26178,26180,26181,26182,26183,26184,26185,26186,26189,26190,26192,26193,26200,26201,26203,26204,26205,26206,26208,26210,26211,26213,26215,26217,26218,26219,26220,26221,26225,26226,26227,26229,26232,26233,26235,26236,26237,26239,26240,26241,26243,26245,26246,26248,26249,26250,26251,26253,26254,26255,26256,26258,26259,26260,26261,26264,26265,26266,26267,26268,26270,26271,26272,26273,26274,26275,26276,26277,26278,26281,26282,26283,26284,26285,26287,26288,26289,26290,26291,26293,26294,26295,26296,26298,26299,26300,26301,26303,26304,26305,26306,26307,26308,26309,26310,26311,26312,26313,26314,26315,26316,26317,26318,26319,26320,26321,26322,26323,26324,26325,26326,26327,26328,26330,26334,26335,26336,26337,26338,26339,26340,26341,26343,26344,26346,26347,26348,26349,26350,26351,26353,26357,26358,26360,26362,26363,26365,26369,26370,26371,26372,26373,26374,26375,26380,26382,26383,26385,26386,26387,26390,26392,26393,26394,26396,26398,26400,26401,26402,26403,26404,26405,26407,26409,26414,26416,26418,26419,26422,26423,26424,26425,26427,26428,26430,26431,26433,26436,26437,26439,26442,26443,26445,26450,26452,26453,26455,26456,26457,26458,26459,26461,26466,26467,26468,26470,26471,26475,26476,26478,26481,26484,26486,26488,26489,26490,26491,26493,26496,26498,26499,26501,26502,26504,26506,26508,26509,26510,26511,26513,26514,26515,26516,26518,26521,26523,26527,26528,26529,26532,26534,26537,26540,26542,26545,26546,26548,26553,26554,26555,26556,26557,26558,26559,26560,26562,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26581,26582,26583,26587,26591,26593,26595,26596,26598,26599,26600,26602,26603,26605,26606,26610,26613,26614,26615,26616,26617,26618,26619,26620,26622,26625,26626,26627,26628,26630,26637,26640,26642,26644,26645,26648,26649,26650,26651,26652,26654,26655,26656,26658,26659,26660,26661,26662,26663,26664,26667,26668,26669,26670,26671,26672,26673,26676,26677,26678,26682,26683,26687,26695,26699,26701,26703,26706,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26730,26732,26733,26734,26735,26736,26737,26738,26739,26741,26744,26745,26746,26747,26748,26749,26750,26751,26752,26754,26756,26759,26760,26761,26762,26763,26764,26765,26766,26768,26769,26770,26772,26773,26774,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26787,26788,26789,26793,26794,26795,26796,26798,26801,26802,26804,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26817,26819,26820,26821,26822,26823,26824,26826,26828,26830,26831,26832,26833,26835,26836,26838,26839,26841,26843,26844,26845,26846,26847,26849,26850,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26863,26866,26867,26868,26870,26871,26872,26875,26877,26878,26879,26880,26882,26883,26884,26886,26887,26888,26889,26890,26892,26895,26897,26899,26900,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26913,26914,26915,26917,26918,26919,26920,26921,26922,26923,26924,26926,26927,26929,26930,26931,26933,26934,26935,26936,26938,26939,26940,26942,26944,26945,26947,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26968,26969,26971,26972,26975,26977,26978,26980,26981,26983,26984,26985,26986,26988,26989,26991,26992,26994,26995,26996,26997,26998,27002,27003,27005,27006,27007,27009,27011,27013,27018,27019,27020,27022,27023,27024,27025,27026,27027,27030,27031,27033,27034,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27049,27050,27052,27054,27055,27056,27058,27059,27061,27062,27064,27065,27066,27068,27069,27070,27071,27072,27074,27075,27076,27077,27078,27079,27080,27081,27083,27085,27087,27089,27090,27091,27093,27094,27095,27096,27097,27098,27100,27101,27102,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27118,27119,27120,27121,27123,27124,27125,27126,27127,27128,27129,27130,27131,27132,27134,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27161,27162,27163,27164,27165,27166,27168,27170,27171,27172,27173,27174,27175,27177,27179,27180,27181,27182,27184,27186,27187,27188,27190,27191,27192,27193,27194,27195,27196,27199,27200,27201,27202,27203,27205,27206,27208,27209,27210,27211,27212,27213,27214,27215,27217,27218,27219,27220,27221,27222,27223,27226,27228,27229,27230,27231,27232,27234,27235,27236,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27250,27251,27252,27253,27254,27255,27256,27258,27259,27261,27262,27263,27265,27266,27267,27269,27270,27271,27272,27273,27274,27275,27276,27277,27279,27282,27283,27284,27285,27286,27288,27289,27290,27291,27292,27293,27294,27295,27297,27298,27299,27300,27301,27302,27303,27304,27306,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27321,27322,27323,27324,27325,27326,27327,27328,27329,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27381,27382,27383,27384,27385,27386,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27423,27429,27430,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27443,27444,27445,27446,27448,27451,27452,27453,27455,27456,27457,27458,27460,27461,27464,27466,27467,27469,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27482,27483,27484,27485,27486,27487,27488,27489,27496,27497,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27514,27517,27518,27519,27520,27525,27528,27532,27534,27535,27536,27537,27540,27541,27543,27544,27545,27548,27549,27550,27551,27552,27554,27555,27556,27557,27558,27559,27560,27561,27563,27564,27565,27566,27567,27568,27569,27570,27574,27576,27577,27578,27579,27580,27581,27582,27584,27587,27588,27590,27591,27592,27593,27594,27596,27598,27600,27601,27608,27610,27612,27613,27614,27615,27616,27618,27619,27620,27621,27622,27623,27624,27625,27628,27629,27630,27632,27633,27634,27636,27638,27639,27640,27642,27643,27644,27646,27647,27648,27649,27650,27651,27652,27656,27657,27658,27659,27660,27662,27666,27671,27676,27677,27678,27680,27683,27685,27691,27692,27693,27697,27699,27702,27703,27705,27706,27707,27708,27710,27711,27715,27716,27717,27720,27723,27724,27725,27726,27727,27729,27730,27731,27734,27736,27737,27738,27746,27747,27749,27750,27751,27755,27756,27757,27758,27759,27761,27763,27765,27767,27768,27770,27771,27772,27775,27776,27780,27783,27786,27787,27789,27790,27793,27794,27797,27798,27799,27800,27802,27804,27805,27806,27808,27810,27816,27820,27823,27824,27828,27829,27830,27831,27834,27840,27841,27842,27843,27846,27847,27848,27851,27853,27854,27855,27857,27858,27864,27865,27866,27868,27869,27871,27876,27878,27879,27881,27884,27885,27890,27892,27897,27903,27904,27906,27907,27909,27910,27912,27913,27914,27917,27919,27920,27921,27923,27924,27925,27926,27928,27932,27933,27935,27936,27937,27938,27939,27940,27942,27944,27945,27948,27949,27951,27952,27956,27958,27959,27960,27962,27967,27968,27970,27972,27977,27980,27984,27989,27990,27991,27992,27995,27997,27999,28001,28002,28004,28005,28007,28008,28011,28012,28013,28016,28017,28018,28019,28021,28022,28025,28026,28027,28029,28030,28031,28032,28033,28035,28036,28038,28039,28042,28043,28045,28047,28048,28050,28054,28055,28056,28057,28058,28060,28066,28069,28076,28077,28080,28081,28083,28084,28086,28087,28089,28090,28091,28092,28093,28094,28097,28098,28099,28104,28105,28106,28109,28110,28111,28112,28114,28115,28116,28117,28119,28122,28123,28124,28127,28130,28131,28133,28135,28136,28137,28138,28141,28143,28144,28146,28148,28149,28150,28152,28154,28157,28158,28159,28160,28161,28162,28163,28164,28166,28167,28168,28169,28171,28175,28178,28179,28181,28184,28185,28187,28188,28190,28191,28194,28198,28199,28200,28202,28204,28206,28208,28209,28211,28213,28214,28215,28217,28219,28220,28221,28222,28223,28224,28225,28226,28229,28230,28231,28232,28233,28234,28235,28236,28239,28240,28241,28242,28245,28247,28249,28250,28252,28253,28254,28256,28257,28258,28259,28260,28261,28262,28263,28264,28265,28266,28268,28269,28271,28272,28273,28274,28275,28276,28277,28278,28279,28280,28281,28282,28283,28284,28285,28288,28289,28290,28292,28295,28296,28298,28299,28300,28301,28302,28305,28306,28307,28308,28309,28310,28311,28313,28314,28315,28317,28318,28320,28321,28323,28324,28326,28328,28329,28331,28332,28333,28334,28336,28339,28341,28344,28345,28348,28350,28351,28352,28355,28356,28357,28358,28360,28361,28362,28364,28365,28366,28368,28370,28374,28376,28377,28379,28380,28381,28387,28391,28394,28395,28396,28397,28398,28399,28400,28401,28402,28403,28405,28406,28407,28408,28410,28411,28412,28413,28414,28415,28416,28417,28419,28420,28421,28423,28424,28426,28427,28428,28429,28430,28432,28433,28434,28438,28439,28440,28441,28442,28443,28444,28445,28446,28447,28449,28450,28451,28453,28454,28455,28456,28460,28462,28464,28466,28468,28469,28471,28472,28473,28474,28475,28476,28477,28479,28480,28481,28482,28483,28484,28485,28488,28489,28490,28492,28494,28495,28496,28497,28498,28499,28500,28501,28502,28503,28505,28506,28507,28509,28511,28512,28513,28515,28516,28517,28519,28520,28521,28522,28523,28524,28527,28528,28529,28531,28533,28534,28535,28537,28539,28541,28542,28543,28544,28545,28546,28547,28549,28550,28551,28554,28555,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28573,28574,28575,28576,28578,28579,28580,28581,28582,28584,28585,28586,28587,28588,28589,28590,28591,28592,28593,28594,28596,28597,28599,28600,28602,28603,28604,28605,28606,28607,28609,28611,28612,28613,28614,28615,28616,28618,28619,28620,28621,28622,28623,28624,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28639,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28683,28684,28685,28686,28687,28688,28690,28691,28692,28693,28694,28695,28696,28697,28700,28701,28702,28703,28704,28705,28706,28708,28709,28710,28711,28712,28713,28714,28715,28716,28717,28718,28719,28720,28721,28722,28723,28724,28726,28727,28728,28730,28731,28732,28733,28734,28735,28736,28737,28738,28739,28740,28741,28742,28743,28744,28745,28746,28747,28749,28750,28752,28753,28754,28755,28756,28757,28758,28759,28760,28761,28762,28763,28764,28765,28767,28768,28769,28770,28771,28772,28773,28774,28775,28776,28777,28778,28782,28785,28786,28787,28788,28791,28793,28794,28795,28797,28801,28802,28803,28804,28806,28807,28808,28811,28812,28813,28815,28816,28817,28819,28823,28824,28826,28827,28830,28831,28832,28833,28834,28835,28836,28837,28838,28839,28840,28841,28842,28848,28850,28852,28853,28854,28858,28862,28863,28868,28869,28870,28871,28873,28875,28876,28877,28878,28879,28880,28881,28882,28883,28884,28885,28886,28887,28890,28892,28893,28894,28896,28897,28898,28899,28901,28906,28910,28912,28913,28914,28915,28916,28917,28918,28920,28922,28923,28924,28926,28927,28928,28929,28930,28931,28932,28933,28934,28935,28936,28939,28940,28941,28942,28943,28945,28946,28948,28951,28955,28956,28957,28958,28959,28960,28961,28962,28963,28964,28965,28967,28968,28969,28970,28971,28972,28973,28974,28978,28979,28980,28981,28983,28984,28985,28986,28987,28988,28989,28990,28991,28992,28993,28994,28995,28996,28998,28999,29e3,29001,29003,29005,29007,29008,29009,29010,29011,29012,29013,29014,29015,29016,29017,29018,29019,29021,29023,29024,29025,29026,29027,29029,29033,29034,29035,29036,29037,29039,29040,29041,29044,29045,29046,29047,29049,29051,29052,29054,29055,29056,29057,29058,29059,29061,29062,29063,29064,29065,29067,29068,29069,29070,29072,29073,29074,29075,29077,29078,29079,29082,29083,29084,29085,29086,29089,29090,29091,29092,29093,29094,29095,29097,29098,29099,29101,29102,29103,29104,29105,29106,29108,29110,29111,29112,29114,29115,29116,29117,29118,29119,29120,29121,29122,29124,29125,29126,29127,29128,29129,29130,29131,29132,29133,29135,29136,29137,29138,29139,29142,29143,29144,29145,29146,29147,29148,29149,29150,29151,29153,29154,29155,29156,29158,29160,29161,29162,29163,29164,29165,29167,29168,29169,29170,29171,29172,29173,29174,29175,29176,29178,29179,29180,29181,29182,29183,29184,29185,29186,29187,29188,29189,29191,29192,29193,29194,29195,29196,29197,29198,29199,29200,29201,29202,29203,29204,29205,29206,29207,29208,29209,29210,29211,29212,29214,29215,29216,29217,29218,29219,29220,29221,29222,29223,29225,29227,29229,29230,29231,29234,29235,29236,29242,29244,29246,29248,29249,29250,29251,29252,29253,29254,29257,29258,29259,29262,29263,29264,29265,29267,29268,29269,29271,29272,29274,29276,29278,29280,29283,29284,29285,29288,29290,29291,29292,29293,29296,29297,29299,29300,29302,29303,29304,29307,29308,29309,29314,29315,29317,29318,29319,29320,29321,29324,29326,29328,29329,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29358,29361,29362,29363,29365,29370,29371,29372,29373,29374,29375,29376,29381,29382,29383,29385,29386,29387,29388,29391,29393,29395,29396,29397,29398,29400,29402,29403,58566,58567,58568,58569,58570,58571,58572,58573,58574,58575,58576,58577,58578,58579,58580,58581,58582,58583,58584,58585,58586,58587,58588,58589,58590,58591,58592,58593,58594,58595,58596,58597,58598,58599,58600,58601,58602,58603,58604,58605,58606,58607,58608,58609,58610,58611,58612,58613,58614,58615,58616,58617,58618,58619,58620,58621,58622,58623,58624,58625,58626,58627,58628,58629,58630,58631,58632,58633,58634,58635,58636,58637,58638,58639,58640,58641,58642,58643,58644,58645,58646,58647,58648,58649,58650,58651,58652,58653,58654,58655,58656,58657,58658,58659,58660,58661,12288,12289,12290,183,713,711,168,12291,12293,8212,65374,8214,8230,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12310,12311,12304,12305,177,215,247,8758,8743,8744,8721,8719,8746,8745,8712,8759,8730,8869,8741,8736,8978,8857,8747,8750,8801,8780,8776,8765,8733,8800,8814,8815,8804,8805,8734,8757,8756,9794,9792,176,8242,8243,8451,65284,164,65504,65505,8240,167,8470,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,8251,8594,8592,8593,8595,12307,58662,58663,58664,58665,58666,58667,58668,58669,58670,58671,58672,58673,58674,58675,58676,58677,58678,58679,58680,58681,58682,58683,58684,58685,58686,58687,58688,58689,58690,58691,58692,58693,58694,58695,58696,58697,58698,58699,58700,58701,58702,58703,58704,58705,58706,58707,58708,58709,58710,58711,58712,58713,58714,58715,58716,58717,58718,58719,58720,58721,58722,58723,58724,58725,58726,58727,58728,58729,58730,58731,58732,58733,58734,58735,58736,58737,58738,58739,58740,58741,58742,58743,58744,58745,58746,58747,58748,58749,58750,58751,58752,58753,58754,58755,58756,58757,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,59238,59239,59240,59241,59242,59243,9352,9353,9354,9355,9356,9357,9358,9359,9360,9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,9347,9348,9349,9350,9351,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,8364,59245,12832,12833,12834,12835,12836,12837,12838,12839,12840,12841,59246,59247,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,59248,59249,58758,58759,58760,58761,58762,58763,58764,58765,58766,58767,58768,58769,58770,58771,58772,58773,58774,58775,58776,58777,58778,58779,58780,58781,58782,58783,58784,58785,58786,58787,58788,58789,58790,58791,58792,58793,58794,58795,58796,58797,58798,58799,58800,58801,58802,58803,58804,58805,58806,58807,58808,58809,58810,58811,58812,58813,58814,58815,58816,58817,58818,58819,58820,58821,58822,58823,58824,58825,58826,58827,58828,58829,58830,58831,58832,58833,58834,58835,58836,58837,58838,58839,58840,58841,58842,58843,58844,58845,58846,58847,58848,58849,58850,58851,58852,12288,65281,65282,65283,65509,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,58854,58855,58856,58857,58858,58859,58860,58861,58862,58863,58864,58865,58866,58867,58868,58869,58870,58871,58872,58873,58874,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58886,58887,58888,58889,58890,58891,58892,58893,58894,58895,58896,58897,58898,58899,58900,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920,58921,58922,58923,58924,58925,58926,58927,58928,58929,58930,58931,58932,58933,58934,58935,58936,58937,58938,58939,58940,58941,58942,58943,58944,58945,58946,58947,58948,58949,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,59250,59251,59252,59253,59254,59255,59256,59257,59258,59259,59260,58950,58951,58952,58953,58954,58955,58956,58957,58958,58959,58960,58961,58962,58963,58964,58965,58966,58967,58968,58969,58970,58971,58972,58973,58974,58975,58976,58977,58978,58979,58980,58981,58982,58983,58984,58985,58986,58987,58988,58989,58990,58991,58992,58993,58994,58995,58996,58997,58998,58999,59e3,59001,59002,59003,59004,59005,59006,59007,59008,59009,59010,59011,59012,59013,59014,59015,59016,59017,59018,59019,59020,59021,59022,59023,59024,59025,59026,59027,59028,59029,59030,59031,59032,59033,59034,59035,59036,59037,59038,59039,59040,59041,59042,59043,59044,59045,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,59261,59262,59263,59264,59265,59266,59267,59268,59046,59047,59048,59049,59050,59051,59052,59053,59054,59055,59056,59057,59058,59059,59060,59061,59062,59063,59064,59065,59066,59067,59068,59069,59070,59071,59072,59073,59074,59075,59076,59077,59078,59079,59080,59081,59082,59083,59084,59085,59086,59087,59088,59089,59090,59091,59092,59093,59094,59095,59096,59097,59098,59099,59100,59101,59102,59103,59104,59105,59106,59107,59108,59109,59110,59111,59112,59113,59114,59115,59116,59117,59118,59119,59120,59121,59122,59123,59124,59125,59126,59127,59128,59129,59130,59131,59132,59133,59134,59135,59136,59137,59138,59139,59140,59141,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,59269,59270,59271,59272,59273,59274,59275,59276,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,59277,59278,59279,59280,59281,59282,59283,65077,65078,65081,65082,65087,65088,65085,65086,65089,65090,65091,65092,59284,59285,65083,65084,65079,65080,65073,59286,65075,65076,59287,59288,59289,59290,59291,59292,59293,59294,59295,59142,59143,59144,59145,59146,59147,59148,59149,59150,59151,59152,59153,59154,59155,59156,59157,59158,59159,59160,59161,59162,59163,59164,59165,59166,59167,59168,59169,59170,59171,59172,59173,59174,59175,59176,59177,59178,59179,59180,59181,59182,59183,59184,59185,59186,59187,59188,59189,59190,59191,59192,59193,59194,59195,59196,59197,59198,59199,59200,59201,59202,59203,59204,59205,59206,59207,59208,59209,59210,59211,59212,59213,59214,59215,59216,59217,59218,59219,59220,59221,59222,59223,59224,59225,59226,59227,59228,59229,59230,59231,59232,59233,59234,59235,59236,59237,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,59296,59297,59298,59299,59300,59301,59302,59303,59304,59305,59306,59307,59308,59309,59310,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,59311,59312,59313,59314,59315,59316,59317,59318,59319,59320,59321,59322,59323,714,715,729,8211,8213,8229,8245,8453,8457,8598,8599,8600,8601,8725,8735,8739,8786,8806,8807,8895,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584,9585,9586,9587,9601,9602,9603,9604,9605,9606,9607,9608,9609,9610,9611,9612,9613,9614,9615,9619,9620,9621,9660,9661,9698,9699,9700,9701,9737,8853,12306,12317,12318,59324,59325,59326,59327,59328,59329,59330,59331,59332,59333,59334,257,225,462,224,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,234,593,7743,324,328,505,609,59337,59338,59339,59340,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,59341,59342,59343,59344,59345,59346,59347,59348,59349,59350,59351,59352,59353,59354,59355,59356,59357,59358,59359,59360,59361,12321,12322,12323,12324,12325,12326,12327,12328,12329,12963,13198,13199,13212,13213,13214,13217,13252,13262,13265,13266,13269,65072,65506,65508,59362,8481,12849,59363,8208,59364,59365,59366,12540,12443,12444,12541,12542,12294,12445,12446,65097,65098,65099,65100,65101,65102,65103,65104,65105,65106,65108,65109,65110,65111,65113,65114,65115,65116,65117,65118,65119,65120,65121,65122,65123,65124,65125,65126,65128,65129,65130,65131,12350,12272,12273,12274,12275,12276,12277,12278,12279,12280,12281,12282,12283,12295,59380,59381,59382,59383,59384,59385,59386,59387,59388,59389,59390,59391,59392,9472,9473,9474,9475,9476,9477,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,9489,9490,9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506,9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,9521,9522,9523,9524,9525,9526,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,59393,59394,59395,59396,59397,59398,59399,59400,59401,59402,59403,59404,59405,59406,59407,29404,29405,29407,29410,29411,29412,29413,29414,29415,29418,29419,29429,29430,29433,29437,29438,29439,29440,29442,29444,29445,29446,29447,29448,29449,29451,29452,29453,29455,29456,29457,29458,29460,29464,29465,29466,29471,29472,29475,29476,29478,29479,29480,29485,29487,29488,29490,29491,29493,29494,29498,29499,29500,29501,29504,29505,29506,29507,29508,29509,29510,29511,29512,29513,29514,29515,29516,29518,29519,29521,29523,29524,29525,29526,29528,29529,29530,29531,29532,29533,29534,29535,29537,29538,29539,29540,29541,29542,29543,29544,29545,29546,29547,29550,29552,29553,57344,57345,57346,57347,57348,57349,57350,57351,57352,57353,57354,57355,57356,57357,57358,57359,57360,57361,57362,57363,57364,57365,57366,57367,57368,57369,57370,57371,57372,57373,57374,57375,57376,57377,57378,57379,57380,57381,57382,57383,57384,57385,57386,57387,57388,57389,57390,57391,57392,57393,57394,57395,57396,57397,57398,57399,57400,57401,57402,57403,57404,57405,57406,57407,57408,57409,57410,57411,57412,57413,57414,57415,57416,57417,57418,57419,57420,57421,57422,57423,57424,57425,57426,57427,57428,57429,57430,57431,57432,57433,57434,57435,57436,57437,29554,29555,29556,29557,29558,29559,29560,29561,29562,29563,29564,29565,29567,29568,29569,29570,29571,29573,29574,29576,29578,29580,29581,29583,29584,29586,29587,29588,29589,29591,29592,29593,29594,29596,29597,29598,29600,29601,29603,29604,29605,29606,29607,29608,29610,29612,29613,29617,29620,29621,29622,29624,29625,29628,29629,29630,29631,29633,29635,29636,29637,29638,29639,29643,29644,29646,29650,29651,29652,29653,29654,29655,29656,29658,29659,29660,29661,29663,29665,29666,29667,29668,29670,29672,29674,29675,29676,29678,29679,29680,29681,29683,29684,29685,29686,29687,57438,57439,57440,57441,57442,57443,57444,57445,57446,57447,57448,57449,57450,57451,57452,57453,57454,57455,57456,57457,57458,57459,57460,57461,57462,57463,57464,57465,57466,57467,57468,57469,57470,57471,57472,57473,57474,57475,57476,57477,57478,57479,57480,57481,57482,57483,57484,57485,57486,57487,57488,57489,57490,57491,57492,57493,57494,57495,57496,57497,57498,57499,57500,57501,57502,57503,57504,57505,57506,57507,57508,57509,57510,57511,57512,57513,57514,57515,57516,57517,57518,57519,57520,57521,57522,57523,57524,57525,57526,57527,57528,57529,57530,57531,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29700,29703,29704,29707,29708,29709,29710,29713,29714,29715,29716,29717,29718,29719,29720,29721,29724,29725,29726,29727,29728,29729,29731,29732,29735,29737,29739,29741,29743,29745,29746,29751,29752,29753,29754,29755,29757,29758,29759,29760,29762,29763,29764,29765,29766,29767,29768,29769,29770,29771,29772,29773,29774,29775,29776,29777,29778,29779,29780,29782,29784,29789,29792,29793,29794,29795,29796,29797,29798,29799,29800,29801,29802,29803,29804,29806,29807,29809,29810,29811,29812,29813,29816,29817,29818,57532,57533,57534,57535,57536,57537,57538,57539,57540,57541,57542,57543,57544,57545,57546,57547,57548,57549,57550,57551,57552,57553,57554,57555,57556,57557,57558,57559,57560,57561,57562,57563,57564,57565,57566,57567,57568,57569,57570,57571,57572,57573,57574,57575,57576,57577,57578,57579,57580,57581,57582,57583,57584,57585,57586,57587,57588,57589,57590,57591,57592,57593,57594,57595,57596,57597,57598,57599,57600,57601,57602,57603,57604,57605,57606,57607,57608,57609,57610,57611,57612,57613,57614,57615,57616,57617,57618,57619,57620,57621,57622,57623,57624,57625,29819,29820,29821,29823,29826,29828,29829,29830,29832,29833,29834,29836,29837,29839,29841,29842,29843,29844,29845,29846,29847,29848,29849,29850,29851,29853,29855,29856,29857,29858,29859,29860,29861,29862,29866,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29883,29884,29885,29886,29887,29888,29889,29890,29891,29892,29893,29894,29895,29896,29897,29898,29899,29900,29901,29902,29903,29904,29905,29907,29908,29909,29910,29911,29912,29913,29914,29915,29917,29919,29921,29925,29927,29928,29929,29930,29931,29932,29933,29936,29937,29938,57626,57627,57628,57629,57630,57631,57632,57633,57634,57635,57636,57637,57638,57639,57640,57641,57642,57643,57644,57645,57646,57647,57648,57649,57650,57651,57652,57653,57654,57655,57656,57657,57658,57659,57660,57661,57662,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57677,57678,57679,57680,57681,57682,57683,57684,57685,57686,57687,57688,57689,57690,57691,57692,57693,57694,57695,57696,57697,57698,57699,57700,57701,57702,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57717,57718,57719,29939,29941,29944,29945,29946,29947,29948,29949,29950,29952,29953,29954,29955,29957,29958,29959,29960,29961,29962,29963,29964,29966,29968,29970,29972,29973,29974,29975,29979,29981,29982,29984,29985,29986,29987,29988,29990,29991,29994,29998,30004,30006,30009,30012,30013,30015,30017,30018,30019,30020,30022,30023,30025,30026,30029,30032,30033,30034,30035,30037,30038,30039,30040,30045,30046,30047,30048,30049,30050,30051,30052,30055,30056,30057,30059,30060,30061,30062,30063,30064,30065,30067,30069,30070,30071,30074,30075,30076,30077,30078,30080,30081,30082,30084,30085,30087,57720,57721,57722,57723,57724,57725,57726,57727,57728,57729,57730,57731,57732,57733,57734,57735,57736,57737,57738,57739,57740,57741,57742,57743,57744,57745,57746,57747,57748,57749,57750,57751,57752,57753,57754,57755,57756,57757,57758,57759,57760,57761,57762,57763,57764,57765,57766,57767,57768,57769,57770,57771,57772,57773,57774,57775,57776,57777,57778,57779,57780,57781,57782,57783,57784,57785,57786,57787,57788,57789,57790,57791,57792,57793,57794,57795,57796,57797,57798,57799,57800,57801,57802,57803,57804,57805,57806,57807,57808,57809,57810,57811,57812,57813,30088,30089,30090,30092,30093,30094,30096,30099,30101,30104,30107,30108,30110,30114,30118,30119,30120,30121,30122,30125,30134,30135,30138,30139,30143,30144,30145,30150,30155,30156,30158,30159,30160,30161,30163,30167,30169,30170,30172,30173,30175,30176,30177,30181,30185,30188,30189,30190,30191,30194,30195,30197,30198,30199,30200,30202,30203,30205,30206,30210,30212,30214,30215,30216,30217,30219,30221,30222,30223,30225,30226,30227,30228,30230,30234,30236,30237,30238,30241,30243,30247,30248,30252,30254,30255,30257,30258,30262,30263,30265,30266,30267,30269,30273,30274,30276,57814,57815,57816,57817,57818,57819,57820,57821,57822,57823,57824,57825,57826,57827,57828,57829,57830,57831,57832,57833,57834,57835,57836,57837,57838,57839,57840,57841,57842,57843,57844,57845,57846,57847,57848,57849,57850,57851,57852,57853,57854,57855,57856,57857,57858,57859,57860,57861,57862,57863,57864,57865,57866,57867,57868,57869,57870,57871,57872,57873,57874,57875,57876,57877,57878,57879,57880,57881,57882,57883,57884,57885,57886,57887,57888,57889,57890,57891,57892,57893,57894,57895,57896,57897,57898,57899,57900,57901,57902,57903,57904,57905,57906,57907,30277,30278,30279,30280,30281,30282,30283,30286,30287,30288,30289,30290,30291,30293,30295,30296,30297,30298,30299,30301,30303,30304,30305,30306,30308,30309,30310,30311,30312,30313,30314,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30329,30330,30332,30335,30336,30337,30339,30341,30345,30346,30348,30349,30351,30352,30354,30356,30357,30359,30360,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30373,30374,30375,30376,30377,30378,30379,30380,30381,30383,30384,30387,30389,30390,30391,30392,30393,30394,30395,30396,30397,30398,30400,30401,30403,21834,38463,22467,25384,21710,21769,21696,30353,30284,34108,30702,33406,30861,29233,38552,38797,27688,23433,20474,25353,26263,23736,33018,26696,32942,26114,30414,20985,25942,29100,32753,34948,20658,22885,25034,28595,33453,25420,25170,21485,21543,31494,20843,30116,24052,25300,36299,38774,25226,32793,22365,38712,32610,29240,30333,26575,30334,25670,20336,36133,25308,31255,26001,29677,25644,25203,33324,39041,26495,29256,25198,25292,20276,29923,21322,21150,32458,37030,24110,26758,27036,33152,32465,26834,30917,34444,38225,20621,35876,33502,32990,21253,35090,21093,30404,30407,30409,30411,30412,30419,30421,30425,30426,30428,30429,30430,30432,30433,30434,30435,30436,30438,30439,30440,30441,30442,30443,30444,30445,30448,30451,30453,30454,30455,30458,30459,30461,30463,30464,30466,30467,30469,30470,30474,30476,30478,30479,30480,30481,30482,30483,30484,30485,30486,30487,30488,30491,30492,30493,30494,30497,30499,30500,30501,30503,30506,30507,30508,30510,30512,30513,30514,30515,30516,30521,30523,30525,30526,30527,30530,30532,30533,30534,30536,30537,30538,30539,30540,30541,30542,30543,30546,30547,30548,30549,30550,30551,30552,30553,30556,34180,38649,20445,22561,39281,23453,25265,25253,26292,35961,40077,29190,26479,30865,24754,21329,21271,36744,32972,36125,38049,20493,29384,22791,24811,28953,34987,22868,33519,26412,31528,23849,32503,29997,27893,36454,36856,36924,40763,27604,37145,31508,24444,30887,34006,34109,27605,27609,27606,24065,24199,30201,38381,25949,24330,24517,36767,22721,33218,36991,38491,38829,36793,32534,36140,25153,20415,21464,21342,36776,36777,36779,36941,26631,24426,33176,34920,40150,24971,21035,30250,24428,25996,28626,28392,23486,25672,20853,20912,26564,19993,31177,39292,28851,30557,30558,30559,30560,30564,30567,30569,30570,30573,30574,30575,30576,30577,30578,30579,30580,30581,30582,30583,30584,30586,30587,30588,30593,30594,30595,30598,30599,30600,30601,30602,30603,30607,30608,30611,30612,30613,30614,30615,30616,30617,30618,30619,30620,30621,30622,30625,30627,30628,30630,30632,30635,30637,30638,30639,30641,30642,30644,30646,30647,30648,30649,30650,30652,30654,30656,30657,30658,30659,30660,30661,30662,30663,30664,30665,30666,30667,30668,30670,30671,30672,30673,30674,30675,30676,30677,30678,30680,30681,30682,30685,30686,30687,30688,30689,30692,30149,24182,29627,33760,25773,25320,38069,27874,21338,21187,25615,38082,31636,20271,24091,33334,33046,33162,28196,27850,39539,25429,21340,21754,34917,22496,19981,24067,27493,31807,37096,24598,25830,29468,35009,26448,25165,36130,30572,36393,37319,24425,33756,34081,39184,21442,34453,27531,24813,24808,28799,33485,33329,20179,27815,34255,25805,31961,27133,26361,33609,21397,31574,20391,20876,27979,23618,36461,25554,21449,33580,33590,26597,30900,25661,23519,23700,24046,35815,25286,26612,35962,25600,25530,34633,39307,35863,32544,38130,20135,38416,39076,26124,29462,30694,30696,30698,30703,30704,30705,30706,30708,30709,30711,30713,30714,30715,30716,30723,30724,30725,30726,30727,30728,30730,30731,30734,30735,30736,30739,30741,30745,30747,30750,30752,30753,30754,30756,30760,30762,30763,30766,30767,30769,30770,30771,30773,30774,30781,30783,30785,30786,30787,30788,30790,30792,30793,30794,30795,30797,30799,30801,30803,30804,30808,30809,30810,30811,30812,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30831,30832,30833,30834,30835,30836,30837,30838,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30851,22330,23581,24120,38271,20607,32928,21378,25950,30021,21809,20513,36229,25220,38046,26397,22066,28526,24034,21557,28818,36710,25199,25764,25507,24443,28552,37108,33251,36784,23576,26216,24561,27785,38472,36225,34924,25745,31216,22478,27225,25104,21576,20056,31243,24809,28548,35802,25215,36894,39563,31204,21507,30196,25345,21273,27744,36831,24347,39536,32827,40831,20360,23610,36196,32709,26021,28861,20805,20914,34411,23815,23456,25277,37228,30068,36364,31264,24833,31609,20167,32504,30597,19985,33261,21021,20986,27249,21416,36487,38148,38607,28353,38500,26970,30852,30853,30854,30856,30858,30859,30863,30864,30866,30868,30869,30870,30873,30877,30878,30880,30882,30884,30886,30888,30889,30890,30891,30892,30893,30894,30895,30901,30902,30903,30904,30906,30907,30908,30909,30911,30912,30914,30915,30916,30918,30919,30920,30924,30925,30926,30927,30929,30930,30931,30934,30935,30936,30938,30939,30940,30941,30942,30943,30944,30945,30946,30947,30948,30949,30950,30951,30953,30954,30955,30957,30958,30959,30960,30961,30963,30965,30966,30968,30969,30971,30972,30973,30974,30975,30976,30978,30979,30980,30982,30983,30984,30985,30986,30987,30988,30784,20648,30679,25616,35302,22788,25571,24029,31359,26941,20256,33337,21912,20018,30126,31383,24162,24202,38383,21019,21561,28810,25462,38180,22402,26149,26943,37255,21767,28147,32431,34850,25139,32496,30133,33576,30913,38604,36766,24904,29943,35789,27492,21050,36176,27425,32874,33905,22257,21254,20174,19995,20945,31895,37259,31751,20419,36479,31713,31388,25703,23828,20652,33030,30209,31929,28140,32736,26449,23384,23544,30923,25774,25619,25514,25387,38169,25645,36798,31572,30249,25171,22823,21574,27513,20643,25140,24102,27526,20195,36151,34955,24453,36910,30989,30990,30991,30992,30993,30994,30996,30997,30998,30999,31e3,31001,31002,31003,31004,31005,31007,31008,31009,31010,31011,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023,31024,31025,31026,31027,31029,31030,31031,31032,31033,31037,31039,31042,31043,31044,31045,31047,31050,31051,31052,31053,31054,31055,31056,31057,31058,31060,31061,31064,31065,31073,31075,31076,31078,31081,31082,31083,31084,31086,31088,31089,31090,31091,31092,31093,31094,31097,31099,31100,31101,31102,31103,31106,31107,31110,31111,31112,31113,31115,31116,31117,31118,31120,31121,31122,24608,32829,25285,20025,21333,37112,25528,32966,26086,27694,20294,24814,28129,35806,24377,34507,24403,25377,20826,33633,26723,20992,25443,36424,20498,23707,31095,23548,21040,31291,24764,36947,30423,24503,24471,30340,36460,28783,30331,31561,30634,20979,37011,22564,20302,28404,36842,25932,31515,29380,28068,32735,23265,25269,24213,22320,33922,31532,24093,24351,36882,32532,39072,25474,28359,30872,28857,20856,38747,22443,30005,20291,30008,24215,24806,22880,28096,27583,30857,21500,38613,20939,20993,25481,21514,38035,35843,36300,29241,30879,34678,36845,35853,21472,31123,31124,31125,31126,31127,31128,31129,31131,31132,31133,31134,31135,31136,31137,31138,31139,31140,31141,31142,31144,31145,31146,31147,31148,31149,31150,31151,31152,31153,31154,31156,31157,31158,31159,31160,31164,31167,31170,31172,31173,31175,31176,31178,31180,31182,31183,31184,31187,31188,31190,31191,31193,31194,31195,31196,31197,31198,31200,31201,31202,31205,31208,31210,31212,31214,31217,31218,31219,31220,31221,31222,31223,31225,31226,31228,31230,31231,31233,31236,31237,31239,31240,31241,31242,31244,31247,31248,31249,31250,31251,31253,31254,31256,31257,31259,31260,19969,30447,21486,38025,39030,40718,38189,23450,35746,20002,19996,20908,33891,25026,21160,26635,20375,24683,20923,27934,20828,25238,26007,38497,35910,36887,30168,37117,30563,27602,29322,29420,35835,22581,30585,36172,26460,38208,32922,24230,28193,22930,31471,30701,38203,27573,26029,32526,22534,20817,38431,23545,22697,21544,36466,25958,39039,22244,38045,30462,36929,25479,21702,22810,22842,22427,36530,26421,36346,33333,21057,24816,22549,34558,23784,40517,20420,39069,35769,23077,24694,21380,25212,36943,37122,39295,24681,32780,20799,32819,23572,39285,27953,20108,31261,31263,31265,31266,31268,31269,31270,31271,31272,31273,31274,31275,31276,31277,31278,31279,31280,31281,31282,31284,31285,31286,31288,31290,31294,31296,31297,31298,31299,31300,31301,31303,31304,31305,31306,31307,31308,31309,31310,31311,31312,31314,31315,31316,31317,31318,31320,31321,31322,31323,31324,31325,31326,31327,31328,31329,31330,31331,31332,31333,31334,31335,31336,31337,31338,31339,31340,31341,31342,31343,31345,31346,31347,31349,31355,31356,31357,31358,31362,31365,31367,31369,31370,31371,31372,31374,31375,31376,31379,31380,31385,31386,31387,31390,31393,31394,36144,21457,32602,31567,20240,20047,38400,27861,29648,34281,24070,30058,32763,27146,30718,38034,32321,20961,28902,21453,36820,33539,36137,29359,39277,27867,22346,33459,26041,32938,25151,38450,22952,20223,35775,32442,25918,33778,38750,21857,39134,32933,21290,35837,21536,32954,24223,27832,36153,33452,37210,21545,27675,20998,32439,22367,28954,27774,31881,22859,20221,24575,24868,31914,20016,23553,26539,34562,23792,38155,39118,30127,28925,36898,20911,32541,35773,22857,20964,20315,21542,22827,25975,32932,23413,25206,25282,36752,24133,27679,31526,20239,20440,26381,31395,31396,31399,31401,31402,31403,31406,31407,31408,31409,31410,31412,31413,31414,31415,31416,31417,31418,31419,31420,31421,31422,31424,31425,31426,31427,31428,31429,31430,31431,31432,31433,31434,31436,31437,31438,31439,31440,31441,31442,31443,31444,31445,31447,31448,31450,31451,31452,31453,31457,31458,31460,31463,31464,31465,31466,31467,31468,31470,31472,31473,31474,31475,31476,31477,31478,31479,31480,31483,31484,31486,31488,31489,31490,31493,31495,31497,31500,31501,31502,31504,31506,31507,31510,31511,31512,31514,31516,31517,31519,31521,31522,31523,31527,31529,31533,28014,28074,31119,34993,24343,29995,25242,36741,20463,37340,26023,33071,33105,24220,33104,36212,21103,35206,36171,22797,20613,20184,38428,29238,33145,36127,23500,35747,38468,22919,32538,21648,22134,22030,35813,25913,27010,38041,30422,28297,24178,29976,26438,26577,31487,32925,36214,24863,31174,25954,36195,20872,21018,38050,32568,32923,32434,23703,28207,26464,31705,30347,39640,33167,32660,31957,25630,38224,31295,21578,21733,27468,25601,25096,40509,33011,30105,21106,38761,33883,26684,34532,38401,38548,38124,20010,21508,32473,26681,36319,32789,26356,24218,32697,31535,31536,31538,31540,31541,31542,31543,31545,31547,31549,31551,31552,31553,31554,31555,31556,31558,31560,31562,31565,31566,31571,31573,31575,31577,31580,31582,31583,31585,31587,31588,31589,31590,31591,31592,31593,31594,31595,31596,31597,31599,31600,31603,31604,31606,31608,31610,31612,31613,31615,31617,31618,31619,31620,31622,31623,31624,31625,31626,31627,31628,31630,31631,31633,31634,31635,31638,31640,31641,31642,31643,31646,31647,31648,31651,31652,31653,31662,31663,31664,31666,31667,31669,31670,31671,31673,31674,31675,31676,31677,31678,31679,31680,31682,31683,31684,22466,32831,26775,24037,25915,21151,24685,40858,20379,36524,20844,23467,24339,24041,27742,25329,36129,20849,38057,21246,27807,33503,29399,22434,26500,36141,22815,36764,33735,21653,31629,20272,27837,23396,22993,40723,21476,34506,39592,35895,32929,25925,39038,22266,38599,21038,29916,21072,23521,25346,35074,20054,25296,24618,26874,20851,23448,20896,35266,31649,39302,32592,24815,28748,36143,20809,24191,36891,29808,35268,22317,30789,24402,40863,38394,36712,39740,35809,30328,26690,26588,36330,36149,21053,36746,28378,26829,38149,37101,22269,26524,35065,36807,21704,31685,31688,31689,31690,31691,31693,31694,31695,31696,31698,31700,31701,31702,31703,31704,31707,31708,31710,31711,31712,31714,31715,31716,31719,31720,31721,31723,31724,31725,31727,31728,31730,31731,31732,31733,31734,31736,31737,31738,31739,31741,31743,31744,31745,31746,31747,31748,31749,31750,31752,31753,31754,31757,31758,31760,31761,31762,31763,31764,31765,31767,31768,31769,31770,31771,31772,31773,31774,31776,31777,31778,31779,31780,31781,31784,31785,31787,31788,31789,31790,31791,31792,31793,31794,31795,31796,31797,31798,31799,31801,31802,31803,31804,31805,31806,31810,39608,23401,28023,27686,20133,23475,39559,37219,25e3,37039,38889,21547,28085,23506,20989,21898,32597,32752,25788,25421,26097,25022,24717,28938,27735,27721,22831,26477,33322,22741,22158,35946,27627,37085,22909,32791,21495,28009,21621,21917,33655,33743,26680,31166,21644,20309,21512,30418,35977,38402,27827,28088,36203,35088,40548,36154,22079,40657,30165,24456,29408,24680,21756,20136,27178,34913,24658,36720,21700,28888,34425,40511,27946,23439,24344,32418,21897,20399,29492,21564,21402,20505,21518,21628,20046,24573,29786,22774,33899,32993,34676,29392,31946,28246,31811,31812,31813,31814,31815,31816,31817,31818,31819,31820,31822,31823,31824,31825,31826,31827,31828,31829,31830,31831,31832,31833,31834,31835,31836,31837,31838,31839,31840,31841,31842,31843,31844,31845,31846,31847,31848,31849,31850,31851,31852,31853,31854,31855,31856,31857,31858,31861,31862,31863,31864,31865,31866,31870,31871,31872,31873,31874,31875,31876,31877,31878,31879,31880,31882,31883,31884,31885,31886,31887,31888,31891,31892,31894,31897,31898,31899,31904,31905,31907,31910,31911,31912,31913,31915,31916,31917,31919,31920,31924,31925,31926,31927,31928,31930,31931,24359,34382,21804,25252,20114,27818,25143,33457,21719,21326,29502,28369,30011,21010,21270,35805,27088,24458,24576,28142,22351,27426,29615,26707,36824,32531,25442,24739,21796,30186,35938,28949,28067,23462,24187,33618,24908,40644,30970,34647,31783,30343,20976,24822,29004,26179,24140,24653,35854,28784,25381,36745,24509,24674,34516,22238,27585,24724,24935,21321,24800,26214,36159,31229,20250,28905,27719,35763,35826,32472,33636,26127,23130,39746,27985,28151,35905,27963,20249,28779,33719,25110,24785,38669,36135,31096,20987,22334,22522,26426,30072,31293,31215,31637,31935,31936,31938,31939,31940,31942,31945,31947,31950,31951,31952,31953,31954,31955,31956,31960,31962,31963,31965,31966,31969,31970,31971,31972,31973,31974,31975,31977,31978,31979,31980,31981,31982,31984,31985,31986,31987,31988,31989,31990,31991,31993,31994,31996,31997,31998,31999,32e3,32001,32002,32003,32004,32005,32006,32007,32008,32009,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32035,32036,32037,32038,32040,32041,32042,32044,32045,32046,32048,32049,32050,32051,32052,32053,32054,32908,39269,36857,28608,35749,40481,23020,32489,32521,21513,26497,26840,36753,31821,38598,21450,24613,30142,27762,21363,23241,32423,25380,20960,33034,24049,34015,25216,20864,23395,20238,31085,21058,24760,27982,23492,23490,35745,35760,26082,24524,38469,22931,32487,32426,22025,26551,22841,20339,23478,21152,33626,39050,36158,30002,38078,20551,31292,20215,26550,39550,23233,27516,30417,22362,23574,31546,38388,29006,20860,32937,33392,22904,32516,33575,26816,26604,30897,30839,25315,25441,31616,20461,21098,20943,33616,27099,37492,36341,36145,35265,38190,31661,20214,32055,32056,32057,32058,32059,32060,32061,32062,32063,32064,32065,32066,32067,32068,32069,32070,32071,32072,32073,32074,32075,32076,32077,32078,32079,32080,32081,32082,32083,32084,32085,32086,32087,32088,32089,32090,32091,32092,32093,32094,32095,32096,32097,32098,32099,32100,32101,32102,32103,32104,32105,32106,32107,32108,32109,32111,32112,32113,32114,32115,32116,32117,32118,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32131,32132,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,20581,33328,21073,39279,28176,28293,28071,24314,20725,23004,23558,27974,27743,30086,33931,26728,22870,35762,21280,37233,38477,34121,26898,30977,28966,33014,20132,37066,27975,39556,23047,22204,25605,38128,30699,20389,33050,29409,35282,39290,32564,32478,21119,25945,37237,36735,36739,21483,31382,25581,25509,30342,31224,34903,38454,25130,21163,33410,26708,26480,25463,30571,31469,27905,32467,35299,22992,25106,34249,33445,30028,20511,20171,30117,35819,23626,24062,31563,26020,37329,20170,27941,35167,32039,38182,20165,35880,36827,38771,26187,31105,36817,28908,28024,32153,32154,32155,32156,32157,32158,32159,32160,32161,32162,32163,32164,32165,32167,32168,32169,32170,32171,32172,32173,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,23613,21170,33606,20834,33550,30555,26230,40120,20140,24778,31934,31923,32463,20117,35686,26223,39048,38745,22659,25964,38236,24452,30153,38742,31455,31454,20928,28847,31384,25578,31350,32416,29590,38893,20037,28792,20061,37202,21417,25937,26087,33276,33285,21646,23601,30106,38816,25304,29401,30141,23621,39545,33738,23616,21632,30697,20030,27822,32858,25298,25454,24040,20855,36317,36382,38191,20465,21477,24807,28844,21095,25424,40515,23071,20518,30519,21367,32482,25733,25899,25225,25496,20500,29237,35273,20915,35776,32477,22343,33740,38055,20891,21531,23803,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32261,32262,32263,32264,32265,32266,32267,32268,32269,32270,32271,32272,32273,32274,32275,32276,32277,32278,32279,32280,32281,32282,32283,32284,32285,32286,32287,32288,32289,32290,32291,32292,32293,32294,32295,32296,32297,32298,32299,32300,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32316,32317,32318,32319,32320,32322,32323,32324,32325,32326,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,20426,31459,27994,37089,39567,21888,21654,21345,21679,24320,25577,26999,20975,24936,21002,22570,21208,22350,30733,30475,24247,24951,31968,25179,25239,20130,28821,32771,25335,28900,38752,22391,33499,26607,26869,30933,39063,31185,22771,21683,21487,28212,20811,21051,23458,35838,32943,21827,22438,24691,22353,21549,31354,24656,23380,25511,25248,21475,25187,23495,26543,21741,31391,33510,37239,24211,35044,22840,22446,25358,36328,33007,22359,31607,20393,24555,23485,27454,21281,31568,29378,26694,30719,30518,26103,20917,20111,30420,23743,31397,33909,22862,39745,20608,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32361,32362,32363,32364,32365,32366,32367,32368,32369,32370,32371,32372,32373,32374,32375,32376,32377,32378,32379,32380,32381,32382,32383,32384,32385,32387,32388,32389,32390,32391,32392,32393,32394,32395,32396,32397,32398,32399,32400,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32412,32413,32414,32430,32436,32443,32444,32470,32484,32492,32505,32522,32528,32542,32567,32569,32571,32572,32573,32574,32575,32576,32577,32579,32582,32583,32584,32585,32586,32587,32588,32589,32590,32591,32594,32595,39304,24871,28291,22372,26118,25414,22256,25324,25193,24275,38420,22403,25289,21895,34593,33098,36771,21862,33713,26469,36182,34013,23146,26639,25318,31726,38417,20848,28572,35888,25597,35272,25042,32518,28866,28389,29701,27028,29436,24266,37070,26391,28010,25438,21171,29282,32769,20332,23013,37226,28889,28061,21202,20048,38647,38253,34174,30922,32047,20769,22418,25794,32907,31867,27882,26865,26974,20919,21400,26792,29313,40654,31729,29432,31163,28435,29702,26446,37324,40100,31036,33673,33620,21519,26647,20029,21385,21169,30782,21382,21033,20616,20363,20432,32598,32601,32603,32604,32605,32606,32608,32611,32612,32613,32614,32615,32619,32620,32621,32623,32624,32627,32629,32630,32631,32632,32634,32635,32636,32637,32639,32640,32642,32643,32644,32645,32646,32647,32648,32649,32651,32653,32655,32656,32657,32658,32659,32661,32662,32663,32664,32665,32667,32668,32672,32674,32675,32677,32678,32680,32681,32682,32683,32684,32685,32686,32689,32691,32692,32693,32694,32695,32698,32699,32702,32704,32706,32707,32708,32710,32711,32712,32713,32715,32717,32719,32720,32721,32722,32723,32726,32727,32729,32730,32731,32732,32733,32734,32738,32739,30178,31435,31890,27813,38582,21147,29827,21737,20457,32852,33714,36830,38256,24265,24604,28063,24088,25947,33080,38142,24651,28860,32451,31918,20937,26753,31921,33391,20004,36742,37327,26238,20142,35845,25769,32842,20698,30103,29134,23525,36797,28518,20102,25730,38243,24278,26009,21015,35010,28872,21155,29454,29747,26519,30967,38678,20020,37051,40158,28107,20955,36161,21533,25294,29618,33777,38646,40836,38083,20278,32666,20940,28789,38517,23725,39046,21478,20196,28316,29705,27060,30827,39311,30041,21016,30244,27969,26611,20845,40857,32843,21657,31548,31423,32740,32743,32744,32746,32747,32748,32749,32751,32754,32756,32757,32758,32759,32760,32761,32762,32765,32766,32767,32770,32775,32776,32777,32778,32782,32783,32785,32787,32794,32795,32797,32798,32799,32801,32803,32804,32811,32812,32813,32814,32815,32816,32818,32820,32825,32826,32828,32830,32832,32833,32836,32837,32839,32840,32841,32846,32847,32848,32849,32851,32853,32854,32855,32857,32859,32860,32861,32862,32863,32864,32865,32866,32867,32868,32869,32870,32871,32872,32875,32876,32877,32878,32879,32880,32882,32883,32884,32885,32886,32887,32888,32889,32890,32891,32892,32893,38534,22404,25314,38471,27004,23044,25602,31699,28431,38475,33446,21346,39045,24208,28809,25523,21348,34383,40065,40595,30860,38706,36335,36162,40575,28510,31108,24405,38470,25134,39540,21525,38109,20387,26053,23653,23649,32533,34385,27695,24459,29575,28388,32511,23782,25371,23402,28390,21365,20081,25504,30053,25249,36718,20262,20177,27814,32438,35770,33821,34746,32599,36923,38179,31657,39585,35064,33853,27931,39558,32476,22920,40635,29595,30721,34434,39532,39554,22043,21527,22475,20080,40614,21334,36808,33033,30610,39314,34542,28385,34067,26364,24930,28459,32894,32897,32898,32901,32904,32906,32909,32910,32911,32912,32913,32914,32916,32917,32919,32921,32926,32931,32934,32935,32936,32940,32944,32947,32949,32950,32952,32953,32955,32965,32967,32968,32969,32970,32971,32975,32976,32977,32978,32979,32980,32981,32984,32991,32992,32994,32995,32998,33006,33013,33015,33017,33019,33022,33023,33024,33025,33027,33028,33029,33031,33032,33035,33036,33045,33047,33049,33051,33052,33053,33055,33056,33057,33058,33059,33060,33061,33062,33063,33064,33065,33066,33067,33069,33070,33072,33075,33076,33077,33079,33081,33082,33083,33084,33085,33087,35881,33426,33579,30450,27667,24537,33725,29483,33541,38170,27611,30683,38086,21359,33538,20882,24125,35980,36152,20040,29611,26522,26757,37238,38665,29028,27809,30473,23186,38209,27599,32654,26151,23504,22969,23194,38376,38391,20204,33804,33945,27308,30431,38192,29467,26790,23391,30511,37274,38753,31964,36855,35868,24357,31859,31192,35269,27852,34588,23494,24130,26825,30496,32501,20885,20813,21193,23081,32517,38754,33495,25551,30596,34256,31186,28218,24217,22937,34065,28781,27665,25279,30399,25935,24751,38397,26126,34719,40483,38125,21517,21629,35884,25720,33088,33089,33090,33091,33092,33093,33095,33097,33101,33102,33103,33106,33110,33111,33112,33115,33116,33117,33118,33119,33121,33122,33123,33124,33126,33128,33130,33131,33132,33135,33138,33139,33141,33142,33143,33144,33153,33155,33156,33157,33158,33159,33161,33163,33164,33165,33166,33168,33170,33171,33172,33173,33174,33175,33177,33178,33182,33183,33184,33185,33186,33188,33189,33191,33193,33195,33196,33197,33198,33199,33200,33201,33202,33204,33205,33206,33207,33208,33209,33212,33213,33214,33215,33220,33221,33223,33224,33225,33227,33229,33230,33231,33232,33233,33234,33235,25721,34321,27169,33180,30952,25705,39764,25273,26411,33707,22696,40664,27819,28448,23518,38476,35851,29279,26576,25287,29281,20137,22982,27597,22675,26286,24149,21215,24917,26408,30446,30566,29287,31302,25343,21738,21584,38048,37027,23068,32435,27670,20035,22902,32784,22856,21335,30007,38590,22218,25376,33041,24700,38393,28118,21602,39297,20869,23273,33021,22958,38675,20522,27877,23612,25311,20320,21311,33147,36870,28346,34091,25288,24180,30910,25781,25467,24565,23064,37247,40479,23615,25423,32834,23421,21870,38218,38221,28037,24744,26592,29406,20957,23425,33236,33237,33238,33239,33240,33241,33242,33243,33244,33245,33246,33247,33248,33249,33250,33252,33253,33254,33256,33257,33259,33262,33263,33264,33265,33266,33269,33270,33271,33272,33273,33274,33277,33279,33283,33287,33288,33289,33290,33291,33294,33295,33297,33299,33301,33302,33303,33304,33305,33306,33309,33312,33316,33317,33318,33319,33321,33326,33330,33338,33340,33341,33343,33344,33345,33346,33347,33349,33350,33352,33354,33356,33357,33358,33360,33361,33362,33363,33364,33365,33366,33367,33369,33371,33372,33373,33374,33376,33377,33378,33379,33380,33381,33382,33383,33385,25319,27870,29275,25197,38062,32445,33043,27987,20892,24324,22900,21162,24594,22899,26262,34384,30111,25386,25062,31983,35834,21734,27431,40485,27572,34261,21589,20598,27812,21866,36276,29228,24085,24597,29750,25293,25490,29260,24472,28227,27966,25856,28504,30424,30928,30460,30036,21028,21467,20051,24222,26049,32810,32982,25243,21638,21032,28846,34957,36305,27873,21624,32986,22521,35060,36180,38506,37197,20329,27803,21943,30406,30768,25256,28921,28558,24429,34028,26842,30844,31735,33192,26379,40527,25447,30896,22383,30738,38713,25209,25259,21128,29749,27607,33386,33387,33388,33389,33393,33397,33398,33399,33400,33403,33404,33408,33409,33411,33413,33414,33415,33417,33420,33424,33427,33428,33429,33430,33434,33435,33438,33440,33442,33443,33447,33458,33461,33462,33466,33467,33468,33471,33472,33474,33475,33477,33478,33481,33488,33494,33497,33498,33501,33506,33511,33512,33513,33514,33516,33517,33518,33520,33522,33523,33525,33526,33528,33530,33532,33533,33534,33535,33536,33546,33547,33549,33552,33554,33555,33558,33560,33561,33565,33566,33567,33568,33569,33570,33571,33572,33573,33574,33577,33578,33582,33584,33586,33591,33595,33597,21860,33086,30130,30382,21305,30174,20731,23617,35692,31687,20559,29255,39575,39128,28418,29922,31080,25735,30629,25340,39057,36139,21697,32856,20050,22378,33529,33805,24179,20973,29942,35780,23631,22369,27900,39047,23110,30772,39748,36843,31893,21078,25169,38138,20166,33670,33889,33769,33970,22484,26420,22275,26222,28006,35889,26333,28689,26399,27450,26646,25114,22971,19971,20932,28422,26578,27791,20854,26827,22855,27495,30054,23822,33040,40784,26071,31048,31041,39569,36215,23682,20062,20225,21551,22865,30732,22120,27668,36804,24323,27773,27875,35755,25488,33598,33599,33601,33602,33604,33605,33608,33610,33611,33612,33613,33614,33619,33621,33622,33623,33624,33625,33629,33634,33648,33649,33650,33651,33652,33653,33654,33657,33658,33662,33663,33664,33665,33666,33667,33668,33671,33672,33674,33675,33676,33677,33679,33680,33681,33684,33685,33686,33687,33689,33690,33693,33695,33697,33698,33699,33700,33701,33702,33703,33708,33709,33710,33711,33717,33723,33726,33727,33730,33731,33732,33734,33736,33737,33739,33741,33742,33744,33745,33746,33747,33749,33751,33753,33754,33755,33758,33762,33763,33764,33766,33767,33768,33771,33772,33773,24688,27965,29301,25190,38030,38085,21315,36801,31614,20191,35878,20094,40660,38065,38067,21069,28508,36963,27973,35892,22545,23884,27424,27465,26538,21595,33108,32652,22681,34103,24378,25250,27207,38201,25970,24708,26725,30631,20052,20392,24039,38808,25772,32728,23789,20431,31373,20999,33540,19988,24623,31363,38054,20405,20146,31206,29748,21220,33465,25810,31165,23517,27777,38738,36731,27682,20542,21375,28165,25806,26228,27696,24773,39031,35831,24198,29756,31351,31179,19992,37041,29699,27714,22234,37195,27845,36235,21306,34502,26354,36527,23624,39537,28192,33774,33775,33779,33780,33781,33782,33783,33786,33787,33788,33790,33791,33792,33794,33797,33799,33800,33801,33802,33808,33810,33811,33812,33813,33814,33815,33817,33818,33819,33822,33823,33824,33825,33826,33827,33833,33834,33835,33836,33837,33838,33839,33840,33842,33843,33844,33845,33846,33847,33849,33850,33851,33854,33855,33856,33857,33858,33859,33860,33861,33863,33864,33865,33866,33867,33868,33869,33870,33871,33872,33874,33875,33876,33877,33878,33880,33885,33886,33887,33888,33890,33892,33893,33894,33895,33896,33898,33902,33903,33904,33906,33908,33911,33913,33915,33916,21462,23094,40843,36259,21435,22280,39079,26435,37275,27849,20840,30154,25331,29356,21048,21149,32570,28820,30264,21364,40522,27063,30830,38592,35033,32676,28982,29123,20873,26579,29924,22756,25880,22199,35753,39286,25200,32469,24825,28909,22764,20161,20154,24525,38887,20219,35748,20995,22922,32427,25172,20173,26085,25102,33592,33993,33635,34701,29076,28342,23481,32466,20887,25545,26580,32905,33593,34837,20754,23418,22914,36785,20083,27741,20837,35109,36719,38446,34122,29790,38160,38384,28070,33509,24369,25746,27922,33832,33134,40131,22622,36187,19977,21441,33917,33918,33919,33920,33921,33923,33924,33925,33926,33930,33933,33935,33936,33937,33938,33939,33940,33941,33942,33944,33946,33947,33949,33950,33951,33952,33954,33955,33956,33957,33958,33959,33960,33961,33962,33963,33964,33965,33966,33968,33969,33971,33973,33974,33975,33979,33980,33982,33984,33986,33987,33989,33990,33991,33992,33995,33996,33998,33999,34002,34004,34005,34007,34008,34009,34010,34011,34012,34014,34017,34018,34020,34023,34024,34025,34026,34027,34029,34030,34031,34033,34034,34035,34036,34037,34038,34039,34040,34041,34042,34043,34045,34046,34048,34049,34050,20254,25955,26705,21971,20007,25620,39578,25195,23234,29791,33394,28073,26862,20711,33678,30722,26432,21049,27801,32433,20667,21861,29022,31579,26194,29642,33515,26441,23665,21024,29053,34923,38378,38485,25797,36193,33203,21892,27733,25159,32558,22674,20260,21830,36175,26188,19978,23578,35059,26786,25422,31245,28903,33421,21242,38902,23569,21736,37045,32461,22882,36170,34503,33292,33293,36198,25668,23556,24913,28041,31038,35774,30775,30003,21627,20280,36523,28145,23072,32453,31070,27784,23457,23158,29978,32958,24910,28183,22768,29983,29989,29298,21319,32499,34051,34052,34053,34054,34055,34056,34057,34058,34059,34061,34062,34063,34064,34066,34068,34069,34070,34072,34073,34075,34076,34077,34078,34080,34082,34083,34084,34085,34086,34087,34088,34089,34090,34093,34094,34095,34096,34097,34098,34099,34100,34101,34102,34110,34111,34112,34113,34114,34116,34117,34118,34119,34123,34124,34125,34126,34127,34128,34129,34130,34131,34132,34133,34135,34136,34138,34139,34140,34141,34143,34144,34145,34146,34147,34149,34150,34151,34153,34154,34155,34156,34157,34158,34159,34160,34161,34163,34165,34166,34167,34168,34172,34173,34175,34176,34177,30465,30427,21097,32988,22307,24072,22833,29422,26045,28287,35799,23608,34417,21313,30707,25342,26102,20160,39135,34432,23454,35782,21490,30690,20351,23630,39542,22987,24335,31034,22763,19990,26623,20107,25325,35475,36893,21183,26159,21980,22124,36866,20181,20365,37322,39280,27663,24066,24643,23460,35270,35797,25910,25163,39318,23432,23551,25480,21806,21463,30246,20861,34092,26530,26803,27530,25234,36755,21460,33298,28113,30095,20070,36174,23408,29087,34223,26257,26329,32626,34560,40653,40736,23646,26415,36848,26641,26463,25101,31446,22661,24246,25968,28465,34178,34179,34182,34184,34185,34186,34187,34188,34189,34190,34192,34193,34194,34195,34196,34197,34198,34199,34200,34201,34202,34205,34206,34207,34208,34209,34210,34211,34213,34214,34215,34217,34219,34220,34221,34225,34226,34227,34228,34229,34230,34232,34234,34235,34236,34237,34238,34239,34240,34242,34243,34244,34245,34246,34247,34248,34250,34251,34252,34253,34254,34257,34258,34260,34262,34263,34264,34265,34266,34267,34269,34270,34271,34272,34273,34274,34275,34277,34278,34279,34280,34282,34283,34284,34285,34286,34287,34288,34289,34290,34291,34292,34293,34294,34295,34296,24661,21047,32781,25684,34928,29993,24069,26643,25332,38684,21452,29245,35841,27700,30561,31246,21550,30636,39034,33308,35828,30805,26388,28865,26031,25749,22070,24605,31169,21496,19997,27515,32902,23546,21987,22235,20282,20284,39282,24051,26494,32824,24578,39042,36865,23435,35772,35829,25628,33368,25822,22013,33487,37221,20439,32032,36895,31903,20723,22609,28335,23487,35785,32899,37240,33948,31639,34429,38539,38543,32485,39635,30862,23681,31319,36930,38567,31071,23385,25439,31499,34001,26797,21766,32553,29712,32034,38145,25152,22604,20182,23427,22905,22612,34297,34298,34300,34301,34302,34304,34305,34306,34307,34308,34310,34311,34312,34313,34314,34315,34316,34317,34318,34319,34320,34322,34323,34324,34325,34327,34328,34329,34330,34331,34332,34333,34334,34335,34336,34337,34338,34339,34340,34341,34342,34344,34346,34347,34348,34349,34350,34351,34352,34353,34354,34355,34356,34357,34358,34359,34361,34362,34363,34365,34366,34367,34368,34369,34370,34371,34372,34373,34374,34375,34376,34377,34378,34379,34380,34386,34387,34389,34390,34391,34392,34393,34395,34396,34397,34399,34400,34401,34403,34404,34405,34406,34407,34408,34409,34410,29549,25374,36427,36367,32974,33492,25260,21488,27888,37214,22826,24577,27760,22349,25674,36138,30251,28393,22363,27264,30192,28525,35885,35848,22374,27631,34962,30899,25506,21497,28845,27748,22616,25642,22530,26848,33179,21776,31958,20504,36538,28108,36255,28907,25487,28059,28372,32486,33796,26691,36867,28120,38518,35752,22871,29305,34276,33150,30140,35466,26799,21076,36386,38161,25552,39064,36420,21884,20307,26367,22159,24789,28053,21059,23625,22825,28155,22635,3e4,29980,24684,33300,33094,25361,26465,36834,30522,36339,36148,38081,24086,21381,21548,28867,34413,34415,34416,34418,34419,34420,34421,34422,34423,34424,34435,34436,34437,34438,34439,34440,34441,34446,34447,34448,34449,34450,34452,34454,34455,34456,34457,34458,34459,34462,34463,34464,34465,34466,34469,34470,34475,34477,34478,34482,34483,34487,34488,34489,34491,34492,34493,34494,34495,34497,34498,34499,34501,34504,34508,34509,34514,34515,34517,34518,34519,34522,34524,34525,34528,34529,34530,34531,34533,34534,34535,34536,34538,34539,34540,34543,34549,34550,34551,34554,34555,34556,34557,34559,34561,34564,34565,34566,34571,34572,34574,34575,34576,34577,34580,34582,27712,24311,20572,20141,24237,25402,33351,36890,26704,37230,30643,21516,38108,24420,31461,26742,25413,31570,32479,30171,20599,25237,22836,36879,20984,31171,31361,22270,24466,36884,28034,23648,22303,21520,20820,28237,22242,25512,39059,33151,34581,35114,36864,21534,23663,33216,25302,25176,33073,40501,38464,39534,39548,26925,22949,25299,21822,25366,21703,34521,27964,23043,29926,34972,27498,22806,35916,24367,28286,29609,39037,20024,28919,23436,30871,25405,26202,30358,24779,23451,23113,19975,33109,27754,29579,20129,26505,32593,24448,26106,26395,24536,22916,23041,34585,34587,34589,34591,34592,34596,34598,34599,34600,34602,34603,34604,34605,34607,34608,34610,34611,34613,34614,34616,34617,34618,34620,34621,34624,34625,34626,34627,34628,34629,34630,34634,34635,34637,34639,34640,34641,34642,34644,34645,34646,34648,34650,34651,34652,34653,34654,34655,34657,34658,34662,34663,34664,34665,34666,34667,34668,34669,34671,34673,34674,34675,34677,34679,34680,34681,34682,34687,34688,34689,34692,34694,34695,34697,34698,34700,34702,34703,34704,34705,34706,34708,34709,34710,34712,34713,34714,34715,34716,34717,34718,34720,34721,34722,34723,34724,24013,24494,21361,38886,36829,26693,22260,21807,24799,20026,28493,32500,33479,33806,22996,20255,20266,23614,32428,26410,34074,21619,30031,32963,21890,39759,20301,28205,35859,23561,24944,21355,30239,28201,34442,25991,38395,32441,21563,31283,32010,38382,21985,32705,29934,25373,34583,28065,31389,25105,26017,21351,25569,27779,24043,21596,38056,20044,27745,35820,23627,26080,33436,26791,21566,21556,27595,27494,20116,25410,21320,33310,20237,20398,22366,25098,38654,26212,29289,21247,21153,24735,35823,26132,29081,26512,35199,30802,30717,26224,22075,21560,38177,29306,34725,34726,34727,34729,34730,34734,34736,34737,34738,34740,34742,34743,34744,34745,34747,34748,34750,34751,34753,34754,34755,34756,34757,34759,34760,34761,34764,34765,34766,34767,34768,34772,34773,34774,34775,34776,34777,34778,34780,34781,34782,34783,34785,34786,34787,34788,34790,34791,34792,34793,34795,34796,34797,34799,34800,34801,34802,34803,34804,34805,34806,34807,34808,34810,34811,34812,34813,34815,34816,34817,34818,34820,34821,34822,34823,34824,34825,34827,34828,34829,34830,34831,34832,34833,34834,34836,34839,34840,34841,34842,34844,34845,34846,34847,34848,34851,31232,24687,24076,24713,33181,22805,24796,29060,28911,28330,27728,29312,27268,34989,24109,20064,23219,21916,38115,27927,31995,38553,25103,32454,30606,34430,21283,38686,36758,26247,23777,20384,29421,19979,21414,22799,21523,25472,38184,20808,20185,40092,32420,21688,36132,34900,33335,38386,28046,24358,23244,26174,38505,29616,29486,21439,33146,39301,32673,23466,38519,38480,32447,30456,21410,38262,39321,31665,35140,28248,20065,32724,31077,35814,24819,21709,20139,39033,24055,27233,20687,21521,35937,33831,30813,38660,21066,21742,22179,38144,28040,23477,28102,26195,34852,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34867,34868,34869,34870,34871,34872,34874,34875,34877,34878,34879,34881,34882,34883,34886,34887,34888,34889,34890,34891,34894,34895,34896,34897,34898,34899,34901,34902,34904,34906,34907,34908,34909,34910,34911,34912,34918,34919,34922,34925,34927,34929,34931,34932,34933,34934,34936,34937,34938,34939,34940,34944,34947,34950,34951,34953,34954,34956,34958,34959,34960,34961,34963,34964,34965,34967,34968,34969,34970,34971,34973,34974,34975,34976,34977,34979,34981,34982,34983,34984,34985,34986,23567,23389,26657,32918,21880,31505,25928,26964,20123,27463,34638,38795,21327,25375,25658,37034,26012,32961,35856,20889,26800,21368,34809,25032,27844,27899,35874,23633,34218,33455,38156,27427,36763,26032,24571,24515,20449,34885,26143,33125,29481,24826,20852,21009,22411,24418,37026,34892,37266,24184,26447,24615,22995,20804,20982,33016,21256,27769,38596,29066,20241,20462,32670,26429,21957,38152,31168,34966,32483,22687,25100,38656,34394,22040,39035,24464,35768,33988,37207,21465,26093,24207,30044,24676,32110,23167,32490,32493,36713,21927,23459,24748,26059,29572,34988,34990,34991,34992,34994,34995,34996,34997,34998,35e3,35001,35002,35003,35005,35006,35007,35008,35011,35012,35015,35016,35018,35019,35020,35021,35023,35024,35025,35027,35030,35031,35034,35035,35036,35037,35038,35040,35041,35046,35047,35049,35050,35051,35052,35053,35054,35055,35058,35061,35062,35063,35066,35067,35069,35071,35072,35073,35075,35076,35077,35078,35079,35080,35081,35083,35084,35085,35086,35087,35089,35092,35093,35094,35095,35096,35100,35101,35102,35103,35104,35106,35107,35108,35110,35111,35112,35113,35116,35117,35118,35119,35121,35122,35123,35125,35127,36873,30307,30505,32474,38772,34203,23398,31348,38634,34880,21195,29071,24490,26092,35810,23547,39535,24033,27529,27739,35757,35759,36874,36805,21387,25276,40486,40493,21568,20011,33469,29273,34460,23830,34905,28079,38597,21713,20122,35766,28937,21693,38409,28895,28153,30416,20005,30740,34578,23721,24310,35328,39068,38414,28814,27839,22852,25513,30524,34893,28436,33395,22576,29141,21388,30746,38593,21761,24422,28976,23476,35866,39564,27523,22830,40495,31207,26472,25196,20335,30113,32650,27915,38451,27687,20208,30162,20859,26679,28478,36992,33136,22934,29814,35128,35129,35130,35131,35132,35133,35134,35135,35136,35138,35139,35141,35142,35143,35144,35145,35146,35147,35148,35149,35150,35151,35152,35153,35154,35155,35156,35157,35158,35159,35160,35161,35162,35163,35164,35165,35168,35169,35170,35171,35172,35173,35175,35176,35177,35178,35179,35180,35181,35182,35183,35184,35185,35186,35187,35188,35189,35190,35191,35192,35193,35194,35196,35197,35198,35200,35202,35204,35205,35207,35208,35209,35210,35211,35212,35213,35214,35215,35216,35217,35218,35219,35220,35221,35222,35223,35224,35225,35226,35227,35228,35229,35230,35231,35232,35233,25671,23591,36965,31377,35875,23002,21676,33280,33647,35201,32768,26928,22094,32822,29239,37326,20918,20063,39029,25494,19994,21494,26355,33099,22812,28082,19968,22777,21307,25558,38129,20381,20234,34915,39056,22839,36951,31227,20202,33008,30097,27778,23452,23016,24413,26885,34433,20506,24050,20057,30691,20197,33402,25233,26131,37009,23673,20159,24441,33222,36920,32900,30123,20134,35028,24847,27589,24518,20041,30410,28322,35811,35758,35850,35793,24322,32764,32716,32462,33589,33643,22240,27575,38899,38452,23035,21535,38134,28139,23493,39278,23609,24341,38544,35234,35235,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245,35246,35247,35248,35249,35250,35251,35252,35253,35254,35255,35256,35257,35258,35259,35260,35261,35262,35263,35264,35267,35277,35283,35284,35285,35287,35288,35289,35291,35293,35295,35296,35297,35298,35300,35303,35304,35305,35306,35308,35309,35310,35312,35313,35314,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35329,35330,35331,35332,35333,35334,35336,35337,35338,35339,35340,35341,35342,35343,35344,35345,35346,35347,35348,35349,35350,35351,35352,35353,35354,35355,35356,35357,21360,33521,27185,23156,40560,24212,32552,33721,33828,33829,33639,34631,36814,36194,30408,24433,39062,30828,26144,21727,25317,20323,33219,30152,24248,38605,36362,34553,21647,27891,28044,27704,24703,21191,29992,24189,20248,24736,24551,23588,30001,37038,38080,29369,27833,28216,37193,26377,21451,21491,20305,37321,35825,21448,24188,36802,28132,20110,30402,27014,34398,24858,33286,20313,20446,36926,40060,24841,28189,28180,38533,20104,23089,38632,19982,23679,31161,23431,35821,32701,29577,22495,33419,37057,21505,36935,21947,23786,24481,24840,27442,29425,32946,35465,35358,35359,35360,35361,35362,35363,35364,35365,35366,35367,35368,35369,35370,35371,35372,35373,35374,35375,35376,35377,35378,35379,35380,35381,35382,35383,35384,35385,35386,35387,35388,35389,35391,35392,35393,35394,35395,35396,35397,35398,35399,35401,35402,35403,35404,35405,35406,35407,35408,35409,35410,35411,35412,35413,35414,35415,35416,35417,35418,35419,35420,35421,35422,35423,35424,35425,35426,35427,35428,35429,35430,35431,35432,35433,35434,35435,35436,35437,35438,35439,35440,35441,35442,35443,35444,35445,35446,35447,35448,35450,35451,35452,35453,35454,35455,35456,28020,23507,35029,39044,35947,39533,40499,28170,20900,20803,22435,34945,21407,25588,36757,22253,21592,22278,29503,28304,32536,36828,33489,24895,24616,38498,26352,32422,36234,36291,38053,23731,31908,26376,24742,38405,32792,20113,37095,21248,38504,20801,36816,34164,37213,26197,38901,23381,21277,30776,26434,26685,21705,28798,23472,36733,20877,22312,21681,25874,26242,36190,36163,33039,33900,36973,31967,20991,34299,26531,26089,28577,34468,36481,22122,36896,30338,28790,29157,36131,25321,21017,27901,36156,24590,22686,24974,26366,36192,25166,21939,28195,26413,36711,35457,35458,35459,35460,35461,35462,35463,35464,35467,35468,35469,35470,35471,35472,35473,35474,35476,35477,35478,35479,35480,35481,35482,35483,35484,35485,35486,35487,35488,35489,35490,35491,35492,35493,35494,35495,35496,35497,35498,35499,35500,35501,35502,35503,35504,35505,35506,35507,35508,35509,35510,35511,35512,35513,35514,35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538,35539,35540,35541,35542,35543,35544,35545,35546,35547,35548,35549,35550,35551,35552,35553,35554,35555,38113,38392,30504,26629,27048,21643,20045,28856,35784,25688,25995,23429,31364,20538,23528,30651,27617,35449,31896,27838,30415,26025,36759,23853,23637,34360,26632,21344,25112,31449,28251,32509,27167,31456,24432,28467,24352,25484,28072,26454,19976,24080,36134,20183,32960,30260,38556,25307,26157,25214,27836,36213,29031,32617,20806,32903,21484,36974,25240,21746,34544,36761,32773,38167,34071,36825,27993,29645,26015,30495,29956,30759,33275,36126,38024,20390,26517,30137,35786,38663,25391,38215,38453,33976,25379,30529,24449,29424,20105,24596,25972,25327,27491,25919,35556,35557,35558,35559,35560,35561,35562,35563,35564,35565,35566,35567,35568,35569,35570,35571,35572,35573,35574,35575,35576,35577,35578,35579,35580,35581,35582,35583,35584,35585,35586,35587,35588,35589,35590,35592,35593,35594,35595,35596,35597,35598,35599,35600,35601,35602,35603,35604,35605,35606,35607,35608,35609,35610,35611,35612,35613,35614,35615,35616,35617,35618,35619,35620,35621,35623,35624,35625,35626,35627,35628,35629,35630,35631,35632,35633,35634,35635,35636,35637,35638,35639,35640,35641,35642,35643,35644,35645,35646,35647,35648,35649,35650,35651,35652,35653,24103,30151,37073,35777,33437,26525,25903,21553,34584,30693,32930,33026,27713,20043,32455,32844,30452,26893,27542,25191,20540,20356,22336,25351,27490,36286,21482,26088,32440,24535,25370,25527,33267,33268,32622,24092,23769,21046,26234,31209,31258,36136,28825,30164,28382,27835,31378,20013,30405,24544,38047,34935,32456,31181,32959,37325,20210,20247,33311,21608,24030,27954,35788,31909,36724,32920,24090,21650,30385,23449,26172,39588,29664,26666,34523,26417,29482,35832,35803,36880,31481,28891,29038,25284,30633,22065,20027,33879,26609,21161,34496,36142,38136,31569,35654,35655,35656,35657,35658,35659,35660,35661,35662,35663,35664,35665,35666,35667,35668,35669,35670,35671,35672,35673,35674,35675,35676,35677,35678,35679,35680,35681,35682,35683,35684,35685,35687,35688,35689,35690,35691,35693,35694,35695,35696,35697,35698,35699,35700,35701,35702,35703,35704,35705,35706,35707,35708,35709,35710,35711,35712,35713,35714,35715,35716,35717,35718,35719,35720,35721,35722,35723,35724,35725,35726,35727,35728,35729,35730,35731,35732,35733,35734,35735,35736,35737,35738,35739,35740,35741,35742,35743,35756,35761,35771,35783,35792,35818,35849,35870,20303,27880,31069,39547,25235,29226,25341,19987,30742,36716,25776,36186,31686,26729,24196,35013,22918,25758,22766,29366,26894,38181,36861,36184,22368,32512,35846,20934,25417,25305,21331,26700,29730,33537,37196,21828,30528,28796,27978,20857,21672,36164,23039,28363,28100,23388,32043,20180,31869,28371,23376,33258,28173,23383,39683,26837,36394,23447,32508,24635,32437,37049,36208,22863,25549,31199,36275,21330,26063,31062,35781,38459,32452,38075,32386,22068,37257,26368,32618,23562,36981,26152,24038,20304,26590,20570,20316,22352,24231,59408,59409,59410,59411,59412,35896,35897,35898,35899,35900,35901,35902,35903,35904,35906,35907,35908,35909,35912,35914,35915,35917,35918,35919,35920,35921,35922,35923,35924,35926,35927,35928,35929,35931,35932,35933,35934,35935,35936,35939,35940,35941,35942,35943,35944,35945,35948,35949,35950,35951,35952,35953,35954,35956,35957,35958,35959,35963,35964,35965,35966,35967,35968,35969,35971,35972,35974,35975,35976,35979,35981,35982,35983,35984,35985,35986,35987,35989,35990,35991,35993,35994,35995,35996,35997,35998,35999,36e3,36001,36002,36003,36004,36005,36006,36007,36008,36009,36010,36011,36012,36013,20109,19980,20800,19984,24319,21317,19989,20120,19998,39730,23404,22121,20008,31162,20031,21269,20039,22829,29243,21358,27664,22239,32996,39319,27603,30590,40727,20022,20127,40720,20060,20073,20115,33416,23387,21868,22031,20164,21389,21405,21411,21413,21422,38757,36189,21274,21493,21286,21294,21310,36188,21350,21347,20994,21e3,21006,21037,21043,21055,21056,21068,21086,21089,21084,33967,21117,21122,21121,21136,21139,20866,32596,20155,20163,20169,20162,20200,20193,20203,20190,20251,20211,20258,20324,20213,20261,20263,20233,20267,20318,20327,25912,20314,20317,36014,36015,36016,36017,36018,36019,36020,36021,36022,36023,36024,36025,36026,36027,36028,36029,36030,36031,36032,36033,36034,36035,36036,36037,36038,36039,36040,36041,36042,36043,36044,36045,36046,36047,36048,36049,36050,36051,36052,36053,36054,36055,36056,36057,36058,36059,36060,36061,36062,36063,36064,36065,36066,36067,36068,36069,36070,36071,36072,36073,36074,36075,36076,36077,36078,36079,36080,36081,36082,36083,36084,36085,36086,36087,36088,36089,36090,36091,36092,36093,36094,36095,36096,36097,36098,36099,36100,36101,36102,36103,36104,36105,36106,36107,36108,36109,20319,20311,20274,20285,20342,20340,20369,20361,20355,20367,20350,20347,20394,20348,20396,20372,20454,20456,20458,20421,20442,20451,20444,20433,20447,20472,20521,20556,20467,20524,20495,20526,20525,20478,20508,20492,20517,20520,20606,20547,20565,20552,20558,20588,20603,20645,20647,20649,20666,20694,20742,20717,20716,20710,20718,20743,20747,20189,27709,20312,20325,20430,40864,27718,31860,20846,24061,40649,39320,20865,22804,21241,21261,35335,21264,20971,22809,20821,20128,20822,20147,34926,34980,20149,33044,35026,31104,23348,34819,32696,20907,20913,20925,20924,36110,36111,36112,36113,36114,36115,36116,36117,36118,36119,36120,36121,36122,36123,36124,36128,36177,36178,36183,36191,36197,36200,36201,36202,36204,36206,36207,36209,36210,36216,36217,36218,36219,36220,36221,36222,36223,36224,36226,36227,36230,36231,36232,36233,36236,36237,36238,36239,36240,36242,36243,36245,36246,36247,36248,36249,36250,36251,36252,36253,36254,36256,36257,36258,36260,36261,36262,36263,36264,36265,36266,36267,36268,36269,36270,36271,36272,36274,36278,36279,36281,36283,36285,36288,36289,36290,36293,36295,36296,36297,36298,36301,36304,36306,36307,36308,20935,20886,20898,20901,35744,35750,35751,35754,35764,35765,35767,35778,35779,35787,35791,35790,35794,35795,35796,35798,35800,35801,35804,35807,35808,35812,35816,35817,35822,35824,35827,35830,35833,35836,35839,35840,35842,35844,35847,35852,35855,35857,35858,35860,35861,35862,35865,35867,35864,35869,35871,35872,35873,35877,35879,35882,35883,35886,35887,35890,35891,35893,35894,21353,21370,38429,38434,38433,38449,38442,38461,38460,38466,38473,38484,38495,38503,38508,38514,38516,38536,38541,38551,38576,37015,37019,37021,37017,37036,37025,37044,37043,37046,37050,36309,36312,36313,36316,36320,36321,36322,36325,36326,36327,36329,36333,36334,36336,36337,36338,36340,36342,36348,36350,36351,36352,36353,36354,36355,36356,36358,36359,36360,36363,36365,36366,36368,36369,36370,36371,36373,36374,36375,36376,36377,36378,36379,36380,36384,36385,36388,36389,36390,36391,36392,36395,36397,36400,36402,36403,36404,36406,36407,36408,36411,36412,36414,36415,36419,36421,36422,36428,36429,36430,36431,36432,36435,36436,36437,36438,36439,36440,36442,36443,36444,36445,36446,36447,36448,36449,36450,36451,36452,36453,36455,36456,36458,36459,36462,36465,37048,37040,37071,37061,37054,37072,37060,37063,37075,37094,37090,37084,37079,37083,37099,37103,37118,37124,37154,37150,37155,37169,37167,37177,37187,37190,21005,22850,21154,21164,21165,21182,21759,21200,21206,21232,21471,29166,30669,24308,20981,20988,39727,21430,24321,30042,24047,22348,22441,22433,22654,22716,22725,22737,22313,22316,22314,22323,22329,22318,22319,22364,22331,22338,22377,22405,22379,22406,22396,22395,22376,22381,22390,22387,22445,22436,22412,22450,22479,22439,22452,22419,22432,22485,22488,22490,22489,22482,22456,22516,22511,22520,22500,22493,36467,36469,36471,36472,36473,36474,36475,36477,36478,36480,36482,36483,36484,36486,36488,36489,36490,36491,36492,36493,36494,36497,36498,36499,36501,36502,36503,36504,36505,36506,36507,36509,36511,36512,36513,36514,36515,36516,36517,36518,36519,36520,36521,36522,36525,36526,36528,36529,36531,36532,36533,36534,36535,36536,36537,36539,36540,36541,36542,36543,36544,36545,36546,36547,36548,36549,36550,36551,36552,36553,36554,36555,36556,36557,36559,36560,36561,36562,36563,36564,36565,36566,36567,36568,36569,36570,36571,36572,36573,36574,36575,36576,36577,36578,36579,36580,22539,22541,22525,22509,22528,22558,22553,22596,22560,22629,22636,22657,22665,22682,22656,39336,40729,25087,33401,33405,33407,33423,33418,33448,33412,33422,33425,33431,33433,33451,33464,33470,33456,33480,33482,33507,33432,33463,33454,33483,33484,33473,33449,33460,33441,33450,33439,33476,33486,33444,33505,33545,33527,33508,33551,33543,33500,33524,33490,33496,33548,33531,33491,33553,33562,33542,33556,33557,33504,33493,33564,33617,33627,33628,33544,33682,33596,33588,33585,33691,33630,33583,33615,33607,33603,33631,33600,33559,33632,33581,33594,33587,33638,33637,36581,36582,36583,36584,36585,36586,36587,36588,36589,36590,36591,36592,36593,36594,36595,36596,36597,36598,36599,36600,36601,36602,36603,36604,36605,36606,36607,36608,36609,36610,36611,36612,36613,36614,36615,36616,36617,36618,36619,36620,36621,36622,36623,36624,36625,36626,36627,36628,36629,36630,36631,36632,36633,36634,36635,36636,36637,36638,36639,36640,36641,36642,36643,36644,36645,36646,36647,36648,36649,36650,36651,36652,36653,36654,36655,36656,36657,36658,36659,36660,36661,36662,36663,36664,36665,36666,36667,36668,36669,36670,36671,36672,36673,36674,36675,36676,33640,33563,33641,33644,33642,33645,33646,33712,33656,33715,33716,33696,33706,33683,33692,33669,33660,33718,33705,33661,33720,33659,33688,33694,33704,33722,33724,33729,33793,33765,33752,22535,33816,33803,33757,33789,33750,33820,33848,33809,33798,33748,33759,33807,33795,33784,33785,33770,33733,33728,33830,33776,33761,33884,33873,33882,33881,33907,33927,33928,33914,33929,33912,33852,33862,33897,33910,33932,33934,33841,33901,33985,33997,34e3,34022,33981,34003,33994,33983,33978,34016,33953,33977,33972,33943,34021,34019,34060,29965,34104,34032,34105,34079,34106,36677,36678,36679,36680,36681,36682,36683,36684,36685,36686,36687,36688,36689,36690,36691,36692,36693,36694,36695,36696,36697,36698,36699,36700,36701,36702,36703,36704,36705,36706,36707,36708,36709,36714,36736,36748,36754,36765,36768,36769,36770,36772,36773,36774,36775,36778,36780,36781,36782,36783,36786,36787,36788,36789,36791,36792,36794,36795,36796,36799,36800,36803,36806,36809,36810,36811,36812,36813,36815,36818,36822,36823,36826,36832,36833,36835,36839,36844,36847,36849,36850,36852,36853,36854,36858,36859,36860,36862,36863,36871,36872,36876,36878,36883,36885,36888,34134,34107,34047,34044,34137,34120,34152,34148,34142,34170,30626,34115,34162,34171,34212,34216,34183,34191,34169,34222,34204,34181,34233,34231,34224,34259,34241,34268,34303,34343,34309,34345,34326,34364,24318,24328,22844,22849,32823,22869,22874,22872,21263,23586,23589,23596,23604,25164,25194,25247,25275,25290,25306,25303,25326,25378,25334,25401,25419,25411,25517,25590,25457,25466,25486,25524,25453,25516,25482,25449,25518,25532,25586,25592,25568,25599,25540,25566,25550,25682,25542,25534,25669,25665,25611,25627,25632,25612,25638,25633,25694,25732,25709,25750,36889,36892,36899,36900,36901,36903,36904,36905,36906,36907,36908,36912,36913,36914,36915,36916,36919,36921,36922,36925,36927,36928,36931,36933,36934,36936,36937,36938,36939,36940,36942,36948,36949,36950,36953,36954,36956,36957,36958,36959,36960,36961,36964,36966,36967,36969,36970,36971,36972,36975,36976,36977,36978,36979,36982,36983,36984,36985,36986,36987,36988,36990,36993,36996,36997,36998,36999,37001,37002,37004,37005,37006,37007,37008,37010,37012,37014,37016,37018,37020,37022,37023,37024,37028,37029,37031,37032,37033,37035,37037,37042,37047,37052,37053,37055,37056,25722,25783,25784,25753,25786,25792,25808,25815,25828,25826,25865,25893,25902,24331,24530,29977,24337,21343,21489,21501,21481,21480,21499,21522,21526,21510,21579,21586,21587,21588,21590,21571,21537,21591,21593,21539,21554,21634,21652,21623,21617,21604,21658,21659,21636,21622,21606,21661,21712,21677,21698,21684,21714,21671,21670,21715,21716,21618,21667,21717,21691,21695,21708,21721,21722,21724,21673,21674,21668,21725,21711,21726,21787,21735,21792,21757,21780,21747,21794,21795,21775,21777,21799,21802,21863,21903,21941,21833,21869,21825,21845,21823,21840,21820,37058,37059,37062,37064,37065,37067,37068,37069,37074,37076,37077,37078,37080,37081,37082,37086,37087,37088,37091,37092,37093,37097,37098,37100,37102,37104,37105,37106,37107,37109,37110,37111,37113,37114,37115,37116,37119,37120,37121,37123,37125,37126,37127,37128,37129,37130,37131,37132,37133,37134,37135,37136,37137,37138,37139,37140,37141,37142,37143,37144,37146,37147,37148,37149,37151,37152,37153,37156,37157,37158,37159,37160,37161,37162,37163,37164,37165,37166,37168,37170,37171,37172,37173,37174,37175,37176,37178,37179,37180,37181,37182,37183,37184,37185,37186,37188,21815,21846,21877,21878,21879,21811,21808,21852,21899,21970,21891,21937,21945,21896,21889,21919,21886,21974,21905,21883,21983,21949,21950,21908,21913,21994,22007,21961,22047,21969,21995,21996,21972,21990,21981,21956,21999,21989,22002,22003,21964,21965,21992,22005,21988,36756,22046,22024,22028,22017,22052,22051,22014,22016,22055,22061,22104,22073,22103,22060,22093,22114,22105,22108,22092,22100,22150,22116,22129,22123,22139,22140,22149,22163,22191,22228,22231,22237,22241,22261,22251,22265,22271,22276,22282,22281,22300,24079,24089,24084,24081,24113,24123,24124,37189,37191,37192,37201,37203,37204,37205,37206,37208,37209,37211,37212,37215,37216,37222,37223,37224,37227,37229,37235,37242,37243,37244,37248,37249,37250,37251,37252,37254,37256,37258,37262,37263,37267,37268,37269,37270,37271,37272,37273,37276,37277,37278,37279,37280,37281,37284,37285,37286,37287,37288,37289,37291,37292,37296,37297,37298,37299,37302,37303,37304,37305,37307,37308,37309,37310,37311,37312,37313,37314,37315,37316,37317,37318,37320,37323,37328,37330,37331,37332,37333,37334,37335,37336,37337,37338,37339,37341,37342,37343,37344,37345,37346,37347,37348,37349,24119,24132,24148,24155,24158,24161,23692,23674,23693,23696,23702,23688,23704,23705,23697,23706,23708,23733,23714,23741,23724,23723,23729,23715,23745,23735,23748,23762,23780,23755,23781,23810,23811,23847,23846,23854,23844,23838,23814,23835,23896,23870,23860,23869,23916,23899,23919,23901,23915,23883,23882,23913,23924,23938,23961,23965,35955,23991,24005,24435,24439,24450,24455,24457,24460,24469,24473,24476,24488,24493,24501,24508,34914,24417,29357,29360,29364,29367,29368,29379,29377,29390,29389,29394,29416,29423,29417,29426,29428,29431,29441,29427,29443,29434,37350,37351,37352,37353,37354,37355,37356,37357,37358,37359,37360,37361,37362,37363,37364,37365,37366,37367,37368,37369,37370,37371,37372,37373,37374,37375,37376,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37387,37388,37389,37390,37391,37392,37393,37394,37395,37396,37397,37398,37399,37400,37401,37402,37403,37404,37405,37406,37407,37408,37409,37410,37411,37412,37413,37414,37415,37416,37417,37418,37419,37420,37421,37422,37423,37424,37425,37426,37427,37428,37429,37430,37431,37432,37433,37434,37435,37436,37437,37438,37439,37440,37441,37442,37443,37444,37445,29435,29463,29459,29473,29450,29470,29469,29461,29474,29497,29477,29484,29496,29489,29520,29517,29527,29536,29548,29551,29566,33307,22821,39143,22820,22786,39267,39271,39272,39273,39274,39275,39276,39284,39287,39293,39296,39300,39303,39306,39309,39312,39313,39315,39316,39317,24192,24209,24203,24214,24229,24224,24249,24245,24254,24243,36179,24274,24273,24283,24296,24298,33210,24516,24521,24534,24527,24579,24558,24580,24545,24548,24574,24581,24582,24554,24557,24568,24601,24629,24614,24603,24591,24589,24617,24619,24586,24639,24609,24696,24697,24699,24698,24642,37446,37447,37448,37449,37450,37451,37452,37453,37454,37455,37456,37457,37458,37459,37460,37461,37462,37463,37464,37465,37466,37467,37468,37469,37470,37471,37472,37473,37474,37475,37476,37477,37478,37479,37480,37481,37482,37483,37484,37485,37486,37487,37488,37489,37490,37491,37493,37494,37495,37496,37497,37498,37499,37500,37501,37502,37503,37504,37505,37506,37507,37508,37509,37510,37511,37512,37513,37514,37515,37516,37517,37519,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,24682,24701,24726,24730,24749,24733,24707,24722,24716,24731,24812,24763,24753,24797,24792,24774,24794,24756,24864,24870,24853,24867,24820,24832,24846,24875,24906,24949,25004,24980,24999,25015,25044,25077,24541,38579,38377,38379,38385,38387,38389,38390,38396,38398,38403,38404,38406,38408,38410,38411,38412,38413,38415,38418,38421,38422,38423,38425,38426,20012,29247,25109,27701,27732,27740,27722,27811,27781,27792,27796,27788,27752,27753,27764,27766,27782,27817,27856,27860,27821,27895,27896,27889,27863,27826,27872,27862,27898,27883,27886,27825,27859,27887,27902,37544,37545,37546,37547,37548,37549,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37611,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37622,37623,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,27961,27943,27916,27971,27976,27911,27908,27929,27918,27947,27981,27950,27957,27930,27983,27986,27988,27955,28049,28015,28062,28064,27998,28051,28052,27996,28e3,28028,28003,28186,28103,28101,28126,28174,28095,28128,28177,28134,28125,28121,28182,28075,28172,28078,28203,28270,28238,28267,28338,28255,28294,28243,28244,28210,28197,28228,28383,28337,28312,28384,28461,28386,28325,28327,28349,28347,28343,28375,28340,28367,28303,28354,28319,28514,28486,28487,28452,28437,28409,28463,28470,28491,28532,28458,28425,28457,28553,28557,28556,28536,28530,28540,28538,28625,37642,37643,37644,37645,37646,37647,37648,37649,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37670,37671,37672,37673,37674,37675,37676,37677,37678,37679,37680,37681,37682,37683,37684,37685,37686,37687,37688,37689,37690,37691,37692,37693,37695,37696,37697,37698,37699,37700,37701,37702,37703,37704,37705,37706,37707,37708,37709,37710,37711,37712,37713,37714,37715,37716,37717,37718,37719,37720,37721,37722,37723,37724,37725,37726,37727,37728,37729,37730,37731,37732,37733,37734,37735,37736,37737,37739,28617,28583,28601,28598,28610,28641,28654,28638,28640,28655,28698,28707,28699,28729,28725,28751,28766,23424,23428,23445,23443,23461,23480,29999,39582,25652,23524,23534,35120,23536,36423,35591,36790,36819,36821,36837,36846,36836,36841,36838,36851,36840,36869,36868,36875,36902,36881,36877,36886,36897,36917,36918,36909,36911,36932,36945,36946,36944,36968,36952,36962,36955,26297,36980,36989,36994,37e3,36995,37003,24400,24407,24406,24408,23611,21675,23632,23641,23409,23651,23654,32700,24362,24361,24365,33396,24380,39739,23662,22913,22915,22925,22953,22954,22947,37740,37741,37742,37743,37744,37745,37746,37747,37748,37749,37750,37751,37752,37753,37754,37755,37756,37757,37758,37759,37760,37761,37762,37763,37764,37765,37766,37767,37768,37769,37770,37771,37772,37773,37774,37776,37777,37778,37779,37780,37781,37782,37783,37784,37785,37786,37787,37788,37789,37790,37791,37792,37793,37794,37795,37796,37797,37798,37799,37800,37801,37802,37803,37804,37805,37806,37807,37808,37809,37810,37811,37812,37813,37814,37815,37816,37817,37818,37819,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37835,37836,37837,22935,22986,22955,22942,22948,22994,22962,22959,22999,22974,23045,23046,23005,23048,23011,23e3,23033,23052,23049,23090,23092,23057,23075,23059,23104,23143,23114,23125,23100,23138,23157,33004,23210,23195,23159,23162,23230,23275,23218,23250,23252,23224,23264,23267,23281,23254,23270,23256,23260,23305,23319,23318,23346,23351,23360,23573,23580,23386,23397,23411,23377,23379,23394,39541,39543,39544,39546,39551,39549,39552,39553,39557,39560,39562,39568,39570,39571,39574,39576,39579,39580,39581,39583,39584,39586,39587,39589,39591,32415,32417,32419,32421,32424,32425,37838,37839,37840,37841,37842,37843,37844,37845,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37857,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37876,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,37898,37899,37900,37901,37902,37903,37904,37905,37906,37907,37908,37909,37910,37911,37912,37913,37914,37915,37916,37917,37918,37919,37920,37921,37922,37923,37924,37925,37926,37927,37928,37929,37930,37931,37932,37933,37934,32429,32432,32446,32448,32449,32450,32457,32459,32460,32464,32468,32471,32475,32480,32481,32488,32491,32494,32495,32497,32498,32525,32502,32506,32507,32510,32513,32514,32515,32519,32520,32523,32524,32527,32529,32530,32535,32537,32540,32539,32543,32545,32546,32547,32548,32549,32550,32551,32554,32555,32556,32557,32559,32560,32561,32562,32563,32565,24186,30079,24027,30014,37013,29582,29585,29614,29602,29599,29647,29634,29649,29623,29619,29632,29641,29640,29669,29657,39036,29706,29673,29671,29662,29626,29682,29711,29738,29787,29734,29733,29736,29744,29742,29740,37935,37936,37937,37938,37939,37940,37941,37942,37943,37944,37945,37946,37947,37948,37949,37951,37952,37953,37954,37955,37956,37957,37958,37959,37960,37961,37962,37963,37964,37965,37966,37967,37968,37969,37970,37971,37972,37973,37974,37975,37976,37977,37978,37979,37980,37981,37982,37983,37984,37985,37986,37987,37988,37989,37990,37991,37992,37993,37994,37996,37997,37998,37999,38e3,38001,38002,38003,38004,38005,38006,38007,38008,38009,38010,38011,38012,38013,38014,38015,38016,38017,38018,38019,38020,38033,38038,38040,38087,38095,38099,38100,38106,38118,38139,38172,38176,29723,29722,29761,29788,29783,29781,29785,29815,29805,29822,29852,29838,29824,29825,29831,29835,29854,29864,29865,29840,29863,29906,29882,38890,38891,38892,26444,26451,26462,26440,26473,26533,26503,26474,26483,26520,26535,26485,26536,26526,26541,26507,26487,26492,26608,26633,26584,26634,26601,26544,26636,26585,26549,26586,26547,26589,26624,26563,26552,26594,26638,26561,26621,26674,26675,26720,26721,26702,26722,26692,26724,26755,26653,26709,26726,26689,26727,26688,26686,26698,26697,26665,26805,26767,26740,26743,26771,26731,26818,26990,26876,26911,26912,26873,38183,38195,38205,38211,38216,38219,38229,38234,38240,38254,38260,38261,38263,38264,38265,38266,38267,38268,38269,38270,38272,38273,38274,38275,38276,38277,38278,38279,38280,38281,38282,38283,38284,38285,38286,38287,38288,38289,38290,38291,38292,38293,38294,38295,38296,38297,38298,38299,38300,38301,38302,38303,38304,38305,38306,38307,38308,38309,38310,38311,38312,38313,38314,38315,38316,38317,38318,38319,38320,38321,38322,38323,38324,38325,38326,38327,38328,38329,38330,38331,38332,38333,38334,38335,38336,38337,38338,38339,38340,38341,38342,38343,38344,38345,38346,38347,26916,26864,26891,26881,26967,26851,26896,26993,26937,26976,26946,26973,27012,26987,27008,27032,27e3,26932,27084,27015,27016,27086,27017,26982,26979,27001,27035,27047,27067,27051,27053,27092,27057,27073,27082,27103,27029,27104,27021,27135,27183,27117,27159,27160,27237,27122,27204,27198,27296,27216,27227,27189,27278,27257,27197,27176,27224,27260,27281,27280,27305,27287,27307,29495,29522,27521,27522,27527,27524,27538,27539,27533,27546,27547,27553,27562,36715,36717,36721,36722,36723,36725,36726,36728,36727,36729,36730,36732,36734,36737,36738,36740,36743,36747,38348,38349,38350,38351,38352,38353,38354,38355,38356,38357,38358,38359,38360,38361,38362,38363,38364,38365,38366,38367,38368,38369,38370,38371,38372,38373,38374,38375,38380,38399,38407,38419,38424,38427,38430,38432,38435,38436,38437,38438,38439,38440,38441,38443,38444,38445,38447,38448,38455,38456,38457,38458,38462,38465,38467,38474,38478,38479,38481,38482,38483,38486,38487,38488,38489,38490,38492,38493,38494,38496,38499,38501,38502,38507,38509,38510,38511,38512,38513,38515,38520,38521,38522,38523,38524,38525,38526,38527,38528,38529,38530,38531,38532,38535,38537,38538,36749,36750,36751,36760,36762,36558,25099,25111,25115,25119,25122,25121,25125,25124,25132,33255,29935,29940,29951,29967,29969,29971,25908,26094,26095,26096,26122,26137,26482,26115,26133,26112,28805,26359,26141,26164,26161,26166,26165,32774,26207,26196,26177,26191,26198,26209,26199,26231,26244,26252,26279,26269,26302,26331,26332,26342,26345,36146,36147,36150,36155,36157,36160,36165,36166,36168,36169,36167,36173,36181,36185,35271,35274,35275,35276,35278,35279,35280,35281,29294,29343,29277,29286,29295,29310,29311,29316,29323,29325,29327,29330,25352,25394,25520,38540,38542,38545,38546,38547,38549,38550,38554,38555,38557,38558,38559,38560,38561,38562,38563,38564,38565,38566,38568,38569,38570,38571,38572,38573,38574,38575,38577,38578,38580,38581,38583,38584,38586,38587,38591,38594,38595,38600,38602,38603,38608,38609,38611,38612,38614,38615,38616,38617,38618,38619,38620,38621,38622,38623,38625,38626,38627,38628,38629,38630,38631,38635,38636,38637,38638,38640,38641,38642,38644,38645,38648,38650,38651,38652,38653,38655,38658,38659,38661,38666,38667,38668,38672,38673,38674,38676,38677,38679,38680,38681,38682,38683,38685,38687,38688,25663,25816,32772,27626,27635,27645,27637,27641,27653,27655,27654,27661,27669,27672,27673,27674,27681,27689,27684,27690,27698,25909,25941,25963,29261,29266,29270,29232,34402,21014,32927,32924,32915,32956,26378,32957,32945,32939,32941,32948,32951,32999,33e3,33001,33002,32987,32962,32964,32985,32973,32983,26384,32989,33003,33009,33012,33005,33037,33038,33010,33020,26389,33042,35930,33078,33054,33068,33048,33074,33096,33100,33107,33140,33113,33114,33137,33120,33129,33148,33149,33133,33127,22605,23221,33160,33154,33169,28373,33187,33194,33228,26406,33226,33211,38689,38690,38691,38692,38693,38694,38695,38696,38697,38699,38700,38702,38703,38705,38707,38708,38709,38710,38711,38714,38715,38716,38717,38719,38720,38721,38722,38723,38724,38725,38726,38727,38728,38729,38730,38731,38732,38733,38734,38735,38736,38737,38740,38741,38743,38744,38746,38748,38749,38751,38755,38756,38758,38759,38760,38762,38763,38764,38765,38766,38767,38768,38769,38770,38773,38775,38776,38777,38778,38779,38781,38782,38783,38784,38785,38786,38787,38788,38790,38791,38792,38793,38794,38796,38798,38799,38800,38803,38805,38806,38807,38809,38810,38811,38812,38813,33217,33190,27428,27447,27449,27459,27462,27481,39121,39122,39123,39125,39129,39130,27571,24384,27586,35315,26e3,40785,26003,26044,26054,26052,26051,26060,26062,26066,26070,28800,28828,28822,28829,28859,28864,28855,28843,28849,28904,28874,28944,28947,28950,28975,28977,29043,29020,29032,28997,29042,29002,29048,29050,29080,29107,29109,29096,29088,29152,29140,29159,29177,29213,29224,28780,28952,29030,29113,25150,25149,25155,25160,25161,31035,31040,31046,31049,31067,31068,31059,31066,31074,31063,31072,31087,31079,31098,31109,31114,31130,31143,31155,24529,24528,38814,38815,38817,38818,38820,38821,38822,38823,38824,38825,38826,38828,38830,38832,38833,38835,38837,38838,38839,38840,38841,38842,38843,38844,38845,38846,38847,38848,38849,38850,38851,38852,38853,38854,38855,38856,38857,38858,38859,38860,38861,38862,38863,38864,38865,38866,38867,38868,38869,38870,38871,38872,38873,38874,38875,38876,38877,38878,38879,38880,38881,38882,38883,38884,38885,38888,38894,38895,38896,38897,38898,38900,38903,38904,38905,38906,38907,38908,38909,38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920,38921,38922,38923,38924,38925,38926,24636,24669,24666,24679,24641,24665,24675,24747,24838,24845,24925,25001,24989,25035,25041,25094,32896,32895,27795,27894,28156,30710,30712,30720,30729,30743,30744,30737,26027,30765,30748,30749,30777,30778,30779,30751,30780,30757,30764,30755,30761,30798,30829,30806,30807,30758,30800,30791,30796,30826,30875,30867,30874,30855,30876,30881,30883,30898,30905,30885,30932,30937,30921,30956,30962,30981,30964,30995,31012,31006,31028,40859,40697,40699,40700,30449,30468,30477,30457,30471,30472,30490,30498,30489,30509,30502,30517,30520,30544,30545,30535,30531,30554,30568,38927,38928,38929,38930,38931,38932,38933,38934,38935,38936,38937,38938,38939,38940,38941,38942,38943,38944,38945,38946,38947,38948,38949,38950,38951,38952,38953,38954,38955,38956,38957,38958,38959,38960,38961,38962,38963,38964,38965,38966,38967,38968,38969,38970,38971,38972,38973,38974,38975,38976,38977,38978,38979,38980,38981,38982,38983,38984,38985,38986,38987,38988,38989,38990,38991,38992,38993,38994,38995,38996,38997,38998,38999,39e3,39001,39002,39003,39004,39005,39006,39007,39008,39009,39010,39011,39012,39013,39014,39015,39016,39017,39018,39019,39020,39021,39022,30562,30565,30591,30605,30589,30592,30604,30609,30623,30624,30640,30645,30653,30010,30016,30030,30027,30024,30043,30066,30073,30083,32600,32609,32607,35400,32616,32628,32625,32633,32641,32638,30413,30437,34866,38021,38022,38023,38027,38026,38028,38029,38031,38032,38036,38039,38037,38042,38043,38044,38051,38052,38059,38058,38061,38060,38063,38064,38066,38068,38070,38071,38072,38073,38074,38076,38077,38079,38084,38088,38089,38090,38091,38092,38093,38094,38096,38097,38098,38101,38102,38103,38105,38104,38107,38110,38111,38112,38114,38116,38117,38119,38120,38122,39023,39024,39025,39026,39027,39028,39051,39054,39058,39061,39065,39075,39080,39081,39082,39083,39084,39085,39086,39087,39088,39089,39090,39091,39092,39093,39094,39095,39096,39097,39098,39099,39100,39101,39102,39103,39104,39105,39106,39107,39108,39109,39110,39111,39112,39113,39114,39115,39116,39117,39119,39120,39124,39126,39127,39131,39132,39133,39136,39137,39138,39139,39140,39141,39142,39145,39146,39147,39148,39149,39150,39151,39152,39153,39154,39155,39156,39157,39158,39159,39160,39161,39162,39163,39164,39165,39166,39167,39168,39169,39170,39171,39172,39173,39174,39175,38121,38123,38126,38127,38131,38132,38133,38135,38137,38140,38141,38143,38147,38146,38150,38151,38153,38154,38157,38158,38159,38162,38163,38164,38165,38166,38168,38171,38173,38174,38175,38178,38186,38187,38185,38188,38193,38194,38196,38198,38199,38200,38204,38206,38207,38210,38197,38212,38213,38214,38217,38220,38222,38223,38226,38227,38228,38230,38231,38232,38233,38235,38238,38239,38237,38241,38242,38244,38245,38246,38247,38248,38249,38250,38251,38252,38255,38257,38258,38259,38202,30695,30700,38601,31189,31213,31203,31211,31238,23879,31235,31234,31262,31252,39176,39177,39178,39179,39180,39182,39183,39185,39186,39187,39188,39189,39190,39191,39192,39193,39194,39195,39196,39197,39198,39199,39200,39201,39202,39203,39204,39205,39206,39207,39208,39209,39210,39211,39212,39213,39215,39216,39217,39218,39219,39220,39221,39222,39223,39224,39225,39226,39227,39228,39229,39230,39231,39232,39233,39234,39235,39236,39237,39238,39239,39240,39241,39242,39243,39244,39245,39246,39247,39248,39249,39250,39251,39254,39255,39256,39257,39258,39259,39260,39261,39262,39263,39264,39265,39266,39268,39270,39283,39288,39289,39291,39294,39298,39299,39305,31289,31287,31313,40655,39333,31344,30344,30350,30355,30361,30372,29918,29920,29996,40480,40482,40488,40489,40490,40491,40492,40498,40497,40502,40504,40503,40505,40506,40510,40513,40514,40516,40518,40519,40520,40521,40523,40524,40526,40529,40533,40535,40538,40539,40540,40542,40547,40550,40551,40552,40553,40554,40555,40556,40561,40557,40563,30098,30100,30102,30112,30109,30124,30115,30131,30132,30136,30148,30129,30128,30147,30146,30166,30157,30179,30184,30182,30180,30187,30183,30211,30193,30204,30207,30224,30208,30213,30220,30231,30218,30245,30232,30229,30233,39308,39310,39322,39323,39324,39325,39326,39327,39328,39329,39330,39331,39332,39334,39335,39337,39338,39339,39340,39341,39342,39343,39344,39345,39346,39347,39348,39349,39350,39351,39352,39353,39354,39355,39356,39357,39358,39359,39360,39361,39362,39363,39364,39365,39366,39367,39368,39369,39370,39371,39372,39373,39374,39375,39376,39377,39378,39379,39380,39381,39382,39383,39384,39385,39386,39387,39388,39389,39390,39391,39392,39393,39394,39395,39396,39397,39398,39399,39400,39401,39402,39403,39404,39405,39406,39407,39408,39409,39410,39411,39412,39413,39414,39415,39416,39417,30235,30268,30242,30240,30272,30253,30256,30271,30261,30275,30270,30259,30285,30302,30292,30300,30294,30315,30319,32714,31462,31352,31353,31360,31366,31368,31381,31398,31392,31404,31400,31405,31411,34916,34921,34930,34941,34943,34946,34978,35014,34999,35004,35017,35042,35022,35043,35045,35057,35098,35068,35048,35070,35056,35105,35097,35091,35099,35082,35124,35115,35126,35137,35174,35195,30091,32997,30386,30388,30684,32786,32788,32790,32796,32800,32802,32805,32806,32807,32809,32808,32817,32779,32821,32835,32838,32845,32850,32873,32881,35203,39032,39040,39043,39418,39419,39420,39421,39422,39423,39424,39425,39426,39427,39428,39429,39430,39431,39432,39433,39434,39435,39436,39437,39438,39439,39440,39441,39442,39443,39444,39445,39446,39447,39448,39449,39450,39451,39452,39453,39454,39455,39456,39457,39458,39459,39460,39461,39462,39463,39464,39465,39466,39467,39468,39469,39470,39471,39472,39473,39474,39475,39476,39477,39478,39479,39480,39481,39482,39483,39484,39485,39486,39487,39488,39489,39490,39491,39492,39493,39494,39495,39496,39497,39498,39499,39500,39501,39502,39503,39504,39505,39506,39507,39508,39509,39510,39511,39512,39513,39049,39052,39053,39055,39060,39066,39067,39070,39071,39073,39074,39077,39078,34381,34388,34412,34414,34431,34426,34428,34427,34472,34445,34443,34476,34461,34471,34467,34474,34451,34473,34486,34500,34485,34510,34480,34490,34481,34479,34505,34511,34484,34537,34545,34546,34541,34547,34512,34579,34526,34548,34527,34520,34513,34563,34567,34552,34568,34570,34573,34569,34595,34619,34590,34597,34606,34586,34622,34632,34612,34609,34601,34615,34623,34690,34594,34685,34686,34683,34656,34672,34636,34670,34699,34643,34659,34684,34660,34649,34661,34707,34735,34728,34770,39514,39515,39516,39517,39518,39519,39520,39521,39522,39523,39524,39525,39526,39527,39528,39529,39530,39531,39538,39555,39561,39565,39566,39572,39573,39577,39590,39593,39594,39595,39596,39597,39598,39599,39602,39603,39604,39605,39609,39611,39613,39614,39615,39619,39620,39622,39623,39624,39625,39626,39629,39630,39631,39632,39634,39636,39637,39638,39639,39641,39642,39643,39644,39645,39646,39648,39650,39651,39652,39653,39655,39656,39657,39658,39660,39662,39664,39665,39666,39667,39668,39669,39670,39671,39672,39674,39676,39677,39678,39679,39680,39681,39682,39684,39685,39686,34758,34696,34693,34733,34711,34691,34731,34789,34732,34741,34739,34763,34771,34749,34769,34752,34762,34779,34794,34784,34798,34838,34835,34814,34826,34843,34849,34873,34876,32566,32578,32580,32581,33296,31482,31485,31496,31491,31492,31509,31498,31531,31503,31559,31544,31530,31513,31534,31537,31520,31525,31524,31539,31550,31518,31576,31578,31557,31605,31564,31581,31584,31598,31611,31586,31602,31601,31632,31654,31655,31672,31660,31645,31656,31621,31658,31644,31650,31659,31668,31697,31681,31692,31709,31706,31717,31718,31722,31756,31742,31740,31759,31766,31755,39687,39689,39690,39691,39692,39693,39694,39696,39697,39698,39700,39701,39702,39703,39704,39705,39706,39707,39708,39709,39710,39712,39713,39714,39716,39717,39718,39719,39720,39721,39722,39723,39724,39725,39726,39728,39729,39731,39732,39733,39734,39735,39736,39737,39738,39741,39742,39743,39744,39750,39754,39755,39756,39758,39760,39762,39763,39765,39766,39767,39768,39769,39770,39771,39772,39773,39774,39775,39776,39777,39778,39779,39780,39781,39782,39783,39784,39785,39786,39787,39788,39789,39790,39791,39792,39793,39794,39795,39796,39797,39798,39799,39800,39801,39802,39803,31775,31786,31782,31800,31809,31808,33278,33281,33282,33284,33260,34884,33313,33314,33315,33325,33327,33320,33323,33336,33339,33331,33332,33342,33348,33353,33355,33359,33370,33375,33384,34942,34949,34952,35032,35039,35166,32669,32671,32679,32687,32688,32690,31868,25929,31889,31901,31900,31902,31906,31922,31932,31933,31937,31943,31948,31949,31944,31941,31959,31976,33390,26280,32703,32718,32725,32741,32737,32742,32745,32750,32755,31992,32119,32166,32174,32327,32411,40632,40628,36211,36228,36244,36241,36273,36199,36205,35911,35913,37194,37200,37198,37199,37220,39804,39805,39806,39807,39808,39809,39810,39811,39812,39813,39814,39815,39816,39817,39818,39819,39820,39821,39822,39823,39824,39825,39826,39827,39828,39829,39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39840,39841,39842,39843,39844,39845,39846,39847,39848,39849,39850,39851,39852,39853,39854,39855,39856,39857,39858,39859,39860,39861,39862,39863,39864,39865,39866,39867,39868,39869,39870,39871,39872,39873,39874,39875,39876,39877,39878,39879,39880,39881,39882,39883,39884,39885,39886,39887,39888,39889,39890,39891,39892,39893,39894,39895,39896,39897,39898,39899,37218,37217,37232,37225,37231,37245,37246,37234,37236,37241,37260,37253,37264,37261,37265,37282,37283,37290,37293,37294,37295,37301,37300,37306,35925,40574,36280,36331,36357,36441,36457,36277,36287,36284,36282,36292,36310,36311,36314,36318,36302,36303,36315,36294,36332,36343,36344,36323,36345,36347,36324,36361,36349,36372,36381,36383,36396,36398,36387,36399,36410,36416,36409,36405,36413,36401,36425,36417,36418,36433,36434,36426,36464,36470,36476,36463,36468,36485,36495,36500,36496,36508,36510,35960,35970,35978,35973,35992,35988,26011,35286,35294,35290,35292,39900,39901,39902,39903,39904,39905,39906,39907,39908,39909,39910,39911,39912,39913,39914,39915,39916,39917,39918,39919,39920,39921,39922,39923,39924,39925,39926,39927,39928,39929,39930,39931,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39969,39970,39971,39972,39973,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39987,39988,39989,39990,39991,39992,39993,39994,39995,35301,35307,35311,35390,35622,38739,38633,38643,38639,38662,38657,38664,38671,38670,38698,38701,38704,38718,40832,40835,40837,40838,40839,40840,40841,40842,40844,40702,40715,40717,38585,38588,38589,38606,38610,30655,38624,37518,37550,37576,37694,37738,37834,37775,37950,37995,40063,40066,40069,40070,40071,40072,31267,40075,40078,40080,40081,40082,40084,40085,40090,40091,40094,40095,40096,40097,40098,40099,40101,40102,40103,40104,40105,40107,40109,40110,40112,40113,40114,40115,40116,40117,40118,40119,40122,40123,40124,40125,40132,40133,40134,40135,40138,40139,39996,39997,39998,39999,4e4,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40018,40019,40020,40021,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40035,40036,40037,40038,40039,40040,40041,40042,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40061,40062,40064,40067,40068,40073,40074,40076,40079,40083,40086,40087,40088,40089,40093,40106,40108,40111,40121,40126,40127,40128,40129,40130,40136,40137,40145,40146,40154,40155,40160,40161,40140,40141,40142,40143,40144,40147,40148,40149,40151,40152,40153,40156,40157,40159,40162,38780,38789,38801,38802,38804,38831,38827,38819,38834,38836,39601,39600,39607,40536,39606,39610,39612,39617,39616,39621,39618,39627,39628,39633,39749,39747,39751,39753,39752,39757,39761,39144,39181,39214,39253,39252,39647,39649,39654,39663,39659,39675,39661,39673,39688,39695,39699,39711,39715,40637,40638,32315,40578,40583,40584,40587,40594,37846,40605,40607,40667,40668,40669,40672,40671,40674,40681,40679,40677,40682,40687,40738,40748,40751,40761,40759,40765,40766,40772,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40183,40184,40185,40186,40187,40188,40189,40190,40191,40192,40193,40194,40195,40196,40197,40198,40199,40200,40201,40202,40203,40204,40205,40206,40207,40208,40209,40210,40211,40212,40213,40214,40215,40216,40217,40218,40219,40220,40221,40222,40223,40224,40225,40226,40227,40228,40229,40230,40231,40232,40233,40234,40235,40236,40237,40238,40239,40240,40241,40242,40243,40244,40245,40246,40247,40248,40249,40250,40251,40252,40253,40254,40255,40256,40257,40258,57908,57909,57910,57911,57912,57913,57914,57915,57916,57917,57918,57919,57920,57921,57922,57923,57924,57925,57926,57927,57928,57929,57930,57931,57932,57933,57934,57935,57936,57937,57938,57939,57940,57941,57942,57943,57944,57945,57946,57947,57948,57949,57950,57951,57952,57953,57954,57955,57956,57957,57958,57959,57960,57961,57962,57963,57964,57965,57966,57967,57968,57969,57970,57971,57972,57973,57974,57975,57976,57977,57978,57979,57980,57981,57982,57983,57984,57985,57986,57987,57988,57989,57990,57991,57992,57993,57994,57995,57996,57997,57998,57999,58e3,58001,40259,40260,40261,40262,40263,40264,40265,40266,40267,40268,40269,40270,40271,40272,40273,40274,40275,40276,40277,40278,40279,40280,40281,40282,40283,40284,40285,40286,40287,40288,40289,40290,40291,40292,40293,40294,40295,40296,40297,40298,40299,40300,40301,40302,40303,40304,40305,40306,40307,40308,40309,40310,40311,40312,40313,40314,40315,40316,40317,40318,40319,40320,40321,40322,40323,40324,40325,40326,40327,40328,40329,40330,40331,40332,40333,40334,40335,40336,40337,40338,40339,40340,40341,40342,40343,40344,40345,40346,40347,40348,40349,40350,40351,40352,40353,40354,58002,58003,58004,58005,58006,58007,58008,58009,58010,58011,58012,58013,58014,58015,58016,58017,58018,58019,58020,58021,58022,58023,58024,58025,58026,58027,58028,58029,58030,58031,58032,58033,58034,58035,58036,58037,58038,58039,58040,58041,58042,58043,58044,58045,58046,58047,58048,58049,58050,58051,58052,58053,58054,58055,58056,58057,58058,58059,58060,58061,58062,58063,58064,58065,58066,58067,58068,58069,58070,58071,58072,58073,58074,58075,58076,58077,58078,58079,58080,58081,58082,58083,58084,58085,58086,58087,58088,58089,58090,58091,58092,58093,58094,58095,40355,40356,40357,40358,40359,40360,40361,40362,40363,40364,40365,40366,40367,40368,40369,40370,40371,40372,40373,40374,40375,40376,40377,40378,40379,40380,40381,40382,40383,40384,40385,40386,40387,40388,40389,40390,40391,40392,40393,40394,40395,40396,40397,40398,40399,40400,40401,40402,40403,40404,40405,40406,40407,40408,40409,40410,40411,40412,40413,40414,40415,40416,40417,40418,40419,40420,40421,40422,40423,40424,40425,40426,40427,40428,40429,40430,40431,40432,40433,40434,40435,40436,40437,40438,40439,40440,40441,40442,40443,40444,40445,40446,40447,40448,40449,40450,58096,58097,58098,58099,58100,58101,58102,58103,58104,58105,58106,58107,58108,58109,58110,58111,58112,58113,58114,58115,58116,58117,58118,58119,58120,58121,58122,58123,58124,58125,58126,58127,58128,58129,58130,58131,58132,58133,58134,58135,58136,58137,58138,58139,58140,58141,58142,58143,58144,58145,58146,58147,58148,58149,58150,58151,58152,58153,58154,58155,58156,58157,58158,58159,58160,58161,58162,58163,58164,58165,58166,58167,58168,58169,58170,58171,58172,58173,58174,58175,58176,58177,58178,58179,58180,58181,58182,58183,58184,58185,58186,58187,58188,58189,40451,40452,40453,40454,40455,40456,40457,40458,40459,40460,40461,40462,40463,40464,40465,40466,40467,40468,40469,40470,40471,40472,40473,40474,40475,40476,40477,40478,40484,40487,40494,40496,40500,40507,40508,40512,40525,40528,40530,40531,40532,40534,40537,40541,40543,40544,40545,40546,40549,40558,40559,40562,40564,40565,40566,40567,40568,40569,40570,40571,40572,40573,40576,40577,40579,40580,40581,40582,40585,40586,40588,40589,40590,40591,40592,40593,40596,40597,40598,40599,40600,40601,40602,40603,40604,40606,40608,40609,40610,40611,40612,40613,40615,40616,40617,40618,58190,58191,58192,58193,58194,58195,58196,58197,58198,58199,58200,58201,58202,58203,58204,58205,58206,58207,58208,58209,58210,58211,58212,58213,58214,58215,58216,58217,58218,58219,58220,58221,58222,58223,58224,58225,58226,58227,58228,58229,58230,58231,58232,58233,58234,58235,58236,58237,58238,58239,58240,58241,58242,58243,58244,58245,58246,58247,58248,58249,58250,58251,58252,58253,58254,58255,58256,58257,58258,58259,58260,58261,58262,58263,58264,58265,58266,58267,58268,58269,58270,58271,58272,58273,58274,58275,58276,58277,58278,58279,58280,58281,58282,58283,40619,40620,40621,40622,40623,40624,40625,40626,40627,40629,40630,40631,40633,40634,40636,40639,40640,40641,40642,40643,40645,40646,40647,40648,40650,40651,40652,40656,40658,40659,40661,40662,40663,40665,40666,40670,40673,40675,40676,40678,40680,40683,40684,40685,40686,40688,40689,40690,40691,40692,40693,40694,40695,40696,40698,40701,40703,40704,40705,40706,40707,40708,40709,40710,40711,40712,40713,40714,40716,40719,40721,40722,40724,40725,40726,40728,40730,40731,40732,40733,40734,40735,40737,40739,40740,40741,40742,40743,40744,40745,40746,40747,40749,40750,40752,40753,58284,58285,58286,58287,58288,58289,58290,58291,58292,58293,58294,58295,58296,58297,58298,58299,58300,58301,58302,58303,58304,58305,58306,58307,58308,58309,58310,58311,58312,58313,58314,58315,58316,58317,58318,58319,58320,58321,58322,58323,58324,58325,58326,58327,58328,58329,58330,58331,58332,58333,58334,58335,58336,58337,58338,58339,58340,58341,58342,58343,58344,58345,58346,58347,58348,58349,58350,58351,58352,58353,58354,58355,58356,58357,58358,58359,58360,58361,58362,58363,58364,58365,58366,58367,58368,58369,58370,58371,58372,58373,58374,58375,58376,58377,40754,40755,40756,40757,40758,40760,40762,40764,40767,40768,40769,40770,40771,40773,40774,40775,40776,40777,40778,40779,40780,40781,40782,40783,40786,40787,40788,40789,40790,40791,40792,40793,40794,40795,40796,40797,40798,40799,40800,40801,40802,40803,40804,40805,40806,40807,40808,40809,40810,40811,40812,40813,40814,40815,40816,40817,40818,40819,40820,40821,40822,40823,40824,40825,40826,40827,40828,40829,40830,40833,40834,40845,40846,40847,40848,40849,40850,40851,40852,40853,40854,40855,40856,40860,40861,40862,40865,40866,40867,40868,40869,63788,63865,63893,63975,63985,58378,58379,58380,58381,58382,58383,58384,58385,58386,58387,58388,58389,58390,58391,58392,58393,58394,58395,58396,58397,58398,58399,58400,58401,58402,58403,58404,58405,58406,58407,58408,58409,58410,58411,58412,58413,58414,58415,58416,58417,58418,58419,58420,58421,58422,58423,58424,58425,58426,58427,58428,58429,58430,58431,58432,58433,58434,58435,58436,58437,58438,58439,58440,58441,58442,58443,58444,58445,58446,58447,58448,58449,58450,58451,58452,58453,58454,58455,58456,58457,58458,58459,58460,58461,58462,58463,58464,58465,58466,58467,58468,58469,58470,58471,64012,64013,64014,64015,64017,64019,64020,64024,64031,64032,64033,64035,64036,64039,64040,64041,11905,59414,59415,59416,11908,13427,13383,11912,11915,59422,13726,13850,13838,11916,11927,14702,14616,59430,14799,14815,14963,14800,59435,59436,15182,15470,15584,11943,59441,59442,11946,16470,16735,11950,17207,11955,11958,11959,59451,17329,17324,11963,17373,17622,18017,17996,59459,18211,18217,18300,18317,11978,18759,18810,18813,18818,18819,18821,18822,18847,18843,18871,18870,59476,59477,19619,19615,19616,19617,19575,19618,19731,19732,19733,19734,19735,19736,19737,19886,59492,58472,58473,58474,58475,58476,58477,58478,58479,58480,58481,58482,58483,58484,58485,58486,58487,58488,58489,58490,58491,58492,58493,58494,58495,58496,58497,58498,58499,58500,58501,58502,58503,58504,58505,58506,58507,58508,58509,58510,58511,58512,58513,58514,58515,58516,58517,58518,58519,58520,58521,58522,58523,58524,58525,58526,58527,58528,58529,58530,58531,58532,58533,58534,58535,58536,58537,58538,58539,58540,58541,58542,58543,58544,58545,58546,58547,58548,58549,58550,58551,58552,58553,58554,58555,58556,58557,58558,58559,58560,58561,58562,58563,58564,58565],"gb18030-ranges":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,18318],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189e3,65536]],jis0208:[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,9327,9328,9329,9330,9331,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,13129,13076,13090,13133,13080,13095,13059,13110,13137,13143,13069,13094,13091,13099,13130,13115,13212,13213,13214,13198,13199,13252,13217,null,null,null,null,null,null,null,null,13179,12317,12319,8470,13261,8481,12964,12965,12966,12967,12968,12849,12850,12857,13182,13181,13180,8786,8801,8747,8750,8721,8730,8869,8736,8735,8895,8757,8745,8746,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20124,21782,23043,38463,21696,24859,25384,23030,36898,33909,33564,31312,24746,25569,28197,26093,33894,33446,39925,26771,22311,26017,25201,23451,22992,34427,39156,32098,32190,39822,25110,31903,34999,23433,24245,25353,26263,26696,38343,38797,26447,20197,20234,20301,20381,20553,22258,22839,22996,23041,23561,24799,24847,24944,26131,26885,28858,30031,30064,31227,32173,32239,32963,33806,34915,35586,36949,36986,21307,20117,20133,22495,32946,37057,30959,19968,22769,28322,36920,31282,33576,33419,39983,20801,21360,21693,21729,22240,23035,24341,39154,28139,32996,34093,38498,38512,38560,38907,21515,21491,23431,28879,32701,36802,38632,21359,40284,31418,19985,30867,33276,28198,22040,21764,27421,34074,39995,23013,21417,28006,29916,38287,22082,20113,36939,38642,33615,39180,21473,21942,23344,24433,26144,26355,26628,27704,27891,27945,29787,30408,31310,38964,33521,34907,35424,37613,28082,30123,30410,39365,24742,35585,36234,38322,27022,21421,20870,22290,22576,22852,23476,24310,24616,25513,25588,27839,28436,28814,28948,29017,29141,29503,32257,33398,33489,34199,36960,37467,40219,22633,26044,27738,29989,20985,22830,22885,24448,24540,25276,26106,27178,27431,27572,29579,32705,35158,40236,40206,40644,23713,27798,33659,20740,23627,25014,33222,26742,29281,20057,20474,21368,24681,28201,31311,38899,19979,21270,20206,20309,20285,20385,20339,21152,21487,22025,22799,23233,23478,23521,31185,26247,26524,26550,27468,27827,28779,29634,31117,31166,31292,31623,33457,33499,33540,33655,33775,33747,34662,35506,22057,36008,36838,36942,38686,34442,20420,23784,25105,29273,30011,33253,33469,34558,36032,38597,39187,39381,20171,20250,35299,22238,22602,22730,24315,24555,24618,24724,24674,25040,25106,25296,25913,39745,26214,26800,28023,28784,30028,30342,32117,33445,34809,38283,38542,35997,20977,21182,22806,21683,23475,23830,24936,27010,28079,30861,33995,34903,35442,37799,39608,28012,39336,34521,22435,26623,34510,37390,21123,22151,21508,24275,25313,25785,26684,26680,27579,29554,30906,31339,35226,35282,36203,36611,37101,38307,38548,38761,23398,23731,27005,38989,38990,25499,31520,27179,27263,26806,39949,28511,21106,21917,24688,25324,27963,28167,28369,33883,35088,36676,19988,39993,21494,26907,27194,38788,26666,20828,31427,33970,37340,37772,22107,40232,26658,33541,33841,31909,21e3,33477,29926,20094,20355,20896,23506,21002,21208,21223,24059,21914,22570,23014,23436,23448,23515,24178,24185,24739,24863,24931,25022,25563,25954,26577,26707,26874,27454,27475,27735,28450,28567,28485,29872,29976,30435,30475,31487,31649,31777,32233,32566,32752,32925,33382,33694,35251,35532,36011,36996,37969,38291,38289,38306,38501,38867,39208,33304,20024,21547,23736,24012,29609,30284,30524,23721,32747,36107,38593,38929,38996,39e3,20225,20238,21361,21916,22120,22522,22855,23305,23492,23696,24076,24190,24524,25582,26426,26071,26082,26399,26827,26820,27231,24112,27589,27671,27773,30079,31048,23395,31232,32e3,24509,35215,35352,36020,36215,36556,36637,39138,39438,39740,20096,20605,20736,22931,23452,25135,25216,25836,27450,29344,30097,31047,32681,34811,35516,35696,25516,33738,38816,21513,21507,21931,26708,27224,35440,30759,26485,40653,21364,23458,33050,34384,36870,19992,20037,20167,20241,21450,21560,23470,24339,24613,25937,26429,27714,27762,27875,28792,29699,31350,31406,31496,32026,31998,32102,26087,29275,21435,23621,24040,25298,25312,25369,28192,34394,35377,36317,37624,28417,31142,39770,20136,20139,20140,20379,20384,20689,20807,31478,20849,20982,21332,21281,21375,21483,21932,22659,23777,24375,24394,24623,24656,24685,25375,25945,27211,27841,29378,29421,30703,33016,33029,33288,34126,37111,37857,38911,39255,39514,20208,20957,23597,26241,26989,23616,26354,26997,29577,26704,31873,20677,21220,22343,24062,37670,26020,27427,27453,29748,31105,31165,31563,32202,33465,33740,34943,35167,35641,36817,37329,21535,37504,20061,20534,21477,21306,29399,29590,30697,33510,36527,39366,39368,39378,20855,24858,34398,21936,31354,20598,23507,36935,38533,20018,27355,37351,23633,23624,25496,31391,27795,38772,36705,31402,29066,38536,31874,26647,32368,26705,37740,21234,21531,34219,35347,32676,36557,37089,21350,34952,31041,20418,20670,21009,20804,21843,22317,29674,22411,22865,24418,24452,24693,24950,24935,25001,25522,25658,25964,26223,26690,28179,30054,31293,31995,32076,32153,32331,32619,33550,33610,34509,35336,35427,35686,36605,38938,40335,33464,36814,39912,21127,25119,25731,28608,38553,26689,20625,27424,27770,28500,31348,32080,34880,35363,26376,20214,20537,20518,20581,20860,21048,21091,21927,22287,22533,23244,24314,25010,25080,25331,25458,26908,27177,29309,29356,29486,30740,30831,32121,30476,32937,35211,35609,36066,36562,36963,37749,38522,38997,39443,40568,20803,21407,21427,24187,24358,28187,28304,29572,29694,32067,33335,35328,35578,38480,20046,20491,21476,21628,22266,22993,23396,24049,24235,24359,25144,25925,26543,28246,29392,31946,34996,32929,32993,33776,34382,35463,36328,37431,38599,39015,40723,20116,20114,20237,21320,21577,21566,23087,24460,24481,24735,26791,27278,29786,30849,35486,35492,35703,37264,20062,39881,20132,20348,20399,20505,20502,20809,20844,21151,21177,21246,21402,21475,21521,21518,21897,22353,22434,22909,23380,23389,23439,24037,24039,24055,24184,24195,24218,24247,24344,24658,24908,25239,25304,25511,25915,26114,26179,26356,26477,26657,26775,27083,27743,27946,28009,28207,28317,30002,30343,30828,31295,31968,32005,32024,32094,32177,32789,32771,32943,32945,33108,33167,33322,33618,34892,34913,35611,36002,36092,37066,37237,37489,30783,37628,38308,38477,38917,39321,39640,40251,21083,21163,21495,21512,22741,25335,28640,35946,36703,40633,20811,21051,21578,22269,31296,37239,40288,40658,29508,28425,33136,29969,24573,24794,39592,29403,36796,27492,38915,20170,22256,22372,22718,23130,24680,25031,26127,26118,26681,26801,28151,30165,32058,33390,39746,20123,20304,21449,21766,23919,24038,24046,26619,27801,29811,30722,35408,37782,35039,22352,24231,25387,20661,20652,20877,26368,21705,22622,22971,23472,24425,25165,25505,26685,27507,28168,28797,37319,29312,30741,30758,31085,25998,32048,33756,35009,36617,38555,21092,22312,26448,32618,36001,20916,22338,38442,22586,27018,32948,21682,23822,22524,30869,40442,20316,21066,21643,25662,26152,26388,26613,31364,31574,32034,37679,26716,39853,31545,21273,20874,21047,23519,25334,25774,25830,26413,27578,34217,38609,30352,39894,25420,37638,39851,30399,26194,19977,20632,21442,23665,24808,25746,25955,26719,29158,29642,29987,31639,32386,34453,35715,36059,37240,39184,26028,26283,27531,20181,20180,20282,20351,21050,21496,21490,21987,22235,22763,22987,22985,23039,23376,23629,24066,24107,24535,24605,25351,25903,23388,26031,26045,26088,26525,27490,27515,27663,29509,31049,31169,31992,32025,32043,32930,33026,33267,35222,35422,35433,35430,35468,35566,36039,36060,38604,39164,27503,20107,20284,20365,20816,23383,23546,24904,25345,26178,27425,28363,27835,29246,29885,30164,30913,31034,32780,32819,33258,33940,36766,27728,40575,24335,35672,40235,31482,36600,23437,38635,19971,21489,22519,22833,23241,23460,24713,28287,28422,30142,36074,23455,34048,31712,20594,26612,33437,23649,34122,32286,33294,20889,23556,25448,36198,26012,29038,31038,32023,32773,35613,36554,36974,34503,37034,20511,21242,23610,26451,28796,29237,37196,37320,37675,33509,23490,24369,24825,20027,21462,23432,25163,26417,27530,29417,29664,31278,33131,36259,37202,39318,20754,21463,21610,23551,25480,27193,32172,38656,22234,21454,21608,23447,23601,24030,20462,24833,25342,27954,31168,31179,32066,32333,32722,33261,33311,33936,34886,35186,35728,36468,36655,36913,37195,37228,38598,37276,20160,20303,20805,21313,24467,25102,26580,27713,28171,29539,32294,37325,37507,21460,22809,23487,28113,31069,32302,31899,22654,29087,20986,34899,36848,20426,23803,26149,30636,31459,33308,39423,20934,24490,26092,26991,27529,28147,28310,28516,30462,32020,24033,36981,37255,38918,20966,21021,25152,26257,26329,28186,24246,32210,32626,26360,34223,34295,35576,21161,21465,22899,24207,24464,24661,37604,38500,20663,20767,21213,21280,21319,21484,21736,21830,21809,22039,22888,22974,23100,23477,23558,23567,23569,23578,24196,24202,24288,24432,25215,25220,25307,25484,25463,26119,26124,26157,26230,26494,26786,27167,27189,27836,28040,28169,28248,28988,28966,29031,30151,30465,30813,30977,31077,31216,31456,31505,31911,32057,32918,33750,33931,34121,34909,35059,35359,35388,35412,35443,35937,36062,37284,37478,37758,37912,38556,38808,19978,19976,19998,20055,20887,21104,22478,22580,22732,23330,24120,24773,25854,26465,26454,27972,29366,30067,31331,33976,35698,37304,37664,22065,22516,39166,25325,26893,27542,29165,32340,32887,33394,35302,39135,34645,36785,23611,20280,20449,20405,21767,23072,23517,23529,24515,24910,25391,26032,26187,26862,27035,28024,28145,30003,30137,30495,31070,31206,32051,33251,33455,34218,35242,35386,36523,36763,36914,37341,38663,20154,20161,20995,22645,22764,23563,29978,23613,33102,35338,36805,38499,38765,31525,35535,38920,37218,22259,21416,36887,21561,22402,24101,25512,27700,28810,30561,31883,32736,34928,36930,37204,37648,37656,38543,29790,39620,23815,23913,25968,26530,36264,38619,25454,26441,26905,33733,38935,38592,35070,28548,25722,23544,19990,28716,30045,26159,20932,21046,21218,22995,24449,24615,25104,25919,25972,26143,26228,26866,26646,27491,28165,29298,29983,30427,31934,32854,22768,35069,35199,35488,35475,35531,36893,37266,38738,38745,25993,31246,33030,38587,24109,24796,25114,26021,26132,26512,30707,31309,31821,32318,33034,36012,36196,36321,36447,30889,20999,25305,25509,25666,25240,35373,31363,31680,35500,38634,32118,33292,34633,20185,20808,21315,21344,23459,23554,23574,24029,25126,25159,25776,26643,26676,27849,27973,27927,26579,28508,29006,29053,26059,31359,31661,32218,32330,32680,33146,33307,33337,34214,35438,36046,36341,36984,36983,37549,37521,38275,39854,21069,21892,28472,28982,20840,31109,32341,33203,31950,22092,22609,23720,25514,26366,26365,26970,29401,30095,30094,30990,31062,31199,31895,32032,32068,34311,35380,38459,36961,40736,20711,21109,21452,21474,20489,21930,22766,22863,29245,23435,23652,21277,24803,24819,25436,25475,25407,25531,25805,26089,26361,24035,27085,27133,28437,29157,20105,30185,30456,31379,31967,32207,32156,32865,33609,33624,33900,33980,34299,35013,36208,36865,36973,37783,38684,39442,20687,22679,24974,33235,34101,36104,36896,20419,20596,21063,21363,24687,25417,26463,28204,36275,36895,20439,23646,36042,26063,32154,21330,34966,20854,25539,23384,23403,23562,25613,26449,36956,20182,22810,22826,27760,35409,21822,22549,22949,24816,25171,26561,33333,26965,38464,39364,39464,20307,22534,23550,32784,23729,24111,24453,24608,24907,25140,26367,27888,28382,32974,33151,33492,34955,36024,36864,36910,38538,40667,39899,20195,21488,22823,31532,37261,38988,40441,28381,28711,21331,21828,23429,25176,25246,25299,27810,28655,29730,35351,37944,28609,35582,33592,20967,34552,21482,21481,20294,36948,36784,22890,33073,24061,31466,36799,26842,35895,29432,40008,27197,35504,20025,21336,22022,22374,25285,25506,26086,27470,28129,28251,28845,30701,31471,31658,32187,32829,32966,34507,35477,37723,22243,22727,24382,26029,26262,27264,27573,30007,35527,20516,30693,22320,24347,24677,26234,27744,30196,31258,32622,33268,34584,36933,39347,31689,30044,31481,31569,33988,36880,31209,31378,33590,23265,30528,20013,20210,23449,24544,25277,26172,26609,27880,34411,34935,35387,37198,37619,39376,27159,28710,29482,33511,33879,36015,19969,20806,20939,21899,23541,24086,24115,24193,24340,24373,24427,24500,25074,25361,26274,26397,28526,29266,30010,30522,32884,33081,33144,34678,35519,35548,36229,36339,37530,38263,38914,40165,21189,25431,30452,26389,27784,29645,36035,37806,38515,27941,22684,26894,27084,36861,37786,30171,36890,22618,26626,25524,27131,20291,28460,26584,36795,34086,32180,37716,26943,28528,22378,22775,23340,32044,29226,21514,37347,40372,20141,20302,20572,20597,21059,35998,21576,22564,23450,24093,24213,24237,24311,24351,24716,25269,25402,25552,26799,27712,30855,31118,31243,32224,33351,35330,35558,36420,36883,37048,37165,37336,40718,27877,25688,25826,25973,28404,30340,31515,36969,37841,28346,21746,24505,25764,36685,36845,37444,20856,22635,22825,23637,24215,28155,32399,29980,36028,36578,39003,28857,20253,27583,28593,3e4,38651,20814,21520,22581,22615,22956,23648,24466,26007,26460,28193,30331,33759,36077,36884,37117,37709,30757,30778,21162,24230,22303,22900,24594,20498,20826,20908,20941,20992,21776,22612,22616,22871,23445,23798,23947,24764,25237,25645,26481,26691,26812,26847,30423,28120,28271,28059,28783,29128,24403,30168,31095,31561,31572,31570,31958,32113,21040,33891,34153,34276,35342,35588,35910,36367,36867,36879,37913,38518,38957,39472,38360,20685,21205,21516,22530,23566,24999,25758,27934,30643,31461,33012,33796,36947,37509,23776,40199,21311,24471,24499,28060,29305,30563,31167,31716,27602,29420,35501,26627,27233,20984,31361,26932,23626,40182,33515,23493,37193,28702,22136,23663,24775,25958,27788,35930,36929,38931,21585,26311,37389,22856,37027,20869,20045,20970,34201,35598,28760,25466,37707,26978,39348,32260,30071,21335,26976,36575,38627,27741,20108,23612,24336,36841,21250,36049,32905,34425,24319,26085,20083,20837,22914,23615,38894,20219,22922,24525,35469,28641,31152,31074,23527,33905,29483,29105,24180,24565,25467,25754,29123,31896,20035,24316,20043,22492,22178,24745,28611,32013,33021,33075,33215,36786,35223,34468,24052,25226,25773,35207,26487,27874,27966,29750,30772,23110,32629,33453,39340,20467,24259,25309,25490,25943,26479,30403,29260,32972,32954,36649,37197,20493,22521,23186,26757,26995,29028,29437,36023,22770,36064,38506,36889,34687,31204,30695,33833,20271,21093,21338,25293,26575,27850,30333,31636,31893,33334,34180,36843,26333,28448,29190,32283,33707,39361,40614,20989,31665,30834,31672,32903,31560,27368,24161,32908,30033,30048,20843,37474,28300,30330,37271,39658,20240,32624,25244,31567,38309,40169,22138,22617,34532,38588,20276,21028,21322,21453,21467,24070,25644,26001,26495,27710,27726,29256,29359,29677,30036,32321,33324,34281,36009,31684,37318,29033,38930,39151,25405,26217,30058,30436,30928,34115,34542,21290,21329,21542,22915,24199,24444,24754,25161,25209,25259,26e3,27604,27852,30130,30382,30865,31192,32203,32631,32933,34987,35513,36027,36991,38750,39131,27147,31800,20633,23614,24494,26503,27608,29749,30473,32654,40763,26570,31255,21305,30091,39661,24422,33181,33777,32920,24380,24517,30050,31558,36924,26727,23019,23195,32016,30334,35628,20469,24426,27161,27703,28418,29922,31080,34920,35413,35961,24287,25551,30149,31186,33495,37672,37618,33948,34541,39981,21697,24428,25996,27996,28693,36007,36051,38971,25935,29942,19981,20184,22496,22827,23142,23500,20904,24067,24220,24598,25206,25975,26023,26222,28014,29238,31526,33104,33178,33433,35676,36e3,36070,36212,38428,38468,20398,25771,27494,33310,33889,34154,37096,23553,26963,39080,33914,34135,20239,21103,24489,24133,26381,31119,33145,35079,35206,28149,24343,25173,27832,20175,29289,39826,20998,21563,22132,22707,24996,25198,28954,22894,31881,31966,32027,38640,25991,32862,19993,20341,20853,22592,24163,24179,24330,26564,20006,34109,38281,38491,31859,38913,20731,22721,30294,30887,21029,30629,34065,31622,20559,22793,29255,31687,32232,36794,36820,36941,20415,21193,23081,24321,38829,20445,33303,37610,22275,25429,27497,29995,35036,36628,31298,21215,22675,24917,25098,26286,27597,31807,33769,20515,20472,21253,21574,22577,22857,23453,23792,23791,23849,24214,25265,25447,25918,26041,26379,27861,27873,28921,30770,32299,32990,33459,33804,34028,34562,35090,35370,35914,37030,37586,39165,40179,40300,20047,20129,20621,21078,22346,22952,24125,24536,24537,25151,26292,26395,26576,26834,20882,32033,32938,33192,35584,35980,36031,37502,38450,21536,38956,21271,20693,21340,22696,25778,26420,29287,30566,31302,37350,21187,27809,27526,22528,24140,22868,26412,32763,20961,30406,25705,30952,39764,40635,22475,22969,26151,26522,27598,21737,27097,24149,33180,26517,39850,26622,40018,26717,20134,20451,21448,25273,26411,27819,36804,20397,32365,40639,19975,24930,28288,28459,34067,21619,26410,39749,24051,31637,23724,23494,34588,28234,34001,31252,33032,22937,31885,27665,30496,21209,22818,28961,29279,30683,38695,40289,26891,23167,23064,20901,21517,21629,26126,30431,36855,37528,40180,23018,29277,28357,20813,26825,32191,32236,38754,40634,25720,27169,33538,22916,23391,27611,29467,30450,32178,32791,33945,20786,26408,40665,30446,26466,21247,39173,23588,25147,31870,36016,21839,24758,32011,38272,21249,20063,20918,22812,29242,32822,37326,24357,30690,21380,24441,32004,34220,35379,36493,38742,26611,34222,37971,24841,24840,27833,30290,35565,36664,21807,20305,20778,21191,21451,23461,24189,24736,24962,25558,26377,26586,28263,28044,29494,29495,30001,31056,35029,35480,36938,37009,37109,38596,34701,22805,20104,20313,19982,35465,36671,38928,20653,24188,22934,23481,24248,25562,25594,25793,26332,26954,27096,27915,28342,29076,29992,31407,32650,32768,33865,33993,35201,35617,36362,36965,38525,39178,24958,25233,27442,27779,28020,32716,32764,28096,32645,34746,35064,26469,33713,38972,38647,27931,32097,33853,37226,20081,21365,23888,27396,28651,34253,34349,35239,21033,21519,23653,26446,26792,29702,29827,30178,35023,35041,37324,38626,38520,24459,29575,31435,33870,25504,30053,21129,27969,28316,29705,30041,30827,31890,38534,31452,40845,20406,24942,26053,34396,20102,20142,20698,20001,20940,23534,26009,26753,28092,29471,30274,30637,31260,31975,33391,35538,36988,37327,38517,38936,21147,32209,20523,21400,26519,28107,29136,29747,33256,36650,38563,40023,40607,29792,22593,28057,32047,39006,20196,20278,20363,20919,21169,23994,24604,29618,31036,33491,37428,38583,38646,38666,40599,40802,26278,27508,21015,21155,28872,35010,24265,24651,24976,28451,29001,31806,32244,32879,34030,36899,37676,21570,39791,27347,28809,36034,36335,38706,21172,23105,24266,24324,26391,27004,27028,28010,28431,29282,29436,31725,32769,32894,34635,37070,20845,40595,31108,32907,37682,35542,20525,21644,35441,27498,36036,33031,24785,26528,40434,20121,20120,39952,35435,34241,34152,26880,28286,30871,33109,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24332,19984,19989,20010,20017,20022,20028,20031,20034,20054,20056,20098,20101,35947,20106,33298,24333,20110,20126,20127,20128,20130,20144,20147,20150,20174,20173,20164,20166,20162,20183,20190,20205,20191,20215,20233,20314,20272,20315,20317,20311,20295,20342,20360,20367,20376,20347,20329,20336,20369,20335,20358,20374,20760,20436,20447,20430,20440,20443,20433,20442,20432,20452,20453,20506,20520,20500,20522,20517,20485,20252,20470,20513,20521,20524,20478,20463,20497,20486,20547,20551,26371,20565,20560,20552,20570,20566,20588,20600,20608,20634,20613,20660,20658,20681,20682,20659,20674,20694,20702,20709,20717,20707,20718,20729,20725,20745,20737,20738,20758,20757,20756,20762,20769,20794,20791,20796,20795,20799,20800,20818,20812,20820,20834,31480,20841,20842,20846,20864,20866,22232,20876,20873,20879,20881,20883,20885,20886,20900,20902,20898,20905,20906,20907,20915,20913,20914,20912,20917,20925,20933,20937,20955,20960,34389,20969,20973,20976,20981,20990,20996,21003,21012,21006,21031,21034,21038,21043,21049,21071,21060,21067,21068,21086,21076,21098,21108,21097,21107,21119,21117,21133,21140,21138,21105,21128,21137,36776,36775,21164,21165,21180,21173,21185,21197,21207,21214,21219,21222,39149,21216,21235,21237,21240,21241,21254,21256,30008,21261,21264,21263,21269,21274,21283,21295,21297,21299,21304,21312,21318,21317,19991,21321,21325,20950,21342,21353,21358,22808,21371,21367,21378,21398,21408,21414,21413,21422,21424,21430,21443,31762,38617,21471,26364,29166,21486,21480,21485,21498,21505,21565,21568,21548,21549,21564,21550,21558,21545,21533,21582,21647,21621,21646,21599,21617,21623,21616,21650,21627,21632,21622,21636,21648,21638,21703,21666,21688,21669,21676,21700,21704,21672,21675,21698,21668,21694,21692,21720,21733,21734,21775,21780,21757,21742,21741,21754,21730,21817,21824,21859,21836,21806,21852,21829,21846,21847,21816,21811,21853,21913,21888,21679,21898,21919,21883,21886,21912,21918,21934,21884,21891,21929,21895,21928,21978,21957,21983,21956,21980,21988,21972,22036,22007,22038,22014,22013,22043,22009,22094,22096,29151,22068,22070,22066,22072,22123,22116,22063,22124,22122,22150,22144,22154,22176,22164,22159,22181,22190,22198,22196,22210,22204,22209,22211,22208,22216,22222,22225,22227,22231,22254,22265,22272,22271,22276,22281,22280,22283,22285,22291,22296,22294,21959,22300,22310,22327,22328,22350,22331,22336,22351,22377,22464,22408,22369,22399,22409,22419,22432,22451,22436,22442,22448,22467,22470,22484,22482,22483,22538,22486,22499,22539,22553,22557,22642,22561,22626,22603,22640,27584,22610,22589,22649,22661,22713,22687,22699,22714,22750,22715,22712,22702,22725,22739,22737,22743,22745,22744,22757,22748,22756,22751,22767,22778,22777,22779,22780,22781,22786,22794,22800,22811,26790,22821,22828,22829,22834,22840,22846,31442,22869,22864,22862,22874,22872,22882,22880,22887,22892,22889,22904,22913,22941,20318,20395,22947,22962,22982,23016,23004,22925,23001,23002,23077,23071,23057,23068,23049,23066,23104,23148,23113,23093,23094,23138,23146,23194,23228,23230,23243,23234,23229,23267,23255,23270,23273,23254,23290,23291,23308,23307,23318,23346,23248,23338,23350,23358,23363,23365,23360,23377,23381,23386,23387,23397,23401,23408,23411,23413,23416,25992,23418,23424,23427,23462,23480,23491,23495,23497,23508,23504,23524,23526,23522,23518,23525,23531,23536,23542,23539,23557,23559,23560,23565,23571,23584,23586,23592,23608,23609,23617,23622,23630,23635,23632,23631,23409,23660,23662,20066,23670,23673,23692,23697,23700,22939,23723,23739,23734,23740,23735,23749,23742,23751,23769,23785,23805,23802,23789,23948,23786,23819,23829,23831,23900,23839,23835,23825,23828,23842,23834,23833,23832,23884,23890,23886,23883,23916,23923,23926,23943,23940,23938,23970,23965,23980,23982,23997,23952,23991,23996,24009,24013,24019,24018,24022,24027,24043,24050,24053,24075,24090,24089,24081,24091,24118,24119,24132,24131,24128,24142,24151,24148,24159,24162,24164,24135,24181,24182,24186,40636,24191,24224,24257,24258,24264,24272,24271,24278,24291,24285,24282,24283,24290,24289,24296,24297,24300,24305,24307,24304,24308,24312,24318,24323,24329,24413,24412,24331,24337,24342,24361,24365,24376,24385,24392,24396,24398,24367,24401,24406,24407,24409,24417,24429,24435,24439,24451,24450,24447,24458,24456,24465,24455,24478,24473,24472,24480,24488,24493,24508,24534,24571,24548,24568,24561,24541,24755,24575,24609,24672,24601,24592,24617,24590,24625,24603,24597,24619,24614,24591,24634,24666,24641,24682,24695,24671,24650,24646,24653,24675,24643,24676,24642,24684,24683,24665,24705,24717,24807,24707,24730,24708,24731,24726,24727,24722,24743,24715,24801,24760,24800,24787,24756,24560,24765,24774,24757,24792,24909,24853,24838,24822,24823,24832,24820,24826,24835,24865,24827,24817,24845,24846,24903,24894,24872,24871,24906,24895,24892,24876,24884,24893,24898,24900,24947,24951,24920,24921,24922,24939,24948,24943,24933,24945,24927,24925,24915,24949,24985,24982,24967,25004,24980,24986,24970,24977,25003,25006,25036,25034,25033,25079,25032,25027,25030,25018,25035,32633,25037,25062,25059,25078,25082,25076,25087,25085,25084,25086,25088,25096,25097,25101,25100,25108,25115,25118,25121,25130,25134,25136,25138,25139,25153,25166,25182,25187,25179,25184,25192,25212,25218,25225,25214,25234,25235,25238,25300,25219,25236,25303,25297,25275,25295,25343,25286,25812,25288,25308,25292,25290,25282,25287,25243,25289,25356,25326,25329,25383,25346,25352,25327,25333,25424,25406,25421,25628,25423,25494,25486,25472,25515,25462,25507,25487,25481,25503,25525,25451,25449,25534,25577,25536,25542,25571,25545,25554,25590,25540,25622,25652,25606,25619,25638,25654,25885,25623,25640,25615,25703,25711,25718,25678,25898,25749,25747,25765,25769,25736,25788,25818,25810,25797,25799,25787,25816,25794,25841,25831,33289,25824,25825,25260,25827,25839,25900,25846,25844,25842,25850,25856,25853,25880,25884,25861,25892,25891,25899,25908,25909,25911,25910,25912,30027,25928,25942,25941,25933,25944,25950,25949,25970,25976,25986,25987,35722,26011,26015,26027,26039,26051,26054,26049,26052,26060,26066,26075,26073,26080,26081,26097,26482,26122,26115,26107,26483,26165,26166,26164,26140,26191,26180,26185,26177,26206,26205,26212,26215,26216,26207,26210,26224,26243,26248,26254,26249,26244,26264,26269,26305,26297,26313,26302,26300,26308,26296,26326,26330,26336,26175,26342,26345,26352,26357,26359,26383,26390,26398,26406,26407,38712,26414,26431,26422,26433,26424,26423,26438,26462,26464,26457,26467,26468,26505,26480,26537,26492,26474,26508,26507,26534,26529,26501,26551,26607,26548,26604,26547,26601,26552,26596,26590,26589,26594,26606,26553,26574,26566,26599,27292,26654,26694,26665,26688,26701,26674,26702,26803,26667,26713,26723,26743,26751,26783,26767,26797,26772,26781,26779,26755,27310,26809,26740,26805,26784,26810,26895,26765,26750,26881,26826,26888,26840,26914,26918,26849,26892,26829,26836,26855,26837,26934,26898,26884,26839,26851,26917,26873,26848,26863,26920,26922,26906,26915,26913,26822,27001,26999,26972,27e3,26987,26964,27006,26990,26937,26996,26941,26969,26928,26977,26974,26973,27009,26986,27058,27054,27088,27071,27073,27091,27070,27086,23528,27082,27101,27067,27075,27047,27182,27025,27040,27036,27029,27060,27102,27112,27138,27163,27135,27402,27129,27122,27111,27141,27057,27166,27117,27156,27115,27146,27154,27329,27171,27155,27204,27148,27250,27190,27256,27207,27234,27225,27238,27208,27192,27170,27280,27277,27296,27268,27298,27299,27287,34327,27323,27331,27330,27320,27315,27308,27358,27345,27359,27306,27354,27370,27387,27397,34326,27386,27410,27414,39729,27423,27448,27447,30428,27449,39150,27463,27459,27465,27472,27481,27476,27483,27487,27489,27512,27513,27519,27520,27524,27523,27533,27544,27541,27550,27556,27562,27563,27567,27570,27569,27571,27575,27580,27590,27595,27603,27615,27628,27627,27635,27631,40638,27656,27667,27668,27675,27684,27683,27742,27733,27746,27754,27778,27789,27802,27777,27803,27774,27752,27763,27794,27792,27844,27889,27859,27837,27863,27845,27869,27822,27825,27838,27834,27867,27887,27865,27882,27935,34893,27958,27947,27965,27960,27929,27957,27955,27922,27916,28003,28051,28004,27994,28025,27993,28046,28053,28644,28037,28153,28181,28170,28085,28103,28134,28088,28102,28140,28126,28108,28136,28114,28101,28154,28121,28132,28117,28138,28142,28205,28270,28206,28185,28274,28255,28222,28195,28267,28203,28278,28237,28191,28227,28218,28238,28196,28415,28189,28216,28290,28330,28312,28361,28343,28371,28349,28335,28356,28338,28372,28373,28303,28325,28354,28319,28481,28433,28748,28396,28408,28414,28479,28402,28465,28399,28466,28364,28478,28435,28407,28550,28538,28536,28545,28544,28527,28507,28659,28525,28546,28540,28504,28558,28561,28610,28518,28595,28579,28577,28580,28601,28614,28586,28639,28629,28652,28628,28632,28657,28654,28635,28681,28683,28666,28689,28673,28687,28670,28699,28698,28532,28701,28696,28703,28720,28734,28722,28753,28771,28825,28818,28847,28913,28844,28856,28851,28846,28895,28875,28893,28889,28937,28925,28956,28953,29029,29013,29064,29030,29026,29004,29014,29036,29071,29179,29060,29077,29096,29100,29143,29113,29118,29138,29129,29140,29134,29152,29164,29159,29173,29180,29177,29183,29197,29200,29211,29224,29229,29228,29232,29234,29243,29244,29247,29248,29254,29259,29272,29300,29310,29314,29313,29319,29330,29334,29346,29351,29369,29362,29379,29382,29380,29390,29394,29410,29408,29409,29433,29431,20495,29463,29450,29468,29462,29469,29492,29487,29481,29477,29502,29518,29519,40664,29527,29546,29544,29552,29560,29557,29563,29562,29640,29619,29646,29627,29632,29669,29678,29662,29858,29701,29807,29733,29688,29746,29754,29781,29759,29791,29785,29761,29788,29801,29808,29795,29802,29814,29822,29835,29854,29863,29898,29903,29908,29681,29920,29923,29927,29929,29934,29938,29936,29937,29944,29943,29956,29955,29957,29964,29966,29965,29973,29971,29982,29990,29996,30012,30020,30029,30026,30025,30043,30022,30042,30057,30052,30055,30059,30061,30072,30070,30086,30087,30068,30090,30089,30082,30100,30106,30109,30117,30115,30146,30131,30147,30133,30141,30136,30140,30129,30157,30154,30162,30169,30179,30174,30206,30207,30204,30209,30192,30202,30194,30195,30219,30221,30217,30239,30247,30240,30241,30242,30244,30260,30256,30267,30279,30280,30278,30300,30296,30305,30306,30312,30313,30314,30311,30316,30320,30322,30326,30328,30332,30336,30339,30344,30347,30350,30358,30355,30361,30362,30384,30388,30392,30393,30394,30402,30413,30422,30418,30430,30433,30437,30439,30442,34351,30459,30472,30471,30468,30505,30500,30494,30501,30502,30491,30519,30520,30535,30554,30568,30571,30555,30565,30591,30590,30585,30606,30603,30609,30624,30622,30640,30646,30649,30655,30652,30653,30651,30663,30669,30679,30682,30684,30691,30702,30716,30732,30738,31014,30752,31018,30789,30862,30836,30854,30844,30874,30860,30883,30901,30890,30895,30929,30918,30923,30932,30910,30908,30917,30922,30956,30951,30938,30973,30964,30983,30994,30993,31001,31020,31019,31040,31072,31063,31071,31066,31061,31059,31098,31103,31114,31133,31143,40779,31146,31150,31155,31161,31162,31177,31189,31207,31212,31201,31203,31240,31245,31256,31257,31264,31263,31104,31281,31291,31294,31287,31299,31319,31305,31329,31330,31337,40861,31344,31353,31357,31368,31383,31381,31384,31382,31401,31432,31408,31414,31429,31428,31423,36995,31431,31434,31437,31439,31445,31443,31449,31450,31453,31457,31458,31462,31469,31472,31490,31503,31498,31494,31539,31512,31513,31518,31541,31528,31542,31568,31610,31492,31565,31499,31564,31557,31605,31589,31604,31591,31600,31601,31596,31598,31645,31640,31647,31629,31644,31642,31627,31634,31631,31581,31641,31691,31681,31692,31695,31668,31686,31709,31721,31761,31764,31718,31717,31840,31744,31751,31763,31731,31735,31767,31757,31734,31779,31783,31786,31775,31799,31787,31805,31820,31811,31828,31823,31808,31824,31832,31839,31844,31830,31845,31852,31861,31875,31888,31908,31917,31906,31915,31905,31912,31923,31922,31921,31918,31929,31933,31936,31941,31938,31960,31954,31964,31970,39739,31983,31986,31988,31990,31994,32006,32002,32028,32021,32010,32069,32075,32046,32050,32063,32053,32070,32115,32086,32078,32114,32104,32110,32079,32099,32147,32137,32091,32143,32125,32155,32186,32174,32163,32181,32199,32189,32171,32317,32162,32175,32220,32184,32159,32176,32216,32221,32228,32222,32251,32242,32225,32261,32266,32291,32289,32274,32305,32287,32265,32267,32290,32326,32358,32315,32309,32313,32323,32311,32306,32314,32359,32349,32342,32350,32345,32346,32377,32362,32361,32380,32379,32387,32213,32381,36782,32383,32392,32393,32396,32402,32400,32403,32404,32406,32398,32411,32412,32568,32570,32581,32588,32589,32590,32592,32593,32597,32596,32600,32607,32608,32616,32617,32615,32632,32642,32646,32643,32648,32647,32652,32660,32670,32669,32666,32675,32687,32690,32697,32686,32694,32696,35697,32709,32710,32714,32725,32724,32737,32742,32745,32755,32761,39132,32774,32772,32779,32786,32792,32793,32796,32801,32808,32831,32827,32842,32838,32850,32856,32858,32863,32866,32872,32883,32882,32880,32886,32889,32893,32895,32900,32902,32901,32923,32915,32922,32941,20880,32940,32987,32997,32985,32989,32964,32986,32982,33033,33007,33009,33051,33065,33059,33071,33099,38539,33094,33086,33107,33105,33020,33137,33134,33125,33126,33140,33155,33160,33162,33152,33154,33184,33173,33188,33187,33119,33171,33193,33200,33205,33214,33208,33213,33216,33218,33210,33225,33229,33233,33241,33240,33224,33242,33247,33248,33255,33274,33275,33278,33281,33282,33285,33287,33290,33293,33296,33302,33321,33323,33336,33331,33344,33369,33368,33373,33370,33375,33380,33378,33384,33386,33387,33326,33393,33399,33400,33406,33421,33426,33451,33439,33467,33452,33505,33507,33503,33490,33524,33523,33530,33683,33539,33531,33529,33502,33542,33500,33545,33497,33589,33588,33558,33586,33585,33600,33593,33616,33605,33583,33579,33559,33560,33669,33690,33706,33695,33698,33686,33571,33678,33671,33674,33660,33717,33651,33653,33696,33673,33704,33780,33811,33771,33742,33789,33795,33752,33803,33729,33783,33799,33760,33778,33805,33826,33824,33725,33848,34054,33787,33901,33834,33852,34138,33924,33911,33899,33965,33902,33922,33897,33862,33836,33903,33913,33845,33994,33890,33977,33983,33951,34009,33997,33979,34010,34e3,33985,33990,34006,33953,34081,34047,34036,34071,34072,34092,34079,34069,34068,34044,34112,34147,34136,34120,34113,34306,34123,34133,34176,34212,34184,34193,34186,34216,34157,34196,34203,34282,34183,34204,34167,34174,34192,34249,34234,34255,34233,34256,34261,34269,34277,34268,34297,34314,34323,34315,34302,34298,34310,34338,34330,34352,34367,34381,20053,34388,34399,34407,34417,34451,34467,34473,34474,34443,34444,34486,34479,34500,34502,34480,34505,34851,34475,34516,34526,34537,34540,34527,34523,34543,34578,34566,34568,34560,34563,34555,34577,34569,34573,34553,34570,34612,34623,34615,34619,34597,34601,34586,34656,34655,34680,34636,34638,34676,34647,34664,34670,34649,34643,34659,34666,34821,34722,34719,34690,34735,34763,34749,34752,34768,38614,34731,34756,34739,34759,34758,34747,34799,34802,34784,34831,34829,34814,34806,34807,34830,34770,34833,34838,34837,34850,34849,34865,34870,34873,34855,34875,34884,34882,34898,34905,34910,34914,34923,34945,34942,34974,34933,34941,34997,34930,34946,34967,34962,34990,34969,34978,34957,34980,34992,35007,34993,35011,35012,35028,35032,35033,35037,35065,35074,35068,35060,35048,35058,35076,35084,35082,35091,35139,35102,35109,35114,35115,35137,35140,35131,35126,35128,35148,35101,35168,35166,35174,35172,35181,35178,35183,35188,35191,35198,35203,35208,35210,35219,35224,35233,35241,35238,35244,35247,35250,35258,35261,35263,35264,35290,35292,35293,35303,35316,35320,35331,35350,35344,35340,35355,35357,35365,35382,35393,35419,35410,35398,35400,35452,35437,35436,35426,35461,35458,35460,35496,35489,35473,35493,35494,35482,35491,35524,35533,35522,35546,35563,35571,35559,35556,35569,35604,35552,35554,35575,35550,35547,35596,35591,35610,35553,35606,35600,35607,35616,35635,38827,35622,35627,35646,35624,35649,35660,35663,35662,35657,35670,35675,35674,35691,35679,35692,35695,35700,35709,35712,35724,35726,35730,35731,35734,35737,35738,35898,35905,35903,35912,35916,35918,35920,35925,35938,35948,35960,35962,35970,35977,35973,35978,35981,35982,35988,35964,35992,25117,36013,36010,36029,36018,36019,36014,36022,36040,36033,36068,36067,36058,36093,36090,36091,36100,36101,36106,36103,36111,36109,36112,40782,36115,36045,36116,36118,36199,36205,36209,36211,36225,36249,36290,36286,36282,36303,36314,36310,36300,36315,36299,36330,36331,36319,36323,36348,36360,36361,36351,36381,36382,36368,36383,36418,36405,36400,36404,36426,36423,36425,36428,36432,36424,36441,36452,36448,36394,36451,36437,36470,36466,36476,36481,36487,36485,36484,36491,36490,36499,36497,36500,36505,36522,36513,36524,36528,36550,36529,36542,36549,36552,36555,36571,36579,36604,36603,36587,36606,36618,36613,36629,36626,36633,36627,36636,36639,36635,36620,36646,36659,36667,36665,36677,36674,36670,36684,36681,36678,36686,36695,36700,36706,36707,36708,36764,36767,36771,36781,36783,36791,36826,36837,36834,36842,36847,36999,36852,36869,36857,36858,36881,36885,36897,36877,36894,36886,36875,36903,36918,36917,36921,36856,36943,36944,36945,36946,36878,36937,36926,36950,36952,36958,36968,36975,36982,38568,36978,36994,36989,36993,36992,37002,37001,37007,37032,37039,37041,37045,37090,37092,25160,37083,37122,37138,37145,37170,37168,37194,37206,37208,37219,37221,37225,37235,37234,37259,37257,37250,37282,37291,37295,37290,37301,37300,37306,37312,37313,37321,37323,37328,37334,37343,37345,37339,37372,37365,37366,37406,37375,37396,37420,37397,37393,37470,37463,37445,37449,37476,37448,37525,37439,37451,37456,37532,37526,37523,37531,37466,37583,37561,37559,37609,37647,37626,37700,37678,37657,37666,37658,37667,37690,37685,37691,37724,37728,37756,37742,37718,37808,37804,37805,37780,37817,37846,37847,37864,37861,37848,37827,37853,37840,37832,37860,37914,37908,37907,37891,37895,37904,37942,37931,37941,37921,37946,37953,37970,37956,37979,37984,37986,37982,37994,37417,38e3,38005,38007,38013,37978,38012,38014,38017,38015,38274,38279,38282,38292,38294,38296,38297,38304,38312,38311,38317,38332,38331,38329,38334,38346,28662,38339,38349,38348,38357,38356,38358,38364,38369,38373,38370,38433,38440,38446,38447,38466,38476,38479,38475,38519,38492,38494,38493,38495,38502,38514,38508,38541,38552,38549,38551,38570,38567,38577,38578,38576,38580,38582,38584,38585,38606,38603,38601,38605,35149,38620,38669,38613,38649,38660,38662,38664,38675,38670,38673,38671,38678,38681,38692,38698,38704,38713,38717,38718,38724,38726,38728,38722,38729,38748,38752,38756,38758,38760,21202,38763,38769,38777,38789,38780,38785,38778,38790,38795,38799,38800,38812,38824,38822,38819,38835,38836,38851,38854,38856,38859,38876,38893,40783,38898,31455,38902,38901,38927,38924,38968,38948,38945,38967,38973,38982,38991,38987,39019,39023,39024,39025,39028,39027,39082,39087,39089,39094,39108,39107,39110,39145,39147,39171,39177,39186,39188,39192,39201,39197,39198,39204,39200,39212,39214,39229,39230,39234,39241,39237,39248,39243,39249,39250,39244,39253,39319,39320,39333,39341,39342,39356,39391,39387,39389,39384,39377,39405,39406,39409,39410,39419,39416,39425,39439,39429,39394,39449,39467,39479,39493,39490,39488,39491,39486,39509,39501,39515,39511,39519,39522,39525,39524,39529,39531,39530,39597,39600,39612,39616,39631,39633,39635,39636,39646,39647,39650,39651,39654,39663,39659,39662,39668,39665,39671,39675,39686,39704,39706,39711,39714,39715,39717,39719,39720,39721,39722,39726,39727,39730,39748,39747,39759,39757,39758,39761,39768,39796,39827,39811,39825,39830,39831,39839,39840,39848,39860,39872,39882,39865,39878,39887,39889,39890,39907,39906,39908,39892,39905,39994,39922,39921,39920,39957,39956,39945,39955,39948,39942,39944,39954,39946,39940,39982,39963,39973,39972,39969,39984,40007,39986,40006,39998,40026,40032,40039,40054,40056,40167,40172,40176,40201,40200,40171,40195,40198,40234,40230,40367,40227,40223,40260,40213,40210,40257,40255,40254,40262,40264,40285,40286,40292,40273,40272,40281,40306,40329,40327,40363,40303,40314,40346,40356,40361,40370,40388,40385,40379,40376,40378,40390,40399,40386,40409,40403,40440,40422,40429,40431,40445,40474,40475,40478,40565,40569,40573,40577,40584,40587,40588,40594,40597,40593,40605,40613,40617,40632,40618,40621,38753,40652,40654,40655,40656,40660,40668,40670,40669,40672,40677,40680,40687,40692,40694,40695,40697,40699,40700,40701,40711,40712,30391,40725,40737,40748,40766,40778,40786,40788,40803,40799,40800,40801,40806,40807,40812,40810,40823,40818,40822,40853,40860,40864,22575,27079,36953,29796,20956,29081,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,65506,65508,65287,65282,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,65506,65508,65287,65282,12849,8470,8481,8757,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],jis0212:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19970,19972,19973,19980,19986,19999,20003,20004,20008,20011,20014,20015,20016,20021,20032,20033,20036,20039,20049,20058,20060,20067,20072,20073,20084,20085,20089,20095,20109,20118,20119,20125,20143,20153,20163,20176,20186,20187,20192,20193,20194,20200,20207,20209,20211,20213,20221,20222,20223,20224,20226,20227,20232,20235,20236,20242,20245,20246,20247,20249,20270,20273,20320,20275,20277,20279,20281,20283,20286,20288,20290,20296,20297,20299,20300,20306,20308,20310,20312,20319,20323,20330,20332,20334,20337,20343,20344,20345,20346,20349,20350,20353,20354,20356,20357,20361,20362,20364,20366,20368,20370,20371,20372,20375,20377,20378,20382,20383,20402,20407,20409,20411,20412,20413,20414,20416,20417,20421,20422,20424,20425,20427,20428,20429,20431,20434,20444,20448,20450,20464,20466,20476,20477,20479,20480,20481,20484,20487,20490,20492,20494,20496,20499,20503,20504,20507,20508,20509,20510,20514,20519,20526,20528,20530,20531,20533,20544,20545,20546,20549,20550,20554,20556,20558,20561,20562,20563,20567,20569,20575,20576,20578,20579,20582,20583,20586,20589,20592,20593,20539,20609,20611,20612,20614,20618,20622,20623,20624,20626,20627,20628,20630,20635,20636,20638,20639,20640,20641,20642,20650,20655,20656,20665,20666,20669,20672,20675,20676,20679,20684,20686,20688,20691,20692,20696,20700,20701,20703,20706,20708,20710,20712,20713,20719,20721,20726,20730,20734,20739,20742,20743,20744,20747,20748,20749,20750,20722,20752,20759,20761,20763,20764,20765,20766,20771,20775,20776,20780,20781,20783,20785,20787,20788,20789,20792,20793,20802,20810,20815,20819,20821,20823,20824,20831,20836,20838,20862,20867,20868,20875,20878,20888,20893,20897,20899,20909,20920,20922,20924,20926,20927,20930,20936,20943,20945,20946,20947,20949,20952,20958,20962,20965,20974,20978,20979,20980,20983,20993,20994,20997,21010,21011,21013,21014,21016,21026,21032,21041,21042,21045,21052,21061,21065,21077,21079,21080,21082,21084,21087,21088,21089,21094,21102,21111,21112,21113,21120,21122,21125,21130,21132,21139,21141,21142,21143,21144,21146,21148,21156,21157,21158,21159,21167,21168,21174,21175,21176,21178,21179,21181,21184,21188,21190,21192,21196,21199,21201,21204,21206,21211,21212,21217,21221,21224,21225,21226,21228,21232,21233,21236,21238,21239,21248,21251,21258,21259,21260,21265,21267,21272,21275,21276,21278,21279,21285,21287,21288,21289,21291,21292,21293,21296,21298,21301,21308,21309,21310,21314,21324,21323,21337,21339,21345,21347,21349,21356,21357,21362,21369,21374,21379,21383,21384,21390,21395,21396,21401,21405,21409,21412,21418,21419,21423,21426,21428,21429,21431,21432,21434,21437,21440,21445,21455,21458,21459,21461,21466,21469,21470,21472,21478,21479,21493,21506,21523,21530,21537,21543,21544,21546,21551,21553,21556,21557,21571,21572,21575,21581,21583,21598,21602,21604,21606,21607,21609,21611,21613,21614,21620,21631,21633,21635,21637,21640,21641,21645,21649,21653,21654,21660,21663,21665,21670,21671,21673,21674,21677,21678,21681,21687,21689,21690,21691,21695,21702,21706,21709,21710,21728,21738,21740,21743,21750,21756,21758,21759,21760,21761,21765,21768,21769,21772,21773,21774,21781,21802,21803,21810,21813,21814,21819,21820,21821,21825,21831,21833,21834,21837,21840,21841,21848,21850,21851,21854,21856,21857,21860,21862,21887,21889,21890,21894,21896,21902,21903,21905,21906,21907,21908,21911,21923,21924,21933,21938,21951,21953,21955,21958,21961,21963,21964,21966,21969,21970,21971,21975,21976,21979,21982,21986,21993,22006,22015,22021,22024,22026,22029,22030,22031,22032,22033,22034,22041,22060,22064,22067,22069,22071,22073,22075,22076,22077,22079,22080,22081,22083,22084,22086,22089,22091,22093,22095,22100,22110,22112,22113,22114,22115,22118,22121,22125,22127,22129,22130,22133,22148,22149,22152,22155,22156,22165,22169,22170,22173,22174,22175,22182,22183,22184,22185,22187,22188,22189,22193,22195,22199,22206,22213,22217,22218,22219,22223,22224,22220,22221,22233,22236,22237,22239,22241,22244,22245,22246,22247,22248,22257,22251,22253,22262,22263,22273,22274,22279,22282,22284,22289,22293,22298,22299,22301,22304,22306,22307,22308,22309,22313,22314,22316,22318,22319,22323,22324,22333,22334,22335,22341,22342,22348,22349,22354,22370,22373,22375,22376,22379,22381,22382,22383,22384,22385,22387,22388,22389,22391,22393,22394,22395,22396,22398,22401,22403,22412,22420,22423,22425,22426,22428,22429,22430,22431,22433,22421,22439,22440,22441,22444,22456,22461,22471,22472,22476,22479,22485,22493,22494,22500,22502,22503,22505,22509,22512,22517,22518,22520,22525,22526,22527,22531,22532,22536,22537,22497,22540,22541,22555,22558,22559,22560,22566,22567,22573,22578,22585,22591,22601,22604,22605,22607,22608,22613,22623,22625,22628,22631,22632,22648,22652,22655,22656,22657,22663,22664,22665,22666,22668,22669,22671,22672,22676,22678,22685,22688,22689,22690,22694,22697,22705,22706,22724,22716,22722,22728,22733,22734,22736,22738,22740,22742,22746,22749,22753,22754,22761,22771,22789,22790,22795,22796,22802,22803,22804,34369,22813,22817,22819,22820,22824,22831,22832,22835,22837,22838,22847,22851,22854,22866,22867,22873,22875,22877,22878,22879,22881,22883,22891,22893,22895,22898,22901,22902,22905,22907,22908,22923,22924,22926,22930,22933,22935,22943,22948,22951,22957,22958,22959,22960,22963,22967,22970,22972,22977,22979,22980,22984,22986,22989,22994,23005,23006,23007,23011,23012,23015,23022,23023,23025,23026,23028,23031,23040,23044,23052,23053,23054,23058,23059,23070,23075,23076,23079,23080,23082,23085,23088,23108,23109,23111,23112,23116,23120,23125,23134,23139,23141,23143,23149,23159,23162,23163,23166,23179,23184,23187,23190,23193,23196,23198,23199,23200,23202,23207,23212,23217,23218,23219,23221,23224,23226,23227,23231,23236,23238,23240,23247,23258,23260,23264,23269,23274,23278,23285,23286,23293,23296,23297,23304,23319,23348,23321,23323,23325,23329,23333,23341,23352,23361,23371,23372,23378,23382,23390,23400,23406,23407,23420,23421,23422,23423,23425,23428,23430,23434,23438,23440,23441,23443,23444,23446,23464,23465,23468,23469,23471,23473,23474,23479,23482,23484,23488,23489,23501,23503,23510,23511,23512,23513,23514,23520,23535,23537,23540,23549,23564,23575,23582,23583,23587,23590,23593,23595,23596,23598,23600,23602,23605,23606,23641,23642,23644,23650,23651,23655,23656,23657,23661,23664,23668,23669,23674,23675,23676,23677,23687,23688,23690,23695,23698,23709,23711,23712,23714,23715,23718,23722,23730,23732,23733,23738,23753,23755,23762,23773,23767,23790,23793,23794,23796,23809,23814,23821,23826,23851,23843,23844,23846,23847,23857,23860,23865,23869,23871,23874,23875,23878,23880,23893,23889,23897,23882,23903,23904,23905,23906,23908,23914,23917,23920,23929,23930,23934,23935,23937,23939,23944,23946,23954,23955,23956,23957,23961,23963,23967,23968,23975,23979,23984,23988,23992,23993,24003,24007,24011,24016,24014,24024,24025,24032,24036,24041,24056,24057,24064,24071,24077,24082,24084,24085,24088,24095,24096,24110,24104,24114,24117,24126,24139,24144,24137,24145,24150,24152,24155,24156,24158,24168,24170,24171,24172,24173,24174,24176,24192,24203,24206,24226,24228,24229,24232,24234,24236,24241,24243,24253,24254,24255,24262,24268,24267,24270,24273,24274,24276,24277,24284,24286,24293,24299,24322,24326,24327,24328,24334,24345,24348,24349,24353,24354,24355,24356,24360,24363,24364,24366,24368,24372,24374,24379,24381,24383,24384,24388,24389,24391,24397,24400,24404,24408,24411,24416,24419,24420,24423,24431,24434,24436,24437,24440,24442,24445,24446,24457,24461,24463,24470,24476,24477,24482,24487,24491,24484,24492,24495,24496,24497,24504,24516,24519,24520,24521,24523,24528,24529,24530,24531,24532,24542,24545,24546,24552,24553,24554,24556,24557,24558,24559,24562,24563,24566,24570,24572,24583,24586,24589,24595,24596,24599,24600,24602,24607,24612,24621,24627,24629,24640,24647,24648,24649,24652,24657,24660,24662,24663,24669,24673,24679,24689,24702,24703,24706,24710,24712,24714,24718,24721,24723,24725,24728,24733,24734,24738,24740,24741,24744,24752,24753,24759,24763,24766,24770,24772,24776,24777,24778,24779,24782,24783,24788,24789,24793,24795,24797,24798,24802,24805,24818,24821,24824,24828,24829,24834,24839,24842,24844,24848,24849,24850,24851,24852,24854,24855,24857,24860,24862,24866,24874,24875,24880,24881,24885,24886,24887,24889,24897,24901,24902,24905,24926,24928,24940,24946,24952,24955,24956,24959,24960,24961,24963,24964,24971,24973,24978,24979,24983,24984,24988,24989,24991,24992,24997,25e3,25002,25005,25016,25017,25020,25024,25025,25026,25038,25039,25045,25052,25053,25054,25055,25057,25058,25063,25065,25061,25068,25069,25071,25089,25091,25092,25095,25107,25109,25116,25120,25122,25123,25127,25129,25131,25145,25149,25154,25155,25156,25158,25164,25168,25169,25170,25172,25174,25178,25180,25188,25197,25199,25203,25210,25213,25229,25230,25231,25232,25254,25256,25267,25270,25271,25274,25278,25279,25284,25294,25301,25302,25306,25322,25330,25332,25340,25341,25347,25348,25354,25355,25357,25360,25363,25366,25368,25385,25386,25389,25397,25398,25401,25404,25409,25410,25411,25412,25414,25418,25419,25422,25426,25427,25428,25432,25435,25445,25446,25452,25453,25457,25460,25461,25464,25468,25469,25471,25474,25476,25479,25482,25488,25492,25493,25497,25498,25502,25508,25510,25517,25518,25519,25533,25537,25541,25544,25550,25553,25555,25556,25557,25564,25568,25573,25578,25580,25586,25587,25589,25592,25593,25609,25610,25616,25618,25620,25624,25630,25632,25634,25636,25637,25641,25642,25647,25648,25653,25661,25663,25675,25679,25681,25682,25683,25684,25690,25691,25692,25693,25695,25696,25697,25699,25709,25715,25716,25723,25725,25733,25735,25743,25744,25745,25752,25753,25755,25757,25759,25761,25763,25766,25768,25772,25779,25789,25790,25791,25796,25801,25802,25803,25804,25806,25808,25809,25813,25815,25828,25829,25833,25834,25837,25840,25845,25847,25851,25855,25857,25860,25864,25865,25866,25871,25875,25876,25878,25881,25883,25886,25887,25890,25894,25897,25902,25905,25914,25916,25917,25923,25927,25929,25936,25938,25940,25951,25952,25959,25963,25978,25981,25985,25989,25994,26002,26005,26008,26013,26016,26019,26022,26030,26034,26035,26036,26047,26050,26056,26057,26062,26064,26068,26070,26072,26079,26096,26098,26100,26101,26105,26110,26111,26112,26116,26120,26121,26125,26129,26130,26133,26134,26141,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26161,26163,26169,26167,26176,26181,26182,26186,26188,26193,26190,26199,26200,26201,26203,26204,26208,26209,26363,26218,26219,26220,26238,26227,26229,26239,26231,26232,26233,26235,26240,26236,26251,26252,26253,26256,26258,26265,26266,26267,26268,26271,26272,26276,26285,26289,26290,26293,26299,26303,26304,26306,26307,26312,26316,26318,26319,26324,26331,26335,26344,26347,26348,26350,26362,26373,26375,26382,26387,26393,26396,26400,26402,26419,26430,26437,26439,26440,26444,26452,26453,26461,26470,26476,26478,26484,26486,26491,26497,26500,26510,26511,26513,26515,26518,26520,26521,26523,26544,26545,26546,26549,26555,26556,26557,26617,26560,26562,26563,26565,26568,26569,26578,26583,26585,26588,26593,26598,26608,26610,26614,26615,26706,26644,26649,26653,26655,26664,26663,26668,26669,26671,26672,26673,26675,26683,26687,26692,26693,26698,26700,26709,26711,26712,26715,26731,26734,26735,26736,26737,26738,26741,26745,26746,26747,26748,26754,26756,26758,26760,26774,26776,26778,26780,26785,26787,26789,26793,26794,26798,26802,26811,26821,26824,26828,26831,26832,26833,26835,26838,26841,26844,26845,26853,26856,26858,26859,26860,26861,26864,26865,26869,26870,26875,26876,26877,26886,26889,26890,26896,26897,26899,26902,26903,26929,26931,26933,26936,26939,26946,26949,26953,26958,26967,26971,26979,26980,26981,26982,26984,26985,26988,26992,26993,26994,27002,27003,27007,27008,27021,27026,27030,27032,27041,27045,27046,27048,27051,27053,27055,27063,27064,27066,27068,27077,27080,27089,27094,27095,27106,27109,27118,27119,27121,27123,27125,27134,27136,27137,27139,27151,27153,27157,27162,27165,27168,27172,27176,27184,27186,27188,27191,27195,27198,27199,27205,27206,27209,27210,27214,27216,27217,27218,27221,27222,27227,27236,27239,27242,27249,27251,27262,27265,27267,27270,27271,27273,27275,27281,27291,27293,27294,27295,27301,27307,27311,27312,27313,27316,27325,27326,27327,27334,27337,27336,27340,27344,27348,27349,27350,27356,27357,27364,27367,27372,27376,27377,27378,27388,27389,27394,27395,27398,27399,27401,27407,27408,27409,27415,27419,27422,27428,27432,27435,27436,27439,27445,27446,27451,27455,27462,27466,27469,27474,27478,27480,27485,27488,27495,27499,27502,27504,27509,27517,27518,27522,27525,27543,27547,27551,27552,27554,27555,27560,27561,27564,27565,27566,27568,27576,27577,27581,27582,27587,27588,27593,27596,27606,27610,27617,27619,27622,27623,27630,27633,27639,27641,27647,27650,27652,27653,27657,27661,27662,27664,27666,27673,27679,27686,27687,27688,27692,27694,27699,27701,27702,27706,27707,27711,27722,27723,27725,27727,27730,27732,27737,27739,27740,27755,27757,27759,27764,27766,27768,27769,27771,27781,27782,27783,27785,27796,27797,27799,27800,27804,27807,27824,27826,27828,27842,27846,27853,27855,27856,27857,27858,27860,27862,27866,27868,27872,27879,27881,27883,27884,27886,27890,27892,27908,27911,27914,27918,27919,27921,27923,27930,27942,27943,27944,27751,27950,27951,27953,27961,27964,27967,27991,27998,27999,28001,28005,28007,28015,28016,28028,28034,28039,28049,28050,28052,28054,28055,28056,28074,28076,28084,28087,28089,28093,28095,28100,28104,28106,28110,28111,28118,28123,28125,28127,28128,28130,28133,28137,28143,28144,28148,28150,28156,28160,28164,28190,28194,28199,28210,28214,28217,28219,28220,28228,28229,28232,28233,28235,28239,28241,28242,28243,28244,28247,28252,28253,28254,28258,28259,28264,28275,28283,28285,28301,28307,28313,28320,28327,28333,28334,28337,28339,28347,28351,28352,28353,28355,28359,28360,28362,28365,28366,28367,28395,28397,28398,28409,28411,28413,28420,28424,28426,28428,28429,28438,28440,28442,28443,28454,28457,28458,28463,28464,28467,28470,28475,28476,28461,28495,28497,28498,28499,28503,28505,28506,28509,28510,28513,28514,28520,28524,28541,28542,28547,28551,28552,28555,28556,28557,28560,28562,28563,28564,28566,28570,28575,28576,28581,28582,28583,28584,28590,28591,28592,28597,28598,28604,28613,28615,28616,28618,28634,28638,28648,28649,28656,28661,28665,28668,28669,28672,28677,28678,28679,28685,28695,28704,28707,28719,28724,28727,28729,28732,28739,28740,28744,28745,28746,28747,28756,28757,28765,28766,28750,28772,28773,28780,28782,28789,28790,28798,28801,28805,28806,28820,28821,28822,28823,28824,28827,28836,28843,28848,28849,28852,28855,28874,28881,28883,28884,28885,28886,28888,28892,28900,28922,28931,28932,28933,28934,28935,28939,28940,28943,28958,28960,28971,28973,28975,28976,28977,28984,28993,28997,28998,28999,29002,29003,29008,29010,29015,29018,29020,29022,29024,29032,29049,29056,29061,29063,29068,29074,29082,29083,29088,29090,29103,29104,29106,29107,29114,29119,29120,29121,29124,29131,29132,29139,29142,29145,29146,29148,29176,29182,29184,29191,29192,29193,29203,29207,29210,29213,29215,29220,29227,29231,29236,29240,29241,29249,29250,29251,29253,29262,29263,29264,29267,29269,29270,29274,29276,29278,29280,29283,29288,29291,29294,29295,29297,29303,29304,29307,29308,29311,29316,29321,29325,29326,29331,29339,29352,29357,29358,29361,29364,29374,29377,29383,29385,29388,29397,29398,29400,29407,29413,29427,29428,29434,29435,29438,29442,29444,29445,29447,29451,29453,29458,29459,29464,29465,29470,29474,29476,29479,29480,29484,29489,29490,29493,29498,29499,29501,29507,29517,29520,29522,29526,29528,29533,29534,29535,29536,29542,29543,29545,29547,29548,29550,29551,29553,29559,29561,29564,29568,29569,29571,29573,29574,29582,29584,29587,29589,29591,29592,29596,29598,29599,29600,29602,29605,29606,29610,29611,29613,29621,29623,29625,29628,29629,29631,29637,29638,29641,29643,29644,29647,29650,29651,29654,29657,29661,29665,29667,29670,29671,29673,29684,29685,29687,29689,29690,29691,29693,29695,29696,29697,29700,29703,29706,29713,29722,29723,29732,29734,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29753,29760,29763,29764,29766,29767,29771,29773,29777,29778,29783,29789,29794,29798,29799,29800,29803,29805,29806,29809,29810,29824,29825,29829,29830,29831,29833,29839,29840,29841,29842,29848,29849,29850,29852,29855,29856,29857,29859,29862,29864,29865,29866,29867,29870,29871,29873,29874,29877,29881,29883,29887,29896,29897,29900,29904,29907,29912,29914,29915,29918,29919,29924,29928,29930,29931,29935,29940,29946,29947,29948,29951,29958,29970,29974,29975,29984,29985,29988,29991,29993,29994,29999,30006,30009,30013,30014,30015,30016,30019,30023,30024,30030,30032,30034,30039,30046,30047,30049,30063,30065,30073,30074,30075,30076,30077,30078,30081,30085,30096,30098,30099,30101,30105,30108,30114,30116,30132,30138,30143,30144,30145,30148,30150,30156,30158,30159,30167,30172,30175,30176,30177,30180,30183,30188,30190,30191,30193,30201,30208,30210,30211,30212,30215,30216,30218,30220,30223,30226,30227,30229,30230,30233,30235,30236,30237,30238,30243,30245,30246,30249,30253,30258,30259,30261,30264,30265,30266,30268,30282,30272,30273,30275,30276,30277,30281,30283,30293,30297,30303,30308,30309,30317,30318,30319,30321,30324,30337,30341,30348,30349,30357,30363,30364,30365,30367,30368,30370,30371,30372,30373,30374,30375,30376,30378,30381,30397,30401,30405,30409,30411,30412,30414,30420,30425,30432,30438,30440,30444,30448,30449,30454,30457,30460,30464,30470,30474,30478,30482,30484,30485,30487,30489,30490,30492,30498,30504,30509,30510,30511,30516,30517,30518,30521,30525,30526,30530,30533,30534,30538,30541,30542,30543,30546,30550,30551,30556,30558,30559,30560,30562,30564,30567,30570,30572,30576,30578,30579,30580,30586,30589,30592,30596,30604,30605,30612,30613,30614,30618,30623,30626,30631,30634,30638,30639,30641,30645,30654,30659,30665,30673,30674,30677,30681,30686,30687,30688,30692,30694,30698,30700,30704,30705,30708,30712,30715,30725,30726,30729,30733,30734,30737,30749,30753,30754,30755,30765,30766,30768,30773,30775,30787,30788,30791,30792,30796,30798,30802,30812,30814,30816,30817,30819,30820,30824,30826,30830,30842,30846,30858,30863,30868,30872,30881,30877,30878,30879,30884,30888,30892,30893,30896,30897,30898,30899,30907,30909,30911,30919,30920,30921,30924,30926,30930,30931,30933,30934,30948,30939,30943,30944,30945,30950,30954,30962,30963,30976,30966,30967,30970,30971,30975,30982,30988,30992,31002,31004,31006,31007,31008,31013,31015,31017,31021,31025,31028,31029,31035,31037,31039,31044,31045,31046,31050,31051,31055,31057,31060,31064,31067,31068,31079,31081,31083,31090,31097,31099,31100,31102,31115,31116,31121,31123,31124,31125,31126,31128,31131,31132,31137,31144,31145,31147,31151,31153,31156,31160,31163,31170,31172,31175,31176,31178,31183,31188,31190,31194,31197,31198,31200,31202,31205,31210,31211,31213,31217,31224,31228,31234,31235,31239,31241,31242,31244,31249,31253,31259,31262,31265,31271,31275,31277,31279,31280,31284,31285,31288,31289,31290,31300,31301,31303,31304,31308,31317,31318,31321,31324,31325,31327,31328,31333,31335,31338,31341,31349,31352,31358,31360,31362,31365,31366,31370,31371,31376,31377,31380,31390,31392,31395,31404,31411,31413,31417,31419,31420,31430,31433,31436,31438,31441,31451,31464,31465,31467,31468,31473,31476,31483,31485,31486,31495,31508,31519,31523,31527,31529,31530,31531,31533,31534,31535,31536,31537,31540,31549,31551,31552,31553,31559,31566,31573,31584,31588,31590,31593,31594,31597,31599,31602,31603,31607,31620,31625,31630,31632,31633,31638,31643,31646,31648,31653,31660,31663,31664,31666,31669,31670,31674,31675,31676,31677,31682,31685,31688,31690,31700,31702,31703,31705,31706,31707,31720,31722,31730,31732,31733,31736,31737,31738,31740,31742,31745,31746,31747,31748,31750,31753,31755,31756,31758,31759,31769,31771,31776,31781,31782,31784,31788,31793,31795,31796,31798,31801,31802,31814,31818,31829,31825,31826,31827,31833,31834,31835,31836,31837,31838,31841,31843,31847,31849,31853,31854,31856,31858,31865,31868,31869,31878,31879,31887,31892,31902,31904,31910,31920,31926,31927,31930,31931,31932,31935,31940,31943,31944,31945,31949,31951,31955,31956,31957,31959,31961,31962,31965,31974,31977,31979,31989,32003,32007,32008,32009,32015,32017,32018,32019,32022,32029,32030,32035,32038,32042,32045,32049,32060,32061,32062,32064,32065,32071,32072,32077,32081,32083,32087,32089,32090,32092,32093,32101,32103,32106,32112,32120,32122,32123,32127,32129,32130,32131,32133,32134,32136,32139,32140,32141,32145,32150,32151,32157,32158,32166,32167,32170,32179,32182,32183,32185,32194,32195,32196,32197,32198,32204,32205,32206,32215,32217,32256,32226,32229,32230,32234,32235,32237,32241,32245,32246,32249,32250,32264,32272,32273,32277,32279,32284,32285,32288,32295,32296,32300,32301,32303,32307,32310,32319,32324,32325,32327,32334,32336,32338,32344,32351,32353,32354,32357,32363,32366,32367,32371,32376,32382,32385,32390,32391,32394,32397,32401,32405,32408,32410,32413,32414,32572,32571,32573,32574,32575,32579,32580,32583,32591,32594,32595,32603,32604,32605,32609,32611,32612,32613,32614,32621,32625,32637,32638,32639,32640,32651,32653,32655,32656,32657,32662,32663,32668,32673,32674,32678,32682,32685,32692,32700,32703,32704,32707,32712,32718,32719,32731,32735,32739,32741,32744,32748,32750,32751,32754,32762,32765,32766,32767,32775,32776,32778,32781,32782,32783,32785,32787,32788,32790,32797,32798,32799,32800,32804,32806,32812,32814,32816,32820,32821,32823,32825,32826,32828,32830,32832,32836,32864,32868,32870,32877,32881,32885,32897,32904,32910,32924,32926,32934,32935,32939,32952,32953,32968,32973,32975,32978,32980,32981,32983,32984,32992,33005,33006,33008,33010,33011,33014,33017,33018,33022,33027,33035,33046,33047,33048,33052,33054,33056,33060,33063,33068,33072,33077,33082,33084,33093,33095,33098,33100,33106,33111,33120,33121,33127,33128,33129,33133,33135,33143,33153,33168,33156,33157,33158,33163,33166,33174,33176,33179,33182,33186,33198,33202,33204,33211,33227,33219,33221,33226,33230,33231,33237,33239,33243,33245,33246,33249,33252,33259,33260,33264,33265,33266,33269,33270,33272,33273,33277,33279,33280,33283,33295,33299,33300,33305,33306,33309,33313,33314,33320,33330,33332,33338,33347,33348,33349,33350,33355,33358,33359,33361,33366,33372,33376,33379,33383,33389,33396,33403,33405,33407,33408,33409,33411,33412,33415,33417,33418,33422,33425,33428,33430,33432,33434,33435,33440,33441,33443,33444,33447,33448,33449,33450,33454,33456,33458,33460,33463,33466,33468,33470,33471,33478,33488,33493,33498,33504,33506,33508,33512,33514,33517,33519,33526,33527,33533,33534,33536,33537,33543,33544,33546,33547,33620,33563,33565,33566,33567,33569,33570,33580,33581,33582,33584,33587,33591,33594,33596,33597,33602,33603,33604,33607,33613,33614,33617,33621,33622,33623,33648,33656,33661,33663,33664,33666,33668,33670,33677,33682,33684,33685,33688,33689,33691,33692,33693,33702,33703,33705,33708,33726,33727,33728,33735,33737,33743,33744,33745,33748,33757,33619,33768,33770,33782,33784,33785,33788,33793,33798,33802,33807,33809,33813,33817,33709,33839,33849,33861,33863,33864,33866,33869,33871,33873,33874,33878,33880,33881,33882,33884,33888,33892,33893,33895,33898,33904,33907,33908,33910,33912,33916,33917,33921,33925,33938,33939,33941,33950,33958,33960,33961,33962,33967,33969,33972,33978,33981,33982,33984,33986,33991,33992,33996,33999,34003,34012,34023,34026,34031,34032,34033,34034,34039,34098,34042,34043,34045,34050,34051,34055,34060,34062,34064,34076,34078,34082,34083,34084,34085,34087,34090,34091,34095,34099,34100,34102,34111,34118,34127,34128,34129,34130,34131,34134,34137,34140,34141,34142,34143,34144,34145,34146,34148,34155,34159,34169,34170,34171,34173,34175,34177,34181,34182,34185,34187,34188,34191,34195,34200,34205,34207,34208,34210,34213,34215,34228,34230,34231,34232,34236,34237,34238,34239,34242,34247,34250,34251,34254,34221,34264,34266,34271,34272,34278,34280,34285,34291,34294,34300,34303,34304,34308,34309,34317,34318,34320,34321,34322,34328,34329,34331,34334,34337,34343,34345,34358,34360,34362,34364,34365,34368,34370,34374,34386,34387,34390,34391,34392,34393,34397,34400,34401,34402,34403,34404,34409,34412,34415,34421,34422,34423,34426,34445,34449,34454,34456,34458,34460,34465,34470,34471,34472,34477,34481,34483,34484,34485,34487,34488,34489,34495,34496,34497,34499,34501,34513,34514,34517,34519,34522,34524,34528,34531,34533,34535,34440,34554,34556,34557,34564,34565,34567,34571,34574,34575,34576,34579,34580,34585,34590,34591,34593,34595,34600,34606,34607,34609,34610,34617,34618,34620,34621,34622,34624,34627,34629,34637,34648,34653,34657,34660,34661,34671,34673,34674,34683,34691,34692,34693,34694,34695,34696,34697,34699,34700,34704,34707,34709,34711,34712,34713,34718,34720,34723,34727,34732,34733,34734,34737,34741,34750,34751,34753,34760,34761,34762,34766,34773,34774,34777,34778,34780,34783,34786,34787,34788,34794,34795,34797,34801,34803,34808,34810,34815,34817,34819,34822,34825,34826,34827,34832,34841,34834,34835,34836,34840,34842,34843,34844,34846,34847,34856,34861,34862,34864,34866,34869,34874,34876,34881,34883,34885,34888,34889,34890,34891,34894,34897,34901,34902,34904,34906,34908,34911,34912,34916,34921,34929,34937,34939,34944,34968,34970,34971,34972,34975,34976,34984,34986,35002,35005,35006,35008,35018,35019,35020,35021,35022,35025,35026,35027,35035,35038,35047,35055,35056,35057,35061,35063,35073,35078,35085,35086,35087,35093,35094,35096,35097,35098,35100,35104,35110,35111,35112,35120,35121,35122,35125,35129,35130,35134,35136,35138,35141,35142,35145,35151,35154,35159,35162,35163,35164,35169,35170,35171,35179,35182,35184,35187,35189,35194,35195,35196,35197,35209,35213,35216,35220,35221,35227,35228,35231,35232,35237,35248,35252,35253,35254,35255,35260,35284,35285,35286,35287,35288,35301,35305,35307,35309,35313,35315,35318,35321,35325,35327,35332,35333,35335,35343,35345,35346,35348,35349,35358,35360,35362,35364,35366,35371,35372,35375,35381,35383,35389,35390,35392,35395,35397,35399,35401,35405,35406,35411,35414,35415,35416,35420,35421,35425,35429,35431,35445,35446,35447,35449,35450,35451,35454,35455,35456,35459,35462,35467,35471,35472,35474,35478,35479,35481,35487,35495,35497,35502,35503,35507,35510,35511,35515,35518,35523,35526,35528,35529,35530,35537,35539,35540,35541,35543,35549,35551,35564,35568,35572,35573,35574,35580,35583,35589,35590,35595,35601,35612,35614,35615,35594,35629,35632,35639,35644,35650,35651,35652,35653,35654,35656,35666,35667,35668,35673,35661,35678,35683,35693,35702,35704,35705,35708,35710,35713,35716,35717,35723,35725,35727,35732,35733,35740,35742,35743,35896,35897,35901,35902,35909,35911,35913,35915,35919,35921,35923,35924,35927,35928,35931,35933,35929,35939,35940,35942,35944,35945,35949,35955,35957,35958,35963,35966,35974,35975,35979,35984,35986,35987,35993,35995,35996,36004,36025,36026,36037,36038,36041,36043,36047,36054,36053,36057,36061,36065,36072,36076,36079,36080,36082,36085,36087,36088,36094,36095,36097,36099,36105,36114,36119,36123,36197,36201,36204,36206,36223,36226,36228,36232,36237,36240,36241,36245,36254,36255,36256,36262,36267,36268,36271,36274,36277,36279,36281,36283,36288,36293,36294,36295,36296,36298,36302,36305,36308,36309,36311,36313,36324,36325,36327,36332,36336,36284,36337,36338,36340,36349,36353,36356,36357,36358,36363,36369,36372,36374,36384,36385,36386,36387,36390,36391,36401,36403,36406,36407,36408,36409,36413,36416,36417,36427,36429,36430,36431,36436,36443,36444,36445,36446,36449,36450,36457,36460,36461,36463,36464,36465,36473,36474,36475,36482,36483,36489,36496,36498,36501,36506,36507,36509,36510,36514,36519,36521,36525,36526,36531,36533,36538,36539,36544,36545,36547,36548,36551,36559,36561,36564,36572,36584,36590,36592,36593,36599,36601,36602,36589,36608,36610,36615,36616,36623,36624,36630,36631,36632,36638,36640,36641,36643,36645,36647,36648,36652,36653,36654,36660,36661,36662,36663,36666,36672,36673,36675,36679,36687,36689,36690,36691,36692,36693,36696,36701,36702,36709,36765,36768,36769,36772,36773,36774,36789,36790,36792,36798,36800,36801,36806,36810,36811,36813,36816,36818,36819,36821,36832,36835,36836,36840,36846,36849,36853,36854,36859,36862,36866,36868,36872,36876,36888,36891,36904,36905,36911,36906,36908,36909,36915,36916,36919,36927,36931,36932,36940,36955,36957,36962,36966,36967,36972,36976,36980,36985,36997,37e3,37003,37004,37006,37008,37013,37015,37016,37017,37019,37024,37025,37026,37029,37040,37042,37043,37044,37046,37053,37068,37054,37059,37060,37061,37063,37064,37077,37079,37080,37081,37084,37085,37087,37093,37074,37110,37099,37103,37104,37108,37118,37119,37120,37124,37125,37126,37128,37133,37136,37140,37142,37143,37144,37146,37148,37150,37152,37157,37154,37155,37159,37161,37166,37167,37169,37172,37174,37175,37177,37178,37180,37181,37187,37191,37192,37199,37203,37207,37209,37210,37211,37217,37220,37223,37229,37236,37241,37242,37243,37249,37251,37253,37254,37258,37262,37265,37267,37268,37269,37272,37278,37281,37286,37288,37292,37293,37294,37296,37297,37298,37299,37302,37307,37308,37309,37311,37314,37315,37317,37331,37332,37335,37337,37338,37342,37348,37349,37353,37354,37356,37357,37358,37359,37360,37361,37367,37369,37371,37373,37376,37377,37380,37381,37382,37383,37385,37386,37388,37392,37394,37395,37398,37400,37404,37405,37411,37412,37413,37414,37416,37422,37423,37424,37427,37429,37430,37432,37433,37434,37436,37438,37440,37442,37443,37446,37447,37450,37453,37454,37455,37457,37464,37465,37468,37469,37472,37473,37477,37479,37480,37481,37486,37487,37488,37493,37494,37495,37496,37497,37499,37500,37501,37503,37512,37513,37514,37517,37518,37522,37527,37529,37535,37536,37540,37541,37543,37544,37547,37551,37554,37558,37560,37562,37563,37564,37565,37567,37568,37569,37570,37571,37573,37574,37575,37576,37579,37580,37581,37582,37584,37587,37589,37591,37592,37593,37596,37597,37599,37600,37601,37603,37605,37607,37608,37612,37614,37616,37625,37627,37631,37632,37634,37640,37645,37649,37652,37653,37660,37661,37662,37663,37665,37668,37669,37671,37673,37674,37683,37684,37686,37687,37703,37704,37705,37712,37713,37714,37717,37719,37720,37722,37726,37732,37733,37735,37737,37738,37741,37743,37744,37745,37747,37748,37750,37754,37757,37759,37760,37761,37762,37768,37770,37771,37773,37775,37778,37781,37784,37787,37790,37793,37795,37796,37798,37800,37803,37812,37813,37814,37818,37801,37825,37828,37829,37830,37831,37833,37834,37835,37836,37837,37843,37849,37852,37854,37855,37858,37862,37863,37881,37879,37880,37882,37883,37885,37889,37890,37892,37896,37897,37901,37902,37903,37909,37910,37911,37919,37934,37935,37937,37938,37939,37940,37947,37951,37949,37955,37957,37960,37962,37964,37973,37977,37980,37983,37985,37987,37992,37995,37997,37998,37999,38001,38002,38020,38019,38264,38265,38270,38276,38280,38284,38285,38286,38301,38302,38303,38305,38310,38313,38315,38316,38324,38326,38330,38333,38335,38342,38344,38345,38347,38352,38353,38354,38355,38361,38362,38365,38366,38367,38368,38372,38374,38429,38430,38434,38436,38437,38438,38444,38449,38451,38455,38456,38457,38458,38460,38461,38465,38482,38484,38486,38487,38488,38497,38510,38516,38523,38524,38526,38527,38529,38530,38531,38532,38537,38545,38550,38554,38557,38559,38564,38565,38566,38569,38574,38575,38579,38586,38602,38610,23986,38616,38618,38621,38622,38623,38633,38639,38641,38650,38658,38659,38661,38665,38682,38683,38685,38689,38690,38691,38696,38705,38707,38721,38723,38730,38734,38735,38741,38743,38744,38746,38747,38755,38759,38762,38766,38771,38774,38775,38776,38779,38781,38783,38784,38793,38805,38806,38807,38809,38810,38814,38815,38818,38828,38830,38833,38834,38837,38838,38840,38841,38842,38844,38846,38847,38849,38852,38853,38855,38857,38858,38860,38861,38862,38864,38865,38868,38871,38872,38873,38877,38878,38880,38875,38881,38884,38895,38897,38900,38903,38904,38906,38919,38922,38937,38925,38926,38932,38934,38940,38942,38944,38947,38950,38955,38958,38959,38960,38962,38963,38965,38949,38974,38980,38983,38986,38993,38994,38995,38998,38999,39001,39002,39010,39011,39013,39014,39018,39020,39083,39085,39086,39088,39092,39095,39096,39098,39099,39103,39106,39109,39112,39116,39137,39139,39141,39142,39143,39146,39155,39158,39170,39175,39176,39185,39189,39190,39191,39194,39195,39196,39199,39202,39206,39207,39211,39217,39218,39219,39220,39221,39225,39226,39227,39228,39232,39233,39238,39239,39240,39245,39246,39252,39256,39257,39259,39260,39262,39263,39264,39323,39325,39327,39334,39344,39345,39346,39349,39353,39354,39357,39359,39363,39369,39379,39380,39385,39386,39388,39390,39399,39402,39403,39404,39408,39412,39413,39417,39421,39422,39426,39427,39428,39435,39436,39440,39441,39446,39454,39456,39458,39459,39460,39463,39469,39470,39475,39477,39478,39480,39495,39489,39492,39498,39499,39500,39502,39505,39508,39510,39517,39594,39596,39598,39599,39602,39604,39605,39606,39609,39611,39614,39615,39617,39619,39622,39624,39630,39632,39634,39637,39638,39639,39643,39644,39648,39652,39653,39655,39657,39660,39666,39667,39669,39673,39674,39677,39679,39680,39681,39682,39683,39684,39685,39688,39689,39691,39692,39693,39694,39696,39698,39702,39705,39707,39708,39712,39718,39723,39725,39731,39732,39733,39735,39737,39738,39741,39752,39755,39756,39765,39766,39767,39771,39774,39777,39779,39781,39782,39784,39786,39787,39788,39789,39790,39795,39797,39799,39800,39801,39807,39808,39812,39813,39814,39815,39817,39818,39819,39821,39823,39824,39828,39834,39837,39838,39846,39847,39849,39852,39856,39857,39858,39863,39864,39867,39868,39870,39871,39873,39879,39880,39886,39888,39895,39896,39901,39903,39909,39911,39914,39915,39919,39923,39927,39928,39929,39930,39933,39935,39936,39938,39947,39951,39953,39958,39960,39961,39962,39964,39966,39970,39971,39974,39975,39976,39977,39978,39985,39989,39990,39991,39997,40001,40003,40004,40005,40009,40010,40014,40015,40016,40019,40020,40022,40024,40027,40029,40030,40031,40035,40041,40042,40028,40043,40040,40046,40048,40050,40053,40055,40059,40166,40178,40183,40185,40203,40194,40209,40215,40216,40220,40221,40222,40239,40240,40242,40243,40244,40250,40252,40261,40253,40258,40259,40263,40266,40275,40276,40287,40291,40290,40293,40297,40298,40299,40304,40310,40311,40315,40316,40318,40323,40324,40326,40330,40333,40334,40338,40339,40341,40342,40343,40344,40353,40362,40364,40366,40369,40373,40377,40380,40383,40387,40391,40393,40394,40404,40405,40406,40407,40410,40414,40415,40416,40421,40423,40425,40427,40430,40432,40435,40436,40446,40458,40450,40455,40462,40464,40465,40466,40469,40470,40473,40476,40477,40570,40571,40572,40576,40578,40579,40580,40581,40583,40590,40591,40598,40600,40603,40606,40612,40616,40620,40622,40623,40624,40627,40628,40629,40646,40648,40651,40661,40671,40676,40679,40684,40685,40686,40688,40689,40690,40693,40696,40703,40706,40707,40713,40719,40720,40721,40722,40724,40726,40727,40729,40730,40731,40735,40738,40742,40746,40747,40751,40753,40754,40756,40759,40761,40762,40764,40765,40767,40769,40771,40772,40773,40774,40775,40787,40789,40790,40791,40792,40794,40797,40798,40808,40809,40813,40814,40815,40816,40817,40819,40821,40826,40829,40847,40848,40849,40850,40852,40854,40855,40862,40865,40866,40867,40869,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]}}(this||{})},831:function(e,t,n){!function(t){"use strict";function i(e,t,n){return t<=e&&e<=n}e.exports&&!t["encoding-indexes"]&&(t["encoding-indexes"]=n(2082)["encoding-indexes"]);var o=Math.floor;function s(e){if(void 0===e)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function r(e){return 0<=e&&e<=127}var l=r,a=-1;function d(e){this.tokens=[].slice.call(e),this.tokens.reverse()}d.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():a},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.shift());else this.tokens.unshift(e)}};var u=-1;function c(e,t){if(e)throw TypeError("Decoder error");return t||65533}function h(e){throw TypeError("The code point "+e+" could not be encoded.")}function g(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(m,e)?m[e]:null}var p=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],m={};p.forEach((function(e){e.encodings.forEach((function(e){e.labels.forEach((function(t){m[t]=e}))}))}));var f,_,v={},b={};function w(e,t){return t&&t[e]||null}function C(e,t){var n=t.indexOf(e);return-1===n?null:n}function y(e){if(!("encoding-indexes"in t))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return t["encoding-indexes"][e]}var S="utf-8";function x(e,t){if(!(this instanceof x))throw TypeError("Called as a function. Did you forget 'new'?");e=void 0!==e?String(e):S,t=s(t),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var n=g(e);if(null===n||"replacement"===n.name)throw RangeError("Unknown encoding: "+e);if(!b[n.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var i=this;return i._encoding=n,Boolean(t.fatal)&&(i._error_mode="fatal"),Boolean(t.ignoreBOM)&&(i._ignoreBOM=!0),Object.defineProperty||(this.encoding=i._encoding.name.toLowerCase(),this.fatal="fatal"===i._error_mode,this.ignoreBOM=i._ignoreBOM),i}function k(e,n){if(!(this instanceof k))throw TypeError("Called as a function. Did you forget 'new'?");n=s(n),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(n.fatal)?"fatal":"replacement";var i=this;if(Boolean(n.NONSTANDARD_allowLegacyEncoding)){var o=g(e=void 0!==e?String(e):S);if(null===o||"replacement"===o.name)throw RangeError("Unknown encoding: "+e);if(!v[o.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");i._encoding=o}else i._encoding=g("utf-8"),void 0!==e&&"console"in t&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=i._encoding.name.toLowerCase()),i}function L(e){var t=e.fatal,n=0,o=0,s=0,r=128,l=191;this.handler=function(e,d){if(d===a&&0!==s)return s=0,c(t);if(d===a)return u;if(0===s){if(i(d,0,127))return d;if(i(d,194,223))s=1,n=31&d;else if(i(d,224,239))224===d&&(r=160),237===d&&(l=159),s=2,n=15&d;else{if(!i(d,240,244))return c(t);240===d&&(r=144),244===d&&(l=143),s=3,n=7&d}return null}if(!i(d,r,l))return n=s=o=0,r=128,l=191,e.prepend(d),c(t);if(r=128,l=191,n=n<<6|63&d,(o+=1)!==s)return null;var h=n;return n=s=o=0,h}}function D(e){e.fatal,this.handler=function(e,t){if(t===a)return u;if(l(t))return t;var n,o;i(t,128,2047)?(n=1,o=192):i(t,2048,65535)?(n=2,o=224):i(t,65536,1114111)&&(n=3,o=240);for(var s=[(t>>6*n)+o];n>0;){var r=t>>6*(n-1);s.push(128|63&r),n-=1}return s}}function N(e,t){var n=t.fatal;this.handler=function(t,i){if(i===a)return u;if(r(i))return i;var o=e[i-128];return null===o?c(n):o}}function E(e,t){t.fatal,this.handler=function(t,n){if(n===a)return u;if(l(n))return n;var i=C(n,e);return null===i&&h(n),i+128}}function I(e){var t=e.fatal,n=0,o=0,s=0;this.handler=function(e,l){if(l===a&&0===n&&0===o&&0===s)return u;var d;if(l!==a||0===n&&0===o&&0===s||(n=0,o=0,s=0,c(t)),0!==s){d=null,i(l,48,57)&&(d=function(e){if(e>39419&&e<189e3||e>1237575)return null;if(7457===e)return 59335;var t,n=0,i=0,o=y("gb18030-ranges");for(t=0;t>8,i=255&e;return t?[n,i]:[i,n]}function U(e,t){var n=t.fatal,o=null,s=null;this.handler=function(t,r){if(r===a&&(null!==o||null!==s))return c(n);if(r===a&&null===o&&null===s)return u;if(null===o)return o=r,null;var l;if(l=e?(o<<8)+r:(r<<8)+o,o=null,null!==s){var d=s;return s=null,i(l,56320,57343)?65536+1024*(d-55296)+(l-56320):(t.prepend(z(l,e)),c(n))}return i(l,55296,56319)?(s=l,null):i(l,56320,57343)?c(n):l}}function K(e,t){t.fatal,this.handler=function(t,n){if(n===a)return u;if(i(n,0,65535))return z(n,e);var o=z(55296+(n-65536>>10),e),s=z(56320+(n-65536&1023),e);return o.concat(s)}}function j(e){e.fatal,this.handler=function(e,t){return t===a?u:r(t)?t:63360+t-128}}function q(e){e.fatal,this.handler=function(e,t){return t===a?u:l(t)?t:i(t,63360,63487)?t-63360+128:h(t)}}Object.defineProperty&&(Object.defineProperty(x.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(x.prototype,"fatal",{get:function(){return"fatal"===this._error_mode}}),Object.defineProperty(x.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}})),x.prototype.decode=function(e,t){var n;n="object"==typeof e&&e instanceof ArrayBuffer?new Uint8Array(e):"object"==typeof e&&"buffer"in e&&e.buffer instanceof ArrayBuffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(0),t=s(t),this._do_not_flush||(this._decoder=b[this._encoding.name]({fatal:"fatal"===this._error_mode}),this._BOMseen=!1),this._do_not_flush=Boolean(t.stream);for(var i,o=new d(n),r=[];;){var l=o.read();if(l===a)break;if((i=this._decoder.handler(o,l))===u)break;null!==i&&(Array.isArray(i)?r.push.apply(r,i):r.push(i))}if(!this._do_not_flush){do{if((i=this._decoder.handler(o,o.read()))===u)break;null!==i&&(Array.isArray(i)?r.push.apply(r,i):r.push(i))}while(!o.endOfStream());this._decoder=null}return function(e){var t,n;return t=["UTF-8","UTF-16LE","UTF-16BE"],n=this._encoding.name,-1===t.indexOf(n)||this._ignoreBOM||this._BOMseen||(e.length>0&&65279===e[0]?(this._BOMseen=!0,e.shift()):e.length>0&&(this._BOMseen=!0)),function(e){for(var t="",n=0;n>10),56320+(1023&i)))}return t}(e)}.call(this,r)},Object.defineProperty&&Object.defineProperty(k.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),k.prototype.encode=function(e,t){e=void 0===e?"":String(e),t=s(t),this._do_not_flush||(this._encoder=v[this._encoding.name]({fatal:"fatal"===this._fatal})),this._do_not_flush=Boolean(t.stream);for(var n,i=new d(function(e){for(var t=String(e),n=t.length,i=0,o=[];i57343)o.push(s);else if(56320<=s&&s<=57343)o.push(65533);else if(55296<=s&&s<=56319)if(i===n-1)o.push(65533);else{var r=t.charCodeAt(i+1);if(56320<=r&&r<=57343){var l=1023&s,a=1023&r;o.push(65536+(l<<10)+a),i+=1}else o.push(65533)}i+=1}return o}(e)),o=[];;){var r=i.read();if(r===a)break;if((n=this._encoder.handler(i,r))===u)break;Array.isArray(n)?o.push.apply(o,n):o.push(n)}if(!this._do_not_flush){for(;(n=this._encoder.handler(i,i.read()))!==u;)Array.isArray(n)?o.push.apply(o,n):o.push(n);this._encoder=null}return new Uint8Array(o)},v["UTF-8"]=function(e){return new D(e)},b["UTF-8"]=function(e){return new L(e)},"encoding-indexes"in t&&p.forEach((function(e){"Legacy single-byte encodings"===e.heading&&e.encodings.forEach((function(e){var t=e.name,n=y(t.toLowerCase());b[t]=function(e){return new N(n,e)},v[t]=function(e){return new E(n,e)}}))})),b.GBK=function(e){return new I(e)},v.GBK=function(e){return new M(e,!0)},v.gb18030=function(e){return new M(e)},b.gb18030=function(e){return new I(e)},v.Big5=function(e){return new A(e)},b.Big5=function(e){return new T(e)},v["EUC-JP"]=function(e){return new P(e)},b["EUC-JP"]=function(e){return new R(e)},v["ISO-2022-JP"]=function(e){return new F(e)},b["ISO-2022-JP"]=function(e){return new O(e)},v.Shift_JIS=function(e){return new W(e)},b.Shift_JIS=function(e){return new B(e)},v["EUC-KR"]=function(e){return new H(e)},b["EUC-KR"]=function(e){return new V(e)},v["UTF-16BE"]=function(e){return new K(!0,e)},b["UTF-16BE"]=function(e){return new U(!0,e)},v["UTF-16LE"]=function(e){return new K(!1,e)},b["UTF-16LE"]=function(e){return new U(!1,e)},v["x-user-defined"]=function(e){return new q(e)},b["x-user-defined"]=function(e){return new j(e)},t.TextEncoder||(t.TextEncoder=k),t.TextDecoder||(t.TextDecoder=x),e.exports&&(e.exports={TextEncoder:t.TextEncoder,TextDecoder:t.TextDecoder,EncodingIndexes:t["encoding-indexes"]})}(this||{})},6426:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],i=0;i{"use strict";n.a(e,(async(e,t)=>{try{var i=n(1605),o=n(7965),s=n(4596),r=n.n(s),l=n(6557),a=e([i]);i=(a.then?(await a)():a)[0],n(9336),self.MonacoEnvironment={getWorkerUrl:function(e,t){return"./json.worker.bundle.js"}};var d=l.editor.create(document.getElementById("container"),{value:'{\n\t"version": "v0.0.1",\n\t"config": {\n\t\t"ipfs_concurrency": "4",\n\t\t"ipfs_timeout": "10000",\n\t\t"min_signal": "100",\n\t\t"period": "300",\n\t\t"grace_period": "0",\n\t\t"supported_data_source_kinds": "ethereum,ethereum/contract,file/ipfs,substreams,file/arweave",\n\t\t"network_subgraph_deloyment_id": "QmSWxvd8SaQK6qZKJ7xtfxCCGoRzGnoi2WNzmJYYJW9BXY",\n\t\t"epoch_block_oracle_subgraph_deloyment_id": "QmQEGDTb3xeykCXLdWx7pPX3qeeGMUvHmGWP4SpMkv5QJf",\n\t\t"subgraph_availability_manager_contract": "CONTRACT_ADDRESS",\n\t\t"oracle_index": "ORACLE_INDEX"\n\t}\n}\n',language:"json",minimap:{enabled:!1},theme:"vs-light"});document.getElementById("compile-button").onclick=function(){var e,t=d.getValue();try{var n="calldata"===document.getElementById("output-type").value,o=i.wE(t,n);document.getElementById("compiled").value=(e="",o.forEach((function(t){e+=("0"+(255&t).toString(16)).slice(-2)})),e)}catch(e){r().alert({text:e,time:2,type:"error"})}},document.getElementById("copy-to-clipboard").onclick=function(){var e=document.getElementById("compiled").value;r().alert({text:"Copied ".concat(e.length," characters to the clipboard."),time:1,type:"success"}),o(e)},document.getElementById("clear-all").onclick=function(){d.setValue(""),document.getElementById("form").reset()},document.getElementById("verify-compiled").oninput=function(){var e;e=document.getElementById("compiled").value===document.getElementById("verify-compiled").value?"✓ matches":"✗ does not match",document.getElementById("verify-result").innerText=e},t()}catch(e){t(e)}}))},8968:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII="},7584:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="},6060:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="},6499:(e,t,n)=>{"use strict";e.exports=n.p+"762fced46d6cddbda272.ttf"},1605:(e,t,n)=>{"use strict";n.a(e,(async(e,i)=>{try{n.d(t,{wE:()=>s.wE});var o=n(2650),s=n(9903),r=e([o]);o=(r.then?(await r)():r)[0],(0,s.lI)(o),i()}catch(e){i(e)}}))},9903:(e,t,n)=>{"use strict";n.d(t,{Qn:()=>w,lI:()=>r,wE:()=>v,yc:()=>b});var i=n(3764).TextDecoder,o=n(3764).TextEncoder;let s;function r(e){s=e}let l=new(void 0===i?(0,module.require)("util").TextDecoder:i)("utf-8",{ignoreBOM:!0,fatal:!0});l.decode();let a=null;function d(){return null!==a&&0!==a.byteLength||(a=new Uint8Array(s.memory.buffer)),a}function u(e,t){return e>>>=0,l.decode(d().subarray(e,e+t))}const c=new Array(128).fill(void 0);c.push(void 0,null,!0,!1);let h=c.length,g=0,p=new(void 0===o?(0,module.require)("util").TextEncoder:o)("utf-8");const m="function"==typeof p.encodeInto?function(e,t){return p.encodeInto(e,t)}:function(e,t){const n=p.encode(e);return t.set(n),{read:e.length,written:n.length}};let f=null;function _(){return null!==f&&0!==f.byteLength||(f=new Int32Array(s.memory.buffer)),f}function v(e,t){try{const u=s.__wbindgen_add_to_stack_pointer(-16),f=function(e,t,n){if(void 0===n){const n=p.encode(e),i=t(n.length,1)>>>0;return d().subarray(i,i+n.length).set(n),g=n.length,i}let i=e.length,o=t(i,1)>>>0;const s=d();let r=0;for(;r127)break;s[o+r]=t}if(r!==i){0!==r&&(e=e.slice(r)),o=n(o,i,i=r+3*e.length,1)>>>0;const t=d().subarray(o+r,o+i);r+=m(e,t).written,o=n(o,i,r,1)>>>0}return g=r,o}(e,s.__wbindgen_malloc,s.__wbindgen_realloc),v=g;s.compile(u,f,v,t);var n=_()[u/4+0],i=_()[u/4+1],o=_()[u/4+2];if(_()[u/4+3])throw function(e){const t=function(e){return c[e]}(e);return function(e){e<132||(c[e]=h,h=e)}(e),t}(o);var r=(l=n,a=i,l>>>=0,d().subarray(l/1,l/1+a)).slice();return s.__wbindgen_free(n,1*i,1),r}finally{s.__wbindgen_add_to_stack_pointer(16)}var l,a}function b(e,t){return function(e){h===c.length&&c.push(c.length+1);const t=h;return h=c[t],c[t]=e,t}(u(e,t))}function w(e,t){throw new Error(u(e,t))}},2650:(e,t,n)=>{"use strict";var i=n(9903);e.exports=n.v(t,e.id,"6630bd8a5be00a179423",{"./index_bg.js":{__wbindgen_string_new:i.yc,__wbindgen_throw:i.Qn}})}},l={};function a(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={id:e,exports:{}};return r[e].call(n.exports,n,n.exports,a),n.exports}a.m=r,a.amdO={},e="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",t="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",n="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=e=>{e&&e.d<1&&(e.d=1,e.forEach((e=>e.r--)),e.forEach((e=>e.r--?e.r++:e())))},a.a=(o,s,r)=>{var l;r&&((l=[]).d=-1);var a,d,u,c=new Set,h=o.exports,g=new Promise(((e,t)=>{u=t,d=e}));g[t]=h,g[e]=e=>(l&&e(l),c.forEach(e),g.catch((e=>{}))),o.exports=g,s((o=>{var s;a=(o=>o.map((o=>{if(null!==o&&"object"==typeof o){if(o[e])return o;if(o.then){var s=[];s.d=0,o.then((e=>{r[t]=e,i(s)}),(e=>{r[n]=e,i(s)}));var r={};return r[e]=e=>e(s),r}}var l={};return l[e]=e=>{},l[t]=o,l})))(o);var r=()=>a.map((e=>{if(e[n])throw e[n];return e[t]})),d=new Promise((t=>{(s=()=>t(r)).r=0;var n=e=>e!==l&&!c.has(e)&&(c.add(e),e&&!e.d&&(s.r++,e.push(s)));a.map((t=>t[e](n)))}));return s.r?d:r()}),(e=>(e?u(g[n]=e):d(h),i(l)))),l&&l.d<0&&(l.d=0)},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((t,n)=>(a.f[n](e,t),t)),[])),a.u=e=>e+".bundle.js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},s="json-encoder-web:",a.l=(e,t,n,i)=>{if(o[e])o[e].push(t);else{var r,l;if(void 0!==n)for(var d=document.getElementsByTagName("script"),u=0;u{r.onerror=r.onload=null,clearTimeout(g);var i=o[e];if(delete o[e],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach((e=>e(n))),t)return t(n)},g=setTimeout(h.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=h.bind(null,r.onerror),r.onload=h.bind(null,r.onload),l&&document.head.appendChild(r)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.v=(e,t,n,i)=>{var o=fetch(a.p+""+n+".module.wasm"),s=()=>o.then((e=>e.arrayBuffer())).then((e=>WebAssembly.instantiate(e,i))).then((t=>Object.assign(e,t.instance.exports)));return o.then((t=>"function"==typeof WebAssembly.instantiateStreaming?WebAssembly.instantiateStreaming(t,i).then((t=>Object.assign(e,t.instance.exports)),(e=>{if("application/wasm"!==t.headers.get("Content-Type"))return console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e),s();throw e})):s()))},(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var i=n.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=n[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b=document.baseURI||self.location.href;var e={524:0};a.f.j=(t,n)=>{var i=a.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{var o=new Promise(((n,o)=>i=e[t]=[n,o]));n.push(i[2]=o);var s=a.p+a.u(t),r=new Error;a.l(s,(n=>{if(a.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var o=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;r.message="Loading chunk "+t+" failed.\n("+o+": "+s+")",r.name="ChunkLoadError",r.type=o,r.request=s,i[1](r)}}),"chunk-"+t,t)}};var t=(t,n)=>{var i,o,[s,r,l]=n,d=0;if(s.some((t=>0!==e[t]))){for(i in r)a.o(r,i)&&(a.m[i]=r[i]);l&&l(a)}for(t&&t(n);dZg zlhADvTM4+D7^VnBJ0AqK>2Ff#^! zzyGc}=ib}hdKmD`sMUR5b*lE>wO_SsSDoZlZ~FE$Ns{!>)8aaJ^k{lif0OI7qjsLg z)8x8Tk8+`lrj4ZS`bnNN@lP4R8FmHynBG;p7W$ z!$gs9f7SKZzwy<{vfDUu^YClK-Q#X{;_iPu{My$h54g^kfWxP~r_%r8{%5-QMRy|m zlGEuM|C{@``}zmnpK|99!krV@pKC*2S7_ubh$vmegBKl|S7J=u?B zcVyp}{ZRG;{2tGKlhP-$ck%mW_vf77$=RFV?(XLGpLb8Vceqcc_jCL4^yBH<)Bm3S zhWjn|J?{M!y2pL5dvErr`w9NOKl?A~r_=Xl4|9IP{X=@~Q|W(oPo;mF{($?@?CJCo zUV4A_9{1bs4)@FMciqppA9g>H{f_$;_y4&MyC0(Z_gT9u?)L%`f5ol8;P;XrPXCgF zq52E%Z{6R!zjMFJjsJMN`)l`y=_&U&?&sYn(%*v$-|_qILHF+T0Rz4>3?>2x%a#K+|RoI%+F7`yWM|sKj%K@KH%<2kABj9xBE3}Ig$Nn`XTo}IR16| zi|!NdY3_X}{W0MBG6eY>tMU5(>Asl$O!}qt(-iop^fC9-?#I(V;PI#2C*8^PZ#cW1 z3jWFcqZ(Hr=Q~Y^X?`8n7%#h{?W17 z6WLGgNjDySUgA%rOJ%k*@$FI5zioMW`7NWC+kg6>!d*5bH;)|d)qh5LZyGS_ z-F3ND|HlbOx4&>cTbgO)%~m7HdOjKDMd}}ac!j!#@5lx%1k5n(cX~zUlS`93QjY0f zcZ_4v-Ro}Ck?UpMPxiVyIUdkU!+q|!?j27TM=i)UTq=7z6I#sta=KVH%f{}c4`mt) zE+4gZNJd>AbJ8yRmjPsZltY4Sf6<3-WnXuS?!iG;v~|tvM#)Z~WG7Iv4JE^)&Pthk zqh%-3GOvnc>l6vpR1vDrLxJ_^Su_APhb#{zmk-i@*6RhR(g0O{5m3>&Unk6}_5djt zw1Cv`A36H9U{b+UmjR}=WhT1VfKrJyKp89t2QW)6@+1%}uL;y%DW?gPPZFp-O`vuF zIEN)_8n$bI128H>{imZ)*^b~i=;A+<02ds1lz!zwdJUMvWP4p-m%~E?QEhoSKcxGd z_HXhh)5Di0eYRVxMub!0)-03oN8^RJI-qA+jhi z6s6?r-~fge*T5zXR9V2FVc4h#n?*xCD7+d)!yeOvUG-qo?uH&LXj`hZWsGOqc6lgH zR4c}MkiYK2fjUFI9T?GPBb2kT&qSdaD+ISjE{v~KY%uUSZ)MgfZ$-Xw+%quxi-%EZ z#@7k`yZ#V|rFqMa9D))K#UjbYS*-M}#PUtpJ3%`V5%QCIA8TRQ6KxSWofMGuVI z@Kied3@q(D($_06OT&3sxjX3hH<+y`Qt6ll83~7G9i;w~_kJ|t-gd6j;X|%$TsClU zjb8npY?KyB;Uv)5I2brweY=4|w1REF@d!L~DnSG8PO|!)!>IMZ zu$yQ;UzBoa0>-EyoUEdgIwbY9L+- zrV&zOQP^*0J@(7bmHoP+Nz-WZk)u})b{GYPc1yj}DmtTHA4S`_Y|tvYsLcG}pegey zBR(sBDu<&+=)YnX#L5gH7+&|C4>Tib8t|BLuTTT^SBs}p^|d~ zsZeW(%#4o6!{Nh`*8xE`QYOuq-E@*vQPBmm<}~T&SCJlnvXToiI(@P}S6dI(T#XY7 zS5Nawu+ToeYS5Qhh~-;>Y-CLsw+GljRg{Z;CZG6@y(#vM))B zO&&YiDFz%Cl4LJ;kda~8)S(@O2Q%J`!ZRGH?gcbqGYC(yDb~}Vf}#_uK!s7tDl#D& z_Q8AgHJ#z0eGL z0hyNvO{uXANCljp0JyZpTup#E5uiCqfSz0cvne~uhL{Y5x1m|3EjscqkSX)8(8oco z=&sZXM|`75nYl^IG$V04DpPq~;MPGM-or>__ymma(G0`4WiVGwtZS!;^&h5)b?qdv z{)32x`#=@g?WTX9D*c%BZFT34>W)b0kIMLorNO3;kIKz{pld(SwJ&`OA=9E?>02l2 zPb*|A5Lj2r2aQ${9y3nOa31dj-oxV%Lv5%@zd@v*nIwHDSb}H6f_bqa5;_;(%$$Y= z3!JOIG=Ig0d!{J6uR!P3Y`ABVvil-sdvf_qE_RgWQDy#4$cNPzdjxrC3Zoq6*lT8_ zxyvQ{GDe8a3G0%};3UP6QYG-n@eOjuAhPI1LAw(XvWM?ZQ61vE_3BkM zKp8G1QpXXwWwU%k>Y%x?ROhu+!#F(YqfSFpytkan6dFzCyaj|PGz=mwdYWlLA<&$E z^5Yc~Kd!SMtT+#S`7jY4EW6ft9)hquB z9k+2(lB13j_teB7q|lT5Tr*cO#av$rbB%ReG09wC33D0kQ8mC!mD@%s)j8B8f@|H; zmdX!+iKis=ksbLxy2X8%yy#DU({Dez~54^1O;R!pr;7863& z5GVaJHN^9FnOrv58n~uzslOF-DMg60t+sHthwr4{YsF@<7ostT22E2|{x4BVD7|-N z#6tYCBii&`F&5M8g@>un6r^cT-ri3A6V*Ed=ieSnOYzwk6>fj^GYKfv2fu^( zS_Y3bizek};}DT1HAe7B%~6D#mt*PMm~gB8Kj{7Tz%@x*R4-HzqX$K7?w=$X6wFNcQk^%whokEVnbP;HN%jrwHM=>_@+QLj|r%# z{a8&JBQkfMg2uJ!8~zdM*=~2lmcEmTCIn1&ec+ECdjYVIGVjK64tZ zYhF9rV-gYisQjxm*tpF9&jcUF-;pj#cP1c+E~XFmC2y*oeNW6rW6f0F9vWhDfa#B^ zr^Xl;bf!O*Ec)zlnM8Gz%HGLY3MS8@mz8z9VM+nLnd<53gaexWhDinV=ICUt?SfX% zqhf+TBGSqjJTggI^D`ciwx9Ad9$0hd>H3b^ckO+3M*=>6LdKxJGBFytH3G-}uhN7f zKLRqL3Qf8}S7Fw`2aUi74eHGCOw3?p{zOVxZgvd|H2eb<3*7O-^de0a z9EVDdcwCB67(EY0!PpWlAO4+~W(A+d`C_r$I(!*8<%dVxBzg6Zf~Ic4t)wM16x`C? zb~2iY$4)#dlBF;`y4#LKm+Ux*#|`ngF&@ojFbK-jr-#u30!?QP&K}jE4owV1&G^DF z9{<%1yZu;iuzENh&Fc72I!Y^y3%5II&$O7pOkIMjPk@IK{j!Cc#;|Pi*87b9WQ#X3 z1)+f;s_!r{~T817n`JL0=f$Ffgy^iQUX!#z^mv02$B z+QLm!*NgSG4c}w;1e8Wv;pw*PeLFf6+Xx{evb!>zTb^^ub-TVU+V-R!8mlLc=<2mU zjN_Y2GtYCKPABQ4{B80Z|7D%LI&F6v7|7Ir{Kr-jkNVCAZ2)!{uRhi$^}nk7ecA9q zhs#e_mxBhy@at1WKvMsEy5H3642os+QnMuf^SVE;`znvCmP(nX{-1UKeBIZu4$G6; zc+~&sk8^)P_cQLdbRVZD^*^ohL+)d4L}Eo?%2^)#nO+cl1GgQNJF;O?BmQH0@D+NH zP@2HJnHjy;^9u6DT6CYDA-c<1JfchGEg)4UvukO){v9#klX40qdApOpNN2iP-e|Vk zoo=s>FDm{VrSu)>N^IX^(_+hG3REA5}-_j!-W1=kg?9Lywmi~%|;n`W?p|)oa4_>A8bETjV3V-qgSh62+ zqfB%w(wWAVEn5B=luO>)>FMZak8X zHW%6GJe*?UOf|xH3*r7SB1|)9MR@pJA-r+p#xcS`IgRje4Z;9oG^i1dXdN7w+5_R8 zAiTX#xv0d|!}kf{ZiTRT;cOg-WBT0m@NhUBBRsnr;h8lE1IRSO5v_xRfgXVH^FesN zPgT)c3E^KC!p#a{2CipC7@hXqAUrcOGe%gk_9>R`uR$0{<%T8-|vqR#s*9y++Bk(fJ`GC(K?7-2?&2B2%oQcis*j`;YWq= zeAUB9&RKhy(BE@|aJSnXBdk#JR1ag5S1Bz3nMOFGr4ejEcmaejkeQ8+mJt535I(;` zSbE@WGRy$=xk0$yZjTYh3Qr^4T!S!xOd}l8I*9EL2=4;n3*|6Gk5UL9dp8I#R0t#A zXGNG{!E=Lfv)LRYtQp~{9>&XE)x!WXjc`OuNhSf|7l3dfPbj+1Lik=G{1p|#QhaCY z;eU}|a4vS3l*BQ@jJl^0#>ZWSaPVy>>~KWO!Z4<#UkJh@xp;G9JDiL*`%ek!$`;EP zAI>OjSEl<)$!xs&ctz zeDtgS(j3WYjG#trE~kphH7U1LRYVWv%&#g~R2lhlclBzt^{082S7OVTm$TI?(ORy4 z1t2M28JV(K6_2)NvUn(3sb`#1~%-Dy<@MtfkSt%yPm_&z3y8$Y~Sm?iNnlZ_X-X#-0SXD4Wqr}PIBD1mwZuKjc>Nce|EU85BF}w#pjs8UsZi*0G0j+KV ztw#RDZh9lYRJ>Hk@kDgva76@UPhZZbq7B6EH|lH%&^GMHNgEIQdAgx`S`BVC^eXKr zMkqEaGBCnmgm}>gT^1P3a5)Ib*u3n8_zk*S43y@hoJV+*EQHZOh+d$)M?LL_d-##@ zT_%|NDses{VroWJ!=VLo*T%#)E{alIJulja0k`e}tWkPntWKw@F{+2^4Qi}<#%3}U z`n$1GH&r34wC_vPgysI%h-L6tOf1n^6JiNM zQ(}pDho=+KxZ{pUZSSs~u5&cKC8S5TcP2sGRDVJJ?=3Mk@xSxT|9cI-ed2qIW#ZpL z?wG&lzKZ4U+BtLQbD~<{45>$dDt2gtyx_y{=4_ZW7a= zLXIr?mo4^6LUKp^@t^x>qHum?hZMs?7F6ANM6lAEmZ-YrFT8yIh~^kkiA0WbAYs~? zIWp#ZfIt)N*KnSW&}RgV5^5l*JPJ7un!p4IN@^PP{F{7!<6@XYDAUX5^6>qa-NbtBMGycXRmY#hHn&p{AH-S+|5SGr zMr`mL_h1e!i`cRsu-nAAR#AA_llO9TyBLbbpgK- zZ3m(`D8eO#qZX zs?90sl6%zds)`j(lg;9YzN2&0!j2l75@40H4}T2(oHC4o?BF~Vn$Rk&D(^5}4l-li ziho6JDl>|!n32`U0tSqAitLbJvR(k9QCcw1PRLVv37$HSkeCbCEFA`_x=pc5jc+*;t?|@6AdXzz;Xg9LDm$@-0J1iYg85hu_ z>Vs{@AoR2hnLQvX8Xg#%W!`d-nJtSH(7YK!lm%`F9wwIoA~Y$PBDaeyk1^uOX%TN4 z;>|JQ8iFdRh zbA-S+n5ZRP0WDyn&W&=j;I=7Y9Z4C0WDlv~)rv_WN>F--%GNvy&A^ZQC!5aM+z6S& zP1SJn5JHMh%s`2`2XvhnI+c9m_gFvF`lC#)ri}FYH8%!5P>H{}mr?v(5YP$nXYpSp z{)l6{L>k6Z)8Z;#(X8II_yfbV_@`s>PlNbN6HkgiU`RVnh(BDmTKwIl_}lD*!2^u} zQ(AFC{8d>H|H<@>u|_RZEmmmw`*=;>*v; zAD`%07kfk(EAferb+J$A;^Fv2$GX_#x_C4`(XlS}1zkKApXgW@dr}uC;}ae0Voyvy z`8!?cj*vSwdGWL^bVpB~n!LE}7kHvOda^uuafdE+M^BDTUc6fux}zt@CokTo3*FI^ zJ0~wbs0-cElM|B{_vk`*^yEHW+#N4;te-rfi+ke}9qVEb>EizQM8~?=Bf40LPjsw{ zeL@!x$0s`0#U9tiqw$H3b+Iq#;<5Nd$GX^)x;Po1=vWu~J6${xpXgW@ds-K#;u9U~ zVz-I2pNda(tc%^DC(Ha1sdTK1y;~Q@;u9U~V(-(%@%Ti?y4VMGac6v@V_i%Vi&mIj zlq-wBM^=P&+vE#UJXpU4OuvMAX%RD03NTrMXcTd27d?TJ+&`>W8L~)rWr|7rI>c-4 z>ccX(a^P?vq}n;$R5S_b1`RM)18Ss5O{;L4kuMmPiF6DK#Waa&+^9x00>wb7Zd`TM zEstGwV+oJL@zO(XzrZz3Bn2AOkrIg=iyQ3iHr``Oh;S`UBRObgY>lFG4>*^RcC0q4Sr*VEx^0I9LatKzXzrACY$^f(Yk zW53X=oRJ?OvS@HAvTz1jaHJaRlf^+6jnDAT$7F%htI2{>D|$1-HQ}z*gBAkJCVRBD zq_A3II97<#t9XGDSKcOILfv$pnhj^c*&~)+dEtrMPjgh|{4AMacHf3I<~!RN?@tZ$ zQn}F4;YT)tlWiKp987~i!XX~2AyD>|?$xl+y8#&MXFNdl?kZfO3c^K=DoB`DK94#` zxTQh&h!j&eud92|D<;X}XRD~L4YFAkLN<(GE05XAY9vvOX++}bvI2u~B$di7G>4j& z80c5km*9OhS-$`3u7exnI0hFH$J+Rgh8bOoTNuZ1e-8gmid7KJRS(>LM8HNd2s^7cd@EpPC&60`x5&3$E?qpjuD zwy_*6P-iSlp7Cy$k+pnhiS?{ouLQ5|5&whB%gE|soKvBhFNvH|D-5o(MWsC3SjD3T z9z&J+6Ji3YAKtF3$HemsHf^xLB*O52q@xt3CmRXGgukN7HtD8`x9Oy^qpPkBGhtW# zU_3sPEX@$}t^Z~5j7&2Axo{;7-}2?s4EnVG*Tgaggi7qe9G%j-dceq7T}h%Sw;*E^ zd?AVddsfcFz2wMZBCr`)sDp#^tS~0R-e&}BMW3{y6siiOMzJR8r>f~m)(F#q&NEG6 z^kUrA8QwA`6@zj54npT9S(n4U)-(TI(vIysIbuUSu?TgUM`SjVpM;h5!^ny$= zUL}BY3oHuYk1+v!Ao~V+CA+ed>1dM#q?o%4lFYb-4R2_c?8>{-1Bn(%#EW9nfv-6x zwFdGF?xbWfN~SuNl+yzQiNn9-Z6A4gV*gGZeKm1dtBVZItpk2(!qsS@l7_6>UT}|V9XLl&BXL_JV}lXZl`D+m{M}kQS}OuuaKe%Z z#WS*1YrxS|%FEX(ObioomrRSm6@Ed>E6j@|N+)xLaEHYcu3qVqg_L>b`R-Oyz@R(L zE8sc78f%zGs7BaQWf`3YwsgR}8F1NZ!Bp$nx7j+NOA{?cV^QyAv>QbYFy}mz`LqiO zA5IHrtI@Q;YlR|3ehsdj^CzJXDKJvN7&cS#TIM+FRy5Nw^6CmNERqZS?K&7_)9|r}}N`_bhPmJcce6yBh>eq*ZyJ_t`Beq4Q^D7$AXy`Bmr}YdsdGiEYEtG< zG~b@q5)w*09-n_dR$Ug{iRQ9{ z4nJeD?BkG3W?jE1NnVm#&UeEU(Nn3KK`vqZER+PxUD;D;X7*qR8)b0kMG)pC2}P7gfaJ1Dyy!)0;@`2w zNzmQ&C2|rfhFMKqradD?+Va?b?UtYra;3Sp{GKIApYPg;&vye0L}rRz4X|_})PVt% z#h}4YrK8j5P)92-@j2AdBu1sRA|mHr9S$kzVD(J!0t4G=r=&+Q(b-OOqO}zc5-**q zt}w3L&nRWhBxVM?mwhoN`zOtnwx80loY4~PhTK!Ol@Zenvi+#2b}=v&)x$THiXw@O zM6y-?CT}(2BW;I)ifT(mwTqeHsiNWcx{JYvbq{Js8YK4@Gh?GgL;Tr6N1{5L{#JrD zEZP#g;tuBO*q;9V#5zdOk>N(2|IG8UmtRAY=Uept5}=Ca}%73!9Xw7TS7PC*-# zV9Uct2EC-05h#Sqt!tI)%A z;R4kq0me$YwIweb;G97=+Q+Ftt&3IK9MF+$kYvFTwWK|xA~&^_C#7Le(0bi4l!F)x zp^QLg4fd{VL4hufq#?x~P34MTfQ5$(j$AFR7Or?y^ ze+&v_{vkHkLC^SmuzNF=E5o(+;*lL(PvZn%M_Okft;00VT#5LIP_xoH?47fyE)=^A zP3ts@p=q7&v(Y+qy0nf)kVxljC6Q6IU@_5r?;< z`ay|IA$(>f0>b2NA&?x2z*k)ZKsi4 z>~bivUC>ccnjlCfppvBHA+uQp*pm%SqO=Y2>`;6p#L>=-2RPp z_A>Vxip#6-({No2%cQx1XB->Bx6|3{DI1iJ>5Ip$EqwE!Fv3_(o(g498PH8y;}=Y; z>@;1PXfnk1aWJ@c>`Q){eJcQwfu5G|vVKqC|7_gZ##Z+p%+?4|>Ex95f;6V~=aepnL*6!aM@00e*D?2srkex6UeUFXBV;j`VzCL%wE>b|1 zlpAGFT6K*7th)Q-k&r}GqeA>D)xDnzG~7bFmih2jydBQRPc3{$*J*`tQMr7JIDA1A z?Qe|Bt%)ky&N-u|=}N$v8bqGeLu=sr2wHUIcn}$ecwF09OUyex#50Uu57Rzidf~nT-6PP%JyM`ZBEkS1^MCON*JuFx{~#; zjG`1GQg2C5R6`urTMxh6NEV7U>S9%*F)LbZ{51^~p^iVXrLoR$i`}*iP}5z#Y!%IKSUhtn#wF4a)34qjIF48+Do%n5ieRpQ4VIp#aex_DL2FP*e=A(hq$(NBSPbNk zwG(tu2**ey3i7qw{_&4wPo6`FtVA&gQH^sRsGLCzDg>ourx7Fve8F8MA+SM-LM|we zu@K-$O}}6`zg#b%<5x-DH3KL85Q9Jhe4UX-i2kpVRcWjV23E-LB)uj*_qdL%fTo99 zqIh7(@Qgt+P=wH-iP#itnjBPj#Ga2~GGI@nytgJABO5b~DOvIh?puVZ$$F(0WSXW6 zUaNwy5R*v%AhWCCW_WG*tOI{wU~51DHnts5%xzl8HGE(%5hRInxfsy4IzyE=iELEM z@1wu0F(u&KL;PbRiX-){O@y;is6=B{dD~$uAVqGr5HCo^%4S_|;T*G#8#8tW)kSl0 z^B|20QS^1JL#9SbA`zvl2sjm-F{-KTg<5j)@}~)Vi7Zeq2F9c#W zzOK|FbJ1fpd7oZh50FZcjUf*D2v^F~0j}rNgvx@zxk&xI1|H+W>OE*X^&Zk5f&pva zGg+(NgYr}Fwe_Bc#B1IY)hxf8ojC9>Ei(4Gt#0nUTR?f4% z1|fc&z4>bu$6Jw0$CF{X?LhJk+*pn`+U2%u#X;M?6JGNxT9HAq75Xp`Z(Bbij z(WpP=77v(Fqpk7jNusHFxStn0zO&qMSINEc)nB?z|Tz}LKObOHN6uwyI9GQ=QhfjD@k zy&w#Ot=B5{y(?>vm{%0c+l3B_$og;x>mufht;^*F#nxNi%Hjn!1qr^}uI$=!ULYkR z9Zx(Yf;@;#-9ami$11ZO+NDO^;Abphv4(t0FRn+X2}r2m3_nYPT? z6A7A7T_7RLH}+-Z*cUq#gG~zSqJ-MzLcDcfRtR1E0#v@>fBc~b@peT~UUy&6tw%nl zTPJl2k^K{t7#_1U`q%;hRcFKctX-WM>1YS&5N)OE(y;nL&~jaGT_TvdHtcvVgJCVI zZ;mXoK;{DVt0d%JK=9`UNNyD*+CEug5;nAJ6r%zOD|WoK+;;3{HPtB!(KB4Y6I#ME zQ8x*n>Tq}@6rsXmumo2G88AkTKxgJa8o$A(w3*nTdJ)sRfnZJ3&4ymjLQ_O@>;#mIf9-rP@pB5;9 z#ra+XX*SQMq}WRa3q z#ey1kcEh_na1`+kz$n*0gs#f1#rAI|0L+Aj#GaKdEHd$pz*5@%6ELT*$P-|HBGQYf z3x_n+h{iGIRKJ}E`)m(NAbRL4sflYCYw!#;aGvnEH+?JpBVbTXygEA1#&;*ERct$7 z7d(-EGnLwCPc5APja;4o_4B~J?ErOb}DJk>ngh4oVbs@*E33Ut1lLbED(aC3Pcu9ZFU$80DCAm@GKhXF-pZ?NZ2gy%#A z#Iuvnue0Z;!gB`wsA?xyZwFv!GLQvv8gJPJo7a-E{$fwQ;o-^-9{w# zk5alLHTj}b%@UlCNR?aBmPio_409qmEK7Pn7`~n0cm693$-|<872R6w)UEOx*{%D- z*5k~lq`bp{CA4TQn96qE_hyHA7Wi}%K~WfO#(1Q}-wOH(XoAu*ikA~WjT;}K%^Cej zAutYd2m@(BlKwtnZUWtBA`T%netKi#v?Fm+s>+Qhoe5aP4l?e*XVid1=igkGB9h2b z0lgD=0+F6CB7Gw=07XP3;{tKU^IyTuov%2ImK>7_|91_2)cNaBWekaWWde?Idn0_l zjfA=c+=maOZ!@zHq)1^18wM%|#roh*NBRT8Xr_b2J+ziKT1C&WrdGSeYgQb2vo|Mn z1_7yX^~W+w1jDEYAsib9c|6=XW_KzF3fG5w%i&(|pkz$+e&}daEapmrbt)~GYURx7q1&oo=<$J2O~dRziR|l*hBxr($r=-lcqLKna%FmA158(xMc~ z>`Hk(!V~uzxH7qS(wospMi$g9liS;G6L>j<(*|W0r+XB8CSJZXQxSvSKg>M@-XEX1 zw_-jU^cdeWRg>+@?k90H441G$u@W0kpbaN(;Jlmds!HhfJF&b;0mXJvOYL~n!wz{J z5^5`CE=RbKV{w#C7R|pg6F|)wgRS0&Hlz*htrsTeB?r5cIr->{dCyIU6rgqk(WS&@ zTfncFM2^8vF4qeSE*TMMQ>YQMPs*yok5G!VK@FsMP9h02AiB3ZNy^N3_1OtZ6WPGI z4LOorv?->*c)~;{Q&p_P&MaWn@W=jqB~c(xqgMtp>{Y9SeSZXVr>|G&u3poLR(x3w zgWV045=e6Ug@=FKCJ!6F)F#~mF5u9nuWiJt3hc$PItCO;Pa-G$J@2DP+JYM%(8FBb2DAWYS0|#d9H*MLSe(lH`0mVGOPY z-9j?}O$Gr7P%Y48N-#j%}qx^gvWmp*Uw5Jxuotl^>O z0wiIlD;6z@*s&|KaaSsSs;>0qnyyrqftcWIZ$1tuqZzGmVKX8#h3R0Sr zDKu6$?5${$)T*_O))q`^8?GfuP3aoR+Kg1j#m-bUjbW#vLK*{s76}T803s1e zwggtn9DPVoBvennIqBv~`=U+a-gZ}E7#JC@U4AG5jvsj7=#^|4I%O%Q(WBeW03mEh zko0u$~j6Eu`z*-uuVb5rqCVC;72v*J%dli(-5{&pziwa97h+K}iRl(zLH;X@HvP!%WgMVrGsOp;n3n!Q8)BMR<)O_&U|(f2GOBN4+9HghO7o5qC8J5cu2p zgg`znTAhJ+%cdh6{-Z1r*yd7pmSb-@ewz(D)t_e1mc*ySwle?O#h$Dm<=Oz!EA)+- zJrV%ToLyqkG0>N)2?buDF5VM77UEL5;&0BJLcQVknB!;!(a!poij@vG(oUd~ZlZE` zu-S#q{0EE{!;iRF0(Ws4ce+8WUa4xhn0&*HxnI0TDN6qggYEuZewGDWeh+&b_)l{K zb#iE4#==G-&7yw*Jo*RnVY#Ac%aNtj z#rW)17sHm;f&NcJIx&+;+-hGrkE26?+{hqS0NSZ?0MFikuD)OPNa7?oW@((-kEG{6 zD;+{s=XPav_J~$jm)Mh@KYwXtyA1W9D5u~D0W?H~&xivK4kQO&rg%q(xUQn`e5{Mk zDTy6?_`oxa3(2tUf3w0V(j&3|n-xtY4dF{ep;py7IFRxZ0e(vWz|aT(iP)M>mp)8o z@O#%P!@;9Y`S|E$gboB832YG9X4I&IqV!jgJtx`IIFkb5eOnV{MNWMg*~7XP9`yaq2rk#!1NkZJMZ)QFl~K5SD7oupBb={o4c zmo;I(PMCXY47O+kUJ*wQ>+a-YfyKHPHmaHeeX};#9T$7Cib0gi_{7#EhI4FKN{7Q8 z+G9q{@1)Ku4uVqSE{0$YF9wh)fl`4FY@I8#Ab%Oij5R0bc?Ck;IS8#2yYzg2=NF+M zCL9U|jij_7E2`?I)kv#)V9JEdwN*+)-(1lw?>bsU01H^T3uv5|>(5n(FB{C)pv+H# zLSRAKvCoIY3{({De8qiH(Gs?ekD|=Zua?>Ea7izNPmD0fn@AA@2&-z$ zm)0f{N1KyOw^>f*xTx_aEXR)JYl_a<{A#TVCM9o^OP7M?|CbVPg?cM6>tT@s#MY7z+1m* zFrhV-gh4!Wtf;hM5L??-d^bDI_p_C@keXQaUZ!;Z>OJGR>3SU-fnuWg;IF=YVBLye zB1JfaY@7_Wzap^Wx1p#Az}mV6|M-7{vHovvupaw;PjG$`Xor7H{J&~0s0RP;FBu1# zx}Cw+%6}PdMVmGJ?^G-HgYWcA<5@gD3IFcCm_howufRg^wWZdv`4kKC- zy6L|pnxs*2G;Mv11b7l6`Gx@^IKv>Cd}_|PpsA6RZK}LTRLT@(9ZN|e1~yD?h0FJ6 zQa@bSwl}yIwh38bD{uU7AZLl%4))eYSd_L;gj5(L{{2EcXn9jTc<~^V4Eb!2Hcv~n zs5Z2w*riX%9k20ECc6rw5c)~R#2V%`^a>$74No;M4C`gRr#7Y+Dp+{0f~nlG`2zG> zGTH*4k))t=4I%(4W`7WlfFpLQ1+lvo*Gs9 zcPbw5JN1VD{!Y8W9BcT%pc+lck0hG~6?tiLOp&~}`92dl)NlgF@#F_qZ1eq8U?|&- zb+`#a!D9+3Ym7bk75%6#-(%3-K|ZTix&i2M)mtTzX*HL9QP_fol&Us)MkI+Fv)aqr zVPIxRSZeE5(FdMX?9Pzfh95A6Gh2cq-D0s47{BjyJnAgR#G1C|f z25az?D6YX1E{jM}Z-u8QVt85}9e7qB7J#Q3h9^$?ac$OJZ&QkCiMR*c40keDzyNi1$4EZYv(M%!#d(0R{c8=I9)1qc@ z|6B3OI-l=>fIr_CIWzvPnFdSC*L1#EcTMLr&tZ#OVR9|7vs5to2%+=wcMSjPGaBH} z>@-1j&*aB6{;jI>^*wC8MozZ|^bG63U(47e-q)3UKzLHT|7?tH#Gjem3H(1hi9bPB z@Nb_D|MpCy+N{1t7$Fx{Yw&MhM)byzrQQmE<&;_f+avlvZi=e@XTkv6!Q9F!{IMNb z(TS^r!F}FvKdz|_!~88JfjxU172B;$h)wsrW}mB`Cr$&ZBHuqwP(T{Zvhwf_>H%!P zsx;+EdW3j`A)(xWO7~e@t6KAuh4nz)nTG92YJMBqJJ$e734Ju#uU7bA+(;Byl!~OB zouVFz-{s20#UNnLcq!6Nqbl1A0^)rz9hn|IkuvHv;j!f71(NPbm$H7qVg4aj>O>Z^ zU4xHlL+)DzDLkSKrSK-EwK+v^K@)oD{PpUx1+>)FnW(G!payldPE*$f>(xavv=%Th zY#+nb9mCZ=O1mfRsoa$5Izw8uF?IoKu~qi<9QfqZ>p38yui?N(*{|S$Z%Iz7 zIOQr1Y?S>{4rp-lDYbv~#T>|%-pK*Ot;$&ZO1Bn8+;*FZpJlNx3sY|9z`k&A;Xs`B z2#0RijGK+Kuj6WC*nArQ{hPRAuca$Epf6v}fu%P4Ik0gyBQ&M*Uc`Ypxdje{a%Eg> z%FA};#u>(|&>wwNuh`=6e%GXV!W}hklD`7yN-WJ)`3ci!jn$;Gk%bCW8*?Mz8^rVE zX~ZrW>arDgaPAfCV$6V_B)rgJGrDZBawS|2bV({!yj%ke3_W}+5Rq@gH0>8~(d2n4 z@JS*jszm@hT$uHK%yF7&rOv*$gl_{=sFRfMwt|Dk7ikZ$jOL}>_--Dsj*YVgG}9$^ zmUE^hZ+jN~Cnz5h;xbTY2Ho5{TL@RVVx}f`N=_;h7s|XvUZ6xW=E%h{`BdW7k7nhYUKqMm1R=hYNntJi%GE30b+5 zxxY{l7l-t{4d1v4Z&>pK~=HiZeD z8V&^2Y{FlMJ-p5`V9z$d#Gx2);wWEfvpyPZu%#INrx3QGZlSS=x~owSLj|#&P-i5( zE8}~>3D=VS2mS&RStm#=@(E&C!(g{GNjtMNNzQ6OEg&xHD?~`YXllXw z#X6+v3vH*|{a1Ddcx%UkRh`kRIs>>h70BV=ydMI3YkGolqGX9KVyWBz6Bxpn{~Tl? zF@}h;0E`u~=2|*m~o(=WDVKCOE30b6m z>teitFjQx2xJ$UoEBQa2>#+jQCD&`lxKcs?`?y{_XJG^4L<%8%P=@4B6lqt0`7~D_ z7`QEAYkAg4H!*W@Uab?gsK4X)vEZHIU~Kek`w+#ynCG7%vd4kXKj>~dES2SKkM<(h zt&2-Ewk9STMHiPqF&|CQT$Ch!{}q}E)D?!owreW06$U5C6%=nX0ct6iw#Snm^z_|i zo@7`OFM_#xSaiNvZhmo+9J@=2oWRQXkpO}|r*M?v6ktsBE!Fcg(C?vn zl{i?=SOP3gkoH$ji#dir9%n&|9;k=?ga`*?w~5t&TLJ8f{wv>)t66Q_k?l_8T&Ns` zHhuqS{U{v~zX4?RU>~Nj{hAed)G}aLf)HBS4LRkawfaVJQm9hcKA9XO96}v8 zMw}w9Cs ztc(kV`8sgoH-GK(pZb{}{iWg?bX)U#?fCTuTW*YpAF8!4Wh23Cl2rrQjNGGffULaZ zGg_dmBCA2oaq}p3r8b6w1^7-pfb;ck9D|}8S}+~K*q`rsS2{vbjXSB@k#J9eVj#5epD@j^l4J0EsG7)P~Ywge)aS|gsGr3i3mJFgIt;^^2BHV{x zNi~zTT6OYbaU}Iw3wro6on39;E@29|rVf0J?a_2bgU=CwcaRJy)bnruofW#$-_K!q ztJHL0Sv><6fQ0+*_#_YQ3*5RRKkeyHOx}?v`{dLeW{&*hQ+MDW|44O5JTUGt{LiGc z+5gVS=6D_Yfg+m91sW~xr7!Iq=k1sH3WWH%-UPvx5r&VP!-!$y+EjaPB8*|!!U3pr zhLlV$bB=1@oC#wbDMhnw>6^2qZ^U!v!tPKlM%+-%KP<`!`KPy6Stv|YO@04FR*D^i z;5&1ryE+gUkzjD9UG{BGF|Xzr!kneEnI=64pXtPt+$QQZ|evTd} z&Bg7X{(;Cg13!It`ij5-bI&th-El;QC;qitgYKX=zLDmQL36-2l=|>z+D`@?cxrpb zRcNs#94Xg7@@3{DpuJ6rZqsZjv8Ah-z-+K$Me_HTT9`*7i=vP5TwMnV? z1t)dpMMpD?gdnV@I`cxD*g+pN#2aN92Dz|uG(1_(!tV`4H{K_DL+7=|nHOEJiT8Sz zu{$}-C=Otj(KJcdW*L!ixJSgdSwttRK(7#P;E-#}k$ zoQ#*DnKVw@CCMz`$oW9`0&kf}Dn%goPl-4fHRIhnOF$yK#h(9@o})?Zc>pwuG;R;? zPf~7+w(k`540+nSlZ#Xf-zg@K#EMS#gT8gRE+QKB8)7vs!@FcIz+@YkXpPWpzy^PH zA^}m!v)Ft!gvV+?WOSelqSgqaRw!6Y5jmV+IsB;8CL9nfB^e&VP@m;=$Uo9kYy}gG zmXxAfCAVNHIgAZ$ag`4F;2sl2VY4eFR{=FGA|iyG#l4DlC(IZa)f>B$?YL1K=0k>* z?98RacF7OBhPm2?Auib^Wa+AAHHOvJS|hc@bmFhmI9`=O!qlc9F(xt#K~4VY&psHO zDAFv%D-|#C8M*1s;`4M92|rbDA!MZUSlP+mnqxv+bfO=uLJAqB{jGmtn$JXwZ8gI~ zGhVs>p)XB7Q=KsF3z=pTmzaVSxq`aV4za<-IAar4q5-qW2IG4sn&4T-|Gw&}VQg8U zUkMy67%#)K-EekHVuq6@tF4BR2N)CxU+D{&{C-M$R7H*1n1N?y)XMPetyI|$RV(kB zK*ofFz*Ykm?${W|635Yr9m?G2#uiufj zQ%Ri%G1-x;e1&mNgh}H>w;Iyvy;XZO&aZK4`l>r0_O)0gB{+D&NiTQSD2V>Tg zqH4xsay+PpyZTjX(}85v$MIOF9JFTS9MYTO`(;Nou=Pyj!@`gqKjnCsPgZ6A!EACo zWUDz-%BOk{cQr!DNT7B+h!C6O!I&{P9@#3#!<>H?Osmvss3*7@zwg{`dz&@%5=~}YWOeR-3$b=1cx#7O7s9WS|p?LX5 z{Ns0sZ^#-E-=P0#Aqb@stYX`E5-nDQlyo=-NltZC(wXTtGgrK)5v&=yh>xDC@95)+ zY$QeyDhr;(&b2RbV3r{AN=s*_Rrx2)DK+=@F_b~g1za%n4B)>E1|fY_IZ#TJimpO$ z`dN>Zz981@((yI8*v#owMbSU24Ha9-SI>>L3F-%rPEN@{&q5x%d8g5d3f0TpbjV@| zSEk~a{7x$q0o1MObf}hXxKvrUNq(@(t91F={!Ny!ytyhZN-9eZfwZeesMEY;{mV^5 z-*S++Krfi4)>)l{)DE4H_uk)Q^p&!cjABPt_e*&n@ADG%t0uV;O^xjdEzNMyZs`5+ zuw5iXk26*^K#4VjCex@4i3uF=SRZTUpcJzf;!Q}6K!kR%W;8yM!mc+J`EG@nv@g?OS*GjEwMs|@6oD`7hSvt4Z@Y3Euo)4Bxfe@zSW^*2|UbC(C@(R-Ir=6{j5bEAqwhxvau@z7ioq1T<6kE~8OloHIpxz(1EYAVqwpt!2H9E) z7r`F<+A0b1qHZ**boJ1d!Sl#sbuDp^xW65_2kCj1+|yy$2KPWhaSv%@Xd(2#Y1s!w z0#jRI7DQoYl&Nq!-K8kq0!7G-*vSFChOv|)-N6-U7p&CLPQ6U5D!hR?8%w}U)I_dA#)k#N5?Y3!G_Dq?xkJhzl+WcgFHT_I2 z)Xz@Nq^-E5Jj2x1!0F+Yj~VIfkQjhz0&+1B_egz+BI(&P!Cv z6qY(rVGVmHqu)tCboiSL(iw=Njal)DD%C0D!GnD35=29CEmv(_g|Pxxhz2xfWs$TH z6R90-VWF`tFlff6WWYxsEBvgMXoGChstr;I0?Vo}>ASotWmV?(4x5|d*x(JZ=Nm4T zsCM_CtpwTwy=ZJl19OZ*s=6?2QK|Dq$<07o{~Ej5fL4qJYYNf`M^KsZ14jn0&We!fIkkD67%5 zCRC`dS_GftI(#k;LUm$iCE8~U$e%YT0%-F0G#FBH7o0R z7nkmw+Fi4rpLZFMoYT8&b`juRJhO9pm$X{Yva*2{c~^mCBe)J^Z!iV8F0Iz=n83S? ztJuR$VbSe zghUf{hzx!;*b>jQq(q`q3ZR)j51$%nc``KFTOTi`Z)z0^U7EZmynG!AZ^b_HFIxwc zBDq4y{#u^khFrk`ALFIr>LL#B`^btFO9Rp=Idnn60U<)1*6rm$X|?P>Xwc4HjT(RPrOsJBLMg{>s% z?&=j%K^;TyD*{!txZtAzztfn)_@m$!9Qbk$IEVWK2f{Q$NgTr=GT9EU*3gX`Y@8RF zPx*3ULUEkZTDRF*!I}7oEWEG6WszEX4pGy0D^_=pl5Q^^qs(m8Isi|Lh&WD+gi~UI z<)3^Ew$miIp;)n9DCD2~T^^=dsV}zz!7?q5Mb<(CJ`kvJMCe>)M;L>uD^4$S&kcjF zhxX}|#A^H>mDp+ieiDBZHoj?sp-^zpe*$)NbTouBEfPow`d2^&KB|R6y9#yP@{dqZ zK9yuQN~{QiZj@Zne^+t%g2^kds{dY5^U}h)-6wvN?g1ZEoDB`6-)uX6vYCKrbWSaZ z4bGtjOM#F_=7SC`UBxHH3Q%E^PU&`eZi+x*A-u^p%WJSG-!;f*2&<)UO>ZVluPk%c z_XT@#u7CYzGeBirSn;M(U##1F4Pla{nawd3z1`{d`h%I-;f9Ty<~GxQvOCFfR-Ho3 zO6lkDVy-M(_S8G^(tej|X`7&XF$Kx!SBO&ui667}V0A&wy?s@B4h1zq`|mNDXRT4Q z9!g<5Ye7wx?TIiFUp_sIn(z9*B8+D&sL{g35ymqX)WD&F@r(r-KqN1q#tl#oT`L$j z{OVV)M@U7JUkKW)!l_DbT(=&4{ZT*9Csvf+`-Yt9UQ~BgHEo;9aPU%HSU1M zTuqESHiU79u?2pD`GON~gGMNC_Y*R5COH`t&MfE9#LAaK@BuKBZ0Lw+BgEWViYKq2co2o zOhX3PkTVFq{+rxq^8Wi%I%ODE7HU}GNitcd6^$Cs)(RuDwQsI%MdMX^r|K=*SKmdJ z-7mO9$D!}Fl8FPg78)z(N9cdnIziOo;V=`YchPMe2x@8Nh6Uoaa1H;T5D|+Uwdp=~ z#=n$BBpmp-I}1l`g-MqqD@=%uj8L!HepQo{eg7VuR@S(YO$u#xRCWun(dN;Ga-{bY zZADxb%b9qO$gUYPMUe<$G7YWXka?5qOekxnwtxzZ#V3PeHoi|>UiOjLm)+QdMPnF} zGTNY%3~B4ELW!pKHRZyl3le<6p6Dl5*Ge!Z#l`rLQS`&khF%%IS~+bhXC&1a+-miw zzIP=V{t>EOeQasstS)~#bIp+b%@k=Kr-_vV2+rmmCpH?stWp((lb7R&tQ-&n!aVqMKIWCpr$S{7yB+Screv)VN(g<)w{flSRpF)h)8MrdC9 zBAh3eHKaun(6MdE5;_My1IQ&fNijdomSVb4aQ1ah{|TsTALV4~4TnEBa?26b-ckO8 zBKk4jyrb*3#;=7Fab+Ox$JU!c(nH%ZK^qMfu%OEX9`4F-r4?9+`io za&=j(f23#~wvw(Ysh!Fp7-{`h{szqjD!AU~hNiGHE7(4MjvYd{3C?`eQ;ULR|KDt53`@Nl`6X* zzNOrbYPbt_XFK7$H2p|QF3cU$yw9VV))IxzvqH_{yt`-<0HGLKUVpEgm%s#^xP-#w zR{5QZvNohyAO$mAL)?7Aa}{aCK(s25sqDA_2#cO~BVMCjPk z_YTvQTMqJ7dk6nY`mbl=5rKuH9IQ*>^cgOKt6>py&o8kGfghj;x80bg^EA)C8x+ zDZIu#?Cr*4D^jl6)IrLg%4|f92}>ZbEDL{X0}^VCHbWcGP$Nu;Zf0UvN&yV{c4SI0 zIfxZk)TJ3I>=E<;-lj<+U<#K;G4}>2(RxFH3Z~N)i7QAhr6QVlqNuq4(@!T?a(EsD z8ig1bQ?F)8>4Tlu`=<%abM_S>9{&bOGme`$yB}DcB)`ScM(^P7mQ5GQ%CMA%)=c^x zt&uluw7P?}0san4V?0X4O)2bDg zei1#J11%!PH<$_MkWHYp7@6a$a6^T2D@=|j?}ozcS*gMXVBDUJigH$-vOoNat)fEh z35O__O~QH13DHTYH@-U|=?DVb#9P<)uNnC-DQOrQ+KTICPn7(O5yP+d$x9OX|2WM< z4#81xtFV0JCfkc&!;%#-{n_6V-)fczA!RjG*$rgOELRHBig4IB5sqA-3Bt9;gd@^4 zLAY5K0!t52xK$CZslv8N6-f|810vyCJ`|QUhg>ZtP&NcY7*Uu49>WGl+NLSM1e2<7 z0V)fyIr@v{8dY=Y7&i4&)v1lxT-;?Va)7}WI6!VvRXD9-Ba(fj(B#g>q65FtZ56$m zn0+xFn^{y4HIN4YW97pXwX!ipO88jah$RQs;3q1KDu5?dIEmD%z>m~w01+d3=P#CD zN!D4;X5Gm3#V`{;TE_;{Yzya?l;)oyt8#5p{D_Jpga05$APtUyC9T7%35sOW5s+}; z2ncv{1VCCGZY8H30j9&S`zmjafaU__2&l^72xMy=0edHu!2tm82GcA)#as!r9MBNA z>kerN_YH>*BhvQO>v26|200WQ<%|e6PUXRulc$20i{!UN&Dac8q#93=UEQfCxodwX*+D0(4qS3%gdfPpgeu1xyc9inyD9^jO}&B zIeqFs{m@FXkk}gd)PJJBP>Nq&6O%j>H8D<@sEI4p#7^gb%F8Gl`Rb|v%(x~^{|a(Q zJ%pctKpQxmqJVlLQ*iR-+@P!2-+_~hpzMA-QxM}K?%3x@FIgOZGkD;%V@<1(CK9{L z?a;`oKLIZaIKm5{>f#A_xe|Pz`;%Y$e3OO$q}h(~#3Pz`kKxb6dt604p9b<5CFpTo zKQ+da*or{K7ztU1Bbw8GC+O52vxE2e`qMZFFUzVL6%Yl<;R z53eI28a13wK<6II$K( z3>=cWbsiH>AlFE|t8smiYhKt$h||_0ZxU9-fg$TFh|m6|=x;Nq*GA07*$gjJ6c-b? zPHwkxB977!vp!0xj+PUpS;L7I5l~s{jW`%b=LiJRo z4V$td@n)h@MseUPOvixy&Xbr&f{w}s&v=Kh?{tArsDPq7O01^<5WFPa2|q)pf-AGz z+|;*ZQ?_um2~|B*FpH~xD5@oPC>psoDwA-8VCnFsxDp~6QU}RF_4$z8s(XI8-We!Z z$SXo4hhQpaMNoV@O05$IZX!wY&!qZsm2l`E2k`hE2zw6zc)CZ*jw5zW<>3l~CK*jh zv=k{bM5)kr8{}_2eVyXQa9z({r&a_v&B%2~}@tZ;^;*B7l(?BLw8iv!=YDru2kVQ5Lk6kPRp$STtp#)R{TBMTjg)!%oVivqN zm?h3IPBYVA>Umt@lSn*=tXs8x9hph}UfwwBG>bYUfWTm$t{P%hlFLWtck-Q~ zKrK);r9wB5MvWthoYD2#1_5F7>4=YkksYa629fLC3<28lD<=9d$A|_IKSWifc93~w z@}LXW%W^RXIc!-=s!ttLT%x?q^kLh-ki}qW9(Jx}_K>PBO$vSEirN^QVizwjn>A1@ zZ6a!B8lVQKHwn<0K%jPO8S7`Ul+c#7IYwD^_hs)%>c%P>7W%WzKFJ}gBuxV?DFJ;W zzzRQw*rZ6K@k`$irt4^~R{^Xn41*NTjRy3Da>oNjLof88U|-!X;<5%nRB6-%VdaKx zVX3VHY&2=q=vE(@iQR+T7wUv@Pgw>(5SkZ3IGQfAHnhRLI#h4a6m;0exId!S^&MNd zL2sHiv#tW)>y;4S4wy)8421^Gb>f;1;ui{n<8rX7!@~Kjs~~jQQPp~- zsQ{SC9DhK8~NM6_t6OY5|t9seB^HC)i zSYAsi?8v`HB@uL6#cBwfA(TXF5p-9-59y95&Z)d|6#NKKq>O*#O70{~s@L6CY z$s|@Y$_(C|2u~zUxi<)!#8zMP!i?!+EVjh0u(4Bg6-z{_P1P=zP&Cg1;w&iSGI@Ct z|5Yc;g`5BC3}psV1oQ&sxzfBAm^SR=Dp10NENt0nmAuM~t8HR5eEErozx?*UedM!8KL9AHzt3qWK~-Mn@%{UpLe|n4*%5z& zjZ79_m?eaaA%=E%;_HXJD%HZ-PnN^?#%4|({Z`SmUonemCpI@itr(k#{t534f25+Z zqThN!8=v<6q24Q`KzW=#G-0+$0sUZ?oDSF}>{H=Po8z|y3k6*?17e{cqJ8IG=|A!h ze|vt>xJlb7F=e1PhXk_03lFPWFj##eLZkcl%6g?3t=lt7K#~wfVy1|%teko<(J&aY zocODF8Vf4pL6zG!6F7i<-aGpqBdLFog~xNQF~|q4YEO|gO%j(W8Kt(Vqs&h(Vz)2R zFfYgM3s$OHvU|;7b43W^N|$prCQu8KgVn1F)`kul&#(@5TiIg=jYhS=KQ3g?rk3Pa zA81fW@lmS8g=Pz2#3J**E=u7fnG@8mw-La>w8xXn;cZV7x(mldpUirY3~B4juy6iD zs)z>UFsMBSS^bEaZ9y?tEt?P9OU%^(Gh(-<-t{HxGpm5llW1yxe|-|%V>cTE#So|cw5?_0aM47hOe1q$tO76bcZBC zy`ljRWYeHdU@#z<*P}+C!nj|2IWIlz|91C!LiE z`Jn0ZX|W0bY7k(AVCof7DjUoO0Am;cew=P@6wFb9kpjdT(&%f-9Ks5rxVwzpF@9O( z-9hu5t_*uT`V)F>Yw<~?DMv&L>eC5>lD>Mzj0&iQA7QSDhG#{gMfQyxo)y^{d zWJTCnhBHz|igsM!jk1~ASqAoPR6;J+Md@QuLaoBJr=4Xa7jYd&{3H!ill7J}CUbFw zOMql@buaEPl!t{UhPkE$CCYI#x^&Ekkh%8x8&iB3m-DDL*h~bhc@Yc}|6kSRVT7Se z8Dwl%GQ8MCA{sJG60lf6B@6)Ms#910+VG11(ZD$NbrnjgY_zj11x|-Q&pM$4On=k8 zkn!s)nFRpnep?bg-$0%><~8 zISl~e%|;=S{^g-@tN7|P`ggEVZw5UW`!tF%@Al{c?ZC2WQl>GLt7JM*g#l0{)xki9 zWwA_$8)L265{g`_5O51yLZ#E?@Kr0pjjOjMxFNIPtRJ3NJ??B7BTX`+yhlH#~u4Pe!2PmQdk+ z?X6%8y-N52hZ)yg>?$3A%9rpflSeFzSt>2NI!gq%oCIQ-euxe zse(M=S+x@s6Vb+fd~1v4g8(T1M=Ub2=g6%8WyvKqm{rz?byQFQ1#_?}Z#nR>d~@hg zuR=9*Kmf!T=M3f`n9ehsgH>f}b71%XZOsA1tjqx$X+?9OEw#>I4u}KR=0K5U`f>D@EyUoh6jxv<_iLICTTvA}{ z;nwhhB$2_)33(4+hO-&JfF*l@NcMR&(H1i@+97bVo$x6?+w3q@>-9M(+w3D&96iX% zm*mQatwLfO)y{-d8^CFRjXNT!zzi6L^EnA2&b0tL_<_j$gQ(YNGoWNtoPtnKG~Muf=a-eXeVKtTp1|L zS?HtV8rP#V8y+7vcl#%PaHwU5Pya(?9j+b+0C0fOwAgn=+zUpzBvXbFvNkK6i~!)x zDFWc8A^=L{SQ7!T$O@_aBU#rF6k^D=&65aYyG6nN&LS+i?<~zcKTW$`{;&R*c3b0H zO-7};{|uwCQCJ9WYrw0O;LfhJ9-Mz|WEHpE^)yiOlpY zJfd-dMlzu)4)=WD3NGF7YMY2mLeBGa(d59pn3QjmOs*k7{o>D_`9+Nu4rn%in_eU# zq<-<|^JeWIs3A(kRnfEM#sk?m$b#sKg(sQ}hb9UhZM=(=H~%or zRI|rgFrqD9`6>nlY9zJDo!V`%5h7pK2pl=YnGgeEj%1;nciKr_yKIJ(`*jRZ&q20+&yoD0(+8LNgAFiB6 zJRN>#U2;+7@cM=?F2#Zskk-%2@Pq4>>cpbD?@I%=KnmL!PE4V)v9Ywsy6tN2)CL(wSrA!r? z#FX=WYwvUJy{})lB*P4$WxsRoKIiPc_S$Q&zrFU_;m-8?$r`iOrNRNz73;vjE?#f~ zF-@H$gBYs|tbA@!L@WxSH=Lx%a*cPJS%3ETWCUk2=OI3LLx~Oco_aXhv@-mcNP)x$ zxXk##(q1z^xm8&k9TUn`yc4~O`!#aDgtHuDH_vtr;gy)}JZGYkxF_;Tx3itl1pR$W zG27$E%-zuo`liw1}^G$QzhLWDc#?+n0Y zLkSFf#P11EL{;SZizeOt^-L_rfjfU0yQSt&(i&@@pe{U2%S{9tzP|4PU^JTq2#2V| z1(q0inuhXawnBl)DQ^{?$npbCm*>sd9R+n-jwc*P;bbz10tHBG z!%oIlhW?~#9+SXU89;K>*z=$>)4T^!Vn)iT_-cU^eTKTx?m#K#g-cV!kvJ`HWGSX*$zFKn{+=?_AnonJ+z2u8Xbf5 zeg||$!j5jC#8oL4r}kE3`s(gk1?YVvDnKN1QGkoBITb*U_iX%=d`46TRR@?!qju&C z00(NlUM&j=QliMF$`b|C{?;T=F;1s3Fq3&Jy~0NS8q?bOM?z%VX|)B3GBS4PZGELT z=`DgBIvoW4hM_yTQPcO<#^%NUZz z#(J;jzf%RH-1I(pV-c%t*P}x5(&=;rfov?Ya-mnbX@?8(B_R;8`-!OSPBrim+zvK} z+Jzs(Xj}9LcLaqWR|d!Wdu#&R5**%<<%6Y>#O%MY`A9NDy)>b{|AJ-UM}H)Y=#L>Ax1^R{ssMnvVwdRNYw}i z;>n{x06Zy|HJ3j7ugb8vjF$xAsudd)f}ZUuk?J0W5{IG%zK}S9vv}~1>9V|LpHns* zki7CXR=~~N2irhaxSJ?m9Z%QKPYzhy5tt4;)5fecSNO9Dn5jl=L*mH^JRlF zyck;Le{#-RUWO71z`0bg`M zr>Y>n+D7ZtOQa{0aF&`WleBS53VrrN`fr3naC<_*?**?Umt#E%j7RR?UP@NSuZl7P zlgb8EseX@u3U2^eGQEvNb<5lmxse|%`KwD*S4z|dd@%{7E&@DQMyDdDoEw&Us-pl& zmLpOh+8XV+sWVqcvN|~!-FD53??AnjKJ+{K07wv98#5EU1Mb1hP<%4DoGi@??ws-u z1CrBk0acfNOA2C?7z}1<()$vkL{sR3s0P9dwT?HYVMirmfi#?jU4AUsx1>+2_BvV} z<^~~{u0iLT4U)fauLgaP#wfZ10k+XZer0=9us~jfQ84_`;pXMvzm#($hFUfM%cvX+ zpX&-kh}wXpO>fdEw?QRzSvkV{&NMJh!w^cu>?Qwo3hx263`*tr!6K!SL`V!%BBn}W zN)AV2i{=Q5SYbwQMo`?g1jQDxIf5doYWoXLobNQ8Pl~9 zA3Jq;nQ_hM9AzR*#DqZIgP5c=b#a)3_IR?t3km_mz3S6VSMEn&`FZJAKE6up$xV(Q-(QQ_{o8a!W z-n_DOuXDbb^!PkHmii$d`e3v4Az&YV=)UIR?|)=;Z#eWc|Mq^OcWUn^Dq@#E0S4o0 zrwm;(lnG=svemJG5tSZA`SpjtwsbGIaXrUI$NoLd_(O>|i8{9^fsp2F93#T+(y5ML zB2`jjy&32|ee$hN8&J><^Z zn^qZA3Kx&4jJm)2nf1yX*=-Q&lJ4(QMGeN$dhiN4#UM<>jVPaFA*K5TwfCLA7IuHl zLPD=*?3h%^0}O9~cdz+8TwEbU;5bwKE~W(JZ4^uhUwtTkbWSdIL1S(lp)(N+aax;` zmv=RpA#um=z{d}xQ6n_j{US*> zGR-g@uGi_X3p%@^JW+C~Bn5iHk`47-Z9_fxY;B>o)n@Rndi^HiJPrMP{^)nzH~;Iq zBlI&7D&;F5u7_#89DL}yg2A#;ppE_9v$ZnZzn(XN3b`uvPjLipVT6FtZLAm3FK>eW z+MsNN@$A2tF5tUzcA#pc#ldAK2dD}crL?9~RV@m9#(;}O{LQlmsvWp_957_V+!%pC zJF;RZuto*m>DKH~CPqvxU3KM$$IhGbEbKg!WW)oP38*UhQ3JLiF9}`KLubc($OQsn z@RZQY^^k<`_N=26OsE7a$_OsV#b(oFx*X6HvI_Z?Nk!fTE068AC5oCFO5|gUKdqmede}~P#r`bFt#O)UTa)yp^kUd{t|HVlhmI6Z^ z7!67^DI?VDqDePyF7m&>8fOnhH0j1%G^xuAMw9OPzKte@ZO=uMnkt?e+~2?XHzyn7 zXEgB!!=ocmKQT#(caf_Se@f_z2Vksc2#2!N6 z#h`Rdl_s$eI|k`&+k@H3M}=th*M_CJ=a{an)e`vw-9qmEr(VB>n|ftcr5=8$VM%3Y z{7unOn1e1Jbw6%5{j-szN0c!)Nhv_zLKOhfdbGIc(K3Y?d|RF1?5*o=lZ!M|JPyAX zmv<5m5Qv)jz0z(vvrX|SI%IX;R8f(_6bKCGF{S%j>-5IabP|nfpWfbmp9%>MuyC3S zJyYn@q&YD(j{*D`N;{Y1`c5=u()nJf2=5`d)(A72gbRh65fCG-W}iED)WuO}>rGS;rl1^crFrJ($)v9- z!$5T=hyyh@UVPt-G0UaJLbPz1_Ymrp+uz?#Y~W zAmcZ)^fVH(L5y}}W*XLAg-nrbozE}|XpF6~&WMcjtQdqE87zn`)iqLfqbz##+NHW8 z5e1ceDA(nkjxivm1f-0$=G3MzV^y&VCLvF;MKDimtW;Nn#(5Suq;UYr4W0}hfkGe3 zb1)q$L?;^ULwv8#N9VNUmD*XXCK>?3+hRJXf?JhPq}rS$mzS>o%rK?YnRhFK4y2Q2 zE%@wv-=8iyS8?9zxuw7XLy@u#pfSfzc(KBR^2Aq?V-fB5>nV#h7-N28Wcph2^6+&@ zJK+XM^}$ZEduORL8qQ$?%v_TLDYX1`Ur`0hK&Qh zL@F$Fy(4oTn3-vCd&LtM#9fCUO4$+%_bzkbX5u3=s#V<8He79`BgwX?$ z>$7_dkvUyd6ALm21?c!q??)*bk+Et>0LlHR5pVBtlrA%x0eZD{N->J4<_eHJW=sc@ zX9auDi{JS$nR0IUq^J(HuYdT!@WSxH6E7b=H$s8xa@XiN)G=T55KFPUMh~@RkI`$L zajTyjmID&-IVGBq&!2RCIWAu%u#1p?{7Z)LtiM)y_IY)TwPPUTo>(Phnr3a@=h70HU*l&wT&DK33#+cFA z>xnTwdp#kU{i6{vGM1>BSi~45r2>rYG++67BsjEYXt|$aUy+h> zC&-H%lc0s~-0@%paeRO;RG6K%HC2Q_^yps2@?LmuU_7CJOKw-h=}l&y1dEdG46kiz z*O{9xeBmEowkmsHk`Af$m>YZT{KiUI7U`dQW7+KBge58>hf~0WPKVaPslWwK`4Qdt`?b$JTNrdl(LY` z+APKFS@c>WK_XV)X-MuT3c7@}%pUB3Gu3GdiA%wIZ?AHI7XdHAzpB?lD4S1r@V(H( z1JS|f+DGu&lz3s**ETo;$a1$&(;YiL{{GBxNKqKd4?$?Hae`STy!1JcS2oWQ{6YcV zxQJNs!mfmO5Cc=9T_m@A>RM$Mh@8CGtPmAeLiZcoRPzI2gv)d#b)Fo)xJEuTi>8Rt zF~Tqvg(+kbUG0vD{0YRI=J(aG5_t176YwU5lF*uR9*Pt!L(V%gXMohmuf^YMXV{>x zCsJx4!y1st)%j+?`T^Xa8vi)fgCNBLp%xVIoHqIhr8BEX*xZjMX6m*7V4X zA~TGqX>^!%Na#1(pt|)!i%ZSN3=sPcC3(hMN+$D%OXbo-m0p6=XqP(mjO0|;E)-ge z|4Hs!2m>y}Z7RAP2?dfKwqF*8Z_6;7T?01?h@S?wGy=-~NYITA?th6ShM7Rj&OKL`X;%E@X+S4L58xcmt}-wcBzCFZ@&?>vUa3xBw=cvBShKeSkS zO_Z{LxbUv2+2C2bO0nN49q%f|^rdubSLsp8diVX8P5B|yl=d3VuU6+i1e<}tnx}vM z3vE69o6cR=!!fG;g9380cW8<%hY=xP>L_J4#GX9Es2wU4iWT`s z(Ol@iy$46aH`jw~$abp%$XRN8Jo>$Oq+9Z`uf7zIh$XrF(bMsWK*q}-y`;q!Ayv(V z^4@UATvqe{7VqF%Ep^r1Yq)lA{6sHiQs_fet9q0s!(W*3mB0U+9$!&~@A65=W&GQk zL5sgGACG6nbz&6E)Bk-?uBF877xnufnVB`s#U5GPO+SPIGW>0W=A@jy$6#SA zP1by;9w>O_#jI*j92|HB{^lDM+!)?jS7#n@ET)N6L$qf5BP&yF4WU|nfVjz9e1bW`JVQ*)6=8s0Q#0}cbf zjGe-G^blaU_~xg`*x@;NE_qoc8X>Q1{b7a>SIeRi^r+H~L+CcMh67q8TM-Dmp+B7J zX$8%ZZ)rp443$%E03w3L4^xH~8cD`#c$gP|Wt56gS%1P~5tuy3CYjXn72p@0L)srr z5FWH#)f?=CPQ4}3lOKjEQLtEOr>7bV%Yn}27M*K6GxtMJ{foM=$sEraLWfsDXk`~u|jWQ*z`S81QFR|G=)p;>_hWM7fmsN@$$Kw zS5V(IxQ3B>sp)a_@c<30{SWlHI`5tqw+>-ymY4mTFX|(yapO^A;C0S(=p1-=hl6n328^- z@aBd&bDn8u1E8ghdFz_FIP$`mi^xhlf2cebpZ)Mks8bu+3wcy*BDS>iXK7*QPlg#V zf*&y5^Uj}W&!NQMvj$?&hUf9K637vi`3>HuV~oD8o$lk74z`V%o&VnMUkSg)Wr)hW zQD`O41BSa{)IjF8+hg{uO$=;nJ{`lHdK_J1a6(p5+lN8(M z3!78o$PA_gO1rfT_V0!$a8rAz{FFZ_@QW6hiPU0CfuuA-P}wESjph>W`$KhXFRMcF zZczZcB+(kQc3fJU;|J}qEM5UDHU4NKj>${|Q|dZl^% z?_5e-e5-XsCtd+S58cV`7zAS6y)5vY`qXt|(7fE^B;}8WE2~~{<4Hy4>{-1(F{@Yg z;A-_=K$E?C#aP@Oz<=F}-671D``4%#t>^0XVxH%E2M86yJ+QU5Au#qyUF=P-Nt=kT z0=$D#U-Ky@g^O@72tItWHzB*1<7(UWHD{{l+L6B!(q><=yYcmX1xE1X(N?4k8@$D4 z-$b)Wn5f`Q-}V~KVk6L7xkiV93#AyqU$?>rLu!9S?#cB+3Hv0<6;pkue6&QXiwSrY zywGp>qWxB}de;7vghaq%2JDFk0Qxhk5#E6U3d`gkkqNqB zo~EQsVVRpK6b3u4)jSV10+)x}%H=}%+@|I2F4*`nQzMwVR3!J@Oss=_J}|1LhswF2 zM#PB-Z%mEY49qO35wLXCh=ZyTeJ(7K0ozspp2Qs6*tNTfRLm*_CmXG4{Q+rwP0tg? z0~u9J8E&)wz+Ja<7)DNPRTN-1^je<26cRjz?9O8;@pLMeQC}5j^7Xy2M#Wj=EV6ed za)uc&*iQ-#@F#KjXm3n)A^8rfKg=U0So?-J%y001z0v9q-N!8f98`ap|K9HJg;;b4 zl#fn#h)u?TKhqr!rmeM?57CCbPsQV#-NWQM!ni(&1Jb6`_$iAhJ5?}Edz8^q;dkBW zntIb}A|j38)t7s?s<{4s52_tPwaJS!AT%KQ+%HL9rzMl6ND~8$Ad>03?QVVdovGrkt^T%5Jvhii{NtFb>v+v9A!&lKDr882&rFUsL&H{P|1k~x zmh-<7Ya--sUo^{*)PEkuSZj%m{0NbmtUzs#P-p zId4=Ab6>M{PN25@ljqNo=D%(28$!$>-?X7PXGRFt#9^vtMtHs71Hh3k-GT%Zm0)-! zqM&IuKn8!~HuE>(ne1mOHKC{u13-3VCjOSrz1o|zPl zRt4_Y7&EmV^u7J{7N}y59Idy;Kg1ReplNdiNEQ2}_z{<2?fYigTp|e;Un}F=uh9%p z_G4xu!(&I;{$?>X14LqK2KUy1Prlsmwro;e*v=Xkh}-7)<+*C@wrtth9AL<_eI4;; z;25AbLBsx(iAJ|GSlS0CN-sM&N9uifHSvgkXXZ>^U6k&42&Qa$MiVyWj_{1ib&m|_ zwTT<5a#Zl$ffi?@`asPatdfMs7%8O1fmeb9XU`#Vx>aL#S9nkk@2*XI+;6tauP(E#&n0)jphlfQIEcHY zkl(QcD=qz@B69&RbT|&Apw+g|0)F;9UB0}Q-$x@1lZhbvI5+kp|%+}Q2x$#dVC20p;q_wq5p2J#t zkr{(~<~C!N;>{ytJLj-1xEOjc&(JhZ*hU z*I(1Jl|s>gc)ikm!=&Z*b(yrNYsvqxw3-mF+1j#~&^)R4D-0029rQ9VPsb(j9=0es z50o>Z5MDN{-a2WhN-bcr=4|_yfhjge78W1v-fw zT1wb)tIuWjnydg^5QCm)q2cktF~}NC))y~8*KDb3KO(Sc0Ocpuv0~{hqMKN^i0Gy* z92vc|_k=hSQ>tV}hUAI6(=0fg=ETtE>zpz7*pK1<`53f`42_Be7ez#6OW7Y2FWii< ze-7qG)upVjM>yoHlo+cgiX9h=G_-S0G9yD*IgcCEbekHO07?K?powY1Q%W$Xu)w^U zdNp{Y7f<;Pa6soV3&!v)6fnbIFljuM3zG2&HWqtyxKd%%Yen~wGl6XkDIPfWgWDe+kc^CWo$on~70b3!1H zwt&gdAeN+<6m}_oB}ssF@(M%2AcFTQ_5e9wV`cG0WV z1v#$O6Reylj-TA#A!Cb^NU9Ucw$tSZScOD)xMT&0WYzTFcqC-pi5MD9oc-L5!r0m3 zjziWrxqPKKH#y1`aSUOsBGuR=8E{Vywbbgh;{T4~_Vl2a6G0g$2DM^TJJ#)SdHU#x zI5>-bTj56+8@Fm`)Il)RWxQQgEnsbm$gG%YN4p$SM*$ZBukw(!5scpmq`R9Q0>w^9 zae5ApQsZ)adpUj#)VX!b5VnYELqx^h2-R^_wSzLM1#I?;qAb!sc)_qx6#$f(&W2b`+8lZpF!1Ni=bGp9 zL@rU{u-Xc=I!RBFv=4`Y&aCxNZBq_geyChZ9waRZ@@P!#-h#MG>_6(8CUd{%rQqJK5E9)(LQ`_)k^#4t1=px%haX7`3s|IF=Nhr?a`( z<&HY2(UJ-IV73LD5B5lPcTYQ*S+3qG z-|rF-*CUudt8IT6^|n9ga*@o1SMGwox{nd3yIA3HjuoPl?#T*UQNXU71y(qFe>W>U zBvVM2*r#{^4AcA z&Kf=PNk+(DPFl zAgk6qTSBnOmi7{DEYZcbQLw&C`oQn|QXWGU4SRP2C7uh3=t8?y#u2Hygi_tfxFqY) zKo$fHA7KOOD~C4*8F)dY+K*!mey5oVd4|^fKT9$oMu=c`ijYM{*UW01i({h3H>Yq zBE`x~2F&hSWzH?a`1-Rv=z(BE)jMUb9~09vNHTGiLdQe z_xiiky}l}2uA4aQPU~~utuRB>?{N?6BbrHEFZ56z1Mpi&kW07_t5wwSq;W3Hl}~!* z_eG(;h@JJ*-0V8Z2k-XU8vy&|{NJc#}}2sGJlkez+C8Rbw%3 z#g=mKR4Qi5EFajrte`3K0~Wi5nh?rt)Tz5QIz8)SVA2?Nv z6z!YdEvp1BE_y-HnOhGBsy6tWGTc~BV&+H+^6Un5xcgFuhskM zQ^hn-%0s{TJ;dy9_3AB(hbT%}1we9IdXxhI<}qMbgB{`_lN~ZAWHdDwI=7uJFtB7K z?R0pW;Y$=M`t%B>2W~Asn=q;d6YF# zw4^)=Tgk$K+SDx>FYTwSZ_;EKP8Vdqz|mSx+|F4}_B>RS*!JJGleAVMp1}oQ$tvJ_Wj`BOp)6dM*12*8;n9?N8cvL_UJJJHli?;*7uU zT=SJ|Kj{t#`zbp?P;_y_sNHi`raApsQgGnk11*O`uYGzGPt99@O?}NxgYQ264xVCR z0i>2UDVM<&UvgO+|ASt#p18EuQ+k6*$7?*-RFY!>b>}(}YWIP;pMAtrM=5GA&(8nn zh#E1wu~z6!8pOXoo<|IpA}lH>Ts!B>*iLarM0E~*$ad8LPKsLKOJi0u>}St zH|qRn`~rp6Y4veiMi1k*ir3>d0T;J}=y%)>)4NQ>sD3G03)DyTHddtSlbK0r8DB?f zm5onIV?#=MchLN=?PtSmsPaOpIzAiCYFKXmY5VRu+Bgj537IZ{Cx=|}}0$Inr?D#pmyy;!ZH`(iAAaPx`Y#z5!vkk4TJ=-j1@ zD0aF*Mqx;FF2v5^FoEr_W-)RgjKeH%LU&d{zD`;(K<~1l(HT>@(QMveXB-E*q3k{D8ws4l&DTWsQXo4o@j=8I}y8Q-Po!Hui9-<<(x?j#r-H)`B$@PhjY?g$Hr^(CK z658VIz|&TCRL0C~sf_(H94DK+i@w8%v9P5ZxEGg`~PwLJnVS-^S%6hHJlZl z7cR77iaRe{(pAGANZMNH%e*n?htovR4|iwlhtn%%G9)x@{{B(thYK!~)Yg;bJ!e34 z1Mamu@x+zsBT@W-tAxA<$Fu^T&s=ek$WD3Z%oUedmcF=PjqHj#S)Nv_T~^KP>t@Uh zZ&~fKubZ(eK&8|E>3-wB?;FLyG6UWwjFHRjn+-(y3e2&!Z{88+%@U=+Wzc+Q;Y3qf zIk>=ra&Dh5ylpYph|;#Ie(mRm3OGKU zORi;fAJgqP?G9&PL@2?o1-RW{>|TItjq9odJHTMy!1?L%0OK+o)nF)f=DysgFwCcrX7(&#jy|;G#(U;1=~Fh5`L*IkY|k+v0cs$dNOz}cV(3ApqGn- zK6^i~J+g;x1zf${zF*R7zMnZg=MA_F!Oj^%Nqmbt&UEoYU=Dm=eL0qU7tnhdTGMHH z;R4TVzDzY^Gm?Y(bn1xpg@ZXb!!bESoL8gW2^x>d8Hg+ZYi$8|^~9R)H)tKm8REGr zLinMt*N-&khmODy=4gmdm|HlaU41lWV0ka4uIx;J1=sVH;|P}Z&&+wAm$T>jG`#9G z>EC6y&Br_Q`EWvjo}I%w%KEK~1$P`SmNmRq#t|G%{+7*};~NCYV;Bq=BZ{C}aMJ0% zTh^~Q=a>tRHtlDZ-1XcE3(B1*DM1EYuz@m7;ql=)Kvr$!v141-pxvnt`2NGf2%0`7M6a zLEia?nV71*OA+z2;tmdRg!eOW#0+oS6h|y#jAuDXKu&Wa%~BK5(%k}nk(eTo$Ecdn zMFL}K3pnC#VN@SU%L#Zf8;o_eiO77z0#&Tz5jN5?_JebC{9wl+*Rs2ETkbR$s-SO< zb3>Z#6sf?(O>W5fCZfz-paz>P!=?Zk<>M@n;%|Hhmra!qHq5Gg&|8&{pn~ivyo?aT zQ#kBAg-X!0$1$y9@Y7&YCKjLrQ9Dbu_!I?&-M0gixH>n+Wg2bx3@DW_0b!TYH^nf0BzCZaY6>n<8rO zI1EE#k?7r=*;jAGoFRZ#e!fpX;+HZbblZCP5wU4xf~-Vws7Sq`1JPEhEa9zc16@bNU zA6H#|chKl)jnd)l-KFFwWC}-1Bixqm|8A;D&`kKANA-rTye=|_e)xDLt^5##TBJ9TmjbtuJ~0n30K^< zu{GSbxZ<|O6}K&}xNUL8ZHp^zXSj-%=5WP~A?>z4c@`mZ)1NB8i<&mLewO(PDLg1nex^Idf4ah4C) zGGAn`3(TbBWblbB!O+R+#mrLzU#sT)VIIP=@fz(Md(CzbFhJO9O?O46T>!tc3q4fv zvMYDrP(G-fa?LNK+Wm>&X1$3%`_}!fXXh5b+bJKM9I2P^HF;pQZig(FVD-_Png1*G z2FAok1$x39);jg(=#_heVk6eN-h?J~m-X0}S*!lO8>PZ^)L8Z;{MrbZfaZC1n`PZS z2^!d8K(qH49wA`89YdGNE*r)>nVw10N+fa@p>avoOp!5J`9gxuYhQP|=IMy=N1ghS zqmXm8}lf~-l3l}Z%{avLJ?Mf0)gsJtKt!q7{s$2 zu~PaoTKFPXN`FRIfKf27KDwy8>>_R(E7d8Kt&b)JK860mo3mJ{AgNFdP8ut9R|ENk zTK+wrQ-xb6i0}^c6o6Nc;7ZC-7b_L|_FSw~5Vii9NS%6^PWA4+u{eS`g6hAOtdcPo zdc4L3AJ&Kq-Z0j+b!=(4EMHfgdV6sc$JKG$yDp`k3i-L9S1Q}6(6~7{QE-W|v-!lO_|aLl1apF)Q%=sqPhS`jZXx za-={pHH=_mR~UhkSFLtKt#$)50aI}tHZ`rI{LWgZZC*Ge^%RpsPMx-!nglW>D9z1J zd79l)S9)7^VL%vK47h*6P=>2wU;zf4OiAu?0Abxm?<1l=DM=A*()M0&~ib}%Dp=3w0nI~w)7^G@Id z3Gc))=m5S*G~1mCQwa-1!G&h60}Ph~As1O9>0P2gUr%yUm?D*e%(j>($C~fg*02+> zsHplb(Ld*)KrRpT`C^w86CD&X*rVA&F`CKL))@i$8VnvIIa}B7;^0QI$Ca51PVR%? zNIOXR9hb}9)bQ!f8IkEyn1ByNO2aW#$laqef@I)0BR12lIap)eXB{dz^K?gWrk5~v zvZ$aHbMegdS8`w(LQg(J)!6b{?t}(+M69}E3Zx2>NPxfcoarh*3+v#$T&Up=zQTE| zSmp7187eM!Oxy4*NtUo$I&idkShO3`mP*1sfUctG9m2H}%wr^Z7gSGGcVbRt&^s$H z+7HlMmqZ7BWAhp-T#Pemp+9DUy9&r_r3F6H5Wk)aq0g=EQOlu%!TOY`=9hwV})~K?xX?aM5EFs6LVqzm+b8iX=xvcJ@mD z3=AEPfF(`~V_bAA@R^r=T&{N-j7ZYxiL)cbInIRFW$k>#PXDF&_%-B zjGgW6UWjcTS_E0g(ooPjH^0r}F{Xw4wb;3u+zac@w{R~|&=6^)g8^}H3z5hq#nm9f zLS^EtIn6p@!J6KNs_2zLbp?s5KABw&@O2s_Pm>l_ zx`Qu&jK{HM1gb?@Xb2Y!oe9OqJJjmES_xw{w^Hh6xN0lq-mL&oZUxW7WnG%<%&147 zNi36`2V|3J4dS>>265abgE+MBcwK`SvC-PGahse6ahnX{xJ?Ez;NVi`{p36t8sjkQ ze!!T}+wZXg6R|HE+7V8bO!T--5XEhRXcj6XL^)I@8TV9@Aj(lyU944t2)Y0wUP=&! zUj)*SNI+V?D{=P5KIz!!lZy#|OX^L2mP~23Li4S`Z0uBp`Kj9_dI+zD3#?ta;kE6K za^vVefL57^&0qKCO^Z%idD_fD+US;?uVX8SZN<9p18HLs$tMOzT1$+m7kQ@|=q zR>jsUL>9nY*$=<&%IsCQ`Dw1MW6ck?;4_PlHIKBvAet*|(g$sAS_8jmcT`cSD!ZRO zUgB$2#ee)Uw25n*kN-F5JU`=>_H8wi_(D7v_4dhfO|%xU3X*GH+b%d2nzGyN@~6+i z%r@?hEIuOn_I7LWgauAzP>-lDnl`JdqHOky_C%psJkOpdUF|Qfl*I;u%2d z)iv?AIVY#L9EBhsFm$GPCz&^_lj0*&jGUB(nT09!Xy}(?*v?JyDC4$CY2+?DWq07Q zvgWV#SlQ)Jbl13}!koW}A5lLWSqA6g`F1_Pe*zJKb(1<_Y6O(Dwnjzd(saFSB~tp3 z`IB?ld2`QpIK2(>Avr1A+Ug#;s+#(~h!?Mpi5u+;PKZC0REfd6>T2OUf$F9w+QVo6 zllkLjD~}Rb$wvv`-lJ{SuLkd&lK)s`LcsR~M?m5*HFa{*cPu#sr-_@$87i*u)X81Me9!GcMctWhzb>c0gp<4j52zc+$|(8RpTk9Q5+a?vs~2 zZ<4L}i}(iFO^<`=LQ`!sf82&73~=MXI!I{NvIl3-c2~qNsfW}MqTMy3y5g+WfDX_A zW^2+5LNc_6lUIiyB#RT!{zAza3P_E`lUMtmn_5zM@wq?v!LL65<%c*vmG3-xb=UXp z$*Y_Ie}8lFH!cH_gopY*g!MHjZa9BXV#Q3!MgbS_(HA5nEh-5fKWV_@_ z>W)pz+LkH^d>#HpabYQ@Hkl50v1OphvMurtJ~vCC8pV_R$m=(bW=Gyel|_bnsoI= z3eMt=69O&hPY3V8jDWeY--X%Nd?6AoQzD-Lo>4omb0v_S=gHtTIp^!Yn`R275+rAq zj^wu9@A=kCEY}1BMarM(biJ6u4_3 zcG(2{kXkrH#&t3NW@_`)sid>;%=3qszoYQsMneYAVrl-t=V84N$w#UL8l||nzC!8I zDCMWtWNegzcu0N;3^75Oz2Pm7A^lbCSgFe)wZFVGW-~1Q3|`V6MJtc8YnMPywiI52j~vm%hz zZLe*h`Gh@$BJHO<+18NHRvVbONBd19jyVrJ_$r zRmn@L5BzWm9DFwgT+Y=n1d5teIsPP_yRKK;fTA(&xuSYO;lY$h{RFblcLC-!jDsZ- zY|}7u5_BF%IfD;)g|0s*O`)Ydpqt2`G^E*Zu4dQI@EwU1B-izhdB(cR7YR5?f+%kE zg^L{+C(2F24-xNi7*(P(5P6v}e;v)ENDg!JxMo?HxvsZ=l0_1GJnJP=rFb!t9*rx~ zC^|SvmFSu#@9G=wIj+mL=dpjCrdK9CCkFeMYw(Ij$dQ`Z#rKm>0{`y)akwU`h?F7c z5CaaOz!)tXvM@-;abbv_=5k~jE;Bmz z17+f=QQV&{A#a)BR20CMn$u48;#5)7@Ax(;|4{{O*5(j6z@M69x(v?? zbWdIhc>s89%E#dnOR4+P(cm5`9QC;mdf<~d#T?k`HH`~a+h|x!OKn!#9#Rm%u$G1g zyefJHG&!6=g~^SK#{MBX$OY4d!}FY00wbVfSdQ?5PobX_yC6jOF(`2U*yGe=n(sPT z0GR+Ahs+Vk@OwZEVu<|51v`)078k1vRMf-Ue1ZQv!;z+`merpdVhHwBX0SqHNi(KT z+FZ>7T1XiN8{WpO&(U5zc~)K0zc^_(NJ6qm|2ZPoEeyPv;1R@4}nJXvp#M@UE4$0-d1j|QW%H7=Ka_w#fJvI@@w7p0Tx z2FLI;*f2_StD7Kq+Zj=NQgVC=P83TqMR;kdEJN80gz1{p?gZ8Fn3dRR#4phU09**C z^K1QynP0?uNnO!y*-c%5{!%(bsve!w zJz0R*esXW9hy;(IV`duUzG5UoagW@rE4MK(TBUu+k#i9AFa}BiZ7so^;%ru$bAUj% zM=i2$#@%fsoj{(qJ zZ$YP~V(#WOT}}-4bN25#Vk5JqlV1M zwu?GEMb5_dIT&7it`Wm%WUBW9HtmMWO$Y>h3ykitx!4l>FMLzEnGD>Q3KY;x?`S|$ zdZda0ll{p7>V-fkl&rWKSHY!Ez`vTcViRH+HIJ2^ST?$@_t6S7VC^0_)I)8K5OffU zmK7H|;hwIE7h-+ZYY#ratHa)q^DvG+AuD*y9zum7EiN3+JYdCC3B7vTaRSAs>)xKP z*N;!>@jHpAC~oyu9%Fn3;ssnWf0DFu<{&3GJm0K&qH;-v4dJ?E(0gwv-^&HR^&N)j z+`*m(yQw;1It<3ZwL$aXR37hs3Wfiq>z1zyDoFc7GCZhqsbIFa!f0J4pkEZj-NG`+WjOU969A64YgbPgN(J6rreatI>B!{Ad~Ld5l!7*Tm=`XZxrwu}#khbwdFyDi%oQoN(glR zQLYM)(qcK-3p3T^2<%2z^(9yiEsj(i>iGl6s_!bx&1$mg4zfq_Im?Bvk)k7_W=z32 z{`cM0PELy;vLG6^hvj8YY2|TEABaV5ryG|LixGa9s3ZjFjB2EkUh@R}r59XAnoL4^ zca8D{$vE)@USFh)%i5WP;9_O<3}6gpA_m4hhylgohVtVT$~mJ6&S5^f`M6J3b@R2a zFWrl+-k(&=!X*eGtnbq5L_4J2RObWjP+Zdb8X9b$mAjuo0`0Tj?q^S?XV6nr2p*$C zR~=Q<>cKlRrKvdEuFOax4GK=`@?-#vgpS~#-&GBraIu-bN)>ZNs&>yjNjqypl!DuJ z8g(YeZ*b3?%(@k%!HFE{$;t9|v=QjyRxJVcYw4%nDL>#6X}>{Tzj+ru5hrpUbe>io z{oeOqDw?-8AOC?%#rR=up9RuucC3Q^$e4hc{t|kUdbr6DE%L9R%kYkJ%9T@7`LxJt z9OF04#Wo?H#KqtR=ck)3iSDjCaj{twn=P%relAvBiHmJ^Tud&rz`e*)DJ9coeZz^5 z1;1A1#pekh(+MJ6Eg$Ph1aDzbTI`mBk7W|cd~7aYJos2aC8=@wSX7ev7^I)40HQGJ zNqkHutTcsLF;ViPe(pEc1wfR!Qbvggg~gEW~l zeMAByW&1*c(bN9!ECChz0IHSvu?DO1iQrahDCC*9LXP^u-?w%1DU3Dsh4$NssWxd1wd#)98IicY^< zhr*_p17LyT{!lo*bOE;TWeU+-pG$gc^N${eW1Mcj#wBqK?9S#{*vR;I{Cb5fqSKx} zj=Tn`tA==)@W0Nq-vgh*yC56zkRjL?+%w~u!-Zsc3KLee;~{vFGbW=>sgu6i3ZC1I ze#Cyow-FVFH%o9FXcnq|eNYZ@+b~0QKY=WaFQf_BW4}I(U4m~Oyq82VtY8&t8A+qF z2|ex8!6l}0@tw?KT-xWE(I|9`7VgB5M<_meW*`dbwji?c;qQOs0o{j!4*Oiv8wke@ zAH;=vvXYz;u4eHcfbISdMsVRLzfgpmzf7_EC=N=FDP(~c|E7XU@Mz=C^mf;yWlY{Z zi}h~e#B9CO5j>p>CVhdR;g@hh4Cv~hSx3iRD+lN%K^b@7+g!v69g770=4T)Jj+C`? z=s^|ukT8(t_sxgzZNAq4b~0k!N&-koE$-5ScWOMfmD_uTRii<#C<-ZP*lecC%6IwM zciz|5fK48aoYsen($a5!3;?*1K47}8Is`((#-4RiOu=0lVKMg}X4MPj+Y4$|2vx6o;iGGfgdH>+PGd&5Kg7_pScC9(9XdEnkD zJ|&FA^q*DU3&n#WU3^YVm{-j!)CMKvPI>yXU%*2e!8dw%ply=$;Y@vs@;dA&_>T`h ze6P*hSnodXh)Dqum(Eybd|z7p^u=j31|^V}EZ6PgPuI}8f+Qd<$M3T~*1@K2rGRxV zwc0_p01VCf@oreU&*V23oF7&^zP~AO`Mv-Y@rQ2ey^l`mihts7N7tu?Zu1b72q2I# z!ch<6(}!PwGgWbt)0^K-kT>0pPB|3pW3yuaP%$`76;ne(P}^aaa&XLv&KS8UPGiWM z&!w-Y5=4uxsZ2`9%d>6mu$Pmtkmhk9o)iEZ0YUI3XIv~px z?1h0Cflw(hAvBQWpFI&u-I+L6AA6)%ZNt%f58^WQq*o7K-6vM>Aa5hp-_C_GLR`au zCmXz_!+wpo)>ISrCAF4kv?RD3YC#y&wOskRU9Tnn?8#o?Xd}wI<{7#$f49z!!{T>S z)~y_i!w{_D3}(rFO+6w@sx{S>wK;bP=Wm{@@MfGYd0#n+r^8fmRde`VV44`spSW;=fQkDcZg&F0D@L&_x#p%zboC7z;IKqu0g;k9@smGL z4TPoz%%B7oM=D!8B8Sjrj~zocYaQ-uO=N-8WaRj^k6=lrelwPSv1aH9sck~6(>7qjuO`np=fl+t+@WhVnac=Q~I4!MC6G z9?`j-@^<-7YB}~?ML!CkwEeKYkolSaaYzzTVQG-|d1TV+jm0-X8~d&+mfv2O#+Eae zj+mi=I}qb0SIZ1QKfxWzMrx>q{gNa{Z5X42Ow6%alfWHkCeqM2e`1a z#kNi^+i1m}emKFqlj0}1tW8#0md`kF>|_m1ahbU2f|7vHG4Kw55OjkNHvmCBf`-s6 z*J>U5RJd{qUFSdw+*)VTB#%j>0POIX)d;fMru&Gb_4>e#V2`eepLM-)N8AaP$(6=e zSu!F=$Q<2vg+LffWy>VgWeEi$*vt{2xb{aRvP9cZRx zf$uMM|0t7*PxC#tPvyR;k@6Y z?H5VWx&}UX^#;sPiUfXp?~S!UjAGZqFWEx>ie2EoXOpaixO=+{r&@@3KGkYVSfOc*=Lm zr$V8dq1)U){kPcQl-glERxFKjc#38r}cFB93!S+b{!6Y?OsXP{xMJ#(&a3n^&6 zhboCze?M?D%y)Z`J|sR>Q6`bA)kDyhb-j! zVvo2Au4gAl%Cq3X~>>x62~W)>L>y!_+X`#f-K`2 zn6{$R)$-?#+;VYue ziZ59a=zAtt{4}yMTK=pzPM-097U$VKhdfl|U1afD;$}pfOUg*Du2H8law>ICX&ddg zA3GxR7Y-Vy!Z>K;qa2~^nwAnv2&JaRzmP&4k{WA%BK-SD8qOo)CDuE8_cKXgM)m5u zj>mNAzgx`i+#`o-KKn18KYANzG{tO+2H|8jML%b?@Qw=nz?xWP*|HF99>JRdiCXDE z1^$;<$p9<}j?3DV!=-vPLySU|)@Ln6%iWTMIXfrBJ6{^@PeXAwd-Th5I&3K#4oA7t z#92`BvI==jiHL8Htdj8r?fh`}1h67UYqUdMYW6U19r&=JJi)dvn_w}qfbN3By4Qrd z^-n*cZvP8Ap~zkH=QN>cd457UEu1_~vDwMdyC)Cw_X?8-p6}$5^)q?c88jOIJdB=F zNsp_fw~Z@xMOsOux8hRWDql#uE82oBwV7fm`C54r3D{a{Lx0&#ZMlMA=dVd^@BPzL z+ns-5sqNUG8@18$JhhpM?Deu`tY#^T%Zx2=?7@~(R%ShyK+9bBTvB;L~R~(;| z=7!4*Os{rs7{u322fgzh^Tj{ImznvZqKC@=R~0L9cXt+&{32pZ4RbG55@#jxs=i9i zrcCZ+B+c%p?d~^IbU*X7`;D~NPe;1nJO18LOR%dPyw^Ta8)UMhEvk#{txy}gqa6zz zI6U^&-MdeT=*0=aCI{RztoV(8Cqixy85a||Jh}?}3m+y94&iz)i&l9iOQ; z$2Zi+#&1m(x**yPbRMm5MMGtMy1S&9o9pco-QsuG*(E)_bA4S(R(spk zq&B~c!C^S$?wVm~JryE9*!_5ltC$D=Xb@v8yalPR*%C^9$kh{)QJK+FytASlSE;x7VI6dA`r{&=t zBuVJ1re(5KQ^dJmMXaXcop70OE$S2q-yz#k&S$3>?!fSG;fT~-N1j<-hvU|D$akc@ z=ap^g7T;yC)h(QdW-Y773(iBVLn^^biN-r_U5MDra~^MeQ^C)2hfY>Is@TV6vg?d$ zCg$T3$a?m4$8!ioM0U?1kU(`;0ENV8bOnJ^CP_C`uwR_EEbetZ#s+tbDBWUGB=0$p zuj@9yi;I!8cG*9%TfUmZJj0P3=04p4&E3>lhgxL|F?D!&?fmRn$IHy@u`f)Xb<^xJ zd5GX~1-Mu(XdZwQH{q^@OQ>*bWYWx|41tmd4`=+0M28LOcZbc}U2PA~|tpzZTwxAwfSA5&s3j!m}mwBs8C){Dz>xkm+RPi?ViO18kZl{Uh z606qH(q$j?leH;(aCxG8`v4X@sS0_;!!a?_S?!qF^;>gx{g&>7Y}dPZ0a23YPP^XI zHu*d|xk*TP9y@o2%>#^NifWg zPKZ2Z=m<5HQqi*=XAJ6i2DiaeyzR=$0C&L)B{5&I)bbQ7#YCf^(20U^y(!1{UKMFG zok&<6p%}hE@YlKVPt8`si3(nu9yK_4Yr3JV+N_WAihH@%>Z5Y6)n*vw&F8_((PsJF z$)Y#|hBpIqN5xz&;85M7cc%DzoCjT_UtwvonOKRqDKYc+*TBt7882Hyy?)7DqG>QL@j7}&V2ydhmD$lIGGm5pvWbU3%m$W{W4lHGyaU|mLMON&p=vIW z^)?r#BPwvcVP6J(c!ZqpJ->4+AKUI&-fN!vD2VtcER?b!sql1NGN(~&ipyRh*vFxi ziU|)@!$jj4H&0T@tR~z~yWXnTAi1_?>FUI}@z3(5^gsSSE-&PiTg)X9wdYI&QE3em zS)x2yVaB<*xfC-F+&S4sxXxMQ8vl_Ij+F72sdISzm$)I(Ea9H%%qy#?qrRD|rJMp4I34>p1o+ercQ_M`ZOI{B64$n++OM3@%rR_ zFR0DKSDyDb<%iU&-I#@ zB--)#SD<}xixGB+W5yHTj8y_p`ssdeoa(n$J*~D;TIcD31W(B9xrR%+QV+_OUZ?i~Xl% zMx4K2uXc-o5hv}IEGxD|_zb)D5*0G?e6zVuRl>4kjlP74m2_2^FEyB;2Jr6LY+InZZ}5%1X%+I+X_9 zOLi_X&X-^aA-$HGSNDGTmD$U$@G>$)bgE_9UfCsWm-{36K?F(vvg{ILwiCR0o)t%^ z(5|s+XO4JA$ny& zbVSSES1+Gf!~uCyV4&bG>SI>j$uA1;NQHoHAz;hcV?r?yPN?^#_uiW>Hz#1=>NFZ2!L)_`~$2;y>m%ZgmPA2u(C zcEd`4o_53L)hHnbpeuQl$rcuCSMo%Z;8E#H*#E;jug*%eWzRBwQIfp9{Y>>rzU5e- z3vQ~Q^nC>B=i3jQsV;Jh*~{F)zKQzq^K>md7bO_wUCE14^6|M6dC1TO+3p<~#jyG8 zti)y?#7xS~K8k`26Ax%U#y#3g++XA#))V)i=KhsxW`Dj=q>b~O&^g=2&^(^^FQAI> zUGrsB`#`Ut6xif63^vXb|Az^EUWuomdj9DvJbl@xUyrAteg5f%>P+#+KK;=cAckQ6 z>Ek^8hzjZ7h^Gw4{L_m({YjsGI-Y{u`KM3ulmutP=5z5BM9)9H#M8gy(|;6CLHhjD z7kK*jefsxPe;1#=#M93iT@eQNu=x*zNV<2Td?%si6<$5V%G&T`@tatPeuOqLYzxN%_g*pYs+=ak?gl%~$5$`gM3K&;KYt*Ka#){@=M50EUCRbdB)fN6K0K z|2lp71B`<;^WH__fS!2qr{-S#ge517kIr6v&KFU}dGX1)7k@Rq_=(wzulVAt@#5c| zd-4BHFFrMU@d@^>G#3Ns|8VX_z_95{vlo%G9DW%u{_VzZ2;IsT{<8DP;n3r9b9$iY35T<&MDC(w0?H>Bc4^WDz&{=Rnvg^!h0BsTV1PwQgobz?i2MS;XZ)x|V?!8-sA5@w zZ`S~1(6F5oY>@k|HzpLL#sL)5YS3f`0kYUIdJ@(7b`R z-%vhD5w{~;;kSC{#$Lln_(P}0-_3Q)5h32>#AMXsz@IzQHFX%YEfpZ*(%B<2BdY8? z#81kw5e?2c4&ge)=P5bIc0$hw=9fOh2w1_To*jf#Uq>KWD}=?-GuQvejC3ZNWU*Y-Y1K*6mS<1JQ^jpQo>!7JRT)?P{Li5JP{>#Qo>!7 zz+I{5Zc4a|k|(3&{giMQB~L}k2Pok#O7M&E)dQ4p7bTaXP~@%8v5@)u zs72oT<5CnoZjrYZJr_k!Smdom=q~)dXpy)6crl8ew8&eFUW%fpEb`W(m!s%ui@dey zl_Trd$XkmZkD`|>^46j!qUdFdytU|J6un{* zw=uC_?mL3<^y$j*;kZRzVb?+2KFRG){+!#|VP|Ut{Ao5n373Fvz>8u)byoSD7nxUK zb2x=B3{jI4yLgndww}cY>9))n+c?OYGd!1o23hPis^Zw_Ds~)^6*-9}BgC6~84jH& zy6+NSYU;$9Wt_{@lDIR+nIiN@<8KEJUxt6oSo0wz z>sEb8AwA|}ewoS>4i*i#VyFnH#$RQdfS*?5XJKP{2`gM;NE?rIJJ!oBJdJ?vBxmDJNbB>8~i`k3sFzQ7TD8eQh4z7t zwxc__)l0|i-3axqdK3MHMOVGy=GZw3C5xX!=t$##ss1lNKs7p))|lPyL$pPR|5o2v zNy@-My+T`cT*h2rLj-~Cq`UCToZz16Q+x5TXINY-Q*y0^?;tK0U(}T&Z|8Cvq{FC` zE@@6zTq|yuAFilR|Zj|Sn!6wj!LkAm(*;=ZR->clclp^@1Z)|5mR)?1<0@;AC|H z^7jN&E-Ur1#NLEL_BIy6%-#}TTZVsl;&{X&#C9+@a0g%OG;{gdvCP+eKNya`rbxm^SrjDzaxW5F!2nNVUee#F@(oG(^M z0)_NxR3A!x631PiP<16IE`as=`b0%n?30X}K5b-}jZ_qlwh!1h{_grTqC5QF-6wf` zeQ2Ri9E&Wq#X9AFWwYiTfTwa*OE$U0fjnVI9mZl|TFD9yH<2oHJ6X-!j6SomvtOC6 zCrj*CwlzT5qe05HK{)Y9iQ zr#2HK`J~t?L)-!j9&b_!iQ+f8-K4N1I<1PghN8_afoRhtXMPzq*hjzI(`yi}E&U8{ z<(Aa~0vQ^jZk{ON6mLrF7q<2$YiF(#KEb;3=OR{;Pw`9|^bltwUiC})1n-~1qjV## zB5toEkl^jnDo(vis7vp#)JTA+(M7SV)=1|1XN)9hJi;t+#@*wIr@$uJZBfA{)y}3X z<6oZ{k*z)#i%>1+u1C%D|D(*SfU0qgu;OasO4yiz<_xg%Fbla6l)!JKauRyVaavkH zmgYWVkT`OE5aONf5LV~RK@duW6cWIl%0v($JSg5_eYAZc?tGz*i*S7DzXK9pVz=?? zeC5LSsWfh`)A9Q(Orke=v#c$4`>stfkKe|=Ub?$e?`x%>8-Bt0``z&C8bLgNAD53m zB4X}N1#C3;J9e0Jlk^w&3G)Lt^!Ok42;rc~oym%q6A7TYHSr^$+AW5F5^>l%`n_YW zbn}nx)a(Les-{_pm6%&qCC4|z4>wHfq#^bx?%1y$cTNQMGwYlP zz{j%=k0^PA9oC_77oVjQ_a>{**$Zs24;PQB4~`<>1GIfT49n)LVCq_MzouepjL@KY z=6@EMSU@)g#fKrpgbmwY6gngnqCzo7FoC>fU(1Mme+a=aatWpV4_L*E^Id!PXL z!dPd7r( z#dHv@d|j`4;;=PHU3st3-1ltIwsCT?(kbS|wOkmBokg5Hw+knMx7z~^fsrsB10%Q6 z6lc6M=%n%j2lN`1aG++#3|vd}K2F4E#5^>phprv4X*)iW5Ggf4Lyr_4A=I3z^_wYS z;+uxBN-5D-l37Le4fsGiJLA4y8UJ1K@1ivj;*SWlRDHmC3jwAA~#JClziS``xm!5}tWLPom zb~yg8jSpWl!!pUg2!<}lruCmzrbLTGk~Bsp5ISM@6~S@dCx%NWka6%zk|v#!^`^x? z>Sm$TOw`F*X1LJ!pkx9^HJ|!&wmSXd^b>!L`DI!sMea^|V$d$#0665twUhxpdx*Ta zeGn@l;$Ctykfh%OO%M-_nM}-Bg!YA^eW43|NrM<#IysDgj?w-yT5}8@SOTgTL*62B zzNP&*8;DNFDEiR*ZWJLnJIUp$qsY40H#CZ6&~vHVoi5=m?U@biiT{tiw}H0os_K0A z$N9SV+*@^$RFWbU$UcVxZfPQA6HNrgyY7IHkRTCh2JLW+=Dp__t#vaPRHdwDJRx;s zLb}udL1P<~CnXTC zniRF*A><&F2EdN&KOJZX85N**>5oFFwaq*apN>a=k&;0j^TyDyGJ^RgteG$!iKFEbRE4jaE9Gk-cQ+%#=Nh5a zs-yg5T_-%9=VK+8q|9~ExJon1JMO(CdNd|_BPA;>XqYDV*9uTflniJMG{`;%seYgo z+e_L*&Gg?_UVd2#Bc0}N9RLKNVb{kXk4=b#KB8>A;s&CK8ASn`6uJPy7{cVnCW;ai zqbKAFHW&86sPp@=Ey$Q=`unIED6xAL?7!;12s4HTn^C@)A82KXAEy8ZK0m*dA3opD z#BoO(G&`xDatfw?`6yQPzPWeDtNOl(k_gLolRJ=pwNeF!TYu<87M8-j{M4BQ7sAJM zXOs2%*N-LA!!j4O8MxBLAf^)60wL-Q6UV1lRoqqap$wwjEi|!_tdXOMWEriNX@?Au(&9*OeSMxv||SLRWKW8C0rwk-W|SXWv|2_z?ZJ~Qkjk(Lb=mipjFmx4c1v% zrga;1x&?kTJz4p?n#4>kYTq@9>lg;Mv3OW)|J$d{OLW@+MLq)s%ls4yCb=9Am~@pd z5qOLwptvwv3qTw8c1vDOw51d#^-zYeX zXgInMjRzYXV~y>KQz|G8%m%0P?3jhOC}w2n-EtFV%aM{&FYpNWhG` zbjVqgA&1d3CLOJRfeb2H>Y-{(a;F$vE*eP(652F_I4g|~mTMmEMTYYosm@iIFo8f# z)Mp^-97Y~_nL?!Tt8`SMk7(2$LxDrfyard<=<7rc+*$a;9s*X(6!o_B)hK?U^)OaR zA#Ci$=xp|YQdN5KH($7qbV5AlNJQ3DprZEk7rUAbsiz36?VchgR@0tJj&JvL0@c>% zEb44Wd$=V_B=C_B+VCsapDq1Q1b#2$o50_1;HS$&3n1zzXeu|Hz+)76SjtPX&O|dF zM8#og9fY~){mnHB>%(W#sL=HeTb`IuAkEUMR^K?xvM3wN8ZwXQkN*jn7It;$rq^~+ zpA9Pc@E3adT>FqEW6NrauEe~+lnl=P(b+_BLMUCjHK!lyC*vVy>5G^F**Ozeti(rj z?7Pm!Etd;!G-B40#B)Sanm&nTV$D<$@lFmW%eW?=)IpF)Egj1v`hh%D2XH}$x5Btt&C|~=X-f#7PzH4boMbwhqMYN2hB^3n4RQ=KaEtvLdFd<(SwPHzHlBEc- zZ8HlGqnI)4^<1+;F&Gd^#Fu^^EAM zhRF6{Lb0e;OXcTbi<#Hzw3Fisa<@A_k5*UOXqDe9E`~fwk~!my##pRUW7N~ySBpf0 zX)ba)&3YH(LOny1idGkn^G^iMZxoMQ@FUm<2?3mlvqe2|3CJy zmr|=R(uk%6ZjRxVV3n%eB=&zY!zweBtRXn<=;$MHZoQiY7>60xrcgwPZYCzDQshBe`lGbUhFF7E?&9 zn$vD+E)h60TJsS7+T|E?`aCe%+w)s$LH-{Hm;8vrupVZtOBPrs?V>-W}Cm$>|dQT}%oA#g^*H z{m*RHzPpp}l(Z)^ig<#NE-Ob&-jvJ5-nVtxU} zhR9?kYS0peha7l-%7`)*kBihEPK0S~Jf6o`Q6M@<;`KSITBW-Nu0yVCKy$27n3p!x z#Rx}1!7Zw7S76H+e`C5J?XplXpI`=@{t~o~6N$q(Xt+ZGdzb&07tVam``f@id z$}A$q3Ax-h59SkyL=hcfinn5%M71IkHHX|W$YRP$K zPKB5ziX3``ML7SiL|B_uo|zXMsrfmduTA=1zQ66ava9xp&?QmKqk>!zih!LYe3s`! zXjiADVH@?Vp#$WJkW+8SrZSMprlqR@qhF!cpaPj7r%!fhs1xII>z1^U4qgK{q!ia z9D!X&Dl*i}bD|x89zr!T#(*8|yHzp#l}tTb#Mgwn8i8o>% zO?6*#xI^{h@Ob=4|KaQ$ph*PAsifFU`mIgvdPbHpP=3zJ5^knCFZJuG zAArRKmdqZ&RyU^HCjzFvmxYwr5-HVO5zn%#>ZS}N45w_$w%~$97TsvUbuc~S#A!e= z*C$X$3$F13(`E2-Xxa2MW5MO@E{wwJH56DIa7!C-IU^t%aIL|k9*T>AxP7Gq6|pvm z8Np4(XJiPY8_{4(ZOMS!Bu6S7XoG#0^n^u>(ksI-9DCb|WPpA6XHUpJ`z3y+_SrkO zeElX74gxu|!)p_9Xd+u};pJzbC|*w)NHr?|bk7R{IN+K58d{yWV|T>?4r9?#av&4~ zQ8vz?a{5)TMI?QtKMcD}X{j~0x@JN5tlLDcol`EO^D-} zkO+oiJEgr7RAQ43ruaAB&${UdLRd8XCghNVEh11cKxNfpf)ML2cS0*v2}=6x=D@TC z2}1v}ui~?hoSx>oEKh)+4gaW&yo6P$7rpYP02sq)(iMMLm~c`DALyEMX0P^jv5H8- zgU)0gJ0eZVanaVbJTsRPry39F|f<#b?wqdALcnI^t!fkUVL!h^EY!@Qe!BzYjUd^H7gd1|p zIzg^ig5Z@>0c22+B~BJO>Ocs>F3w5B>I@^I{s9QX$nc6zTRnh5HQ)nYvbzQSk(a@CI=_acDP#|D3YO0~ zXJGmOB18o|a)fvk5aWP*Y9p(2 zO0q}+Yhq5fZA8wW&(L;|A`x@=DIpTAC(y4$ZK#6VCVT=Ta!wJy+bYZ^eOG9GC=w}X zbfS4%0E(EPEVayUv~JgcX*>*A?^J-bEVXUx_SW$~>j6Wqi&hGjMM=c;6tu~W#jrR~ z<_8@=7Q=uPpT_BuOi2QB9StObic!)z=5$IE)C)dZR^(!xt9zPZ?w`)BXBI{Mw=}2_?Rd;hPq&sb*PKDDMnf0T+>eb3Y6YR9kN61wxqG( zP)iY8CLj^fvgHOJnJCEt9>EVh1%BPVdJiF-M&6rIWIHS!VMm0=YPndUu(My!Fa&Q+67RX0{(Ddbq>aB%Z988;;VHYD+|k10G1} z97f|NSW;$^^I=&h!NdT=iq27(D6$wALnj{NtU%)ouH;Q9>?6ppkcXy;bP2!tnY`lZ zYUmt+B)htQ@g6w(UKEa`4M{tP4h@uLdF_xT+5*{u4pB8VTp`(EfDBHCD_Ue*gAS`0 zghz;N>>Qd@&=Ub*Yz}7(nClbs1VPpfKVf7rV&_(5e;!p;mG3J$a`25Q?1fA7-z~p_ zDlbQbWni@7izJ$3@(7OE?Ka-S|DVkNp8`I#-w$6_93yg1P;aoodMm~Q!MfpyjKV4gZPxEtj*W}O2&-n9m`23romoserY(9rI zoayIh@%jGLcg~o3qJ1Cn`M*egKZDP8)ZeA4?`QBiM-Mf9KZDOXSSbHGT7L#3P3({Q z{*3?pEvG;5h_3n9gL>k^>hG7Hz~?MuiQPc8VldcVJfHKhmPe6vZKQMFxnCpTL&9|) zh~e>WYH10~%_HFv?X9+dKJ<<>ujhhQL{9`3Fmc)T*K@w3{0V;@EFiTD#NuZkAtB3V z)i8N3!;$`H8<-s;>@m6>VYbXHJ{d;#tqKeT8Az> z*b|QCNs{1u`emmN9Lw=3fg_Cw-9ByL(8*x+@=avKqs0!3|f%?%di;%>p5zmM2x+$wy^}EF6*k!oGhDlRaRu7e?mOJ zH$9f&hvVXw4)`INB=>8tCM|LNb?OgALyy_HgRr37mx^d470LJ_elJ!=%u*c~Kb2qH z0pq>t(+yR{w#NO^LWq3vfK8mUG)n0k+QNk0UNXknwTzKfPvy;pwMwy|W>q)(JsQ72EU&Y=!TAQx5_>4mP;>vO7$M85F}x}1cTvZ8IEsE~hTwd693jmrSl z8Qm&Pko=bMBTLzCj5@)?z7od_SE@a)o|c+rU$3&P$i2cJ5@x?xI^t+@PQ;AF$WrHv z;rr1}6Lbj)XLf^Ok4NRcF%C*rL5I9xERmgT1CYgj<0fNjXZzynj=9W7@)i9YCUN!> zYQkUK|I0s*%Ff{py8Gf^-S_iY;$#-~xa-)p%^(TKe&K{XTBJm@W#a5`s~#-Ky3}p5 z!?DzC`f)1jkD1$NhdcD~ygud}kB9>ychiqk+4^G*2Og+SP3##JB=K{e0pOTS4=
    2(&$JN0pDe;&Pk9lct01r-Fsx=_xFu8W#4}ZUqZD zN!zfP6dG7sSt)^SY5ZhhInM*V34Nq_HPYg2yvSIan1Jjx2`^+p+6oq^tPRV*oWV}zRPJnpzq1Cvzcu)z0ce9ii^?_x z0{}FYH=S(NIgsbsq+E3{P@H-*kJN!tbb+>!LtCE6H7W`7hPOH3bufAQ zbK!0-py1@EV>Ed#++0iohTk9OQR5MFES3YRWE}46Cmdf8=1^zIsN2cPENAtjb)qPR z!?^vTPQ;DOS1REW9%HQ>&x=3cjJ0V83L+ft8j^aL?GhQhdNtjI^O8jC?eUrRWR$Lc zCYoJr&#q&bndjB$hz7lBmK^ZZ)E#%w7X=n#g6GW@>;!Unp;i!{)2SFiPc$Vkr1#BqPo2;Lz6TZ%$F`ISA?~2R?N%87#o;ZlN16T^ z+1|8YLzFJt`^)1pCk%M627kYl5it)vXppeySs7>Z<%BJV?4r>#=no?|kNV9coVJCU zoXppcuoxC3$5d{k0)Zge5+!*yyF*Y&n0V<89v-eHDDgBAy_x09F|B9S)9;eGGm|-= z!&CUnX(%;(TAJ4|A*i+ME+b_Ro+ze_q3}{UH(Hkt4wmyh95Eb3OVV3jo(q@Vqy3vE~;{ zqlsW}1n7hiZFc@vY-;>mj_2z}$v_g7&X2rAG;zMT8Xj)Rj$K}H(Td|tGVB!?xJ<2e zOeY?&7%rWdPBKx^Mq*M;`N(vp+o0O*cck-=081 zp@>cpht0`Sr;JxoCK8RzH#bmFzXr^8THxJ9iXa>QCRF+)`5u*ZgUme6wxM%ofuzp1 zp-y@)G|WHXw~bDFPAuU>aK@91-IIPqs;HU!3Z^{=8u(LJ!X=<^zDbP~^1oOR-_1i- zg+mGwuQGK_9!z%>>4uI9%h{9|(mPt|DCi!~m}Km(epuTC0LB4XNxdxPqc`Qo4det0<|!6$HZ=LFX-roPRQ9{@5fJm!|B?(nefs{ zks55JrUKY=%hpZsnrz+t$kx3B=F+xxUw{reW9xpBYr)n%Uo1m2+-8#<&)4t5ge}0E z*t&VDQN*v&OSbL~7$G3Rkv~XSni~-)@&#z^_Xfmh>!#|wx^Qai-lLXm>wYpHJrZr* z6Uco0RAd*->dc^t`{F_FP1)g-BwmcFNmLt|c2Z1Rwr*l!UO|=Ey4h)J{hK5g<6Zop zY^1h*U&L<(KE5(rwV2*4;mat^14jKrbJaypv4mVk*oXMpU-${wZwT z+kK9$yMGE>_jaFS>+YYz*1g^5*t+|tuyt?uIkxWpDQw-_eU7cWe+paocAv{bbqZVe zcAsPGZu-83t$VxAv32)PW$WJVdu-kPQ`ow<`I!_)NF_{0|ZQa`;16#L|ftDyv zj2x$nWb20QY-a1;rao<-BFa&#pcWOjxFSn$YwO;oGVPl@C2;F)-P_bB;Mn|L1BV%_ z0d5Oh_coO|>S=>*dbUu>qb1^#@4+}4U&0m z>)sBc^|tP9>e~nrvW}<;vf^hTQ$%axeIK;OI`9g9qEkgbvUN*|*vi(uee+XWx7&;7 z4$&+qmWja)$<|Fno7=i&DxR@*%ctC9UERXg%~o;Qx@$cg6}~oH#YMESd7mF`8rZr? zor)?YTel1}vUQL7#nw&gHQT!P@+({S(^3^@udk|Zt(1@h1iLUk^J8200*0k%>z19G zEa=H_msNXt)7ZK(W3RV$pCem0W@{_MrPK?Mk%aoERAaqh=~evrLT6;=k(@wAz-X0gY~7aYux5@L z1q;EM{7=!|jn{9zy?ZetPqkrlMCxEX9WqBHyT)u2Z~v3YGTFKZ`mY$|u%OXW*0Oc` zF4?*{EGLddv~_QUA|&h0U*^%)J!;vyd$saOgyyDQsLT3eY~7>Ud}Kp;+a$S3|Ld~# z#~KcVuw>vCI`Wz{bkLAb)#l+jq&scdxplxuhSBccf~B6s zV76u%Vi9SwyCa(o>pENaHsGWEpAjnC5NKE{z&}^Rw#~323~xHowBoWyD6P2i8)C>3 zDx~i=k2MIj!MlYa8nnSX0fZqCVr;D6KGvsg9Nhqb(D@ab$45-MQ<%roEV#nvaV)?x zkF(gwJkF1pQx6wjGLLKL5X`M@9^Z9l=JBRk9E9MK{c5O~UrqCPlZYGxtp>G+O|~(Q zFDk_yM*>F`d9gZQ{CKgd#E%y%XK7lL-%?DtHjghxwo+TPpo*Gj+19;bIGHHyD8oP; za;&^ZNlweUn~lk~t${w5nIn-iyOx2J{oJLdM4A3wDyS?$e^+7bMs49%-e96UEY%sTB`0`0QkW{AQ3nFc3Dqo-ky2)TZ&nwxG zrzXrEPiiAM!N;2#$&;n&imF$eIpa*2mbclGiLpAFKRqM)Jg1S@ECq|1rC1%Do`}*$ z@}7@Yub)(VeDy?)O0mqzVh*L$Q;0xr#Lr|TSLSY<^E(i$ zFN{WVLS>VY`~u0zTN=rGEhBl4xr@PhcP$u;g>heDTs=c0xs9(ddJVEo<{ORVen%_l zvyG8FYZ=MGfsN$kqs0w0HIlb{t$e)@P3%2P%G(;r<+1EdDa@N2lJ9qF=#IR$cEe?bKuC#75a;0bhI~1G=7rFLrO$H|> zn8UvVcGXr(Li3 z_9c7Ig^Lb&XTpLaNaw;02g560K!N4&I1~%$a_)Hkh`l zdLv7m7c3$0@KsF|mM@Smrl4UcdA7in#uQlyvuh@2LN@&UGVeD5w)5I~josl$iqU5a z!tvbME99_YpPaVWR&pn3w~%&LPVZ&S+IN-W-YQ%=qMj~_dstG|MLT7!NMlb~m2EH9 z0I?Cc7ZYvb4GtF_WXlO5avCMz!&1*~Ue3h=T0ugMG^;e~>J#UIW89p>;`6v!BW~7LWaI_7{FAihA=D7O@%(C~7`Y(Z4 znEjVz<1r(EBZm#^<#Iitt9nxzZbs$1#Wp6(8RMxLSrZt3VUZQY#FkMRE5tT@m;?jr ze76P>8y7`zZmG~T-!1wsq^x|mxW~0mp31O9Ynp1)R`kp}pmR-2rIyCe*LxX~x*P#JLbGH~y)4x=^pLxU*_z}*gE81?< z3%{SO?ilAb8Tn5)U6%gs#5)meFHBZrVrD@HCSs z>x7p}PzHtf2C`Ek&g=SO9e2QNPzHWS=x@~z2D)r^%_$2(frLoyd4z40VAI1kczi}H zy8(}dh*49H6pxxFSxxw5xr~k87ODNXAE3Z2!^K~gbbdid=nisICgrkby$$$My(t(%d_Yg z=cX0{q1pFUmYrU=2gv4b168kjnXUB$vn>fg-6ML#Jl*6C?3?P(bxJx ztFG1;7);pJ$N!-s3DFvRE(YU%v!4&lb`BFC^Iq8Io<`lsi*Q_7*jt?P6F>@onQ@!b@hlvd>*3Y>iO zK~updPz7kO%J+cX0$f2aH*p*U7bznMtGd?lwBh?lFX>EXc4*FPRZ_>%?@sI_j}n_e`I=ptIBTd0v^oCXdkhf8 z^}8@Re?#QTe|<+mAeB|Ci8ds1&n``6C!CNsLPvIS_!a1H!f7zQ=`al-ijgZ+%@I~M z56vm6WVc#!XzXB9_qnMET@Td-;Ix^!Z*L-g=s!*E=)M@bh|S<{5ro@60^I&+DC;`kY1NiT1tTnR$kv zqilF*<{5ro@60^I&+DC;PowWFrRw|B*qM3S17GjVeERhJr$2$uS)vk~DXcm^v1k=Z zM$E^wGgIt6Z|}^^TRSsZ!X)jgM7@zRugiO9CT0fl^mYL)_j#yyW^SmyX}zh?J2Qnk z1O{P})%Y6jVl?(CCSbiS(@ZFas(=|nRj5yEkt&MSo>qMuLsi7W#-fr0+}_JhA2?Qi z57TzQ5oAK2PaC+|P?ZL_SPQ)8^npXRV4Xkx)}vZ354}u#t%y)Y+YzCR^p^E$FR6Vg zT3gw+s8yp#w!hgpmD5FrWJk*>+kr!z%BJ<58XSmTbQHy?*0S#Trg#*Vb&(i7fyDG9 z%59eQmjW9bGDZ9aveI^I2nC?@_HImz5)MUEy~L!bv0d?JL~#U*iXShx!YA($Cmf-I z8l~FgzH-8~jZrGBs!~`s-;BBFxs2?Afw)WoDV$D}Sc)Z*67&g*%7QaD66dCSA{>@dR8LCPn9AH3b%Kq3 zF)Za=)t*;Rm9--5XjlJL$uPe^&M!%}vJ+x5V^D7&>M zKZd1j@^LC#N0#giKckPW3U=@h6)|>UlMhq5`a=x`(sPTtn~;=wcGuSD`D%A9o3m!4 zQYr{#itJ0Wy`&cr?P^a6iqq!kH|G@zB_5{W00tNdR};YF8E$?95}@MS&2$9eVjIH6 znsDbJj~YVuxV6D!^Q~&!JZL7lwT+``&==8(z@bl({7=*tOcQ zY#*qCu_dOoT?b2?*bu5%Mtg_rCPW@?Ymt_u1%bWL2D{l~+us_6Eb48rXJdWZ5D0~P z0Q)SVXdT#&9!V%f2unc$n!st=iTWJ9$NYn8Gz~fYHtv^`*<-{+uJ7HGI!I+BZP#eg zZnfGsj~e{Wh>Wy(Z~e5-nD#j^=$uC8|AI*FENXJ-touW(#9*@bxy9bdLMndtdT-|v zSDc>Q3N~q|jtWK2<39Qo7U-0luv`{T(bi7}1TE39#B?_60$jAnLjJOi5JV|uubybF z_>6(@jqgEBj^IuNr^(*CboK@rUiFmKkrh&~-lhE%GQ*BQ%-&Z{a2N}Q0ZC0|rk6#x zqYxN98)GGjE250o)TZ^TWkeY>^a};bvIfKZkmv_%U5jvPny=^L z7UT!%iR5LtX<=_&a7)^9bp_rfW31k6OP7tY^}#J0%SVh&%dZb^F~)jrjOmmT*2+%g zJ7$%PJUx{zRL`__h)dmfFu84r3kI#6-olfvj5t!=g?N9V@4V|-BjRMe&YUrsMzdg@ zcc4c+^1h@LM$_U-AH}9!qr7c)fFki?>PgGYfSYJv<0Gh<#}h0Eu>$R{y3*T0nLqV* z(8pZcXJ@yAzA85OJ(rQlOd#SJo!t!jeVTu-0z-2C+HpF&7xc=O++#WPR`|2_!*ykl zUy>M=qE~$Sv=EVkSL&Uf+_M(T zDFahxPUL9qljGa8D^s-qRXS@!Gg5IC6T&Q!1LHL1341WlYVW}$h*Ywr_RvL%SQQFh zZBhh5cjkUErh`obk~Pgkk@eLdinRA&o)wV~EQFU3M`D?jjgHiBA$ONT;SP+?t}5y| zKSq?Cr+tv#cB%MY8n1Uusuz%c+)@p1ju9oqsa!bjFjcr9E$wu&a9^P)&C_%K)Rl0l z;1+u1zGBl+hsBsyKitr`X)4H(~*O9ijrt0ZM)=(P;Wg*+b+?sSGDc3 zCzjrdC{cdHbeIr@Pj}m;f|OdzL&hye*aP4csOlwQhBR934CI&vWerI%hDJn7Va6tG zE)WsHYqn5+5zpC{TPWw_7Rm>v?ucoIo#pjvLA+0kdc@-OgeVk_Sxugbn4vCfqgmT> zvbYCYLm;O`_#qZ~rLe3ZH?Yqr*kuuJ+W1_aig0s!E@?XpudDCyNqqc0_mfROyTC_u zV~WOM!&2p1M=t<2$WI5hCA!5MA(}D5Z<)4bFO6yA-%TIZfMLwvq!DGCQHkvvk;REv zg>Y=9T1Zji1O!hF92^i`7|GN1b07b?kCSOvJe_>&IOnhAS}nC5E%;$%cPDy?0%O=* zq)=sKMjm4d_YaJ&G;d})&7uJPu$j?B3P{0kXcd2{Ks}8(>JYfE? zmWyT2<5d@T^7=#o5ey-GJwa-DkuiHoa4t!Xc%k??6VIQjoudDEkv3b7Yco!K8hEdh(Af05&n}~cy zGTm$UsJIc8utNT9V{XCc?~zTQ1x5{oJ8zuQfEI5l-5nj{q9_~4UhXxz3`>xXfFqn8 z>8yBkntlcc!)MRS(tq{E8mDxBONo_1T=fJmTWi9i-D ziB_Cb58*Z(PY^EpfwThgo+hpYQP~Tx*NG%5!D$9FCB#Nu?D{>!(J{(IHEH-INaUzm zP&njrv0M>?#_27nMUFEl4r=2pgF6vDd?xkk`(S%}3)bptBS&e|Y zKlV%cp|7Y*qY>*8{yhj=)Kz0?IDAW45E6L`$%w!{C)wB0Y3%VnC_s$8GABER&9x}}R47L4BWCM7)ur-OcNMp(a2bg? z9#8MMVz^3Bsq4#yTW>}!c{GOA z^2HpZ8&AcxF%V`or|4ZB-VP*~j&w?i6=eccWho%HI=essN$82`%kL=1ijDzWarXw1 zPOG6G5eDF=Ko}EK2OD&4S96MS=szlmm{i2leQq}5v#8EGh93H8AP&8+H4J0|>7pn) zC@1f~rS4=oE);=V0x-P(nE3jGCB4(ZtDEKc7h!9a@@)7IWj>#x#bO?JX$+n+h((Mb zQ}e=jLJ-k{o~S6zJXF?Kl%optFw2O*HK*z_dORI7cm#B*8b{&FSkxl~cA~@WWItt9 z)k2DJfM-dgihBvxh8X6^U#2w=C+ISqSq5%6ienx-Dgz}&O5stv8FfC0NA-xMFg(n9 zqRJ`M7bY}yBV@n;Sl#FlXh6}?8!b@K6B|&v0)-Pjv;?09D5+rsgo7YKL;taYE?~xm zLg&Jq#&u3+Uq)HdNZ&}-cpDvReoi9Hx>EX916B2h|Ec60j{=ZZ(D>FyFV#%(vuoA^M=>l#iFY7L$H1G^D0D6&LV;N=ZC}E{hS!^%q)9OmQg`x z6+FApb&9Be{Bgt%6=hzmFWOsW<>~R3(@Nt4++e`Ied4w=n|2KM8ML!sTqV&Fs(an z(}zO97RY8vkY>lKGM1^9K?bQY8D!GY>lkFd@CKN|<~glw-r$oM+h*1>4R4c=h~|B? zf-aKbKu$Dc217x&u~ewb$wGiI0QRwj{zxf)u!)Ka{mdazrQ7IOlwl&ZK#V3gSXxbZ5Ie5S~4dVJyVxmxY3zIY=nq6~zVkc&YN zxR?zb>lLpS9Ih4#qfP@)Dt_OZ>EECkmhs`4#VG&1;06#j9wUbT@*7#3c zSB@|Jj>bK@zyJlUn_f?MrmMKdMO4qJo@eiwYgYel1+-_0D1aHb#{GUYY0V%pgTI z!gi+r#Njijen(f7+4Y=4R#lM41HXO(hK7?=2iYqx$xXai0&aZtNMsjtRS^CzzOJi_ zx!Nm4$Cz`Tpb$Pwl$wW!s0vfi2Xtf#FH!?1*EewUnKS^26ydfHtb_G+v8vP*AWMim zO^~6N2F7=-ulSZTfzk6W_4?SatpoMnok5K?B@B;u^3HT@wV1Q6PKOuz@S=HzcwbBGE|F|D1-av14s zbRhf+01Gsl*Iau?)1e}ENbl7l-ovw8mua4|v4`s$9GfX^4f?tYx2dL(eFnuPgArxn zu@4K?3tYtwuHlV-ppb0J+U2kG9QevVJ`(PFs_+8)5Q*BL!YCY$FGDh~#s9Bur>)*x>r&#yG^8cxd9 zFv3O7-Aay33C`r*rbh23L#>VH#a1QzHxUc6@8EMEfCQ&5nTF>6mt+d(gh_gvpJar8 z9oOI9VU99%N%n+_qg|2}lte1%9X{mpuacs{G8GnhpejojEW+6=(`zR)PFTJqE1Pc) zp(3xXJ%F06vYi9S*6Nzp?%XE3!0y&ik%ChivD_2@gARSw9-fS_jKRO|sroCOTW;2R zrNiL7LnC|+{6)n?YgH*mKal&hqfj)qZv0Y|@Y-{6dfl+yxq|sPMN)z}jK1Gi zmA5pP5+!~}E8G=&p*y=jd>8I+iiLZdOO>%J!AB`JCW-~!7Gdc+@J2njm`piQ+jzdT zG5iE7pbedfB%|*FWlIcbno(}s^}f*ia3e5wg}gwfN~%w6D>dD>NzCTp@1Py{wdQRDb=+yZHK}Y>A}P zt*^D5SoD$1duCtPQam+B>hlkdH3mSwONcm%w-ofNDBkkE5qQ%?(ZUAd64e9bk~)#; zBz3m2Q1>IB?T4_S<|Iw0=0pN09`04F1f00a)4&PeT2L))>K}fo$je!Alr3E^gH-r= zZ8dngPpKr}s_MP=rTV*)-@;@5ezy(a?2~>OW+QBeu&b*UOKsq#eKz2=RsfjKwq<0zH3XKKtqVG)69ISRkcVqdO7iPxn+ybv0nkuG7yc>*Z zhd2?z)X^a(Wr`s=pu&CijUYUo#!I55L*b7zNf!VoY#@OgOQ*ut_gCqIouPYmRj%Oc zlKbnSC%xnlcX!lxFFVM9;+<9#;!7Mju`+){wIgyaCMKbPv_0t^(C9Wz>8Q&2RW%4f z8zhuH_t%*4WMZ$k@T$3!_9hP8%jRrL8x2sxR6p|ySD2h*s#2yN_YZQLw%SvBGxt~7 zktQD?c<4sAm&2LnMz^qp$(P3I030g_3|siUy3yr`->&@$YA0*eCZC|A#>w}mg-uZ5 zBai=Jkl6}B^F@0m*=m*huxp;>VR!)Vj(!n`ItQfDaU3x84y7U4=LKV@IRxc-Lgq-v zbPu5yvho6{&l%bSf%;buCes!-a3ti&7wtiw`$a@ZeE}y=GpF;(_0g zLDPa*F7mfXQ-{t6xw5SHu+Ga$P=h9={DqpiQcIYs!`GMS-!x@&xOmHcjNOa^TiUZk zbLD;5@v;|+2E6jXMP!W=V&$B5+1>GHfg*GRl2CLLxCMLCak}hRU>+z5gKl;);o=oq z(8qrGe({q~f&`#f77i8#W}%3`shrL7R4%1Vm4Dpd$R4L=rY$s;Vtr-gXR6gQ5e;uI zV#$!S5{*u{Rb6+qDLH(Po{=#DjLNc7V6|&Q!fuZQ{Dlqh0+d?z^0S1pqIMBrJ-6aG zU{!&^VN1V13*+#J7~zeKaX86UxG3C4fBfLFVyivXn(2wYxgx_Vlw2N^OHL$>-Vw5B zqwRrf2(}2XAxDWGYH8sMhHbDKe@E$ew||QR{AX>Y(ucw?q|}X3aD7kx@-XP)sikpO zhDOEknv4_#fW&7hRqTi_3Ynqcdw~3WZbny$4;C0J$6&I6>jb2d8sJ!XYO|u8Y*t#? z;eJ|daACyR!3cU>!k13o$BY;~i!$Mp{{v<5S(My)Al&*_T;I!|(WlWiXH88N1KI>m zArB}t0DQy>E#ZCm!s47L;Yl5}n?jy-3Po#|)&uAD*Ez}QQ(4Vr66c4?C%dF(%}E5) z9Gf7GAa*OZ!K$&}(c)f2Pub5-5XN<3wd*d?SskCHb!-7=(QOQ?@L&f6IC)O~2I(P& z7ta#L$jgdjnle%81~oDms?`J;mM5fxIm}?`LGCs=Xh-Y15m|&|D7~Or+l{H9`IZAF z4fzspw9`-|Cq&i#5FReoKBzgx&BNYBbO_p7nRj9qn9cpWT-5)fK-Gv65||Cr*4Zn9M5< zjTxVr8II2?mLVz0Op`(?J4~rf8Cv9GhsB_^gM_bf06;*JEV${9j+GY}+02%@aH|@Y z5TSMg>R?4AuvU3MqD>vktwRTJ(6qi(X{9i8Twh$Z)w`4)LAaq~lfHXgf^$eN4=3_^ zXpyG(74OS0D=%j@F1&b=#J&59%avbNp}#^F4xwCO+q@R|KVtCJXdWKmZ+rsE+^QlJ zl@1?hn)NZ@>5@w^Dq@)RUC>TL$n!!<~ui!U+{U1NiV@=Thhf-`BlZWivk z88*;K3Of`4DBCi9nVGjrYMh9${!66R4(smGE;wKOfBj+8)~S(j2u;cN~F+7 zAkPm(5)oA_$)uGsA zKh;ZYVL*0PYKo`+Oxlg~6U*Ka%M)xNpBtwIptM|58{d<&P>N|sx(dzEdKE?4ght&}Eai~cX{EfZ+tW&=at%k3 zL?Vu|&=6tbF;h;`sYYTk^lHjexDtaCIo3R-W>Z`66zO6#y9G~ymI$qnTV$8aDLA|ry=34-lX zs>BGItyY$(wD?u5ZE5kd*0xhXO2pS@jAAN%^9WmNI5DG%NWHzynuu3`B8uPeN7I^w za+rBi)FS5)H-VhH#Z~R#%-~ModpE&vYVHl2SD%x@>&1;fL;nQ*~X@V!0>d&__ z7Y>N*HB)4k(H~6^Ka~Dt#~LbrBb0r)Pv+X_A?@$YYMB9YmIaDbbU3}sGFK8Xo+-wR z{fACb*Wte$R>HG9{0-|3!o56=e^pZ1RhhYYKV>b)<^@VCCqf|3;4 zJxl@4=HO`_TlmZRvY0+49;$xY36Iv7-SEHa%ii>9Km1YsbP&E!U(OkZ92nP7DI7TO zhE*>!NnKODzARj?FXb#sPdl#HPrI(ymp#|Z7=<--23zzb-i`-g8uKn8PcT$S5&mfj z5Q@+w7_Au1%#n&DVHWuEa1tXzj5y}`-m$09#hBXSSXJKAl(!<2^6AWgTvKEcdP%7% zphJY28N~LfdDv7{XtTCVBmu}rzvSu_%}8S-mK=TtGKVlX#7A?hWB{#rMGQ=GhvciF zaNwAPFjltpl|YNESz2=+z~n)Q-K6uJj0u8V6MlmyjPxWL@AWn1BA6^-sF^xS$NYg% zg%v>qW*m&lC2|WGnHXd|G2V8ro(QG{#7MAHYGH!8bG8GL|7c0QmwC8o_W~iJ>4kCN zdQcr?yfpNz5w**Ko+PM+^74!b?J{%VxJN~2m20rrU z`ZulY_S3bsFYUZ(WpK;QdNDXAGYt>8-mPoO>G=}Z ze9qP7$8Ns)=F5mXbLE84eHAK~(H+P~UzN%wV^aC}Q%X z7u)s=n3b$`3i^|pB8N>UrOai#SqLy}5Gcr+fWX(+tm@2U4pvs(4Vi-pS%jizG6zF= zvng{^?J{lv(|8Qm?}TrV7qAolOLhf+|2QM%V3ERESe&bJJSRC5k(J2^=NUcSa;;ur z#bRX=jgu-CtK)3B^HRBdW4Us;l8xC?QI)Tq%&lbK)mdICNEV?9{;R(xYK;FKeI0GX zbGmXIYeTGk=KLtOM0&32{^K%Xhdepx?2rLeY`+J_^UM)w7+1@YF`vs7H(o43I8%PS zAZH%y0){rk7$XFsL?+j~8eUEJ6rjm2PCKJ=O)w*c?PH7kTsB- zuPZvF3WS7}IWV=&$(8FLnb4&(0B9=ZbwH2EMOQyk5c0Z5S}pX5_<;4L>PN~0?RP<| zr#;O8Ixn~-0(+xB6Hr?5Ho37$*90lKXybZR^T(i?lw)`y2|Jhwuh&3_Z zrrZ#36Y%1s&n+ycFdMoSSpzf8d8tiD_M*ior0F*nr&C0Z9Fj~K5Xo$b{uq`}iO@Q+ zm@QP2lEjNqr_>zkrQF&*$y+1zo?~y2Ba!Sk4&5x^3Sb{uj|Z50!(Z5IN2cZ0H5Ggh zuOIN2FDHhhysY?M9{eR`zm=MMsNynO&Mhx@U*@Wz$_nIx8U9}}wK z>tPx3n~FCdYc;zboRbMOc(=g$QUeauyB#>!HsD0SlrC-=u&84Nb{ zMZO?p%C)8Va%nk;q5Q!6!4?-do2}PiENsv>{XI@sk7OnMzRv5{R2cls3^~D`Scl} z@xG|on7g0(z#!tL8r=qy)t^$V9-?qih=`16sHcTT8g@y=;cHuCF1+I1p^f05w`>ZwT4&hlr0U}*c0m&qcBu`w^{!jKLkT(J?_il8H$+&4@8o>yZqo(TfDw%6 zyL844HEOnNdzN1eZ!GH_F3UKn_cBiQfurjXTdmO5F67DASY3dUs38typn7h0g%7_G za317OHMb|ATkxY7yAl1)Dl%4Hl@bUWpN2d1?Yb9)g^0;4oRzT`Obo%ByWP}BRGjzg zYQK==Q49^s#vaKN`wA?sifecm#g&7<%k>_n?ymTjrE0Gy0HPBX6isQq0%bBSb9G5p zJv;kWuIA-O*2l~(itUGB>Bi_ephV9S^u9-|P&7t@TLnl96dsP<kWH0iskq(4uLdKCX(~NH(6DzP|-((>ToYx7=j(F1Uqs) zx+hnv6%|p4yNW!dBJ)r<-S}iG;;6c5k8E#KbnZH@Au$<67V%jJLtPLq)_jspWVo!ot=r@*WjQJ$ipC;+1{cqlZ)^ z^{6faeYI=(?Ttk!0JlK*{EZ@?OSUJbh(=^a`mg~X%eVAk<{`qhR%&Kahk{XJX9B?m znIi||Mk9xqh{PRNQk2Vqf%P0x;JSruRH8|Lk1h#bzhW}r5skqr7&?X8b_WeSEZh^Kms zS!R(|59lF=3jjjWt(BL^m%`ououQQ;@S%b*G%6V$#(X~pMW|?&&AiMU;rmG`uKMs@ za8>cf;b8)2#8?3VOO7JbBJi*`1yaXgGN49Xfyc_MK|czNfFQPt+YAcQ5=?9SL^qB~ zsI+Y5;bUsbY0un+aPASbM*U^9Sc|az91aiF;5_~~S_dluVk<2O#Ye9{Af`&!3EK#t zkQ&M6g6@kvAWYRU2y(~}J=77sz#TqzH%)>lWJLO~mVj5P?hguiVI02j zPIQ{j<-8%HyBi*>Z~w3$o;F0@9IYo!;w6w6vn;NA4kiQQb>t|*dw@i#w#SS3kQ)y2 z8e}?2rs(zt*k2(IknjSI%j(s4^hBpcq<3T~NT(?EFiA&hhl*krIG23zTZP!KTM)O<#NAfyi|0|NSFkWL%4wQ(^dhdI)cgf zgIPjqD61dIBbJye?x&rS+DMu*ziSE_ z^Z3@O#&`Ix&U|i3q@DSEvB`YiWINyKFM3Cs2Tc`qouq=LG18s)4{`+Bp=W0c!GV4B zeLw`EuzrO^C?@Q^#>fDxpqGDf73l)}qbxX*RAe?e&9)wEr+sHz$C)HYh^vWTO-h?C zsU2LtH`Z@8LxV(Qv$!;G91O#Eici$iVkXM0`P(9HU}K?^VVTuT$5HV!9y3;+S9!S% zC4%YtANxB&D;G#%>Pq+&ORRjFN;G6oK`XU4 zO*4+c034(+U?pzXi(dHqxU-}T=WSl7sXN$C&t`~C%ZX8F)nYEeOBS-B6zPAeq|DGy zNjYh>k#>bU6P>8~ADNI(i1)%8)?hFl1On5m*wBTL+sFcP5h?{~X5R!GWDbp9rC0_) z&YBfL^okWrD#=cwf7yx7za;#HUblEBEq53se zoh;mFj;7v(FCn&$K5YXU;>fYv?w5>iKq(r4XmzwNN-byfsm!r_h(z^Kv4R*SEq-rx ztQ`Hdyfr9gB48d9>k`8U0JU>ib3O*lLKEH5&%$3u53K(H)}lS3@dJVsrfdX^X>BVr z>~xy%jMiW@FT&v(xt90*dawKFmFi=tN!w zD&+y{jDDW6=c$$w6Dp_F9Y(rY$u47HQDnY3iyPcw5qdy}(yd;5ZR9^h z=jugK2-Vaw!X|lIqeLI|8YK=dc0nYMKQFgjqfQjHKD^(~j_?d`BF$DvY@y5@7FAq(8ircH&-Dc7g(DNRPKh?-laTEbt(?xxetdQVJ_8KJCuY5Rkt5z5^c0gutI2; zM7E+77%#(AA5A9%5?qt~B054ba7*``JAl;Bb7o7^qOxvWH%;=_S4h8p5lMx`&Wx`D-0P| zY>&MmLy!jAzy#<(8lkzE_e9L9Xn~K^o^o!c4#-f20PQfgRxh+LqbyS)%9i+#HAn25 zvM}9M6!T5W5!(a6w5WT+>8k8C;}ScgAreVX%x5_BjJAZ4BJ7P;M$B#l$W)^CWUg&c zOg2M3pQk|$D8|9b5C;N8Ih1YCkw@tz32-Vc0Wt*-Y!zfQ#EW4;G_DkP$sj0}1Z$F_ zqZx@okR_`W47EXU%u5rMkXp$Q*ay++#AUFe199l0WxUY@346DYqdB|#Kv=sKE%Nu= zMbp{u$t_vuW{DCy!xaA|Hw}?ZNdi=2sdbRBWj^+O9}@I;@c8R<0Vk zwF)`PwLo|`X+)P&W(zdI#UCp!20BwhhybuC`WdF#I<^KVQ4SEU)qt>eYGnlcG#$ z5$Vw;S@2<#EDVju>Hw1cx(*D#(DP=nNRp@j*R!2zvSar;m!cesyUsoD{M`sR00+qC z24vU(F_K3y;jWtqfUO`~n5inn=PA=Z z!?D#fGiSeuLxl!=R+fz|n?}PgGZ7(smqY0=_T=G{A34EJC=VxhCv~@{zWdSN;_ia_ z?wz`OQhoR9x>L#>*YY9Vom1a^dgkt=?snAgzC3ex>qpzQ+@ZUsWZ>6o%y<+vY>=k%j67k)bU6bd;k0dA&Ewy;&a*?nLle%owrO4~b1xmvvvrQj!3 zJ}(Pw3VvGuZVtII<%QRw32Z+TZ>Fz9)3R=C;ervz@QS_6{|f0T8c0F1g$}Ri2p`PO z)cwc=*%ZtfDfAtV1}JsU%d{@B1Kx*lh^+{Jv|>25gHH#6$gU<#Z7lCVvQ~M(5Uhxp zxupTK+>Fk1kx|dy>xdWoebloeij}`S-O9=E2D_<>WzR~4;%Ddr#}h}FGs}=a%;U0f zV=;OvrC3W@^Kvh%;0lp(&AKG7fYebj6qyH6{0yBw6%dpcV4h!+Go#~0>oyh@rY#a6 zLuAe`3IbgPYo&NAf>9+95M-1>Lw*TWoYU2Ltip8JO(0hz3lW>p1H(AV6r&``8bKHN zgGM=VRe`EBO7u=i1H|OeiD}&|iS{=7m+WnVO?(mBPxdxpdGZz7+j>LB#P+s-k)7J!HfxKsVjrz<600>n zBVjTDx~27PgJI1PjT@|Vn;6zUI3FEDQCCD&!HPKIhm}TdNUts381cm-gclNFQU}}4 zi3sP#Sm>=Dj{DG5&Nx*uG{c@p&4fuAt)%>nahgOcDNd94t$wM&SyB;)IH)3ynF2|n z8;=>9RvI(WQ*_|*-eVSt3d^c(qzK8fk;;sUaY8p!8>v`@49H_mVeFgSNhJuVv_`Fn<18f=0_yV>`{B=~$n#1dOgt->5x!66<%H=8>y)lPv zpvS`OwK5e^Ph}oRGDeM{Bn6VfDvY`kI6g&$0p(&CmvI^=N!-+92V=nQp&1QT9cCjn z1V=;~smCbMAsYv#io+0~TuEyuva86b$Kb>lu<)}Wu<4SnN0u}FlzM$0WG1Q&k_P-;O!q zQJK1twcx+BEaOg9r`?9kintRKK*j~^nUruMifOWGuna_Kk=n8kV7C=m>zS$bG4-;r z)yby)T1B?{Kc6BUCUb6OW6*#fJB*OujB_1FCkg@S8VFc`&28IYFXrmTkjt<{?2)TG zp^seMLf?a%Mf-@|v3}RGl~29A^3^(Mv;Fl3kEM^Ax zXu|%PeY(vM4O;z5Bq^GiBC6+|7>M1sAHX2e2$bdUJ+kM*(vWd1L5i(VyXuC# zcfV2#q{G$9D0VIUH&zR@<}#CDUFxT~&t9!{()xWz^jy7074S9j z065fAd?{XM^@0j=brFsnHw9Bh5(__U7^2K*zdeFYt1!V-9V2IhfzT||NIv?BJn|YH zeb*|r`#PJ;RE*e6abV`Pd`m1R;!s*Sgi*b(i)xQO7VtL|Y*mYVjG^=(5QZmcxT+I(}1vJWK|Zrm#Ql_M(UmzoLZs{{3Uf8o%LZtwx3P;Rbo`)Ns3(I<0kCq zjYT`a%~%`D+NtgvO^3wKJ@Z6Lj9;37S(*Q1Y#Kt* zOh6=;W&%#X)&z9aqMZ%o%%?3h#`_wZw;Yl1FC4k9m^D=$QziD8!v4fM-u!_yRh31zwgg1Nf<#2pDdg3Ns(C$pY&UYPbvgkOQFPo%k>p~i<7W} zrlRo4I(;`EM;jUwRUwireG2VlE+WG;A(C9zA(B3LK$>nUDX$Ko$CycWAs|0FW^(wh zq}0Naa+F@DZ;>L&j6Enz5|gH{tO-*NMa{dfi>A>wr=k+2g)*ChBt4D} zm1Uy9rX0>Xvk1FYs9qbEER*v9JwpsCi;pUP_*B8T{O}MH49YUrLzl~bG+_@d zC7L(UfS_JEPZh5skFMF5OfaJ#_G1??9>l~Oc0_i2v7?&_<%*7yNNtgq%SL85GL*L2 zzjZrZguy!bW;PfoKurG?WZzVXO#M&nLMf>03xChR zt-cQhw|^Pmu$U?YrPQZ>AbX|k{}=J9*q80T44e~ZDE}9S&e}5&*W9h#Wf9L5$D8oj z8yWlCnJ&^j5^#-6EP*B^IH~xk<>Cnzg83ap1yWus)z)%cRa#c`e@}iEA+dx!RzvZ4 zLOX8V5>*NIpxFqI)48NdVZ(f|b|@2U$u>j~!{Q`RhzIhgPB0TIh^?wdyTZe_9|)g%gE11dbX*-u@lW@lY?u(E`vmJj zGlZs+<4^8};eRY*44C$-NRFc?M6_cMQ4VcZK&h`hP5VS-ICq;71D4j9xjbqN>P8$i zgfT)cmrMD%_ns5ri)1azA8dW?Es#=-=fsx`HSe{zg%*2zd$@PzFJ|GcE)A zWJ{Ej9I7bDT9o6m7Ui-TQ7)TCd?U)y(-~2&q!);C=!z{-P8wqEJ7^hW51)uD6Ac5QDzg_EzzE=5VezWKUZ3uv;cTfm&69Y<=N<2;yC*! zxu8+jibzpfJWeVl2GNxd(W7vgKMps4nCnOQ<3x#npQ8Y1q(O(+H-X+_=%9R}HK2pl zrxr1ipqP!BjZy){&e=E+ZW@dc~p_(?K*k z=m|DBt&pi|j$Ioe z6tne$8+)lL=raLGL{}kBDwirOhbc)p{c3^K%uhBNi!64(SUQOBhsTAB;x*AE*cIRX zRrw2}f@3sDvbyL8CcW#GW3?B4SsUH}x&OQ@{r7*6kGjK7Xn0%ydB-38{OkVup+}Ft zomx8KUgX?$-``shn1PZ?hTX&A_{UFV2fn_{AE2KKbTtlm43%Kqrs>pVZS$Uu&J%PyyTf5Q1X`C>g3lR{H)=&71)$zXuD` zJEr!9B+L^_DUy-MB)ZQ^6OxhD1@98uHy9W+%j)2)T5N|H#qi+-65F|J+s-5z@JM1i zKkx{N?WM$a=vc@*1uEQlq; z!~%`jF4jDOjYorj65`*ImhaKjyKRDl(#cvQJKof*I1&i-Bbl@|OR$=SyYH+c zi;I8(f*zLPeLN$}igK)ADm@T>mHSJyfhc2?@vew!m`n5g6#Md?#8S&8Mc8rRnYq7{ z^au_8tr)I(Y-F`Ed%^4Quf~lq(9uyQ40cda5wnYp*>bsBzVH@5?UglJUB8VNmI@Dr z?$SP9u@qG#S4WJ;NjK)HsvEY<&w?#y>zWwnR3v6^*5zt2W#RKeTRi?mhh)7cg>%w@^WtC;oTA!AN&Dx1^NL!+Uh=!$`@3!C9EPRamh+ z3wijEZU?%>sGo=5(QT<)tPmup)NMz%81(b-ySlBvpH!BKPLui@IIZtt|H8 z#t(DrhS2z!HXu@e)D~#4TSf)vWUXfKCg=RxWEjH)NmclGc2n#6B?#nmkm@*Nx*XT; zDU1j%PlS{H>)$k9tcFfA$1J-9?J4Brc^O)qY+W;n*Owlb2!$bd8Z#V?yN?>vh;&A-U_Yq%4 z(97%I_FdPZ4QhAQ3$P?9LvrUZ0RqhV$-6R% zX3CDzTI;h#+!5tk@tTPuU61)$HLMn2de3XngL>h;zx&GJuT6B)S% zMt`Oz-a|!hR%V`~ucMCG^l_fI+EZ$8^3>(i_KxSVy}SLaZZFmPNL_2J?BP_|LcBfU z%0Abs?BP@yM?BD>*~<2nCvpz_po_QVK3}1p!*UYZZF!uH6-W@H*Tgm<~!z2AFVUSzK88NIISDnj0ny zE9q#mH$Us;G6`Uj#~dk^aF&dUvtKT@zg%3oHy&~J=4ZWBU&e3mVQlraP*p9wX1p+4 z!**>)BilTtvGCvroxQfnUHc*KlU-%F^6fB!l8%UQ02fOJ208-Ou`k1ohAW@V)|h!C z|L&CQbTr;s4Ph}mfX4pt9d|K>RBYj{@Rp-^+rRPZF-wH@<}R+x>+7BR8NRG@w1u|G z4j#f$QjsC#;6my=HB#3Rs_I-#B%Myl*!i7@1Qk&XAsae6x-cK(n+2fbN5BDf34j7l z`{H#=lYPc;#2D_JEUMNkIM%5iJ!)6L>hpCTt@|Mu+%#stAtbQ~JuImD1nJI~0idnc zRbTB@i&X4B>~P&W@@+U?pz+l>tG0;j63Ze)Sko6+`awPVt*M>gBD?gI9s*B_$) zi{E)LuxA`t@|&*R<3(G6w%sdq-QDA;+s@U8uvRw0Q!RkWEi@@H_f{o4_s*iS;vQzg z%HxmU^yNGM;L)?_(FJ5T(}OqP`DgF`OzsB^G7mm?(|iBmJm2ro{Rcku*Ehet@V(ZU z$KQJUJ751~-!AC(qrd;bFUGeZVde4PeE0FE`Q^Ose*E*FDt*V{i*X;b+9eg~%H!|) zqmJM7x%t4&-{xz!p02$0^&I3#p)S{N{H@H_9NMw+r+r_RTz)1#MS$RD?qz$1ajiM) z%9xf+Mx+7x60q&T{|@Nz5XULK02_KnUL#g zR7V5>8f2;9fIy8@_yz!w0FuCa&!<#Lz_+g*;JvumGQDUq$lz9n@*1+O`Jl;Z3)+dU z79_g#Ed(TcCV1+tf+V($zYwIbW&0XBp>4OZ=Ywz&`!;dKCYGQ#Yz1GtpUrT|HtQk< z*(p>cAw|6c^X}MezigTpP7C)8cq6vK1f6K1I0wZ{bv5|e?3D~m1c-Y+_5Sr4I4CYq z%LJ;v+@hcA;P(AY&Cb-17^C{@elo4k3^Fap#|w$QV zqez<9)p|GP97+s5$-`&)%EGMFF~##Ms*ZlOgQ3>Pa!yONTr0$KGBRQlr5HOcI7aHHl6!^iH%;8W?AN7KqXh+o zV6ZoO870 z&T1^Jj1!6jF4bk~tSxTl1MxS$NNHF06)!fA#CH;{Av3G3NLhDSa!uRWUZS8{5S z$2wdbj{h`24={P(!ted%=wB0bz!-*K{R_?wljIiRdH}D~$(s&eHIykJ+j>L>~`?$R!-SWIowZ!-0a^Kw}u3>Y3s#m0ptu#k@q z+I5XEhzDESmJlh6z+|a9iXSVN1M`km8x|0j@E~&bGpJL`PEV4nFj6ZwV1(KJ|8e&& zaDG)+-S@ft=lY*X{((S4GMU-uWRgrEH*N_~Xy;7JB|=~5Q=WdXK7JsO0WuSEnG6(O zlQ1nAn)Icw(NdpSqfhk3f;L!GYEe-qls=`3l~!s|QLyFF=!-SgR?}MT`~9tb&iViU zGZQYQUfw5@nRCuQ`|QiwYpuQZT5GSZoip+qAX}UNh*vyR^0sbO#JZ zfTKp-AmC7W9QZGWWel%Mzm@LWt~kEgYKn|#JI=UxnOv4T907V2ZhjA|FOx}>cVntw z9!7aeRHQIp`#f=x5*I0zB1O^kt(=x3rKLz|EmB%Z$s=`X?x?WkfH-xg|4`2(bRZ0< zQQXf*jhrPKoc#wjI6y}KFK!9LO7YNmZPP6R zJ@dpX2_=^?)v$KZwi&{*UrTo2V@w%t%H$vhY+yQ(4?R7$^3_6Sk<3WHA1d)U#HU2E1T*;M-@PLby%_sQSOaV&36hM-E0a1y|W$`L5>?XYe z6msUrXqd#U1O$X{AE87pgU&wn)&saTuVpP@b~7f9Q;g;UBS1u3-g-yUmo%bLNxbxr zSxt`eks+LVOh7tsj3b_t&6XrF6|poJx0x8B5r5O41(m3g7dF2IRAwUItHr4^*yeFl zZNDz%C{7&^rxq|&I3|A%ypM=x5Ci};R-8HocL39sK)v}Zkl5e(0+_y-%c|AAk)Njg zKKAUsUq<}UAG({$!v+)=3|PFe$_}#Uh-l7Sn%|jAUG^+#_Qyb^FPNFx{;`+~F_3z= zK&xye7IV{f36f2(yoW=@-8gY+xg*aNO_f2@)Uq47s3di_kb$QLLTj zOP>csbP$!C@&u-QM=<2VUR9%-Vn;AZ`Ho=GQW63M%FvKQ8z8lb{&W3?;C+$b0az}M z42=afcqve!-6}4%2)Hp2gL7J`t?{7s-OEcv1R$nErNaN||7JJnLj1fps&Q|heUE3!~1e>!W+9Q+S8WBad_R}(>tl5jz@ZwVvW@D(TmAo)tmQ9Rx zR9hJ1kz5Sw>)GZl0a8LZ^?Ju=OZy=$GsT;Yu|B?{_A8z@pqaT{9;Az zFDD6OlwyyXC|b`p4q|*+#)Qj9JfWAq-$L)peknWEm}5yto;lK@e``9bgsu7D*}4pdN0kUED2*7?7XzhVo4inRx1%Hlp!?6YOp>fe2{+2^l1waM3OZF32X?@xRq9 zC|?H>kZ!n zkza&KHIzL_g0GAZrH@2-vNq8Q%WDO5r|Q+7dN~(UPBo1)%GA`+vPgP@7#WH!u2FX1 z*AVlxwc-U#icjj{S^n7G3aIr2{j;cI$Ve=X_-~9gYu|)M3VMC@f zu~7Cj!zw?YeBYSZ@%kdwGhzH@h+kX$3-0-ya{s_h0<|Hh=I^JT&ZY9gLFbcTme3Cz z_Q>lcZN!Zx@0?u8A;GJQ+VyCp`AO8{Gv50EUuUZn*ilBQ~1lFk>iy<78_VgV-Z=kAv|xM=`kC2gaf;LM>zWznTJGGe5e9s zxq$z*Fg$6XSQdhsG>aGw;i)P~db=cu1{pi4;gq-ANZ+p`kqO8s5I!d;*nJ&pwu+vg z{VBUAnqHM!I0XA5%(eu3B3sY^Sb9eiWiP`M1ZudmNueyJXiIGs)2*ao{b6e~`=~6Z z9^o~MG;4;nqaiJ(S#-v$H_YUauK|mdzX~^v8rup2y6U0ucw2%2SF9!CisznS9 zq~k$>U-{NF6S|X0f_eB4>%D$2c z&93M|EVcF?@j+{r{y>lVoK=VBJ^!V3LkqKpqp<UgYv@#!#B3=Yud;oYnYN@<-TK_S2_3(9t4OX;8*tedvG(4s@s zSCOxVcpk%Bq5$cS(n4g2KHppIK)9oLNDqSC!l0==#G`V;ZtoAG(KcI9lbqTTn(9$ z7nDMK8!gd_DMYemfF68?(g^K$^dW}*dA(l^>pta2uR@INPh;3add&V+$4)UVJjtPg zS_(#?G=_|VsI7p%V79W@87+|>u9-dglw>QKr=ZJ{iPo7s&y9QraEj(mYdVv&3`7k= z7LgUs6*Fi4n4djMNt|uSeLh=?SnSO)y&)Jv`9_S{bl49`p0$9YI@t-hv%fhO2^agD zz38re@!IDZ#zx)JlU1}!?sx9~0eSR=wq-7Vh#DW_@*!c}U|sQcI3_qK1lS;W`$CKI z$Ow;-JPwu@J^*3$GofFBBap$I!~_IC=2d{F^_FBoPHhnOu<7>ynj#&SO)s!kGUVx% zWR?@7Bx~KZ8&JhGYM-!PR#;1ASl%hTDCe2790rHjkwrNS>%|m8Z5K={^#V#=JF|Ro zC-doeEbj(9w%yO?!uC^zQTeFRfBc&ygyQrq(Uf^Z2x6zbgT#ntmD(^8Dc(-5tu~A# zb+-b~b}@w@ZgD4JO2Sr{i)}%QNFoirU_?dpvp@9WWxZ0H@b%`4(?u@MiT0AnFNrH< zp>$|ckzLAQ23IK3aIOuph#uM%EbeEP6=Z3q4$f-((j%rqmVrkygfNy&0Ud{`Yo9W0 zspVw?n3lJive{iim2{sKZ!!ZtbdM5{QItS#QHT_2A=lqXOSj zP>{9M@w&SiuVEp!xbk>iEV;DGg~xfkHf*-VgJE;NH26MZb8f5uDYaKf;AFcKD&sj) zpfIV1#8NnjG7MR5wiL4J5JT|Rh^&sSjPH{X>Jmx=TSTxhFwK*J2`(}k70JS0(SW@% zZJ57Pio~<(&((p+A<(o&ZIrVl^+Nq(q)2A-+Vx5SSaGW00s~Ok6Ye;DM9oHRG>!me z31Bjvfpl$uvc=)Fo*CprGUAs1sYsDC)i5zvTJGsd2SM9J|1FxvI7KGIKTw|;L)w@d zLSLtCo0j{jn@g7wX#$I=!utWRmj{fGhhl*wf@{F}D$!@ZgZN4Y} zV|gp+fJ?Li>C{P2Zr5AsgT!%FD#38o2xRu$HOAm$6LV?0ch*5FT zW;g<@S;|77`Y+#&YftEQW@&0*79hLl9g6bqkllhrX~ z(aDY>18+vvfRu&p9Sk{j=8-Ta2p%Pt;HuozoSy1YxDc{>5em_~-*u*s*FKh|MXD`9AbJoenF# zP3a(|#WS%jPXhsdFi(8)<3yv+S%|q*h1rA3KUeu9O|uwb?R=YXMGy>q_0NC(r#|~j z2S4?V;J?7jQHrV-W;w8Cq?%#2H5z~-@~A0XgX+(QrMxA@LnJO%D7x|8KrmG~D3vp3 zx9??#?s>t2>DF&_Ubz7lmbXhfq1a zgKwClDigORTkta$ezNA4RaFzRVAz%W)p;CMoQ0<>zcKe&6RZD$ZS#GZ*0zSk|H!ue z?rd;tNc@j%+waZRwuZ#-XWO2(x?VfJ`TWzyv>~zj3t=GUSNwpqFu^tsjUYB$XmWNC zWXJ#Jb063F#?0zG{o@xu@|$g!8`m>#X#RfUOpt;Y6Nt^hJ0FWNg4$2ga$^Cds<9%@Ah?{!r~jw()8P;x>}MpAuvP zQh+vXTk#qP?xb!|f_J4dQRopwPtSJWa9bYv{P^VB|PE4 zcR3T*J_IuCwV9z@)k&cj4@QGI-?yRne#kx?^k*z|k@0>oOFMDMYuq0s(cu{A1AkTu zSwt*mQ#~S$Womg?>+*5{VxeiDf)r(dq|R#fM@v1gcNVh6ZoVuuB1FL^6J5_thfS%c z<~KWRA}M1dLK!ARv{@R(uk^Yz9X6TYr~6SFZok*74$+86&@fsN22-jQ?tUF@BAV7e zwL?g^G&44V6G@Zq3FdGX$;Wsy9D5wvn-CPVBb#;%;FIfTPV&@#%8MdixNST=JQvsU z23Vh7gMv@(^JD(l&rh+%fIrmywCycXqVz3+#9flhpaKaL$2 zx}Va$_5CUC%Dz9RclEyig&v#wK9M&Gk?xgOmHmK@fp>HdR@kgDwpHbTe`5{@_)a#g zDreUiQ=Vx=w|@`VI2#(CDA91bE>o!5fQEO@cjYGM+1yE9Rs3)H-bwVN9jC8&SRrd9SuYAw)`9YQ@Su(xO$?I+>ycz+&WXtSo!QFk8hx|5E1 zEmy+wR!kn)-3)+#=f3Zx?*?ARE`A5li7xj#Va-sV51C(zAIUvEIJD(Kd>IngG~Q+W zIFcDNug!8Jiqz{@9->b}o8js7l&fO{LyZQOJ{u8Dy@21%1Sm1XATW)HCc-$x(Zhn> zMLKdpkq)P(caMDt z#`XuWAJ4T%bJ*Gp21$)(k+gAqL%@<>rVCPym`F+jXwmNR97~EQtT>t=;sf?A*3U-Z zLlP!ljCUyLqn)1+RJVE@_VahHdSl;^X7B98(?_xO`2C~cEsc>uM6)IA zqG4@&(iN>u(63b8qZFLgrdRju8>w!a>6~ob3Y?qG)k1jI%o+eOD{YWv7EcSw42-IT zooSvH)f+rCK^r`MfF|5yy1$5uG#2Aoi~L2X%rus4KrQ`6G{)=@HvGU}gqGNZzEzBt ziotwOU)BmUkz}Fw6=yO-0bMtKhZg<*%Gj+g&I4F0wrJwj-OaGygilqxQ;B^Ux9^cd?V9;>1YjM;ptQ@_* z{^X|?mXZSP7Wtyly*?*ka7ri*%~64($aoyw!qVp&6VljAl?f*j^GN1+)Fq0W234`dxKt7-hdhaVj>{k6 z0})qR+^O!ARJ(|>zz!F4)l0jHYwb?GJPBzJV(BT4<>DyQA!auEMm}RuRzNfbOQMTW z*0&>pI}lSNMH6B>WZ$|&R#yc$!Rhe@vpThBt>dnB%$#^!jW80F2q|Ky3e(|Pl!w3S z(|^hR^ZfBDZOrvpl}6IGqTX&--l7TjL1 zSjdR?q``oZ!Jb_92aTBu(*Q@Y4L%&Qc3F3u<~Bj7lfW~4*r@>ogJ3-)5_O_gfdml- zyHjJ{#pQYdxl2RaK4v+iBB$6lL#e@4{_PsucCu=0Rb*@#yXpf>>Eg})o3XTNqkCDm z7)xbD5xuJ#)y@rE-B_kD&aLdc$4*3dT1bTXXUB?BYTaxF2 z3P}})-j)P)@~hvuRy&DMRcqAxN9Rmq9Qgwq9BWnsJ59gqM99TMA=+r#HyTr zM9FC*T99k(M^sd<5miP%qEUTB`Nl@nz8NE!nYlkfjyOV(RGIxa6?BwQ0$$ejp!i3( z=$JZ>3k1|zbe~(L^80i#kVcIx>wqC#YC~$V3b5O=!Txrt1!TpNFaVZt~=DO(G&-2qP}PXAnJ?UsTK64 zUqXRh2Dq?%Sjjs>8Mdkt^F=d{_)G0#F_ZR7yW1NugcLTC5|9t_F`Op4xfoBodPQUC z6f`d?K0^ETE)_7u_1L)P1D+e~tjpe0tLSp% zyG(IyWRK^>U6F9KUDWW0hqb!M{`+4Z1qWq1wA3ej>Q6MMe(^rb`;q3r+46ocgpc_s5%4zj#>A;@OY+RIQ|h-QR>vJJr(-qMnstu~>SALCX$UPB}yc*{8)Z zne3n)qU|GG3rSiz&Wf>MNel*pzs40?MMJsXK_mgCwL&~_Sa=<`*T2KOs&d?KQz}{5 z4r*_=!$21DRL*NOvLd!;8ON&GYDU^OBYTYYSxe}E(EuZ1(M1|~l+WCySdpNhg{-$u zDyvAy51Mem@Kp4p9f}W8bjd!9q8=|&rdJMn2*a7-$roo6MLtRqmorSJaNuo#6ufP= z;&g2LW;E$04~S-~8|IskxiS`alF$^-m~X^{Ja>w7?i9^7-$aNANf7&LquR6%sf;#mI0pT_?r-Lrg_J-E@~UdDrUrs1Er8%FUAlxhE#>pSn|U zqL%FCpMN5#9n1hyL5$!VNqBQ=cf=MPYkpG1%@ z6d4&Ts8|RRn6Rkp` z1PVkzXLp0NBPi~czhpSi@^v;Dml5XU~Do`j-YIFeG=)%p= z5K7B|or1dbg$R-sN$!zEu6yYL4!$39` z5rNSX)iW3#hpXRiiCXs*8@)QkR+7pP9271>m#We|>Bq%vj&jj8`p@U@-XY?xf)Dg$ ziss$*;Aq;#{IsL?*Wpmek2{lp^!!K=C=t|e`-J+uzHX+Ybx4{Ik?@Pm}w z;@bC$`COy)-6<%1?G9$?FoB9&hu(UxYa0qtjj~AON~x{7w03FT<(o$XBRf+KbiWp7 z8!qppfhJ!}q=0|VZlD+2w)Wb4m_IAI30hX zWsR(%eGJKKYG+gx zJCEoq%|=S-bhri7xZs%)ASYsuG`)By`+jlNK;xp>s#ACuI%UZHhp!jVHpdSv6D&^KpIfZD?Bz}2ATH?7ihB+Ow<|2yu$qqUV9>}u5V_-h8dcf!|V&cG)4SO{?HnXBrkGT`z`p3pAdhA zb&&)!7^WE-vhdBJtdX#MT#RLJkfGrLGfc_R*iQ;wd{GK&UD!>Tj!k-MzS-6 zNGf}{XoELfP$yHH|1uD_mWZdhSDphnI@Q@B6Gv{27w4BtR}z87CK=&*Yje9kVx4RE zC_>;Rq^mZ7$iF*nqRAd*y4H~5l4~=j{xE9Tm{tYzYCos-Nzf=t@%7PcQdGOb#J}V zbQDG4hqimt)`FdKv_xenymyH0jNapj$KqIua8U{izDG>4$gXoRl1LzQt=bC=U>aV% zvm1emSq5lYy!{9UTppp}#Lw^LkKo3?_IIYiq9h)Qh8Q>*RDbWiI?N(igtIWTdrV2`@4%9i;&J_#ai(D~E#n0&(1O79*vP}OQZ4eByNGdF$QnHqH zD#d9VNA~6Y;JQ-jR`9Mx37hv6fS>pN)pNWrUa@vf2&qyRsU!87lI_gFRNO1R+V+3O zVI+Yym7DoNnvwl6#jK0&*KPFX@IZSOs`c4{_7R2uspotCM8_y6Lj>5HrD;Bw63pZ2$5=eD#ElHMfW$Cw)esCJ) zX(Q>9Bm}YdWPv+t)Sbm`boHX7-)N@3tVpwG2)HOe(lnPTib0)l@1c#XPonHFBd{i1 zK#dMLF~^hIwG4XN164c7-=qabJS~uDD#+ir`}Z}ZiN^O66JegA;xn|*$WYV}`3#jA z8GId79+j_x9~@14M~@N{a0`)>Fr<9Gb{p;fLU1*L5|A0E#S`Bq__})B;H8J~#F-Ev z&%N{jr#w09N$!dDz?y&0E{R8lD_^vSZ{0r5=qMyBgseT5Qk1#N;Ml%PiD{e-x?b0l z?NiNb!eC@HbrKrW%DxA|ik|F)`3v|0q~%cFv<$KLzV#kPg%M`SMWj_O(RlXA2RM2Z z9_SQ&Rg>$1&j(TtgARKy*&vGq(dECqMrxIIxjJMM_j6LfhO~E4(r0gcg6mx*J!@-* zRWX}*_$!q>2Zh+9-dp6>msEO&QHXrU+VWg4>E36_Iy0y~>$o!QTZGh?efgV5i9V9O zcrTOE`(W$YaqhDI?0(wq6CPJWl08r)@bwqedfrR_!%|9}IQ*g3yfQkdC#tI^y%7vc zKd#U9jI!oEnl5(zN7J4k00a)7Pxe4BcO;D-bs^UtpbSZIrwx0UcfIJxS!8m7De`ZlALTkfa8{XR(UDTRaLv&R$k4O~KZfDX<1c zyBb=G_^AM=->K)fW>tZ6vKq*z1JQwY=~2^c3LVV3p7Hbp-K9$yM~+!`#Y(Cet>Q}7 zY5YdMTWKuuo;zY3UIVo0E1s_T(&k#(2H-vnkaN*nn6DYkO!TU$2ObfklsXcUD$az) z(D+W^v3G)a;U26`m&Bu0MJ2XPnLIm;(!nR16)*6Ad^!|BP`n8Vw4>o5H5Te0kHuZ zg1MlcN^+P14UuLE1{XNTJ`jMt_~a0AEP*S{&|nTI*V6e*6U132p9}&C!=RvMP}2-B zP=kTMMw{)|)ihLZkAwo2u{HeTuk4=3Bn^iSSe&z5RB6dFUA*&1pH}Q)_Ld#VO0x8M z6ksHToJp?++btF>2V5@~kOmlsJ4VtoC6*W>^tnD|IGe#UH>8mi*6Ri~@aN1c$M`}y z``p<|=-V(x9leZg(rZIZO)KH4n3$G|Kf&6{3E~8D|NAsS?ES~1LAE$MUM4)M1m@{) z6*&&_DqEKwFB6{mClc0YFO~_v`XHQmQTFo3@=3-m0~4s1`Q91UkEFdcQhnsc=(k5W zMDyv7dH{E~9$Y!r;`%T%5NJ+g!z@tHjiz5z_sR@-p+v}6%N}Snbj$Ti>`Nm`K@MtM z91RM<436*+Bp29W79M$lyl)N?uC_wYRvi!3hH3>CIpyeR24rH=^5CV4;70bepx z94U5!io+Ogt6k7NlVC4xj3ph~KpP%Quh5fyhn&zls3Z(15!^_cdBt%c99%XZ`yST= zrCYKIGWi=s#*@5ZX*cT|ab_a|MAXGJ4Pb=A2Vl5Duw0?LUfZhexy$sX@Ks(09Lw_% zv?TCmqZ~#lwhlo>43b6#8d1Tp5U17T5!M7jG7t^=AGhKt)U+Coenq-o)VIQ|Mr2r` zQ5bbg5E=Sd@Q7kO*M1fZ7RVUA6ltV^Lw_R{Hq_phT#z$!Wji7EO9RS`H0WRp(2vM? zVM9i^{)~*^lgp0K_KUbagL(MPT)z>IBo}i%2v@p`gm({KK)o}xVSP|miIr%RtP(m2}UaoYAhE5p{#!5K>)E>N4OiQEFLjdkcd-w zm5w{#1@3&sdetOEc$yjb?k+Jj@2O*cmq+~G%SCImqB;#YQ>aeMvM^c7BRfI7r6~cnn``nT%A&Wk@?6U3- z1@Jwo`Nh5=w|l!r@?=8!e@0RY7t2LRwUbb8tVAbtuq z=QRyLNKXyk^#KUoc>+>6%K)rt8UWg~WBLH(m8jSYXB~iW`T%eWt8+|WNRMZ7{!enI z1mCmuTOjr+vmy4IZ3GOrJWH>SfChMW9$o;r$NRLxwr0if1^~lyUNeAm3~vUoFnk(- zdpv+=!|-MRLv=F%oL8b^FPIg;Gceo$Y$y(Z=?(y{&y;YWt8wxY!)~4_-9-lA*Tp%a z!2-Zx;v*t70GNqD7#vK)V0igS034o-g-i!tP7`1$MoJZr-plKd1wbRoa&cppyjqSUPV);ZHE~*tC(k6jbdpOb zOo;^Etjia`s^H9?pfu-%ms3(mNx9%64?#I@Ss?cTrd8zpiq|^?(A&W2bdPR{_JdYP@1jPR7#=NM!?G;RoWQU=Yl_!M<`?FW_81q`^f)A=mYz1Pm8TsPjY1c}|!s=v^zO$S=( z>r=kJNCDZ>Y~Kg-^<@@Xg|nA0e<6$)>!PQrTO!_5x)K|bKBR8#I`t@_1!&J|7jiw` zE-*6;EH~?9hN&(@pC&WxVs8Xe@ann|$ZMmunrk)!Ma@Q_s5AmC#}UsPfxPYv^_dxg zV&hx65hyP7|GY9IP+T_xNljNR-a8B{7=cQAk~acXhNvDre-hV?K+B=++z7PXj6ln! z_soqzi{0`!hj+r;u=#9vi)8}3l_zZ8H*f)Y|4)=SFk!FFSZ>xHlTfv2i)8IdmN(de zBH4j>&-moYW&^V1YI1&5T0XK^rOvedVESPo7GpCMDLAgi5#<_*C|()7Xt&g{-nXQRZycoHm9JYYz1BZM1>1<`iBo@?>EmOly16HeHDr zs!OXQ;S3$CUYKaocn=@(YT>SgGXm?ToY{a$Jd zcPH%6buB8?3fH7R_Z~~~w-}aqxeLvFD4l(>K+7xN9ifg>P^>YVYZ$r4Cv# zt7)kRyJDkhsb^6a3am!clI18(OT0%|3$p2^CClYaOO_=oO-ucYv|i0kOV8{rm~gH+ ze6dW(HHXK`gj{oYj!-`^(G{o;^yyir|xp|cI{3V3Cf&4eos=#f+Q?hNpXz_nd^GC zCQKfg_Njqz%TPWrRjfsk%7h+S2A6I@YI)d!d&Iy;Z|7Rx16K@PKRfTFI6-0=3QeU? zm{nK7nThhQhB{Rqbbwtc)=;b19?1#*8*mQ;ll-d40H30rX?&gJ864GJb@v{e%%WYm zW$|t|zHMoMagwCnaz1-^cPy22iypC`S?gM^1v2_FZKvZ2TP}!eBL6mh5nabNxuJ+1 zkHBZ%E_aGdtu5+J$F5xv)KK6SxP`lbD|iV3$3DI48n8B<>o}yI_$a6EO5`-wDJrPB z({^LG?cVL?>~?c^C#`^0g{DO3y_P0am8oObdn^EkN=+gLqerbD&;oGOKy8g-C@ZdO z7Y_REuKV4<82a4>IDt4{sXM!=ms7j1V}?}cJKs%@eVOJ8XJf${3i}~{wkADNqh-1M z@Rkc)O3x;PWaJhN#k;R_*zVtB){pwDK9^{E z=rd$Q9F;07PPBcLuR7l20@cu=+L%zU)17MQXsUrv#D=figC&tlxShYJsUB0074=Yw zMBHVxja4JW;H9x%wRQosKaNWQ5*TxpxeJj+Q9_VM5m2)eA9{jUGWFSAFAjRyLGg|o z<*zB@ij%0aSjQA568I4*1}OA!C-Y^aoz&r1RWJZuPa;>$Vk?D{G+9em1`Crj3!`Z$ zqp4AL)?hU4!A5#mJc1Et7J1Mqp~5pgDvhS0!`%0PaT2~Q#SdkD5}w4jarx~-%7)Uq z@oUUuPbnYD;apBcw9wbbkQ(?}6PB;}X=Ovz-SBmGJl11wu%(c7(aZXb>wWkKJp5?} z^<)Oyp3-2;7;3w0Xx3W3et`9t47c1q75Q5)c)zUL9IhkHHe59`H{hlL3frOt-T4B{ ztc!I$9)Y3?vo7k+!yz01E4n<-3p)VXn|0BlP6RVD9E({ldQEtr?06k4{!BMxCOcMa zJCf8d05M2Ob+yzNmuN7lJ4s^A0?s`5(z6`K4a87F>N?Xm%Z9tmEz=r!wMz=q-7=;m z&eL|Te*-EjTjniut2dCk43(85Bc{8=Fgrmt?v_aFy~Ip+b>EI};NsC_x_bbFolnRo z;AhH&d;)%^H16dS@V+9!r6_W#Mw)a37xlR%YW5P}PiMy75nj8z#jJFt%I%jfT^r-Y zSWL0t!7U?kZm09>UTGa!*aCRKeqRd(W79MvPaqwn7UQTF0$bDv41pFLW|H>pQCs?` z&j#5v4E>k$eLqTtq|sW(swaWuqd}LrGlg~Lqox^!^`^LOVWrdBADcE-x`dj{N*5*p zjN3NW_Z22Oga@A*Yn)|`*CbHrerTdBv3*4{w3J)!#FkF>2HnrB--rn$C|=}324vO! zeldO4Lb-j8J|t$Jo4qM~m6wrdUP<`a>~pr6q$eL9pdf9UCIJBiml_QXG;uftY77p$ zMlgKH{6hvT9t&R;ZldVfVOM|i9|}KhWPaU%!=n!Q+jKz&J25`7u4(Y&WCSr{G@W-# z{oRaUJ%(VwwLmdr8XnCU)>5Afn$_Q&98|NKbq&={@}{n46xP-i3PUF%|$L0$|pU`0kgXrMYGPy&9tFgf>%(ha1QJ0I?pYPi$B^b z|AB^#;Ow(Fz?nUFeM83QIF@dD#uKdP&0c$fF$d86a46hAQkeIX5%j zRhnOC@-9kCC512xSX_`k=rBwi$#6_>L$QfynF|3LU2UF%Qk#OjakX(4>h*3HON&{^ za%k#H<#6Fj9}@iVl+ZiNM6}G+Cn7{OZ#!YQ=yNI`4sYO{Zkb}fm|=U>e8J+=CWOPX zyfVioON?#X=q$ki$S)(}8Ih6PG`M>El!n>Q5(d}4%TZ4ImkBqk3}X#J${#QUc%E}aCPJsvOXh-&ck&Q7lkPukK9 z&jv(YH!D2NgxU;GhVXC*JdyZ-XRkX;zrdwW@a&w0?sF(gBsI(wS%h{6OnY7xroFkL zpaG^ciJ!7x8%%QyYQ|9!ztMUfroF<^H%9zk2sdf5j;FIS0K-!-*x-u%09^aMqNU#r z$UNaqrYu2CBv}R~E(78wEq0NWPelFG8Eyf1X6lmx9-*f0-i5#@0ciRf!HcR^IctQa zRKAqTQ>_tD)w|TM5>jcogPc2K=@8PVLi&q+i3nt~EE6utmkFyz(zle$1SdbCAYD`N z5oiKGluI`7=PlyStCZ8pTZZ&2XEKqC#fbA|f-EbB^qx2Sw!ET9pIAG*NS_p(B%l~( za<&2)bin>Xq^EcrFi65gdQ3w6oQ20$K0GHM7uI5)3`7tmc_f#+#1;cHCq$r)lj9Xg zVq`h<|1d>`ZsfMWICg3PdNLRw0U{P^T56WSmdq;RV@_N0Iz)UHLnjgOPx1!2Yt}a> zk-KvBl&y(PG66QWN)p?UM`9CLfg9m45Zm@NGAlQ~A{ z1@pl#fpMA%XAqAVFzx7g6(a{3u5JZ0ozr35J-yBetf;?x{c?3*U9PqzV=MEOEf@Wo zgb^h85klbMkfC3ul_d^x&4W5qtgf#>ri<0(n|Kh=%({X*iST?f4@)VUUeUvH`U>t1 zh}Fxyu(C{q2%u~MvP^{Nfdyph3%DmE0JhX~rlp#ar9W+2@6LpqbQu5JEk{6^r3JvW z29XbP4lqD6k}Q>oglpolSb~3p@UI24RGs}IoFws-mEA251B6FrTQG>Z3EjbHVon8x zhrs{{K?besR|UK_Ujvxn2pS4LX2~c=gG7D<8khm|EpYuz7XxJGRli<|?B=oXMz|Ot zQO1DWzo1`|hZnOT#z#t0B)?WHYrX5hS}8{>JPnAQqw(s@T?fdPP3a?Z9f9iV^viwz zbnG>_4lK@|V{0$I2jbzX1b>(nky{^MgS}RI)@$_VTDN#jcpW@>F(zF61V|z@wl0Cx zFpIUR54VqePhUTG?8tLjs62e35h(Nc{d_a?0L7-yP)Vvt?_{9tjvz%ihKNr78yDVR z#|7UOTIbGRrZ~Vd( z8-{;z3Kfm?)cd$=*wA}6A4!K;!Iw9lC9pIo$B94Bhg=;2F9^+jadS2K5el+=QXvK% znwuT^{L#ERyJJ2395{eZ{3LBW@s*=NHu=@!qx-mPXye*xH3E;o!g<&pT?31c{y^mx zwqtb=VFTHWSmZbN675fJrP9QMo!ATP#55*xqAIwcdWkQeJ5e)jx*Pe6ydFOI+t_|n2=-+`wN@L~*Ty+W$=_ zJt&m%wTy3dMVT=cBE;FW2;;PUrAL6*kTXY>`@*n@w_(ks{Tx>Jg?hAPD-yMzKjAK0 z>4U|D*-Iav0tCRsad;Ha$2O6NjFIqxW1g_g-Ux2<^<1kz_lr@M?_&s3;H`R8*MRt8 z)twzUpuj%t1!s6bViMc41zRxjbXET#L?7Z!K(s$=(-F^&Ke>O`=$w`yjN%GTm5juy zK#{WmpnR{8ulxrZgLb%g9?YD4IEN^NLu|*F$jz!TO)<+Qn~`=_TqDvs`4snD)-%h; zvG3Sl{Sjbrwm9q5+o+mV6U(Aw#FP~X3MF!ESi>M^VFEA-Zl|?AwiLjT@@IbbCqD|p z@~TAGYV{l;1rV8^oe(yMx-SkpmA;rRQi4ui5e&iKpt>Z-BMK!$-|cC%(?z2Xb8n|) zLm}H6;&yxNHN>Y|U_H=oq(f=vk5jdcj=~m;FcrC9@@dQrL|Z)@}e479i~eISh|Wk`?kqA}nsv9_D1;=z}x zo_3{dl?U9k{JY`hZ)UdanXN6>l0~odvh|f-!V6Dc?BZ8?*%ws%e4|%iW|&1FqA^1W zaEm@Y5gEVosHSb{#9J8i7p+@CIOsdGGY5#mqv0sWV(O76Y~+C9k^HvSt1;8GlraiJ z554qfhraWB|M-!gzWbevNC<~s_~*Sp{$q!J^T37gTvT1rknux*`o#W2fBb>{{}SXG zzx>ble)!;{pLpP2zN{`J=d{r^cvgJhvWd!@!%hN>2kY~ZXdlm>55_bYLUbCe*@fs6 zKMtL=)Ow|4$bMQ66&k#VEJkPE5=ZOJ0}|LQHlWY`?%ue%V0yExQIPgxy2@8nDr}q< zqPn`UB*JhyfS+#-TkmePHS;x!Oa)0Jkmj8Vmq|1$V(YP4vTYHnBkeqE6J)dHBY2ur zHY_4O4Z&S@y9p%lu<`L_OkLTed3#9z{_SrPc6ohpQ9~ zno$Vq1|}81gG3!r_9AoHdf(Q(^+>y7RMv?-JLp!`U}lWk+M`$|f!wi9TAqhSn*q29 z5O`!g+SDTpND$W$B++uwydc|^-D!}KXt@JaVq6Twyo@(2Vw*FP%4%&}72_tYOke0f zi!_j=8bU@w$Y{~X1`IqA=oq_>D;LRnTU$*5+FJUzpGSyXogMlE1heA<+E05+kJ+X_hYI#l-;6JyxfB(?VN!Lu+#{>8Wj2mB1NzVAAFc*8e&EDsCuHw7Q zXs-+=e2jMvIj12jgYWw2+4#8g@UQkz&HjbuY-<@DTEyC_utEqL2;W&t(w2SwzdwPW zlU8fsZNobY5z}fz0oD*#oS4#|)^rUIkjP*qEl|t+58a7~OwA?ss{?o$tP8@7F4ent za1q5kXpUlT0h<~En3Fxm@fH?HSmAnzVA^IQ zL!neR0rNLR;})*ZZJfc_5j>c~w1vX(b%2Zdr|_r*hz&+eyyPVgs`dNlx&ON4ThgE9 z9(R7-5;>G3q_XcEl!VH0Q9~{3ql-!4{E@3DwhO)y)WfkC+`2`w_ljtzf6UQ!DcABv^F{NFs^a>nwrjphUa$IoE}=x77!0-cq5^q;+U z>PvtA*~tUXO#b=qqP-2UUF^U3&>v1b`0Stl-2c4TfAOWCdGf2z-*a^TkLZh3Ao$A1 zKRP8vd00dh;f_OoxNGPnTUsZCb&N09Q3*$ix);U6jOpRYUav=4RIM2QZgz6Gg9Lylw29A;X^)D*_Y@@3OUNX zViAp@9cM2AyhIfYR{F?}n!IL@>}YKyD_9y3+0mHa_x7olY81qAs#VHb5^%S~12#Lf zcM1Z6Y(VNTdv0<{OIj#iP|u$EK>o6eCy{qpn+$!<10O7M+K1o#86La!p*_C;fACl> zA3vnW&hqiOM~iQ*mSdmFYq6(?ej|T68b|GSv*}b7C$u+vhGDKS%tqTQ;sxvykY+7~ z*GR?ErAvF-y?5_k3z}QW_$0vOfwb}mxMWKXIl&dmRCEuV-gQO~OHa_D&2_?)NO%zp zsQOzOA-e6>bzyseUd5DvB%00k;=YDp=kM{^)W$aU(#Z2zT7Ui?NB2)Xu2l`3qf#QZ zgb%=v_Zno|V(BBZOf#09GV1}@Zn9hb(s^J-s1jVt1ZLJyzAp$E``&_n28SO-xg z6qmpy4Mvzf{b?3aKml>pS{b6vtF1_+Ycw94{pFKnfRf5(1@EATyXkFqjCbC2TVbT6 zh7GDe9Tv)oB+>w~crdkl5svfc5NuWgCNBN{BHjB5O7gmQ(xv>9EmZt4kY4mEE{G;q zFnhT5(I8Lo)eHP(tz}+IW@mR2cosBH52%i7=aQGvff(vo{mTU7r5=yspJk7C`S5Fv z4@YwJp7{N#MlyNeYg3+v>YovJwF^4`4DdRqhT_Ojd*X9PeLj0S!Wz~n@9UwdX*{9} zPU2@Ex*A?#`M`xGkS;xGO9K8Ql~pWi5oecVi9##yonl-k5Slb@m1l%GL9^s>4O|&Zn?cRpPDjH<{-yOt*rq@kD-Bm1aTYx$w#3VsZT`1L-=-#JGupCwF{R(n1%o> z`k{1<&XwkBPu-l@m9}NOcBHg|L3d0@(&17LLwXex3s2)I!T5DdT&ps6$eAak+IUo{ zojSt>6(hBw0tUAjkIr#pG$=IM?|^lv7x7>Ys~6&GJoHjnt-^ zm`7j}4Nwh`X4HA~5bP87Z(QiR-q>r+)WAZjS!;o`v1oPBKdDFfBu5kurzty+=9+T? zXYD*AIBVzWcl#YhzdOf^erv!1jI_$QE1A&8%9YaLwMnRM+c$ZSr{~uCnk^r+6+k60 zzZM-zsL4L>q;O0_TSqN*GA_W(DQ-KwW|d>)QQGinI9df7Xn`3Ks?SlRp&UO_XtWUV zn0P-Cg4+PK1rS9A{OwHFI{b0#V%!b>Diahe+LY3JHAWDpT_~0Waq^=L$^vPyTFhqk zzW48K-{P^zw95s|q>Ry~5J3Stjrc%hY5P-~t1;-R!H-2@o2Q{l(OgpmH8mF{PKhq9 z0)uPKAqiweZaKQN`1+--r}6Dg=z>lzrd^biqYF>t7($>5w$>_ZD+6!nQZZTqM{WM4 zK8I`bmWG38m^nCBB0 zMa%u6uM)~k^NnAU<4Xn<@eJ7lw7@2`Qs*h5FVp>i&LCXNtdRe>FrCXu?GoC|*ZK^` zAGqGYk?Vy`0Nb+X^@6Zs|&c)o-0+dxF z`pALkJlPk;k;=>>OrT{JAfcv(1x);+U>6s+F52SX-^u0BuWH1`eFEd7?-)OBG+^7g(zrxo z{Na4PD*1pPs}T;KyM;vA@n=A2I|SaEG5G}^MV8iHj$HG7KwzU60(B+3fX;epF!bx- z0>gayh;L~d98s0TQ47lsn4H{8bhwoy37V?DXWx3{37N5z*zU|L#lhPz3V>*Lo@g@^ zQxTtQb!hUP3<8Dg(vjznQk=!)d0rl0e_;y`S)(u=<(^{lV*=47S%2rtmYq9HBl2#l zeaJp2-oNaNqk@@5VA?tWtV}1&P$KSW?81i5b4XB0VDyBsB^nC?7n!~F9T{=U2vIiZ zr3pd?WB)EWH4CM()!B7+Iz$)q2EA7}k@u4_b>Bzvz)?^W5?7LqZV&JT`Xf$f4>4?7 zzDfwzGSyiqeS#d|yhN3RN69W8NlxRk7hF9(9t0Ckm3%LQKB;^xgLMTb2eE{TwEP-t zil2}a@*;`^jXZz6E{IRikI$7zegiW#B+3DPeA}fR2ZS_0WxR!uHm8C$0+Y*vWMQ1w zbY58#?8z0+7|nq0jxwkS5%jOJ#8%GEg5oU+}7QAn*bvFzrFe-nHdR#jr3cTn? zyNojYWhH-xlCNc%r`TEQxQMF~(eic?{sO%oOcv>K1%bP`oQI!nataOS{;IT_4{)K! z2W%v*!X(oUZ9eAJ+tV(;HI-C?mX9X=gk<2pmM)b%#$6ABH)lTu$qEf<{fF?ffm<|k zb`b0%0+T}e>s;Dyv_veq1XFannjMk$7P(UvrEL_<@0Dy2A>ShT)VC!8-NetH!CZ?6Wgnnc3M4X=8OsH2x25s6^5-JMr=rxj&XL0KiEB#8BNCxf z1^GxL(gA$1NMXOmq07e`$d5cXFc?oMEuxVuqC~~;hdH+u7EyBg<5GcHlNmHB%%E-l z=yfvs<5Jt2&Z(Wv78;UQ$EAWS+2Balwt=f1n<_UOtYw&bL8U3wElJFfuoU8~SVjb9 zSQ>x*2|5ih;AJ9vEszzJ1}@HCgi`bK*>j9<@-Fgewt`vDBiKyytH zWPfr9Xfrn}520!oy3PSoU-<36{(DY{k8uxytuP{4bUAohe8HK(89{2qacFb~A!NIu zJ{3VVY9w9hTp7f6IyVbhz2f(wm-5!?r9W{v%nLH_$z7CLvFchx>=o;+@>Z-MnoJ=q z^s;^Rf_PHR2g?-U2g;X_ zPr4qvDtk%jnw>42cg^|)Fk;}KVo`Be*SdYzy13NOvhS8=GtP;HoYu8&>zeZ0S@zxV z4V`?hj3+%?*uEK~OTG^h8jG`qVTzG0Rq@Ec5J0h?;pAjH^f!7~F_BiVoBcsJp1R{! zuv6c$D+j59BNTP!z<-v`8325zd^Z)x!(uuBkN>Rxd+0%bj z4E;RKN@4OQa?FDrWUEc12dT3L2Z15Fc_Rrb@+64GB%>+sbi~AIT%(H-gdu7L#~`Ms zWG`4O1LDz*yDl9-ZZoY~motwpV;;y;=-Q=`M1pIaYLyetKw`-j`O?^;m~82LM98&; zYPL|nar$TejVLrrMzb?C1HbTH4i2?(Tc{IP?cGJAbC!qxUvScY`FoZA&r+2_wgPdt zt!ROcDN+^q@=b!8Bx^slSKS;pPndw6L6|VdJIu{-ox%jderY8(N66XE1uUs>c@we| zxW_63{XO+C=}{Mc^Tk}BJi{jxL`(zTdXXw*}BsykBZdRij1lx z_yS`kV8tcDm#74Hy2_4ks5+KiE8-hOqNk}@R#;xnX_Vj#LyY%1XqXk2CsbUjrG3RE za%n;mU}08e5md9~5ZI*wsgRKObuV3Ek(jUB}h5Di?q(0Dn!^-d*sda9mm?qrM(vh?)lK>{*NHTfD&6e^L6#2P3qXM257 z;c&w&7Gd#Xek%QkrZV5Al&XVy0FNujgd24rL?JWF|CC%#UM&22VO`gCw~R4(r0MkwBn9*?B^gtAef8nCQ@tFilmDV z(P5>iUNGWX_1v~IO2($Rz(_=Kl07{0`~jF}cHq}(`t%Esd|Y!03)DCHeUExtZkE@-D{t!2RB3 z$oz_BjW2ejNt2Qte~eb`Q+brGQ`3XS>R53V+AZ+IDha#8St@z*6)Twl0=^QJ!mLea zLg$@}S+#-LA?}O=ZZWJ}{W^%9<=0P)*L;r)3$rkEU>19W>Zdg#-YK5RzH*+ikH}Kf#^Pbb@=E z*f3(Rb}(R5nnQNJ0}H@54Zpw~V&qD?N@O68l?tb_S`J)9ixK9i5*b)5=($7&*5Gz+8-s@mw2L2u-2`E8J07l#L2Y10;HHffS4w+q}0;=pzzf(DEi4mH|o)g7jAc zGIMFQ3NT(6$F*OET)4ALGK`C`2C;_vL2~#5fR)vc-ho{j zoZ=J2^TtnXik;;X8#zkJNln1Z-5**pN8sYbBm`Yzv|*~V)lCeTH4Ua6g&qu}V;~ew z={$4+SkiC`24^1r75rZ$duL)|<*PvpwTbj?^j&1Z)>_ZvcRGYPR~C81Eqo5SyC6_Y zQulwrR=+rppjY8R<}Tw;$7t3f(V1I0_=kFzzi+>T7M?yjXHncz{0obl{2D+seE1?O zdOO)zJ1Tc%AO9tG8PXB48%o;Bm5~KY21~DNkTqu5|Gq&6nadjOe`X4s#Q+E*Qxx$K zG?adfg}TB~c5)Oiux%+?LjJ-Ov2$%B{k$MZ&X7v&F^p>2g6s$~QSE1#L$gP*ab@di z!v!PR%esFG3CJY=?9aH%)@BFz#P7VK4E1NiT>j1|&8U+ap?28JQgZG(~9^&nDps- ztB7|+JebVUWq}m9E8<5&lwDl0NSvzc4Hzi6T%c&{_>an&N$!%^Xt+*F6{|8up&MjCSAJTiEV+)HLOm#3?ygh;>|2wZo#DMo^)qSx`mTy24i>Xr0bk? z^Cw-)WJ=`t{gcG7e$ylZecz;uCf%G#*D=X#(`v5>W<8m#c5~fnlS9$|)UiTqb2Zm9 z>E=zkQzqTwNre=rjJC<4_50HVOsSC9oj$2DtCK``ZnyXClS6OWpQfC3e9t6+oI|2p zG>M18g2|y3`_n}r?!3vN<@?hm%Honqx<8j2lXkMnnY7a1q51n^n^+1ahkEv>9lnH9=rTpF z+MmMQUE~wzPm{GVvr)Bw)z)OGLT3m_RulOh_S$$96C)EwP>Vbw|Zy} zCHfCLXn*JA&{_NOp~ceY6I+H>?kA);B7=VxdpYqx+3n5Pvu^ITRMoW54Y=ica!VO( z&=)0!JyyU75SL-KN5-QK{9W#r+T$|N05m?+b=l)tlOVGre6|W&GMU7#%bjHpD<{F= zWv<^I1|~t+B`&dtbP@zT)2(zX^f(EA%G7G|AUp|I;=|CETd+R9lM4>U*Kj#weLTSB zwDr&cS59S^(Diihe*C8O@miknNtQsw*&UDQ<*DnTCa!oa-@s-5`WO#f*P;U*V3q5k zORgOCazIxOeZQ3p?$7W>*Rei^cpL!{ru1^|dMKRhJae9Qr>u{!;E7Wt9G8VST${)J z7e0&Hf&ceE#ftZRu&8P!$bxDdg!Wtg$dPCuU=EoIsz3Q(*Nol1bNr??7v8vb?S<#B z8$N#>*Bdw9c+SR+XP>`m{f#%@eD>N4&t7-_g%=K=yJ_8~b!)b4zHw~h*j;NjZrQT! zrZqdqZd!BGwk=zRZyMjcZR^f8H;#`D53jjx$tn*61Q`B%gx2(DtC6U zowofDZTdtM1RY#w7C`@2ZyDY?utJ}2+BxnYitpC61wjkn70;ij1i_Mq=fC5*f7Wtm zYnb&SZ>(BZFZX!t+xKq*yN!2jzGdUM;1?VTYr*x@`-8w^Emwvt=;D`d1SADC!|pe_ zw{PCLeaptX+~(W1ZyCOgvEFEK9~&OOeQfLSCbw~`8y*|mHs)^MI(+ALuw!`Bmb(mA z6k+AIa((0d**QM8dFw4|`>v=KTuGVVW+3Nqy;Rk|@d{=l_trYV{){>Wug~(koZmIK zZo6%mI=5~e9$T~erj28_Y+Exne9LB9d6$vO=B=BC?_7P;81UY?dh@nb>ux@K{ibuy zx$#DbZSC5#Z(aieZyLUSWaqZ6tIl4%cJv697=G$CV-W?mqHgDWI?yUK4t-JUVx7l6n&g-w#f(5*v%dhHE88v?A@mt`{ zDcqmRugd#g@n$~X>YwoOG=AUsu-5VBQTi|gZ*JSXb0>J^Zr(h+Ws|$%2G!eAvwrq- zRXa9sy<_8+&6^zD;g<1RnM4XacR_GLp7(ODRq}4SefyTpH!Xw~^ni+lm)3)L>u!?N4$Q{K;C@Uc7sfcN&9tL7KzwxP5%% zjhnY@9=|I%oivS;e&57z0J-MujhF&`I*1mdp9$x8=cT#%dn%fq|a}w8UFQh--z!Xn;h(p zFM0QN@^y19pr%)1Jkj8rw54?Rmwt=QDY(^A~z} z`%UA{n5qZOId0frHpr^Z4f5h5_1bo3~!SbMq}*H*VQJJhpk;rd!4~-ZXr@ zzu$TL_U+rom~XG&v~hgn^*guSKE}IISohAY!{hJWHa2?w&f9O~i|w~wziD{Ow!1WY zU%z?N@b+yt-Fp3v2z8^^Z=<{|!?WirKi+r;LRQXIuD@;L){VCekEy}qe9Q<~2{vKm zJ$^gQ@%?Q?o#4jKn&IUg!(%%U-6#OK{7@&dy!#RR>s(5rAxL@=k{#5)vUuSqKa%|i zjUVYg6$0}%%?nS95AEgnUEA#??Ssf!yX60N*K-vuu>3b|yKVcntw3vMQ-yl>BV|n* zrnl8cEnVr-Y4tP|Kl9UT{Q$q7&p?KE87{n@k36oto-Yi?t}%3bJ)f26sNsK?A>)<8 z#n)3tj<@g1(e~}b+jF$tu<7*_V;DXp1i#v_^Np5QP(s!~2=DN800tNtyq@NHlGz{$ zakkG&^mOir>j>I_{D z8h-n{<~6+5@%kq`a{M+vOUKaod=Afbna@wIIqgrQ>VFHIYgky*j&-LrudUA|P5;!7 z^Z4E1*I!o*-}$y%H%jCf9=qv$(k0jFSGpz>Ke#rgujl#dO`EQ=Wm{gzyG#P`N$P)n zrneG?H%WZryG_G8ZyMXYU8)W=LdbMTP5&QtZvs!{^Y)J)v=iqXj^)@+QX%`EC|hMG zYeF0xOO|8bw?rvIr6ejUZ77NsElLYQX+ug%M4Pmzl;wBLeV*HMOevNK~jVz5RaWF*c@i(8ygPMWZw+t z`cuO!g)lbsuyBTHaKu!1U2un&{Y!d!;AV{`iC|6*yA1f{K%flIk34{ooety)L<3^SoyxQ0=Ca~? zK{yW}c3f|;Gk|=6e1ZIc{DIa31poyC1px&EA$Ko&a4<817J`}^%yc3cAi~pp!k9rc zMo>sZEDe{8{aGs=-u}M+5i}oWWUx1y7U7=3kwKmiDT2wQ1;Tn418lI!ftHGB5r~hV zp@Du%sPG_IO875BMKdE|(Z!QNi(`aAVlbHl`9T3=P+E|0d1$BThvv9wzK%>bjX~K+ z2@(m*ffzuUKuqvQKh%ChfTr@Hz@u*-C5?(83}#jKVE^3*pa!x6l?SUi8l!TsVTN0S zaN-lljJ9IVQoWlhJ zW*A#UVxZ|XwyX*gSD+`|D*!qlhJO@e4}?c)9Rd@5Yh_@f=Tx%H8kYNIFlT~0`#teB zT39AW$-?qZWH2l=dikNnL7Eq=sp~*B;;UTNAd*0hLr?bw(m;LDzdHhiM|flFJmIn7 zO5w4=UP>@oVkiYO-6Q?H(L&;RwB1FV5U98@RlxWmAsGW!N5D%(jg`M_L(D&yCJ$KT`W zi4d{1SFDeL@PDTJE8{C!b!m&&XY-4pdCu$d$i%!qb}g;cZ##ZD&` z8ZcTziw9!&!wFzd1WE!z%^%IN(As1O>^i{ODz@qKpRY;MgJb=e(b%G-wkFnAv2PAu zvW-f_`tvd_e2-xb@aU&QgE3Q-i0zTgnPWr;Q2;uySe-d@=D;`O6+ruySslAS_&H37 zht`4Z{`1O+Vt6S9G0{c=q_+jqwE)ut8m%;#$w2>9j%W=6<$n;uqu(?!{5_C6{Qm7W z;sp!E_=gTl-wY*8kU}}5LHbB8xW$RfacsU7cvW!!A2%7<|GdC{w_XCF7V?GKZ#sPJ zXiQ=A+gN-GxUs**4PZ|NLf;~^KDrkytkamR;Q-w9#qm1*&vS^XG#myacQh)y`$ISF z9?S>_c@wK-S9lH@`4Jd;eTVo~2&@wZNBDz14DW1dSU31D z{HAotux9~jpneR|7NDv8R^a_4@b(AR6d>#e{ZtCeisJpUL)Y-j{-1yEj0hO<{1sHR zVZ%)sYqAl{07kG9_7^MXtB^M&hoL+p*_0&+(9n2-z8!T*BDUwqc1J6(cCb_i8$@yV z#wgZ<}^FF9iM|>tll1RKGpo#}9r6-rixbL-Ut1%mnw9 z{xJ-1!&ul{{A>AUfgk1!bBd|uz75d>kooG|#a!&icx7wA9F zAGR-`;2G)T!w6G=eQ9Myb?i$4GzjFd51#7*&p8Q%_G;;P`}9OD5$cZMAw?v>kV%LH zCJ^lKEu%dfXxc7rC@%UXfjbNV1Q#%o?CJuO9k$;da6>Xn0n5aeGv#GuYgzn7mdOtP zr~7~Y{(tWyu>BV#ccAx&=X*f@7675OiT@YRgMNY@6@1 zY+euS%2RkW&(@y8v*)+$@O1E#p5pHV_NnpVllluE0=(Rm@MtX5n8I&n@l)FYUf<9F zu*&n%Y)V}8O-<$VSv-4R{Pzg-cNaQrlA}F&Y@&pEPc*NC*(vIS=+J?{P8w`t zqF$TE^r4|nAN$I%`OfdqsEpYuVVV6SB?4g&_#N zO1}kP7wSCn7W`E%|98{=Ezd=SDTSaOIxHBaKMd(3d5#JbE%fbA<>yV|dH?W7Jo3l- z|NpVj_j{heelPYsf&JV<=v+`+USYkG7VQV)&aY9FP74Gi&Of*Z)0m#?p=JDo7i*Q{ zpM0>5-CwW^4;_!+c6kqk1@LhDyHnzCC#)g=it|TmQXcG?H!L~Q(aHqgvhjr!)^Z9= zWl=j0qX+x`3J@9WkH!sb`c4ah!7~CD5+cHwfiyJZ!j?&CGOm%z@KZpB%1T+*lFpxn zg@3RBe4qsZLJ+OT!0rUrX|pqfE1~835We}CIYB|6hQL>p$IP!nEC;p z1^i*1CW!uB?x{I5C)CesbGTW{VOc1unEQB&Nsy$D_B$zSY_i_rK=DIjjC;6qUQy}qQZYZ zCjAR+8YZ}+o&e^M@H{%0-{7J1rtm+3NBt$+pA!c9ss7x+qw$38&j-9b!QjXvK&Ylu zhFMG5()thte$M)sp`U}B8P{=h{ddevNmDdH{%vG0%uMUZ$4o|RD>7;B#hiv<4n~=1 zA@g7!H3&@o{vzdrVCG8PxYQ1&`ofU_9wS1^bFJ9x21bP9&U7dBC?i6nm2c3sG9!ZC zc8|U_FO2lFYGTAsQH*Uq^tSg=&5d_FvYc^uIK}v@*^35Fg&O1PeUD>}V%`{U=ai9` z%cQN);8H#JrNVv%XWB$x=;JLbHjpKi1{PgiF|Xs*kLN01R=mk7UgEq=cBORXtc(xa z+*b+(Pp_#tzjI|#(@LqAM;cdhC3Lz#Cy zS9G=6)$#7A`}A}(<-}bAt7>b_mIZeQ238N7-DwiY*!)7;++a*({cDl6=EwDHdR1(4 z&G{|+)-LnDVeaIy@1tensCm%&X~88=l`M=u*Z1|k_OhTgN*Pi{l3^MdBLo$zJZTJg`S+WkmU0EAIn+ zWsRAJR(cKH?X`;0Ry<2~W%>Uow>oOn{cVF-uhsUvhmi*l30l`&Fy+s*u&^cx@V;w5 zwZU4jfOND)^sKeZe749t(a$%thDIKf_w)X_n*V7Ka6d)5#6V`lk)7U zji>Rn?|UgDHt`PA&vLlPtqyXyPI?jJvAR)C-BBbzZ*`o;wX&W|O{)X1t!aj*O*!ojQrYdClS)%HoKN=zrbQiO{U)}d&L8r51uqkv`@UAx1hrG zw7u(>(O}`Huk6D^&u^93DdsS^@{Hi;C#xL}3VS^LV7tlTwnWT>vVn^Z%lQ|3H-~(5 z;O*4Vn`l|!NVeM8qNnfT*i5{CVBxIojuUyeRw;$sPS6sioLjqJ!DYH<*Soc;V{42OXGysn zTB?*+wAIliYtGUOMhaOj`LAx+nH61g(W9LmbmjW$VtMSPlzQ4?S7p;XyNXrmt_e>J zE}A6oa&@sKzoGWrc8v`;zaP>}aC5SGHp6m4-7TnZm&tRz^=>y#x+#?V6uU)IYqXtG z9=eg~y)%M}XRj+uu#`5QroXQJiHCy2^oVsW@*aZQ$tML!``|HAIeH{Uvx(2L%+}&_mA$g1A4j#+~1#TUg7je+~bSwflS9zTaT(m zn-$BgHpAB;qvIrX*@H9RIW0=#lgITj=7NXy3+Z2eHY;ukccsT9F2AhNxSihanj>$d zbBoTSe&*YQ#-H@fgtoXeHxwur^Hw}5B_pSQR5k^|Z-Z5vC zZ3R}udOJS9#aB%jrP|hhInDZTVSmHT>r4 zjBDLy1o)X4Pk8Q^Eb&|W=+jU7O?W z;ChSUBb%-*kPJ|El=-qJ+AiQ?fT~KeLq@=f8Oh_%)?W#b^JcDV=KLI>p~tP6bbV1^ zDo^%xw`#Y*dkxxqYjbx5-Wt87|608vQ0x5n-1(g2f%C%)bsXoZ2EDa5Y$`kM6ZGok zj*Ei!ML{8VmTF{I-wWcY-&$WaZ$@xVn1Y(biKW2>zGFSMW}(5!8-C^w6qN?|(0?S( zoAxAFKJn5}UN4auRTLnnBf5f_w{b?zEYCQm9$7kcMPenhMKGv!cTpcR*|jm{(shxL zyGs(=9H=%SMj1uMZ)s^E_9w1W7Rp`-d7Y^iqeiXp#jd@ z$7|1KhraBHd#0{>J@n}|5yAS2Z=rS{4-|$?D1<%yYE&|_&NFPwm%J@a!TDijDnH)F zo3(~`Q^^4`GkwulC)v(HPyr`g7qys70GUPS2Dg(r7gQzE%f+4MX-WESZg zw1b;*Bqj3dtZ1u=yVa2&ZwvH}bG?adpRlM%GNeUiEh}ClVP_wuWYsv-@4F@HB0X+> z&$YTJN@CW*#g9Kntu0c@jJhim9kTJKf<2de^g`9kMFO5Xqbrl%T`$mSjCS2WpssH^ z5j|Q@oY(kXHRk+hds&_1zA>fBC(dN-+!y1!&MZVD;eHIqSJxIp(V4NSY7xo&y}Gd~ z#mAH^=7z=UHSSn?AoobDWnA=}2KA@0A>~_r#)?UCSxyQmOJ}c)V^(N;Y|V_1V+77m z(A27mOI{@}IxW3FZk_YDc`IH~s06x z{}UgWxuMw`OyvlK{ZPp41roHtQw)R_NYD>T@a_|}E4(%w%U)C}tmpHhSK2YQxdDfec_Qf3|@ORnZn zcy&6jec>RtBI)q#)y*6HPPU(`z1;D*CqeX$&e4PF?>|0s-{l?qB6*y0u`zw{>+qsv z5z-rl4F&n6?{nMruT=9e>NiB0`qeKG+Zp;yZBK5<8;-)oC7TM<1dXmG$v!{wd0rvK zabW)`F0z(}3SVnSy8q%!TRQVk-xnLrUAw%aM{C}e-49o;9N`uE5pL45;+6YAahcKm zdv0N5w@q{7boG2n)ywanwQkxdUbVj?&nsVIwcC8d9XusPLf6b=yHk6Tx)QAmdFNEW zB>R=Sc;4INEw{UWoe+_>M8a;kcf--=XNQbepC;>{Q4l`9(E5(8<&HJ$k7ge$sCVKw zIGj{@F5YI*iO$5Xk+x3~>Nbq4?oCH*FY-5^yrEw&oO|R=fyKkOyiI(%pEUR0;ZK=E zx?W)yTV){PVRPkcrKIny2+qu>3fFvBojEeGZmo!Iv8)EOQd)h}f%>--<|YD9M22!d zIg97+PxjlwXkS8fm#wT8zy8xAU-js*NAtgmoUV0ttJ2u5SMDNN8~yr*fQ;vh#6|1M z@*Pbre(u=3k2rUqUsGpO*{5ONxbNpmcTtxK)#}8RTyj|(rl_zp&6v`>;-_LG_4cWg z*_m4n_i>R{%-&ITXy_WjfromOIS?d^`lk>HIA4pmAG6s~Gt-z|~eH`Ww6 zMK4+yNV@;7wDUt2 z`>M8y)iO=fRUt<~xbZpC5&0H1>oN9vw>oCg$dqCP}Le_LgT~6%~10^5D@U=b+}U))$VYYJvjs8=gj!;+=GR zI|j<$)RTyEcRid_*L}LBx$sE&iD_p=E|#XO@)I5jxVieRqr<-K0=v@)Gv3F_&A)e4 zs;4_Kg6KF?{m_e??t2?}?y2k^v!kvE{5nVt?>nllcl3+#I3H!d<9EAW8F4$ed|S8m z`HzX7PTMYUJ)yr<{A9C>ST{l)TyePJu8Gy9H7;G zXpF^^^TsPrh^7T`tPpeex^}Cb(!e#{!IbOD-hF~1uUi9FJk!?Hik|5|aZ-qU%|LMF zL9c6$Yu1GE=2v|ZyW?ASZ-W>|Pb~jPC^=h3sPvtK!5u;MWct(GYrLJC$ib@|H4>$1 z496Sv}-^ok9t&*{`a&@=Y z_M?0%Un`*~|KLI-cVe=Uhn=y@Rukbh^Pe_+d!$@&SLC>6!qOoAh4)9pvbI!bpU&a^ zIJ%f3dEP)V=g>^KFqtFVUm7lT3;)=ArPO-K#cP`++FfVl_wj%IraW7ueqB+A^6-y# z>4%cv-Pg_(@as2?-L_DvXJeFz$Ez39iL}+h4RdVk`tPn2pr&uQ$CJ|aaXOQ?Anma^ zapa+2ssQ1Jb$j2-FU2Ed>f-449489=ACu0BeLM5*iNK|sTRAcWhAJXE|8nC! zpOMA;&J(Lto7J2|lf8osY;Rmj^qBi4`=DzNrRD5a-zWa#w_oX9@3cxxCiQHM4!g;x zRMw$1J-bhFQZ(h!4wq@+pEAm`)-MyUV+i^f8=AJsj687EbJ$}x`G$0;n9I=8Amf75 zu8W_Es%2uYUvc_%v@W5?Mvv9&yL=F|x8EKIu z*_@Tid^wt-)Hwc&M>mL_sVxoo+}XKq5k=|vu6KK1%6P8cl2h^A{2fs!^276Q+PwP) zc`Z)uE$0`Fm2;-v)`^=&;I!?@H{pr`MjH+pxl(lyH%|D`|HQC9fzy z>+Y;t(R`(Lfl1Pl=%~t`_OKvD!Pu;4Mw3TZk8b~bI%eeZ6;gJ^`2C6HV)bJ0&aIX5 z@)qmd>TRg1R>>hW>`tkvISU`>#=`7+XO42`SKYZc7LyNgEpZo`_VrGA{h=}HL$dhB zA_a?b|8-%P3&n1m7#Ru`z1-Tq#a?)1yjO76O#edit?6Z#`Run1DFuAw>5RB3K0QEc zA}p%oN|w~Mkd<=xgr;4xYL>Z4o@}@B-4<|hE`RZ8Vob!+)y>jLo$+M%1PM#}#Hei3 z+}Y<;D#i?wy@cm%XwIAWu%r0qBI(=eEvfv`cVg`CUa0eB@&p;ptI(1h4OQqa&1;c# z4%vFw(rHw<;mhU3)!psMai2?;FDw7S&po8nG^luG^7{EA)$!PGlI_x;i)nQ#KAJxS z>&F{*h{TAyQmHMA&aeAf#?c%YDd5qU5Px#E-A>`AOTGt(-G~Lnc{eK!-%5Om$XmXC zK#BU|Rn)XaoLl-`<+@cfBtHubyj{F6{Z8?@%Arb`;^cZ_XHO5EX~yAPZDtjr*3w3; zuy{4F;8E*y*@Me+bK1ixAKO=NS{)r~IaJ;JI4nk%H0boYeelX)e5HMPPTICeQ5yfe z9y`_AG3V|rJnIjCqof!P2ph>XdYv>24jFpAgXFWmbCLGkxif@FW>g^~39+~HD&EN- z)(ap<1jmz$k^~*CoGuTGO=LWAT{C9za)LD9Y=LKW-fjbT`Zf>E>CIxVABqpko+$H8 z9?-M=-Zo2UbGH!f;ylL-su#RFM#F>1rMt3x7W>bye{)UeQ~kSmaq(yE5?g9h?_5;( zbm4T`EhH@5V?NVUqjcU+1RksENJZM+8MXD z8!i&2F6NqXAlOM+=+ypuM+(>+9dfA$#)9Gx?3cA@OE?^(Utu;xc0wSd?sKbPSBy)n3yCp&jEH=Fuq{^5ex zqYpCA9SYT_cP*n_6tj6zn|EAyH1$gXl`=_OOg~e2qc*Z3`yTDO+eH=8EmT>-^}BA| z=jI*otMa@?DT%KoWkk0j$|&xwLfq8J@g2?n-ZJ$CU|%`S#ESD?`HM5{=Fj)h~`u^ajCo|+=01@t9#{)x@J*a zg=&sBJi2rwvulIH-4_ptmE_HQkEIktdvc2$`Z?`3yb=%O5wOl&Ytbe6O#JS#y>ErK z9y(rnF#gcVn53#wTCWuU@#)78u6MtmxG2Bo;9kxB6886KsTs*n@+Hf^Sy6T*2}d7I zxiiBjA=YC4t=DCATG99p#7ey!x%c7n}8XK9`*A8I6Hh!hdZioK6F z2#AMFeEN2J^f6H&dVRb=p^?zl371E znZvwX5_(%IOW@ASWzFHECbP2gs~0^I4Ix$@@Q!)s!rN88z@Eop)Pj07*~Vk|)Ux=? z=Z?1%>2oM*KKd!2>za4v%MU#Zr#>RuhP3+F`jmfIv#QejLhcatiSyy}yy^27t_u8o z_Q#P-is{L-J3HG_B?9Nmy6;NYB}G&&$q}|+J(+J?H^;0{N|4F7m2f+@F11dI`@yaCbxoVdhQfUp%>7zK zb@>itOzPa{_2Uncjn$8n_YmIGwP*XrJ|0Qwd3kD$j%QZ#_ww^*w} zTK)9!cC#M-t)~Kx`7BCa>oJdBl6s<9@?hPE3vbg^DVEii)rA+CB31=i^ey+YPw3?y z{@Uy5EWq=komz6VbLjTtvx}`$R}ohfO0O#nTa-lly0xc@i-$VRR9x6}BzuxW2kD%3V$k_3et_D-jb>s+9QogXu`Q zW@{q%IHj^;!Bul5rOzai`s%qSvegGDvs=lhlipg3-k2LYw9HMiENBj&jOv!hlzoS{ zWio_BE;-HOp~*aqBjxENkaa(Ok$0Z^yyfwQZ=y!Kc0U>Wa((!@-kFdW4eo+mB(h+> zo90?-^T@&tOJ0$t4T=p*k2&V%K9l0s$T=j|_U>htxN^_qBj%|G-Il)=?3%w(ugW?3 z#oL2-tg2M)$*xPZm1^pn{bKJW_F1LbiN93vsB_b3x63=~Z4<^7B_x*licuvOb3E$Z z*(2F^Z;*c&cQ9*CEadyhpV^UkdZvWu`kp#DDcj|XjF{!#GBbp&GLj22te!9=i#~0! zp=tA*&25p1FuTcQ?0mylt#(yn>EYR%zm}|bPUDjb|5{%ly!-6T!0!V?6`GH$N49I6 zj1YVrQlgCZB8;;nQe1_xiqNi=gYhcat9v3Ovre z?>>)@TaR4XHDApom3VEyrohjVd1+C;J)c1{>mP7?YFR2ai<>ju>fcad3FvIH#)i zWYhbFwfKXUkK>Nuyp-F}$DEuJazby4Akbw8i`Uy86H=?b;St=rW5BS~psvzMEG z#BQ?V_VM<%Z~6V9kF`BpH(eGl>$)8?cV}$cwK#=Az5BO?94SnNP(ym#-o~w)RF2K! zmy!}bWwqYVa(mYaJ!}04iNWgFPs=jw4tJf*@Lo=E6W;7bmzfNF`ugOWAe)wgME=9O z{N^%FdK~ZDW ze(}qFTM9e!mwz3STx%t-aXj(%#*$M#J*wX`MJT0?-)IvhMFXEsThxy-1x|>QN6)B; znq82|2`S8TCU);Sd+lA#I-`-f{V6x!%TUdpt>bW7*ROHou(eH>{(W(#y|TK3?v+PC)sP590cY3bONUym`4mYY$cEcp`;>lA0} zU5;Ru#zkj1_DXo$?0U6K#oI0G+|Qdc$Th;}j+}VgyzQ)6i2Uw*0lYW(oerNM^9xFo zsH=tt$wI}FJ+Fs&pBiuM5(xZkXV_yQk}|KZGhrWRuhD#2Bfn%l0ksXPapQ@8R+?fU zMysk2&)>1h-PNRTcKOx?bJ^8{BDc7Y9*KUaHcRDx19NlN1%ZIs?<8(T$rf+peNcD* zWFE2SNxAnSCqsg%(D_O6q|H>3m-FA$^l-EmlRXNmRF+Uq)`(?nx408x8TqPWQT7jF zuS4FEnu?dyQx`)_c@pJB2cwPBZ#cb<|Kz!Cre6L<%H~mxY3pM*H)Yq%nc>~zNeZpM zG=rE^8rhc--5$ueC%Q=EcEFL+bKhP+*ikktZXhUmqvVo=#4YzBK0e27Rjnk(15UcP z*P%(lGgVtmtP{jmKP|Mh5qquLBa{7b#^WYI-bB;T@Rzil)3na0=>kj135tBF>C+37 z-n2S@Txz#i{PvYnj{RDvnuj`8eNlSqAXKs^P2GHS&Fs4J!0TCpWn_ZEse)^;NKFLg z@|Z;c)><)(2*KbPvT*845)6hgTLwSDU;?wP7bX~N+Y7#2DQOY}gMFB_jST)3m^H0K zh+uFTvoc!62?j05It`E%@W7{-9ncgI-Q_1%!N!xS1^c1zdrSu{aC^!fq)7 z-)<)yj)8zM*e?Z#Wgzf1_M_qO3@V$?%f(}VW%AaEc_%@>EOh@6dkGplRmI)VWXTai4S zwPS_JJDp+^9KOQ;OzE5B+M}k8YjGHhaQn~dcgiH!xGE|JXOU!xf82RxYwWv|xfra4 zzs~!;cJTZBqg`Jxc#H6d%Q6j3gNdt2ILt+&CMs4escPuH84h%U zSKV9q;&=mpw-pBK5#lmTd?q`7VNISV2JaC!H052avn=9VkvIHMXy*piR$7S)iV^xqj49GE90;s%8nf((_Xi7=v^jZ@FCH{pE(DsX!BMI;xHmo>JK&UXMV>! zo{VE~BFg+xLN?|4&Q@C-Rzy8pcs1s|bHY_S99~2`R6pGA7gAU`n2f=U1S~$6^K7)J zf7;uF!Hq=tgx?L^V~#ex&%|IyM1F|@`mN?@-Pc1H{77I=zsHYrS9WC{T93hyL?$Fg zzcUo$gDr44lBD~Y!i$q*JU6XzSQ5Whaq5ZXx;AI$#oa##^@E1ZTPX;4mgK ze|*fM8nN47lUZ=4jsnNf-a`pr+;Lcw_(EFyrl41?-wRbRcoSLqSmxj?4~}n~ILt{% zcgIO7?(^5GH}1pWPGStvijf)oqc&kU?1{YGQ}|4ylU6@34u2B78~3cIRv~@={Y(r7 zC3cPHZF8P3{~<3N4n_KSw}0XSH!MrzuqeSHqXS9Dc<-Fdw7}p|qLEwYTgx`-TXra6 zFewr_=-t8apSiTwcnmH@am+ZHX`@r)cXcfWo1$vgm^g(QhZ>xZ!QfNGjlI$DO)D-QowfR(Wv>Ah6iA?qy zY5DdA7i>?$U|5npL0eO=TJ=v-S#T_;*$Rh34nC`Uu@-}630IhZZ{{&?SK1qj!LuYR zl;S4`hWgzII82LQ@~87;$$Iz5tHT&vOK2cgIoWK*xgEpraM+fzMN*Dc=4lr}9KJ=? z?Qv6+QatcU6o+vMaXV>TJu$lSgC`E>68CkScYcm*)+09@)}ex~u{qxopi7&iw0 z5}i}VAsc=7;*CTc21aV77=E_D{zk(Mhl5e{3(3lI5sZ!14=`Am=&Ta%b$k6J@7v(; zFrwL(?2)U6M`ti_m>6Z>;!mof{Hsl_+`-^tR701Jx`pMc?=^AQ7?G^n%2akrK9;6} z!N&yhldfit$sf4iKaRo3L?o=&bciP$I&^A34kvr%sc5;tB`eDXhm{E&_!(O~6ncvJ zDH?;9iENJBW3t|=ko$uJ1~Ze)vv3dMBpLYDXkc(N{#wa%vy2=_*Q8jmvtt8&w|Aa! z2z|?s!OtX`hrHqTdqun(p3e?gAXt`8%d)kY|m2V(IZX%O>Fx(F}M<+E_?{4fTSqh`O7YB3?~*%yw(<%p`qizn9-Ceny3 z*xa&=uUA4-^o|JN@Hr7HxoXAi=Ph?1hhZ=}$&kIu-D`NB&ug5C!Rh$tUP};Q@~x4p zosGfjgl#?+J~rbYs+M8F>+VN!H1f6xgcc}aFgyND4>{t`eE)f7x`2=4#yLZOs{ENf5GKr z0uIX~-+$E`ck}3Jg{L<$c%IOv;=;#gS4%Fj!(n>j_Qo7027$9}iRX>LkH~-UHbTK#}@#t{< ziP<$=lI6`9EKuNHc{s)5;Ejd(NjN-^%ffFPvtK7h0*46_x!mhRn)jOuzB0t%f&w?b zezHiK@wD)O9R?c|iKgGWVJ}BALCSFeNzg}gJ!wC7uj2AdLJyU;n+yR3V z3NPI~B>$dL?;wD~3MKl*DZ15`1vT$_F?b>WItJBzUdd$d(I*(pQ0VN$^L_qX>Yi-3 z#o&hGDhJ9rduyCz3m;&xL-NEer;Te5Reau%fx!=jE}vJBR^cfKId}qtA&N)sEIPaY zsQaeUIT##~Y=7R!d(-xB16DXJQPBU0{rEuSNXfwz44x>)F=#(g>A$3ufx{F@oKkP} z#BXfoO~&Dhf~hCGw@KH?-rt{&!4^fgzggF*Nm^^PkspIEk~B-BveR}c3wYx&M#@Gj zfz$o9x*~}T(M=w<#kgP9l{Qou^>#zIQ=M(GOOr5_oxH}vrM-dYSEDM>Lg-9%{E^sHC_ zgGusJ_dYp#HAY6T$r*!73YVnZzc;-5w98T)HYw?yJAb3&eru5hIDC>nDdOGycj<@R zPoBbHl*0SA56JuaW_>Gg!Qhk?m_VEX?VG9}c%9n*@dp9D@BMLmYM~w05TT3yXt$N_K9*;Fn^1yzlXZ zFeZ)1lrb14`O4+##Fk~t9hc&8OhHA3nF7hYcNcH9z+jnTdI@QPeExKob|wzbv?wfH zWp{nar{+uyrYR`NnIj^j-Z*q67=vqy+R;b(3TS!`S~zTzbnL=6yE?xtx%4CqzDXe; z8@x2QV{#7N^f>&7Y64fTD_g@Fq7EEoqZ33byB2WO>XOEgk*nQfx$be zk3Q7JoLD|%^sG4s^CaGW`$2Hm-BsrfufyP;0+(NvxyD@=>9@pTpCXzeZ)4@D%BO}$ zG59CZ$iipOIoeoPAPxf+uX*4l%D9EWK}F;`B%euqmKBu4VWE<7uO66v*6OmP z;_y&@k>?rW!#8bSJfDrhM1>`V-%1C5J1pXi!$l?dKaleeQD;`3JB7hU`8!W^Bv`zd zRa9Dt!AFI%cg-z2Ai~X+!->I2#bXmQu5k^&q8Gft;H2b^qBm93$~|f)A7ijmp}EG4 zXVW{rA4|sJrQ#W8lPA136*gJpFjKOec-^isU(QP}WiYs@U__td#h)BpWnwt&RIJHr z++Od+i#Hz+VDM8?{6XClS%uQ;-(BWw`@{HDEyZctT@9NzGdA*a3}_3w$cmozESVQ(+ebR? zk^Ay}=P1$p;_MT=zHW{WVj^5+t+gq7a#{BGuYOrPD}Vc$&z_s8K6^VNHhzy0WlZSU zbdK*N5;n}WJ*?^EIdR$4+iLv0fc}eIAIoX)emP#+&;k zyZme{*L+D)i1aFQ3|o4gpSba`N3hC^7~2G+cUE(%h2dzQiZZBER#sQmP}Wq|Qq~3y z{>myUDyk}KD(Wg4Dw--{gRMk~AR5ew#RJB!?s41(dsHv){si~`J zsA;NcscEY%QCC)1QCC%0Q&(5lP}fw~QrA{rqM@vzqM@pxrlGE(p`odvrJ=2{L{nK) zMN?H%O;cS{LsL^zOH*5OiI%dKik7ODnwGkjhL)z5mX@~G5^ZH|6>U{*HEnfm4Q)+r zEp2V>B}*WSOW^TKAn7F#Z3%KxRQ_K$NgWb~j`)F+Bn5QZE*u?RS5;JlI#g5HhpQ{Va$*ahBu0Zr-97W6!e!s*qVYFDFpNnG+t!l zJbD&p+rV<4jk~98g+SnJBSD?CFMz^P34+#+V4C>~ zBO?QI_m%Fp)(%$2?ndy}9x3KSYR!JBo}CApTD*vumbM`Rt`Xmqb)NS3p;&bGGlUrq zO$92PAni@WG^%KVITzx9#y}eT)U6K<(}WhzP6Iy_%TfdnVb24h6Qa|AE&$a6T?Fz3 zEgKBTvxf(qAcu5kgIfuhsO`WxT}=5JcoC}q@cZ+GXB+sVMQ3*0-|yf-7zRIdYLxBA z${T@)forisDj9Hv)^Jcb0v(r+WLRSg4RJdtVnUw@I_L{}wAso?K^rJiw#ABq-37o7 z$U20NpOa@Xcw|Tr3kio?K?4vxEQAhclmGKZf*nKsQ)N6`?a@AXPd9k~ey9Mnkj*X! zwuv9i{_QU2gP+u8`=gV`a8y{H260oMEYT0TA;Kjv*>!pu>{o!My43;yOWQbn`M>nI z{?hC{)e*Gaz;n@W8<=QA;xBQbxc?Fjcy{<35FW)uRY9k*S`_FA6?Sk!iB z_~M#1z)H9UgxV#d2B1bDHc-C_?6-lMfiNurN}%2{T**5SY3yTq!Dp$ei0i{*JHe^n zzn|O>K^j?T%iy*ZWG)81=fUnsHzZF4*NQq-)iMRrCcCAF4i3>dd7|=zlUc+7l0i?K$|CjM){?j3qmv5>g4{~gV3N) zi134c1ui{_0F8t}x_(5045TFu6dC-hr}?eu%iBL3sg(dVU~D~Q1RBJF%@e{__~6l| zOA8RHOH>!FKzD$IA+P9%v@C&6Db$T&3Kt<;nErUk2WVjOXL!S@{$Tvl9T;DHkixOQ zxP*hk5+eR?1|z!MAS+d=Wdl(J=MctkaXr3M`;(#*jOi-jVl|K@%E;JL1CbHYVMwn5 z(pL$$cChmm4qCz(;S5FqYD&;zz=o+E!8IfOdK089f&NP$0hWPZsx?976Q)0%<{23t z%ZLFT25_kds#F~h?Zyy3bRFVLfaUJl+LE)hW5P(V*7=<1KfoIy7a zu2ll1fP6t=XC%4~0DPhCU=L;n`~LnW&?pra78wHi$EGy;ziV1R>9Lek1Tli3TA4^m zEw17U)P2M7?aK^<-T^eVV3!2RFvD3k)HkrdfvNy}EV~3I8Y6W;(;ud@K zdIcR75uhBG&;?;>5cbb+{Fk;#EZkq!O->6WV%l2K#x3fT{vMa5r4srFeF%%b;axzg zK)S4JTb6yOyNtgo4eKm%tzR&bfb0m`FIc(>K@NfVsK4I^ChEWbd=?fNo>LC~Xk*tC zUi_c(gpH-3m=vjadC1CB8k}ZBo4-^0^t-^LKA$~ywf({01O7hH10Z%^^bqWifZBo3 z50!lf(4To#R8)fhzxp>!V1uv8lL=bS;0`cM5#gF3BBl{33KCIWdZj6BT??;DT z8(n<_mm@*1;R$^cQk4N(mod3Jn22ef08RmYz|c*A1o&HTTM*oFg}NxvX#!m^>iPdF z(5pjyZO8{IJEX-C$sEXz2#qy}NA=7Lgz6oQwMafgc0_zY$Pa~G2!zr?fC02gkHVt5 zN9BRiLvF|qg-2?jfhRRP@w>ICWs8U^Bj z`W6F{1JVJq0b&4!0Br)=3A7(b20DNzkXJM&B6KPDtF~j~{#m6kI+EeSY z2hv15YS*Z4p98%B>IGt#(JJtep2F8bX0(8JUu!i*B*m^QgaHmlGPs-xn=h*3w?_ps zeCb~JwS$C?P$G6~f*!<2-vFCO{l`>Z^A8@C9qQxR;hA7xG=&cVJCfhn{$XH8^~mO- z8n7Fw*n9-==)2W{2eaLhfS;O1HSp;BXZzQHeQKIpfj6Dvp9yvZBw~k0yb_Sn6t{g~ z*8q~2m06~{P)?s6HWj%|36}=;1we{Z+%~h^UV;f#fKlHRfAr2KK<@6g|D$?|QpTDm zffDP)^NK|I~ zNkC#qDiLGh>mDoGKqO?7`2Rc%-;i(^D;N2+K>s;Ne5sz-tw zrl8YDP1Q$JeV)6bA~Z5~dg$9mZJ5nVfIxuc7dAg1c$5z|FAY3ur)+*R@Mz49XN$3* zPCNp1q{Or2!(W0v%o)7=7~YA?7r_9oy9{RcE^azH@vL>aa6kVbo%u8FR zOKIM*!8Dk?f}BhDVL*vOT?W&n*w22*MIb1^v!!T0!7?<3Wi%*y>>3gZP@D`NaW-8H23&zkKmp%1nNS_kA06afU)_G^5HV#H)VWTLi*{9stb2=Q!xWJd&# z|65!XhaI0C9)$~l_Ui%U4YV7`4`?S4a!Uq^1IlLcAz-EfMFDLE+6#ojAqoQ80CWk; zxsc@+4(4W{0wAn6g69nYvB$PSu)hX+1N2WCqH|;LZ;LHcV{$(xL5I(On3rD?=;CNaG#cvhd$rze;!u@z4*I$2*|EKMy)oc$Qc!KHrFi!lXes zn9lse+6?H(3yh$nwH;-4Lci2P!up_+w|}fVwpxibTn3~$57M##nhnI}tyny&HzXf5 z0=3PA=Yog+TrL6vArlm!cdUQQO~})TCJ?SMKW&;1p$LQxAIj5R41yGf;6~%&&w%pf z=a5|gC!i8;KK=q;3ptkUQk-4T!!@o=;Zy31nE!6%?t@uRr`_nPY`r9stagNJq2y~T zPQWmu(7AIs5)}8iY<_Sh?7-vB%}NyVEt_WnA;D&M`8sz!3JyKJu+ryNg|sF`eC-26 zU0(Z1udCq>EkYkg8J}b>Iecq)n)390@RvIup1OatoBpeu|57|Yff1_SNTD}W9!!B_ zmAqlef{Ckt2vBIOOgI)t#K!hWcz>)N{Oy`!2<#sm8IFa9wKZ1wsQ)5- zNFW}Z9Tp1tU!)B>e_1ymL$!mNWp_K%Rqn>7t4!_fAPzfz94kJXzXm+2b2k42>}dRC z^BmA1k=*sKUR)76Y%kb6L3a?!uwG9V-5U@NH|)YBft^k)r13Ay1Pbt1I7du1 zn#`|sVp!?0)13qPL+P@4?mu{*Klo7KrKf~P^IfMY{6^r>`?Awx06(=n%z>Ah;?E2G z)aTD-@jWZ3dR%v@ude-UnSkJg+qd>M2u*~PJ^lF*0(! z-SG-(tPkUL$C7g^B-^&hkG;eAje8wbWL#H2SUL6u<7=9ZROFP0?xT;5VSIDu(EMnr zqBrql((@VFkZ{?r=?~dvA%gs4CAf$m}oQK z?9P2PCXMk8I;jhq(<3?vaK5mckyPFnVymKI6XYsfz#;28fCQ1jE zKdBw}#`v#Y?sM1plpT6B9*FS^KVE;f^Ly{-591LSe?DdM#IcH+nmH2*7@ujD5IEi4 zbMu0UG>o@XzNYRmd8ujnL>9(7EUew0m2S0r?L;2NUrv$@k&YhiiI^zD_?+|o=MP-& zIg&GR7~}I2BQox~AOC)Qq8#Jz79Pvl8Df0l#zZy72T=Ixz7NmZ+B0zpI4YEq6JHvfQKkd)VDhqdoN3c}WiV8$u6S7_lP>jN3s4Kpz7`g!A_ z%0aL92eBKe;OnVq%+h8&tGtYjDKML4lu@&1HEis}wDN-9enn=19Z%`kRF=J2ts&+QE^9@p^8%8*kcaG?sJZVf>lm{2#8>a=RKhiZK4A zdvU?#11q1s;5dx&3$m6xQLis79pfm+c-I4a4u$Q#^;M7)&HrEr;L2-zySk_6R5&kT ze6NAjC!x<{85W#3FupX#^+DksT8j^73&!`@&5QrMR&dV-&W9MUqb!;Kw5GVXkn<_V z?>_U=)$ZQoV`n-0FkaXA=;6l+g+JRk-(ft_`0!B+i>QllIlo{$wMhT$hwQS<8C+u+ zFQ4Xgg!nhE#EW?jQ>X=FUxnRb;26f9j9)&}f5ZGXD~Z zFeNS;3DC&O&a3_(e8nGWqn7s1Bjh|Zw8M~!?W>@Lw_j;Kg*5*;4ofVV@>=YCbhF~H z`DZL13~U9{8_Yov&xwl&gyKyc1bst3Ldxzvumm(Rop5{aQg%Ew5DQURuz5}3r@n9C zAN)(;kwnQ3{{eWjDSQiy|1aALYx`I?jfkz9p|9_s-ye$1McEAmEzd>DiwNxSm;YsW z&?+Ah{#$-hhaCgfGp?}Wz@;M!i$Q4`s7_Pbn}4S0{r?pc<0u1{2sD@ ztXEcj3T(pfmi|B89cgq_)%o4!t@CCJ$z)GnVn`<2WU`QCCJRAHNF)sb3^62-Nys7y zgp#B#9OO-iRrWDZG)j?o+>__ z3~Q@DBRl~Q5U4i*?gYRPfJ{2mK)3?1q$HsPHiEE5{=v?{14pcYc4z*~&ii^i0fQ5q z^UI#PHO2qjt#KnB^Lr570WchBxdF2G>&J);BY+BNL7b)l?(6_g5Esba=&SXR25jl8 zvkH*a`znO5Abbr$W7h)E!NBp}8OlO!q1_H}+HHph_LM%k{Q=Nqnvai@*Y zjpP2o+VfvtH#AQ`t1Q6tO)#iTTNjMiK|B%SzS9Cga|nVdz;Z$6^rwK1LF;Bmb}@bh z9_{S8PaC_$&xcb0eouq_t-haWABX4cO$ny^@%?GOlEA7DtjV;GfaHsC+W^M~I0pbS z85WrPz`O=Z%K)mc8ca?EoaR6P&YS~>{`qu@fb${XGR^Bx;`YvC)P95(vD9zvy&X=^ zeC;+Epuqr~G$`jk{7vZpJeeEw>Qk?BhFtt_FLKjG*~N{~*8%EF;kUeKH(9UrWfq@S zb`l6oCVPGuXBzlmyj<|Fp@Q-5o8mozIM)bD-)XJwogmV|tA{a-o!z9u=^P*d8LKdT zmd69MuR_@-fONTE6D104g<83!;K;2eMwz+Qk*-5cdF3O|zAe)Jpon;}2r-C(_L+oyp!=mg|t zvWuWmX5yg*`?t_hpBeQ$YgtNp}X?#>e|V5Q|_JGG~F|!z2pAw2Ny0{x_QUo zox=f_f0n!ZCwqDj;)*chMHNvN%d`}#%K602M~PGwYpV)!jk%&jQoPBN#-~eZ zwy5No&~Uj13K(mQ6cwRTN|AdFcb29JMZ6+R6cBGAyuPe8u2NF;Ez=Xr4T@kK;TDwq z3>vP#RNOXMt(29D^5{xwvaw23^s5z0EE!i-KunS%xJ1R9A1M}*m?_AdV_f`9N3TJD zeQEU!W53g4TeYKa+`vnHE-{TZ3CT)@V&_Nn?P+WuPhFz5jIqSJuciKX)8uC_cyrAt zRxnY?yL<_~pEnX&w5;`vlY5Hwt4g;tFRbF>P&HJomm~GZyyM8DcbdccYvTn$Kbg*# zCZKtlB#L5hS-jQFBk!@azQ5^TrB+jg;>Fgn)g}6?#R8&rd~_c6nlfmcIz`cU7seVh zs4QZWpg+C%J!&OJ@&IiXREo?hEriC|rNkQVJ!&k}C0{Z@R$0{F9;x&T93ng~2v`&( zQMM{EhDbHaXfdf~Y9S#ZBV_n!l189N5+z2X7#wfYNIJw=>*&z=Pq-WGUc~r)dRu${nrAi~IXYytrn-yD ztLht@rZ=~>uUNAkP!1hAbN-XdMr(OhTf5%>{Qd(6PoBE``Qk^HZQgR=;Gs8$PJd9j z{*`wQA04WynNZ&_y?M#XReN7}@!+2hzj4ZH3vXXYZRwjvasR{R`KJ;aHT!zB9CMtQ1WJ zt9O@4-^s_z-e?jjA(}<=s7R0~h*qW693s|a!Z zgJc^rXp{i|MzRZ%va)|h^vzN+F_U7kP)g_fhOH4&mNkjx5hRQ=s3mDh)P{fzp>22vnZ4Hp-`%jRH4TZN2bySSzjCx zquAtXsxK9GZdSu-_5k&sP8L<3*SA=_S45IX(XAW`t>-*%@3n zR|AbW$hQmT9yWj8y1$&;1%99NyTJGdZq+{5cmFB6?tqUwC@}JFvn}=e^D*Ou&-AvK zYTO#$!%Z8pi3AdYV(q=-P5N18?(W#$EF`xa(T}#$iwXcj#O`QW6T1 zjOPk=np#|05d$t~OiSgLaRb$5c`dbIKz~3ki6J%g<9x|X%Y=fB> zaszD%iA2G1s0eUXz_bH-ph|e)d=VRbR9TgvP|V^n*ah_qmJ*995rsd2M@T{w5f)Xc z6=B&RR^e!%hfskDL5aKpCCR9RA^|FeBQYfwYJ^(>nGu*hNi2?oUl~TCgs?$I@YbPT zoQQrwD3*~xK7dYu+KP-KmIMVOXM8qwLYzl-S;ZPO5|Khk1VrMNFkVlP5s9oof)AH* z=(PlntUw-(6J}zLB1OZs800h5JreV19gYeyqGT!3;2=(D8^$TLb8FTh)PHj zkEBwh;yf899n?%%S3;+t4Twl#zMe(MhD;*iUz1p4!db7vSh0Kv{~hWk0F1_U5_>X> z^#`Q36BtyUlM%iGBM%&bRzrCdX^LI&jg)|i13H`&p+nFl8&n0TJS;!~(C5HytSH36 z=;rY}yF-GR15w1G(R3m_=Nvd3HV*Jt|B{5oIQk^v3TTdmOvuI~Gf=hqDDrJ+6X29k z=mBw#$a(b3+>KQ}Fd+~g^Y(67!CTmi%r16_76aUvrGxMsYB*+(?}p_J-t5`~Nhxft z8w-KKV2A+yNhyRz2wn(VAuN#R&F^aKodKu&Vre!wSM`ERHKLQiz|X0W1Rl)bXr9^n z5aE3;Sh3lT0ys5Sv%6ZIPS>dX_E8#qRF;?N%*)Jir3w##|95Y<0N)Kb9l0vVm^qoP zuzK%opBuuyC2-|v_MDcymONK(eoiWvVTL_vXM0a`2YlZH-%oYpbTc?)uoZD;=j^W5 Qmf79u5<7J>6Pz*r1^5Z_egFUf